diff --git a/01-test_net-disable-udp-send-on-unconnected.patch b/01-test_net-disable-udp-send-on-unconnected.patch index 07a2f3a..f2b5b11 100644 --- a/01-test_net-disable-udp-send-on-unconnected.patch +++ b/01-test_net-disable-udp-send-on-unconnected.patch @@ -1,4 +1,3 @@ -commit 44b5e271a8564370efec3b9e95365aa039e0db61 Author: Tomas Krizek Date: 2019-02-28 14:26:56 +0100 @@ -11,16 +10,16 @@ Date: 2019-02-28 14:26:56 +0100 Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1675235 diff --git a/tests/contrib/test_net.c b/tests/contrib/test_net.c -index 99a9e3ee3..c8e5e0a25 100644 +index 0a22abbbc..6ec4bda31 100644 --- a/tests/contrib/test_net.c +++ b/tests/contrib/test_net.c @@ -310,10 +310,6 @@ static void test_unconnected(void) r = net_dgram_recv(sock, buffer, buffer_len, TIMEOUT_SHORT); - ok(r == KNOT_ETIMEOUT, "UDP, receive timeout on unconnected socket"); + is_int(KNOT_ETIMEOUT, r, "UDP, receive timeout on unconnected socket"); - struct sockaddr_storage server_addr = addr_from_socket(server); - r = net_dgram_send(sock, buffer, buffer_len, &server_addr); -- ok(r == buffer_len, "UDP, send on defined address"); +- is_int(buffer_len, r, "UDP, send on defined address"); - close(sock); diff --git a/knot.spec b/knot.spec index a5c20c2..95d9dc2 100644 --- a/knot.spec +++ b/knot.spec @@ -2,12 +2,12 @@ %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}} %define GPG_CHECK 1 -%define BASE_VERSION %(echo %{version} | sed 's/^\([^.]\+\.[^.]\+\).*/\1/') +%define BASE_VERSION %(echo "%{version}" | sed 's/^\\([^.]\\+\\.[^.]\\+\\).*/\\1/') %define repodir %{_builddir}/%{name}-%{version} Summary: High-performance authoritative DNS server Name: knot -Version: 3.0.4 +Version: 3.1.8 Release: 1%{?dist} License: GPL-3.0-or-later URL: https://www.knot-dns.cz @@ -26,6 +26,9 @@ BuildRequires: gnupg2 Patch1: 01-test_net-disable-udp-send-on-unconnected.patch # Required dependencies +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool BuildRequires: make BuildRequires: gcc BuildRequires: pkgconfig(liburcu) @@ -35,6 +38,7 @@ BuildRequires: pkgconfig(libedit) # Optional dependencies BuildRequires: pkgconfig(libcap-ng) BuildRequires: pkgconfig(libidn2) +BuildRequires: pkgconfig(libmnl) BuildRequires: pkgconfig(libnghttp2) BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(systemd) @@ -59,12 +63,21 @@ BuildRequires: lmdb-devel BuildRequires: python3-sphinx BuildRequires: pkgconfig(lmdb) %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%{?fedora} >= 31 -BuildRequires: pkgconfig(libbpf) >= 0.0.6 %endif Requires(post): systemd %{_sbindir}/runuser @@ -132,8 +145,7 @@ mkdir --mode=700 ${GNUPGHOME} gpg2 --import %{SOURCE100} gpg2 --verify %{SOURCE1} %{SOURCE0} %endif -%setup -q -%patch1 -p1 +%autosetup -p1 %build # disable debug code (causes unused warnings) @@ -172,9 +184,12 @@ 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 @@ -191,12 +206,12 @@ install -d -m 0770 -D %{buildroot}%{_sharedstatedir}/knot find %{buildroot} -type f -name "*.la" -delete -print %check -make check +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 @@ -237,7 +252,12 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || : %exclude %{_pkgdocdir}/html %attr(770,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 @@ -265,7 +285,7 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || : %{_bindir}/khost %{_bindir}/knsec3hash %{_bindir}/knsupdate -%if 0%{?rhel} >= 8 || 0%{?suse_version} || 0%{?fedora} >= 31 +%if 0%{?use_xdp} %{_sbindir}/kxdpgun %{_mandir}/man8/kxdpgun.* %endif @@ -306,6 +326,58 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || : %doc %{_pkgdocdir}/html %changelog +* 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 + +* Wed Jan 05 2022 Jakub Ružička - 3.1.5-1 +- Update to 3.1.5 + +* Thu Nov 04 2021 Jakub Ružička - 3.1.4-1 +- Update to 3.1.4 + +* Tue Oct 19 2021 Jakub Ružička - 3.1.3-1 +- Update to 3.1.3 + +* Thu Sep 09 2021 Jakub Ružička - 3.1.2-1 +- Update to 3.1.2 + +* Tue Aug 10 2021 Jakub Ružička - 3.1.1-1 +- Update to 3.1.1 +- Enable XDP on ARM and improve XDP config macros +- Remove patch included upstream + +* Wed Aug 04 2021 Jakub Ružička 3.1.0-2 +- Introduce a patch to fix tests on ppc64le +- Use autosetup macro to apply patches + +* Mon Aug 02 2021 Jakub Ružička - 3.1.0-1 +- Update to 3.1.0 +- Add missing BuildRequires including new libmnl for kxdpgun +- Temporarily disable XDP on ARM until issues are resolved + +* Fri Jul 16 2021 Jakub Ružička - 3.0.8-1 +- Update to 3.0.8 +- Print failed tests during check + +* Thu Jun 17 2021 Jakub Ružička - 3.0.7-1 +- Update to 3.0.7 + +* Fri May 14 2021 Jakub Ružička - 3.0.6-1 +- Update to 3.0.6 + +* Tue Mar 30 2021 Jakub Ružička 3.0.5-1 +- Update to 3.0.5 +- Properly escape BASE_VERSION macro +- Include module dirs in main package + * Mon Feb 01 2021 Jakub Ružička - 3.0.4-1 - Update to 3.0.4 - Move dnstap module to subpackage diff --git a/sources b/sources index 1dcbfa8..c031339 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (knot-3.0.4.tar.xz) = d674faaafcbe882539d28e53f1cd6cdda61ca8065f66dc0b9127f249f34b59a9d3d1ac206799c2974a2d38264842a2387db35f814bd05f3eaeac0b35b90b21ac -SHA512 (knot-3.0.4.tar.xz.asc) = b5f77494da6aa1b256feb3f38fcaac42811bd7e04644806c9e00fa09386f51503ac86163b6c4a85588a4eaf8990812ab8c48f751aaf04b00ab838b99bc9ed8f6 +SHA512 (knot-3.1.8.tar.xz) = af72cbcc5b511dad148e7ce990819df00bdf99c110b44b3b521eddd8690a6ebd4c76c24e63d843956971d5f158bbfa851804616630d34f3a0ec06888c78ecf2c +SHA512 (knot-3.1.8.tar.xz.asc) = 1d2e1d11dda0f52041b6e43ba94860891624e25763ce35a4cdcf8fb30bf0713a3e6b9776278fdfa60381c8bd32a32cd83b98a6f5a8684946fc94868f5314fab0