On Wed, 2026-08-05 at 18:25 +0200, Jaipaul Cheernam via lists.openembedded.org wrote: > ChangeLog: > https://www.kernel.org/pub/linux/utils/nfs-utils/2.9.2/2.9.2-Changelog > > Add 0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch to > fix link failure when building with --disable-nfsdctl: > > ld: exportfs-exportfs.o: in function 'unexportfs_parsed': > exportfs.c:491: undefined reference to 'nfsd_nl_cmd_str' > > HAVE_NFSD_NETLINK is defined unconditionally in configure.ac, but the > implementation (nfsdnl.c) is only compiled under CONFIG_NFSDCTL. Move > the AC_DEFINE inside the enable_nfsdctl conditional so the feature > gating is consistent. Reported to [email protected]. > > Signed-off-by: Jaipaul Cheernam <[email protected]> > --- > ..._key_file.c-Fix-build-error-for-musl.patch | 9 ++-- > .../0004-Use-nogroup-for-nobody-group.patch | 6 +-- > .../0005-find-OE-provided-Kerberos.patch | 4 +- > ...e-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch | 47 +++++++++++++++++++ > ...{nfs-utils_2.9.1.bb => nfs-utils_2.9.2.bb} | 3 +- > 5 files changed, 57 insertions(+), 12 deletions(-) > create mode 100644 > meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch > rename meta/recipes-connectivity/nfs-utils/{nfs-utils_2.9.1.bb => > nfs-utils_2.9.2.bb} (97%) > > diff --git > a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-fh_key_file.c-Fix-build-error-for-musl.patch > > b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-fh_key_file.c-Fix-build-error-for-musl.patch > index d6db1fe0c0..d5843d5295 100644 > --- > a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-fh_key_file.c-Fix-build-error-for-musl.patch > +++ > b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-fh_key_file.c-Fix-build-error-for-musl.patch > @@ -1,4 +1,4 @@ > -From 98048fd9262b3e4e024248ebd07d5ff66175e4ec Mon Sep 17 00:00:00 2001 > +From 48eed3ed46893ce435cff271bbc58f243f9bc1cf Mon Sep 17 00:00:00 2001 > From: Robert Yang <[email protected]> > Date: Thu, 7 May 2026 03:32:57 -0700 > Subject: [PATCH] fh_key_file.c: Fix build error with musl > @@ -14,10 +14,10 @@ Signed-off-by: Robert Yang <[email protected]> > 1 file changed, 2 insertions(+) > > diff --git a/support/nfs/fh_key_file.c b/support/nfs/fh_key_file.c > -index 5f5eafc..89555ce 100644 > +index 81ea150..947abcb 100644 > --- a/support/nfs/fh_key_file.c > +++ b/support/nfs/fh_key_file.c > -@@ -30,6 +30,8 @@ > +@@ -31,6 +31,8 @@ > > #include "nfslib.h" > > @@ -26,6 +26,3 @@ index 5f5eafc..89555ce 100644 > #define HASH_BLOCKSIZE 256 > int hash_fh_key_file(const char *fh_key_file, uuid_t uuid) > { > --- > -2.49.0 > - > diff --git > a/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch > > b/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch > index bbf44d5977..7e63cb6282 100644 > --- > a/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch > +++ > b/meta/recipes-connectivity/nfs-utils/nfs-utils/0004-Use-nogroup-for-nobody-group.patch > @@ -1,4 +1,4 @@ > -From 001913c5eb0aad933a93ee966252905cd46d776b Mon Sep 17 00:00:00 2001 > +From 5f4739475f3c01145174734ed8a3b31b3da99b77 Mon Sep 17 00:00:00 2001 > From: Daniel McGregor <[email protected]> > Date: Tue, 6 Jun 2023 16:07:53 -0600 > Subject: [PATCH] Use "nogroup" for nobody group > @@ -11,7 +11,7 @@ Signed-off-by: Daniel McGregor <[email protected]> > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/support/nfsidmap/idmapd.conf b/support/nfsidmap/idmapd.conf > -index 2a2f79a1..e6f3724f 100644 > +index 2a2f79a..e6f3724 100644 > --- a/support/nfsidmap/idmapd.conf > +++ b/support/nfsidmap/idmapd.conf > @@ -41,7 +41,7 @@ > @@ -24,7 +24,7 @@ index 2a2f79a1..e6f3724f 100644 > [Translation] > > diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c > -index cd9a965f..3be805e9 100644 > +index 5231f56..e1aa8a5 100644 > --- a/utils/idmapd/idmapd.c > +++ b/utils/idmapd/idmapd.c > @@ -89,7 +89,7 @@ > diff --git > a/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch > > b/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch > index 3241e8e859..bb152c2754 100644 > --- > a/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch > +++ > b/meta/recipes-connectivity/nfs-utils/nfs-utils/0005-find-OE-provided-Kerberos.patch > @@ -1,4 +1,4 @@ > -From a2af266f013722a64c5d04e0fe097cd711393a53 Mon Sep 17 00:00:00 2001 > +From a1759d9079a436096be5ce44622a3a5a85ec9faa Mon Sep 17 00:00:00 2001 > From: Daniel McGregor <[email protected]> > Date: Wed, 8 Nov 2023 16:24:20 -0600 > Subject: [PATCH] find OE provided Kerberos > @@ -10,7 +10,7 @@ Signed-off-by: Daniel McGregor <[email protected]> > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/aclocal/kerberos5.m4 b/aclocal/kerberos5.m4 > -index f96f0fd4..ad85fdf2 100644 > +index f96f0fd..ad85fdf 100644 > --- a/aclocal/kerberos5.m4 > +++ b/aclocal/kerberos5.m4 > @@ -22,8 +22,8 @@ AC_DEFUN([AC_KERBEROS_V5],[ > diff --git > a/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch > > b/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch > new file mode 100644 > index 0000000000..d15ea1ac5d > --- /dev/null > +++ > b/meta/recipes-connectivity/nfs-utils/nfs-utils/0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch > @@ -0,0 +1,47 @@ > +From: Jaipaul Cheernam <[email protected]> > +Date: Wed, 5 Aug 2026 06:55:00 +0000 > +Subject: [PATCH] configure.ac: gate HAVE_NFSD_NETLINK on --enable-nfsdctl > + > +HAVE_NFSD_NETLINK is currently defined unconditionally, but the > +implementation of nfsd_nl_cmd_str() in support/nfs/nfsdnl.c is only > +compiled into libnfs when CONFIG_NFSDCTL is true (--enable-nfsdctl). > + > +This causes a link failure when building with --disable-nfsdctl: > + > + ld: exportfs-exportfs.o: in function `unexportfs_parsed': > + exportfs.c:491: undefined reference to `nfsd_nl_cmd_str' > + > +The callers (exportfs.c) guard their usage with #ifdef HAVE_NFSD_NETLINK, > +and nfsdnl.h provides a static inline stub returning -ENOSYS when the > +macro is not defined. So the correct fix is to only define > +HAVE_NFSD_NETLINK when --enable-nfsdctl is in effect, keeping netlink > +support as an opt-in feature consistent with the CONFIG_NFSDCTL guard > +on nfsdnl.c. > + > +Upstream-Status: Submitted > [https://lore.kernel.org/linux-nfs/[email protected]/T/#u] > +Signed-off-by: Jaipaul Cheernam <[email protected]> > +--- > + configure.ac | 4 ++-- > + 1 file changed, 2 insertions(+), 2 deletions(-) > + > +diff --git a/configure.ac b/configure.ac > +--- a/configure.ac > ++++ b/configure.ac > +@@ -256,8 +256,6 @@ > + PKG_CHECK_MODULES(LIBNLGENL3, libnl-genl-3.0 >= 3.1) > + > + AC_CHECK_HEADERS(linux/nfsd_netlink.h) > +-AC_DEFINE([HAVE_NFSD_NETLINK], 1, > +- [Define to 1 if nfsd generic netlink support is available]) > + > + # ensure the system netlink headers have the latest features > + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <linux/nfsd_netlink.h>]], > +@@ -279,6 +277,8 @@ > + enable_nfsdctl="yes") > + AM_CONDITIONAL(CONFIG_NFSDCTL, [test "$enable_nfsdctl" = "yes" ]) > + if test "$enable_nfsdctl" = yes; then > ++ AC_DEFINE([HAVE_NFSD_NETLINK], 1, > ++ [Define to 1 if nfsd generic netlink support is > available]) > + PKG_CHECK_MODULES(LIBREADLINE, readline) > + fi > + > diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.9.1.bb > b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.9.2.bb > similarity index 97% > rename from meta/recipes-connectivity/nfs-utils/nfs-utils_2.9.1.bb > rename to meta/recipes-connectivity/nfs-utils/nfs-utils_2.9.2.bb > index 06e4fcb6e0..adcc606ad3 100644 > --- a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.9.1.bb > +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.9.2.bb > @@ -24,9 +24,10 @@ SRC_URI = > "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.x > file://0004-Use-nogroup-for-nobody-group.patch \ > file://0005-find-OE-provided-Kerberos.patch \ > file://0001-fh_key_file.c-Fix-build-error-for-musl.patch \ > + > file://0006-configure.ac-gate-HAVE_NFSD_NETLINK-on-enable-nfsdct.patch \ > " > > -SRC_URI[sha256sum] = > "302846343bf509f8f884c23bdbd0fe853b7f7cbb6572060a9082279d13b21a2c" > +SRC_URI[sha256sum] = > "e1dd8a9c95af15492065942cc3b52b1339ffd586baa2280ed86c9d3dc4097e8c" > > # Only kernel-module-nfsd is required here (but can be built-in) - the nfsd > module will > # pull in the remainder of the dependencies.
This breaks on musl: https://autobuilder.yoctoproject.org/valkyrie/#/builders/111/builds/3052 (and other musl builds as far as I can tell) Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#242926): https://lists.openembedded.org/g/openembedded-core/message/242926 Mute This Topic: https://lists.openembedded.org/mt/120613019/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
