The package rpms/knot.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/knot.git/commit/?id=c84290f4bb7dc....
Change:
+%ifarch aarch64 %{arm}
Thanks.
Full change:
============
commit 9475f2f1abe0f0a20eff41f8aa1c35f203dea70b
Author: Jakub Ružička <jakub.ruzicka(a)nic.cz>
Date: Wed Aug 4 13:27:54 2021 +0000
knot-3.1.0-2
Changelog:
- Introduce a patch to fix tests on ppc64le
- Use autosetup macro to apply patches
diff --git a/02-test-journal-enable-64k.patch b/02-test-journal-enable-64k.patch
new file mode 100644
index 0000000..f845e09
--- /dev/null
+++ b/02-test-journal-enable-64k.patch
@@ -0,0 +1,62 @@
+From 8644e030223cad41e21386c1870bac3875b42d1d Mon Sep 17 00:00:00 2001
+From: Libor Peltan <libor.peltan(a)nic.cz>
+Date: Tue, 3 Aug 2021 22:07:19 +0200
+Subject: [PATCH] test/journal: enable 64k (and other weird) page size
+
+---
+ tests/knot/test_journal.c | 18 +++++++++++++++---
+ 1 file changed, 15 insertions(+), 3 deletions(-)
+
+diff --git a/tests/knot/test_journal.c b/tests/knot/test_journal.c
+index 3e2025cb3..ca79b0a79 100644
+--- a/tests/knot/test_journal.c
++++ b/tests/knot/test_journal.c
+@@ -44,6 +44,16 @@ zone_journal_t jj;
+
+ unsigned env_flag;
+
++static unsigned lmdb_page_size(knot_lmdb_db_t *db)
++{
++ knot_lmdb_txn_t txn = { 0 };
++ knot_lmdb_begin(db, &txn, false);
++ MDB_stat st = { 0 };
++ mdb_stat(txn.txn, txn.db->dbi, &st);
++ knot_lmdb_abort(&txn);
++ return st.ms_psize;
++}
++
+ static void set_conf(int zonefile_sync, size_t journal_usage, const knot_dname_t *apex)
+ {
+ (void)apex;
+@@ -708,7 +718,7 @@ static void test_merge(const knot_dname_t *apex)
+ list_t l;
+
+ // allow merge
+- set_conf(-1, 100 * 1024, apex);
++ set_conf(-1, 400 * 1024, apex);
+ ok(!journal_allow_flush(jj), "journal: merge allowed");
+
+ ret = journal_scrape_with_md(jj, false);
+@@ -761,7 +771,7 @@ static void test_merge(const knot_dname_t *apex)
+ // now fill up with dumy changesets to enforce merge
+ tm_chs(apex, -1);
+ while (changeset_to(tm_chs(apex, 0)) != 2) { }
+- for (i = 0; i < 400; i++) {
++ for (i = 0; i < 1600; i++) {
+ ret = journal_insert(jj, tm_chs(apex, i), NULL);
+ assert(ret == KNOT_EOK);
+ }
+@@ -853,7 +863,9 @@ int main(int argc, char *argv[])
+
+ test_store_load(apex);
+
+- test_size_control(apex, apex2);
++ if (lmdb_page_size(&jdb) == 4096) {
++ test_size_control(apex, apex2);
++ } // else it is not manually optimized enough to test correctly
+
+ test_merge(apex);
+
+--
+2.32.0
+
diff --git a/knot.spec b/knot.spec
index 0f8ed50..6311719 100644
--- a/knot.spec
+++ b/knot.spec
@@ -8,7 +8,7 @@
Summary: High-performance authoritative DNS server
Name: knot
Version: 3.1.0
-Release: 1%{?dist}
+Release: 2%{?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
@@ -24,6 +24,7 @@ BuildRequires: gnupg2
# Test fails on F30+ aarch/s390x for unknown reason, but it is not neccassary for Knot
DNS
Patch1: 01-test_net-disable-udp-send-on-unconnected.patch
+Patch2: 02-test-journal-enable-64k.patch
# Required dependencies
BuildRequires: autoconf
@@ -146,8 +147,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)
@@ -322,6 +322,10 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf
&>/dev/null || :
%doc %{_pkgdocdir}/html
%changelog
+* Wed Aug 04 2021 Jakub Ružička <jakub.ruzicka(a)nic.cz> 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 <jakub.ruzicka(a)nic.cz> - 3.1.0-1
- Update to 3.1.0
- Add missing BuildRequires including new libmnl for kxdpgun
commit c84290f4bb7dca5c15ff4717fc0d8129d88467e0
Author: Jakub Ružička <jakub.ruzicka(a)nic.cz>
Date: Mon Aug 2 13:56:23 2021 +0000
knot-3.1.0-1
Changelog:
- Update to 3.1.0
- Add missing BuildRequires including new libmnl for kxdpgun
- Temporarily disable XDP on ARM until issues are resolved
diff --git a/knot.spec b/knot.spec
index d61c4ae..0f8ed50 100644
--- a/knot.spec
+++ b/knot.spec
@@ -7,7 +7,7 @@
Summary: High-performance authoritative DNS server
Name: knot
-Version: 3.0.8
+Version: 3.1.0
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,22 @@ BuildRequires: lmdb-devel
BuildRequires: python3-sphinx
BuildRequires: pkgconfig(lmdb)
%endif
+
+%ifarch aarch64 %{arm}
+# disable XDP on ARM until issues are resolved
+%define configure_xdp --enable-xdp=no
+%else
+%if 0%{?fedora} >= 31
+# XDP is auto-enabled when libbpf is present
+%define use_xdp 1
+BuildRequires: pkgconfig(libbpf) >= 0.0.6
+%endif
%if 0%{?rhel} >= 8 || 0%{?suse_version}
+# enable XDP on EL using embedded libbpf
+%define use_xdp 1
%define configure_xdp --enable-xdp=yes
BuildRequires: pkgconfig(libelf)
%endif
-%if 0%{?fedora} >= 31
-BuildRequires: pkgconfig(libbpf) >= 0.0.6
%endif
Requires(post): systemd %{_sbindir}/runuser
@@ -267,7 +281,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
@@ -308,6 +322,11 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf
&>/dev/null || :
%doc %{_pkgdocdir}/html
%changelog
+* Mon Aug 02 2021 Jakub Ružička <jakub.ruzicka(a)nic.cz> - 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 <jakub.ruzicka(a)nic.cz> - 3.0.8-1
- Update to 3.0.8
- Print failed tests during check
diff --git a/sources b/sources
index 69848cd..19e03db 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (knot-3.0.8.tar.xz) =
0ed55681210211427b54634428c07ac313a6fbc20492ab127f171a26e48a06e22d8360391a8f80247206c339ce76c32f0a82d6db2ec5dfb43cbfa8f455a4ee60
-SHA512 (knot-3.0.8.tar.xz.asc) =
397348d1c4ea19a14d021374b347db9682267edd607d7d506ebc9dc8d3d814b95417edcb68ca55dcd59977e18dd53447fa549df01245e2bbeadf594509996efa
+SHA512 (knot-3.1.0.tar.xz) =
7a76ca1547f6aded1045b8a124ec4e35c61199b822b7692b656ef9bfadb68bdfde097a1ece973725ea14690743da2e2c08717055516b150696e3ac341fa5c728
+SHA512 (knot-3.1.0.tar.xz.asc) =
b3e3d89cc5d876fe7fc611b239a37d26dcc57257e1f8b3c24d6a3f653cc4e5dfdcf2f00d808f655ec0390bf4557740610b06f4e6b8455bb7d3108ba2eec145da