diff --git a/knot.spec b/knot.spec index f9da8bc..330c713 100644 --- a/knot.spec +++ b/knot.spec @@ -7,8 +7,8 @@ Summary: High-performance authoritative DNS server Name: knot -Version: 3.1.5 -Release: 2%{?dist} +Version: 3.2.6 +Release: 1%{?dist} License: GPL-3.0-or-later URL: https://www.knot-dns.cz Source0: https://secure.nic.cz/files/knot-dns/%{name}-%{version}.tar.xz @@ -47,6 +47,8 @@ BuildRequires: pkgconfig(libfstrm) BuildRequires: pkgconfig(libprotobuf-c) # geoip dependencies BuildRequires: pkgconfig(libmaxminddb) +# XDP dependencies +BuildRequires: pkgconfig(libbpf) # Distro-dependent dependencies %if 0%{?suse_version} @@ -54,39 +56,26 @@ BuildRequires: python3-Sphinx BuildRequires: lmdb-devel BuildRequires: protobuf-c Requires(pre): pwdutils +%if 0%{?sle_version} != 150400 +BuildRequires: pkgconfig(libxdp) %endif -%if 0%{?rhel} && 0%{?rhel} <= 7 -BuildRequires: python-sphinx -BuildRequires: lmdb-devel %endif -%if 0%{?fedora} || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} BuildRequires: python3-sphinx BuildRequires: pkgconfig(lmdb) +%if 0%{?fedora} +BuildRequires: pkgconfig(libxdp) +%endif %endif -%if 0%{?centos} == 7 || 0%{?rhel} == 7 -# disable XDP on old EL -%define configure_xdp --enable-xdp=no -%else -%define use_xdp 1 -%if 0%{?rhel} >= 8 || 0%{?suse_version} -# enable XDP on recent EL using embedded libbpf -%define use_xdp 1 -%define configure_xdp --enable-xdp=yes -BuildRequires: pkgconfig(libelf) -%else -# XDP is auto-enabled when libbpf is present -BuildRequires: pkgconfig(libbpf) >= 0.0.6 -%endif +%if 0%{?rhel} >= 9 || 0%{?suse_version} || 0%{?fedora} +%define configure_quic --enable-quic=yes %endif Requires(post): systemd %{_sbindir}/runuser Requires(preun): systemd Requires(postun): systemd -# Knot DNS 2.7+ isn't compatible with earlier knot-resolver -Conflicts: knot-resolver < 3.0.0 - Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description @@ -94,6 +83,8 @@ 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 %description libs The package contains shared libraries used by the Knot DNS server and @@ -110,10 +101,19 @@ included in knot-libs package. %package utils Summary: DNS client utilities shipped with the Knot DNS server Requires: %{name}-libs%{?_isa} = %{version}-%{release} +# Debian package compat +Provides: %{name}-dnsutils = %{version}-%{release} %description utils The package contains DNS client utilities shipped with the Knot DNS server. +%package dnssecutils +Summary: DNSSEC tools shipped with the Knot DNS server +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description dnssecutils +The package contains DNSSEC tools shipped with the Knot DNS server. + %package module-dnstap Summary: dnstap module for Knot DNS Requires: %{name} = %{version}-%{release} @@ -131,7 +131,7 @@ The package contains geoip Knot DNS module for geography-based responses. %package doc Summary: Documentation for the Knot DNS server BuildArch: noarch -Provides: bundled(jquery) = 3.1.0 +Provides: bundled(jquery) %description doc The package contains documentation for the Knot DNS server. @@ -165,7 +165,7 @@ CFLAGS="%{optflags} -DNDEBUG -Wno-unused" --with-moduledir=%{_libdir}/knot/modules-%{BASE_VERSION} \ --with-storage=/var/lib/knot \ %{?configure_db_sizes} \ - %{?configure_xdp} \ + %{?configure_quic} \ --disable-static \ --enable-dnstap=yes \ --with-module-dnstap=shared \ @@ -184,13 +184,15 @@ cp -av doc/_build/html %{buildroot}%{_pkgdocdir} [ -r %{buildroot}%{_pkgdocdir}/html/index.html ] || exit 1 rm -f %{buildroot}%{_pkgdocdir}/html/.buildinfo -# install configuration file +# install daemon and dbus configuration files rm %{buildroot}%{_sysconfdir}/%{name}/* install -p -m 0644 -D %{repodir}/samples/%{name}.sample.conf %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf +%if 0%{?fedora} || 0%{?rhel} > 7 +install -p -m 0644 -D %{repodir}/distro/common/cz.nic.knotd.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/cz.nic.knotd.conf +%endif # install systemd files install -p -m 0644 -D %{repodir}/distro/common/%{name}.service %{buildroot}%{_unitdir}/%{name}.service -install -p -m 0644 -D %{repodir}/distro/common/%{name}.tmpfiles %{buildroot}%{_tmpfilesdir}/%{name}.conf %if 0%{?suse_version} ln -s service %{buildroot}/%{_sbindir}/rcknot %endif @@ -208,14 +210,13 @@ V=1 make check %pre getent group knot >/dev/null || groupadd -r knot getent passwd knot >/dev/null || \ - useradd -r -g knot -d %{_sysconfdir}/knot -s /sbin/nologin \ + 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 %post -systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || : %if 0%{?suse_version} %service_add_post knot.service %else @@ -247,15 +248,15 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || : %license COPYING %doc %{_pkgdocdir} %exclude %{_pkgdocdir}/html -%attr(770,root,knot) %dir %{_sysconfdir}/knot +%attr(750,root,knot) %dir %{_sysconfdir}/knot %config(noreplace) %attr(640,root,knot) %{_sysconfdir}/knot/knot.conf +%if 0%{?fedora} || 0%{?rhel} > 7 +%config(noreplace) %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/cz.nic.knotd.conf +%endif %attr(770,root,knot) %dir %{_sharedstatedir}/knot %dir %{_libdir}/knot %dir %{_libdir}/knot/modules-* %{_unitdir}/knot.service -%{_tmpfilesdir}/knot.conf -%{_bindir}/kzonecheck -%{_bindir}/kzonesign %{_sbindir}/kcatalogprint %{_sbindir}/kjournalprint %{_sbindir}/keymgr @@ -264,8 +265,6 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || : %if 0%{?suse_version} %{_sbindir}/rcknot %endif -%{_mandir}/man1/kzonecheck.* -%{_mandir}/man1/kzonesign.* %{_mandir}/man5/knot.conf.* %{_mandir}/man8/kcatalogprint.* %{_mandir}/man8/kjournalprint.* @@ -277,17 +276,21 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || : %files utils %{_bindir}/kdig %{_bindir}/khost -%{_bindir}/knsec3hash %{_bindir}/knsupdate -%if 0%{?use_xdp} %{_sbindir}/kxdpgun %{_mandir}/man8/kxdpgun.* -%endif %{_mandir}/man1/kdig.* %{_mandir}/man1/khost.* -%{_mandir}/man1/knsec3hash.* %{_mandir}/man1/knsupdate.* +%files dnssecutils +%{_bindir}/knsec3hash +%{_bindir}/kzonecheck +%{_bindir}/kzonesign +%{_mandir}/man1/knsec3hash.* +%{_mandir}/man1/kzonecheck.* +%{_mandir}/man1/kzonesign.* + %files module-dnstap %{_libdir}/knot/modules-*/dnstap.so @@ -320,6 +323,50 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || : %doc %{_pkgdocdir}/html %changelog +* Thu Apr 06 2023 Jakub Ružička - 3.2.6-1 +- Update to 3.2.6 +- Sync upstream packaging improvements + +* Thu Feb 02 2023 Jakub Ružička - 3.2.5-1 +- Update to 3.2.5 + +* Mon Dec 12 2022 Jakub Ružička - 3.2.4-1 +- Update to 3.2.4 + +* Mon Nov 21 2022 Jakub Ružička - 3.2.3-1 +- Update to 3.2.3 + +* Fri Nov 04 2022 Jakub Ružička - 3.2.2-2 +- New BuildRequires: libxdp (needed for libbpf >= 1.0) + +* Tue Nov 01 2022 Jakub Ružička - 3.2.2-1 +- Update to 3.2.2 + +* Fri Sep 09 2022 Jakub Ružička - 3.2.1-1 +- Update to 3.2.1 +- Remove patches included upstream +- Update Conflicts and move to knot-libs + +* Mon Aug 22 2022 Jakub Ružička - 3.2.0-1 +- Update to 3.2.0 +- Patch: fix tests on 32-bit platforms +- Patch: revert problematic hardening of service file +- Enable QUIC +- New knot-dnssecutils subpackage +- Debian compat (knot-utils vs knot-dnsutils) +- Remove bundled(jquery) version as it differes between distros + +* Thu Apr 28 2022 Jakub Ružička - 3.1.8-1 +- Update to 3.1.8 + +* Wed Mar 30 2022 Jakub Ružička - 3.1.7-1 +- Update to 3.1.7 + +* Thu Feb 10 2022 Jakub Ružička - 3.1.6-1 +- Update to 3.1.6 +- Add dbus config +- Use _sharedstatedir for home + * Thu Jan 20 2022 Fedora Release Engineering - 3.1.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/sources b/sources index 9f30483..e9e70c8 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (knot-3.1.5.tar.xz) = 3a8cf04a2d65e04343a70009d43796ae00bf09e34348119b55ba70dac7deb7ff42906d88ef0e413d33dec28a952396a51781dee96727c0c2047b4c5ade54e6fa -SHA512 (knot-3.1.5.tar.xz.asc) = f4c84ef324bf6c7b0ede7685d673365c03ae6727fb60abf129fb8677fa551908391379cc8874c25cdd1153834bfae5557897df761e98c0c162965c8281ced245 +SHA512 (knot-3.2.6.tar.xz) = a7b87845105d43732972aab16d556ef9e1d46cbe0db441d5fbd8bb5f6793f276088d8ee9b4c2289caecf340be799b92fea84905a30a161ab5b3d77145977afff +SHA512 (knot-3.2.6.tar.xz.asc) = 0c63d767cd208b9713eddd1868f1e935e861168aba0e1c2ad4872091c20c5a24593e186528eeac3240e9f4c4fee4b2b4137ae3ae3f134465ef77b07fb01fc810