From 23a3df15ed2a7499b52cbbf044c0129651fb2e75 Mon Sep 17 00:00:00 2001 From: Giulio Benetti Date: Wed, 8 Apr 2026 21:33:59 +0200 Subject: [PATCH] package/nfs-utils: bump version to 2.9.1 Add dependency to libnl that became mandatory with commit: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commitdiff;h=d2fa3421f857e04de7f79cdf3114a0fe73983d25 Add 3 local patches pending upstream to fix build failures. Release announce: https://lore.kernel.org/linux-nfs/955a922e-c12d-435b-a698-caf73312f01d@redhat.com/ Signed-off-by: Giulio Benetti Reviewed-by: Petr Vorel Signed-off-by: Julien Olivain --- ..._file-fix-missing-string.h-inclusion.patch | 28 +++++++ ....h-file-to-deal-with-old-Linux-api-a.patch | 77 +++++++++++++++++++ ...kend_sqlite.c-fix-getrandom-fallback.patch | 30 ++++++++ package/nfs-utils/Config.in | 1 + package/nfs-utils/nfs-utils.hash | 4 +- package/nfs-utils/nfs-utils.mk | 6 +- 6 files changed, 141 insertions(+), 5 deletions(-) create mode 100644 package/nfs-utils/0001-fh_key_file-fix-missing-string.h-inclusion.patch create mode 100644 package/nfs-utils/0002-Introduce-compat.h-file-to-deal-with-old-Linux-api-a.patch create mode 100644 package/nfs-utils/0003-support-backend_sqlite.c-fix-getrandom-fallback.patch diff --git a/package/nfs-utils/0001-fh_key_file-fix-missing-string.h-inclusion.patch b/package/nfs-utils/0001-fh_key_file-fix-missing-string.h-inclusion.patch new file mode 100644 index 0000000000..838d519d5a --- /dev/null +++ b/package/nfs-utils/0001-fh_key_file-fix-missing-string.h-inclusion.patch @@ -0,0 +1,28 @@ +From 2d99ff0aa8a3b4d20558bce742edaaed9d24b3cb Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Tue, 7 Apr 2026 17:23:13 +0200 +Subject: [PATCH] fh_key_file: fix missing string.h inclusion + +Add #include to fix build failure. + +Upstream: https://lore.kernel.org/linux-nfs/20260408173535.3992116-1-giulio.benetti@benettiengineering.com/T/#t +Signed-off-by: Giulio Benetti +--- + support/nfs/fh_key_file.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/support/nfs/fh_key_file.c b/support/nfs/fh_key_file.c +index 5f5eafc1..81ea1500 100644 +--- a/support/nfs/fh_key_file.c ++++ b/support/nfs/fh_key_file.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + #include + + #include "nfslib.h" +-- +2.47.3 + diff --git a/package/nfs-utils/0002-Introduce-compat.h-file-to-deal-with-old-Linux-api-a.patch b/package/nfs-utils/0002-Introduce-compat.h-file-to-deal-with-old-Linux-api-a.patch new file mode 100644 index 0000000000..c5c57c6503 --- /dev/null +++ b/package/nfs-utils/0002-Introduce-compat.h-file-to-deal-with-old-Linux-api-a.patch @@ -0,0 +1,77 @@ +From 218e1b572123f527bd92c17ebb7ac00c2a7e6c01 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Tue, 7 Apr 2026 17:47:40 +0200 +Subject: [PATCH] Introduce compat.h file to deal with old Linux api and fix + build failure due to missing NETLINK_EXT_ACK + +In compat.h check if NETLINK_EXT_ACK exists, otherwise define it to fix +build failure and where at the moment is included +let's include "compat.h" + +Upstream: https://lore.kernel.org/linux-nfs/20260408173535.3992116-2-giulio.benetti@benettiengineering.com/T/#u +Signed-off-by: Giulio Benetti +--- + support/export/cache.c | 2 +- + support/export/cache_flush.c | 2 ++ + support/include/compat.h | 10 ++++++++++ + utils/nfsdctl/nfsdctl.c | 1 + + 4 files changed, 14 insertions(+), 1 deletion(-) + create mode 100644 support/include/compat.h + +diff --git a/support/export/cache.c b/support/export/cache.c +index 2f128d7d..65008f51 100644 +--- a/support/export/cache.c ++++ b/support/export/cache.c +@@ -40,7 +40,7 @@ + #include + #include + #include +-#include ++#include "compat.h" + + #ifdef USE_SYSTEM_NFSD_NETLINK_H + #include +diff --git a/support/export/cache_flush.c b/support/export/cache_flush.c +index ed7b964f..2a24dec7 100644 +--- a/support/export/cache_flush.c ++++ b/support/export/cache_flush.c +@@ -38,6 +38,8 @@ extern int no_netlink; + #include "sunrpc_netlink.h" + #endif + ++#include "compat.h" ++ + static int nl_send_flush(struct nl_sock *sock, int family, int cmd) + { + struct nl_msg *msg; +diff --git a/support/include/compat.h b/support/include/compat.h +new file mode 100644 +index 00000000..83229b65 +--- /dev/null ++++ b/support/include/compat.h +@@ -0,0 +1,10 @@ ++#ifndef COMPAT_H ++#define COMPAT_H ++ ++#include ++ ++#ifndef NETLINK_EXT_ACK ++#define NETLINK_EXT_ACK 11 ++#endif ++ ++#endif /* COMPAT_H */ +diff --git a/utils/nfsdctl/nfsdctl.c b/utils/nfsdctl/nfsdctl.c +index 016dd2eb..c7126748 100644 +--- a/utils/nfsdctl/nfsdctl.c ++++ b/utils/nfsdctl/nfsdctl.c +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include "compat.h" + + #include + #include +-- +2.47.3 + diff --git a/package/nfs-utils/0003-support-backend_sqlite.c-fix-getrandom-fallback.patch b/package/nfs-utils/0003-support-backend_sqlite.c-fix-getrandom-fallback.patch new file mode 100644 index 0000000000..86d615ca34 --- /dev/null +++ b/package/nfs-utils/0003-support-backend_sqlite.c-fix-getrandom-fallback.patch @@ -0,0 +1,30 @@ +From dbd44e7d6d4140e5e9d01f0a6daf6f3e45e5acbc Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 8 Apr 2026 14:28:28 +0200 +Subject: [PATCH] support/backend_sqlite.c: fix getrandom() fallback + +In old Linux/Glibc versions __NR_getrandom is defined in +so let's add it to fix build failure. + +Upstream: https://lore.kernel.org/linux-nfs/20260408173535.3992116-3-giulio.benetti@benettiengineering.com/T/#u +Signed-off-by: Giulio Benetti +--- + support/reexport/backend_sqlite.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/support/reexport/backend_sqlite.c b/support/reexport/backend_sqlite.c +index 0eb5ea37..a1e981e4 100644 +--- a/support/reexport/backend_sqlite.c ++++ b/support/reexport/backend_sqlite.c +@@ -9,6 +9,8 @@ + #include + #include + ++#include ++ + #ifdef HAVE_GETRANDOM + # include + # if !defined(SYS_getrandom) && defined(__NR_getrandom) +-- +2.47.3 + diff --git a/package/nfs-utils/Config.in b/package/nfs-utils/Config.in index 419b605667..295ce28edb 100644 --- a/package/nfs-utils/Config.in +++ b/package/nfs-utils/Config.in @@ -8,6 +8,7 @@ config BR2_PACKAGE_NFS_UTILS depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # getrandom() select BR2_PACKAGE_LIBEVENT + select BR2_PACKAGE_LIBNL select BR2_PACKAGE_LIBTIRPC # IPv6 requires libtirpc select BR2_PACKAGE_LIBTIRPC_RPCDB select BR2_PACKAGE_SQLITE diff --git a/package/nfs-utils/nfs-utils.hash b/package/nfs-utils/nfs-utils.hash index 1e3f63d419..19315e60a3 100644 --- a/package/nfs-utils/nfs-utils.hash +++ b/package/nfs-utils/nfs-utils.hash @@ -1,4 +1,4 @@ -# From https://www.kernel.org/pub/linux/utils/nfs-utils/2.8.7/sha256sums.asc -sha256 59d0f1e17b18efaa60ea3ccf89a9cad3217f8d3b23c18d2fe34b25c8969d60ae nfs-utils-2.8.7.tar.xz +# From https://www.kernel.org/pub/linux/utils/nfs-utils/2.9.1/sha256sums.asc +sha256 302846343bf509f8f884c23bdbd0fe853b7f7cbb6572060a9082279d13b21a2c nfs-utils-2.9.1.tar.xz # Locally computed sha256 576540abf5e95029ad4ad90e32071385a5e95b2c30708c706116f3eb87b9a3de COPYING diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk index 3d391c1804..df9fdbc052 100644 --- a/package/nfs-utils/nfs-utils.mk +++ b/package/nfs-utils/nfs-utils.mk @@ -4,12 +4,12 @@ # ################################################################################ -NFS_UTILS_VERSION = 2.8.7 +NFS_UTILS_VERSION = 2.9.1 NFS_UTILS_SOURCE = nfs-utils-$(NFS_UTILS_VERSION).tar.xz NFS_UTILS_SITE = https://www.kernel.org/pub/linux/utils/nfs-utils/$(NFS_UTILS_VERSION) NFS_UTILS_LICENSE = GPL-2.0+ NFS_UTILS_LICENSE_FILES = COPYING -NFS_UTILS_DEPENDENCIES = host-nfs-utils host-pkgconf libevent libtirpc sqlite util-linux +NFS_UTILS_DEPENDENCIES = host-nfs-utils host-pkgconf libevent libnl libtirpc sqlite util-linux NFS_UTILS_CPE_ID_VENDOR = linux-nfs NFS_UTILS_CONF_ENV = knfsd_cv_bsd_signals=no @@ -23,7 +23,7 @@ NFS_UTILS_CONF_OPTS = \ --with-statedir=/run/nfs \ --with-rpcgen=$(HOST_DIR)/bin/rpcgen -HOST_NFS_UTILS_DEPENDENCIES = host-pkgconf host-libtirpc host-libevent host-sqlite host-util-linux +HOST_NFS_UTILS_DEPENDENCIES = host-pkgconf host-libtirpc host-libevent host-libnl host-sqlite host-util-linux HOST_NFS_UTILS_CONF_OPTS = \ --enable-tirpc \