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 <giulio.benetti@benettiengineering.com>
Reviewed-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
Giulio Benetti
2026-04-08 21:33:59 +02:00
committed by Julien Olivain
parent 367f1c2ea2
commit 23a3df15ed
6 changed files with 141 additions and 5 deletions

View File

@@ -0,0 +1,28 @@
From 2d99ff0aa8a3b4d20558bce742edaaed9d24b3cb Mon Sep 17 00:00:00 2001
From: Giulio Benetti <giulio.benetti@benettiengineering.com>
Date: Tue, 7 Apr 2026 17:23:13 +0200
Subject: [PATCH] fh_key_file: fix missing string.h inclusion
Add #include <string.h> 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 <giulio.benetti@benettiengineering.com>
---
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 <sys/types.h>
#include <unistd.h>
#include <errno.h>
+#include <string.h>
#include <uuid/uuid.h>
#include "nfslib.h"
--
2.47.3

View File

@@ -0,0 +1,77 @@
From 218e1b572123f527bd92c17ebb7ac00c2a7e6c01 Mon Sep 17 00:00:00 2001
From: Giulio Benetti <giulio.benetti@benettiengineering.com>
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 <linux/netlink.h> 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 <giulio.benetti@benettiengineering.com>
---
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 <netlink/genl/ctrl.h>
#include <netlink/msg.h>
#include <netlink/attr.h>
-#include <linux/netlink.h>
+#include "compat.h"
#ifdef USE_SYSTEM_NFSD_NETLINK_H
#include <linux/nfsd_netlink.h>
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 <linux/netlink.h>
+
+#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 <netlink/msg.h>
#include <netlink/attr.h>
#include <linux/netlink.h>
+#include "compat.h"
#include <readline/readline.h>
#include <readline/history.h>
--
2.47.3

View File

@@ -0,0 +1,30 @@
From dbd44e7d6d4140e5e9d01f0a6daf6f3e45e5acbc Mon Sep 17 00:00:00 2001
From: Giulio Benetti <giulio.benetti@benettiengineering.com>
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 <sys/random.h>
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 <giulio.benetti@benettiengineering.com>
---
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 <string.h>
#include <unistd.h>
+#include <sys/syscall.h>
+
#ifdef HAVE_GETRANDOM
# include <sys/random.h>
# if !defined(SYS_getrandom) && defined(__NR_getrandom)
--
2.47.3

View File

@@ -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

View File

@@ -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

View File

@@ -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 \