diff --git a/knot.spec b/knot.spec index 05df469..4b79d07 100644 --- a/knot.spec +++ b/knot.spec @@ -2,12 +2,19 @@ %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}} %define GPG_CHECK 1 +%if 0%{?fedora} >= 40 || 0%{?rhel} >= 9 +# use modern %pyproject_* macros on distros which support them +%define PYPROJECT 1 +%else +# use older %py3_* macros on older/other distros +%define PYPROJECT 0 +%endif %define BASE_VERSION %(echo "%{version}" | sed 's/^\\([^.]\\+\\.[^.]\\+\\).*/\\1/') %define repodir %{_builddir}/%{name}-%{version} Summary: High-performance authoritative DNS server Name: knot -Version: 3.2.7 +Version: 3.5.2 Release: 1%{?dist} License: GPL-3.0-or-later URL: https://www.knot-dns.cz @@ -39,6 +46,10 @@ BuildRequires: pkgconfig(libmnl) BuildRequires: pkgconfig(libnghttp2) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(hiredis) +%if 0%{?fedora} || 0%{?rhel} +BuildRequires: softhsm +%endif # dnstap dependencies BuildRequires: pkgconfig(libfstrm) BuildRequires: pkgconfig(libprotobuf-c) @@ -46,6 +57,15 @@ BuildRequires: pkgconfig(libprotobuf-c) BuildRequires: pkgconfig(libmaxminddb) # XDP dependencies BuildRequires: pkgconfig(libbpf) +# Python modules (python3-libknot, knot-exporter) dependencies +BuildRequires: python3-devel +%if 0%{?PYPROJECT} +BuildRequires: pyproject-rpm-macros +BuildRequires: python3-pip +BuildRequires: python3-hatchling +%else +BuildRequires: python3-setuptools +%endif # Distro-dependent dependencies %if 0%{?suse_version} @@ -75,13 +95,19 @@ Requires(postun): systemd Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Recommends: %{name}-keymgr + +%if 0%{?suse_version} +Provides: group(knot) +%endif + %description Knot DNS is a high-performance authoritative DNS server implementation. %package libs Summary: Libraries used by the Knot DNS server and client applications -# Knot DNS 3.2+ isn't compatible with earlier knot-resolver -Conflicts: knot-resolver < 5.5.2 +# Knot DNS 3.5+ isn't compatible with earlier knot-resolver +Conflicts: knot-resolver < 5.7.6-3 %description libs The package contains shared libraries used by the Knot DNS server and @@ -111,6 +137,13 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description dnssecutils The package contains DNSSEC tools shipped with the Knot DNS server. +%package keymgr +Summary: Knot DNS key management utility +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description keymgr +The package contains keymgr program for Knot DNS key management. + %package module-dnstap Summary: dnstap module for Knot DNS Requires: %{name} = %{version}-%{release} @@ -125,6 +158,30 @@ Requires: %{name} = %{version}-%{release} %description module-geoip The package contains geoip Knot DNS module for geography-based responses. +%package exporter +Summary: Prometheus exporter for Knot DNS +BuildArch: noarch +Requires: %{name}-libs = %{version}-%{release} + +%description exporter +The package provides Python Prometheus exporter for Knot DNS. + +%package -n python3-libknot +Summary: Python bindings for libknot +BuildArch: noarch +Requires: %{name}-libs = %{version}-%{release} +%{?python_provide:%python_provide python3-libknot} + +%description -n python3-libknot +The package provides Python bindings for the libknot shared library. + +%package -n valkey-module-knot +Summary: Valkey module for Knot DNS. +Requires: %{name}-libs = %{version}-%{release} + +%description -n valkey-module-knot +The package provides Valkey module for Knot DNS. + %package doc Summary: Documentation for the Knot DNS server BuildArch: noarch @@ -144,6 +201,11 @@ gpg2 --verify %{SOURCE1} %{SOURCE0} %endif %autosetup -p1 +# Create a sysusers.d config file +cat >knot.sysusers.conf </dev/null || groupadd -r knot -getent passwd knot >/dev/null || \ - useradd -r -g knot -d %{_sharedstatedir}/knot -s /sbin/nologin \ - -c "Knot DNS server" knot %if 0%{?suse_version} %service_add_pre knot.service %endif @@ -256,7 +352,6 @@ getent passwd knot >/dev/null || \ %{_unitdir}/knot.service %{_sbindir}/kcatalogprint %{_sbindir}/kjournalprint -%{_sbindir}/keymgr %{_sbindir}/knotc %{_sbindir}/knotd %if 0%{?suse_version} @@ -265,10 +360,10 @@ getent passwd knot >/dev/null || \ %{_mandir}/man5/knot.conf.* %{_mandir}/man8/kcatalogprint.* %{_mandir}/man8/kjournalprint.* -%{_mandir}/man8/keymgr.* %{_mandir}/man8/knotc.* %{_mandir}/man8/knotd.* %ghost %attr(770,root,knot) %dir %{_rundir}/knot +%{_sysusersdir}/knot.conf %files utils %{_bindir}/kdig @@ -288,12 +383,28 @@ getent passwd knot >/dev/null || \ %{_mandir}/man1/kzonecheck.* %{_mandir}/man1/kzonesign.* +%files keymgr +%{_sbindir}/keymgr +%{_mandir}/man8/keymgr.* + %files module-dnstap %{_libdir}/knot/modules-*/dnstap.so %files module-geoip %{_libdir}/knot/modules-*/geoip.so +%files exporter +%{_bindir}/knot-exporter +%{python3_sitelib}/knot_exporter +%{python3_sitelib}/knot_exporter-*-info + +%files -n python3-libknot +%{python3_sitelib}/libknot +%{python3_sitelib}/libknot-*-info + +%files -n valkey-module-knot +%attr(0755, root, root) %{_libdir}/valkey/modules/knot.so + %files libs %license COPYING %doc NEWS @@ -320,6 +431,96 @@ getent passwd knot >/dev/null || \ %doc %{_pkgdocdir}/html %changelog +* Fri Dec 19 2025 Jakub Ružička - 3.5.2-1 +- Update to 3.5.2 + +* Thu Oct 16 2025 Jakub Ružička - 3.5.1-1 +- Update to 3.5.1 +- Add new valkey-module-knot package +- Split keymgr into knot-keymgr package + +* Fri Sep 19 2025 Python Maint - 3.4.8-3 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 3.4.8-2 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Wed Jul 30 2025 Jakub Ružička - 3.4.8-1 +- Update to 3.4.8 + +* Thu Jul 24 2025 Fedora Release Engineering - 3.4.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jun 12 2025 Jakub Ružička - 3.4.7-1 +- Update to 3.4.7 +- Add new knot-exporter and python3-libknot packages + +* Thu Apr 10 2025 Jakub Ružička - 3.4.6-1 +- Update to 3.4.6 + +* Wed Mar 19 2025 Jakub Ružička - 3.4.5-1 +- Update to 3.4.5 + +* Thu Jan 23 2025 Zbigniew Jędrzejewski-Szmek - 3.4.4-2 +- Add sysusers.d config file to allow rpm to create users/groups automatically + +* Thu Jan 23 2025 Jakub Ružička - 3.4.4-1 +- Update to 3.4.4 + +* Fri Jan 17 2025 Fedora Release Engineering - 3.4.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Dec 10 2024 Jakub Ružička - 3.4.3-1 +- Update to 3.4.3 + +* Mon Nov 25 2024 Jakub Ružička - 3.4.2-1 +- Update to 3.4.2 + +* Mon Aug 26 2024 Jakub Ružička - 3.3.9-1 +- Update to 3.3.9 + +* Mon Jul 22 2024 Jakub Ružička - 3.3.8-1 +- Update to 3.3.8 + +* Thu Jul 18 2024 Fedora Release Engineering - 3.3.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jun 25 2024 Jakub Ružička - 3.3.7-1 +- Update to 3.3.7 + +* Thu Jun 13 2024 Jakub Ružička - 3.3.6-1 +- Update to 3.3.6 + +* Thu Mar 07 2024 Jakub Ružička - 3.3.5-1 +- Update to 3.3.5 + +* Wed Jan 24 2024 Jakub Ružička - 3.3.4-1 +- Update to 3.3.4 + +* Sun Jan 21 2024 Fedora Release Engineering - 3.3.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Dec 13 2023 Jakub Ružička - 3.3.3-1 +- Update to 3.3.3 + +* Fri Oct 20 2023 Jakub Ružička - 3.3.2-1 +- Update to 3.3.2 + +* Tue Sep 12 2023 Jakub Ružička - 3.3.1-1 +- Update to 3.3.1 + +* Mon Aug 28 2023 Jakub Ružička - 3.3.0-1 +- Update to 3.3.0 + +* Thu Jul 27 2023 Jakub Ružička - 3.2.9-1 +- Update to 3.2.9 + +* Thu Jul 20 2023 Fedora Release Engineering - 3.2.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jun 26 2023 Jakub Ružička - 3.2.8-1 +- Update to 3.2.8 + * Tue Jun 06 2023 Jakub Ružička - 3.2.7-1 - Update to 3.2.7 - Remove unneeded tests patch diff --git a/sources b/sources index 133e413..b941cb1 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (knot-3.2.7.tar.xz) = 8fc31c40ba9953401ef7bf4227bd56250e02a72fc60bdb10b4066254a1f0a24ecb68b16e710126beb58f06e4adb247f7c77aa042b4b14abd92a024fe92d6e5f8 -SHA512 (knot-3.2.7.tar.xz.asc) = 003868a58a29505887f6c85438def4cbfe15720c5f5f7c409efbed54afd3ce95e6704896f5416f0464c5952f6425d7b66f18c9784e02f33b040cf965f85e01e1 +SHA512 (knot-3.5.2.tar.xz) = 4dd8e42088f792459859da807427024ded926c2a8fb5b9fd4596b631a184269e3d84f0cd4be9192f2546977c598c418f8d44cabccbc393f9f7cf2f0dd5adc595 +SHA512 (knot-3.5.2.tar.xz.asc) = 5f6ee7fedc0d5b904572d2f6d47858065cdc4efa7217b4e9dcbb38ae63a1533646ba2b042bb0c1fe533a3caf6ba41c81010616393d2a0adcea77712608931b38