From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: jaipaul.cheernam@est.tech, openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH] nfs-utils: upgrade 2.9.1 -> 2.9.2
Date: Thu, 06 Aug 2026 11:51:36 +0100 [thread overview]
Message-ID: <0fd41cd1d660cc4d975a40e76a89debd613aef12.camel@linuxfoundation.org> (raw)
In-Reply-To: <20260805162550.13442-1-jaipaul.cheernam@est.tech>
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 linux-nfs@vger.kernel.org.
>
> Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
> ---
> ..._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 <liezhi.yang@windriver.com>
> 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 <liezhi.yang@windriver.com>
> 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 <daniel.mcgregor@vecima.com>
> 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 <daniel.mcgregor@vecima.com>
> 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 <daniel.mcgregor@vecima.com>
> Date: Wed, 8 Nov 2023 16:24:20 -0600
> Subject: [PATCH] find OE provided Kerberos
> @@ -10,7 +10,7 @@ Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
> 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 <jaipaul.cheernam@est.tech>
> +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/9fec9f1b-1c10-4a20-8282-dfc9addb4ee8@est.tech/T/#u]
> +Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
> +---
> + 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
next prev parent reply other threads:[~2026-08-06 10:51 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-05 16:25 [PATCH] nfs-utils: upgrade 2.9.1 -> 2.9.2 Jaipaul Cheernam
2026-08-06 10:51 ` Richard Purdie [this message]
2026-08-06 11:40 ` [PATCH v2] " Jaipaul Cheernam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0fd41cd1d660cc4d975a40e76a89debd613aef12.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=jaipaul.cheernam@est.tech \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox