package/nfs-utils: handle pkg-config in the Autotools standard way for nfsrahead
While using the correct PKG_CHECK_MODULES() approach for libmount we end up having host-nfs-utils needing libmount. But libmount is only needed by nfsrahead that we don't need in host-nfs-utils. But we need host-nfs-utils itself(rpcgen tool specifically) to build nfs-utils. To solve this recursive situation: 1) Update the first patch with the upstreamed one that handles libmount using PKG_CHECK_MODULES(). 2) Add another patch to allow to disable nfsrahead during building for host since this tool is not needed and requires libmount. This way the first patch approach can be correctly used. 3) Add --disable-nfsrahead to HOST_NFS_UTILS_CONF_OPTS 4) Remove en/disable-uuid since now it's required by default: http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commitdiff;h=c5528f40f9db5061e06dcf1f9b7fce5185b376c6 Both patches have been committed: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=627c95b2b853161b359095e7fdf05d3b07d51379 https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=844d3ad5376603bc9c205a6084d38a2d25146179 Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
4fbd2f6d2c
commit
700fc2d7bd
@ -1,31 +1,46 @@
|
||||
From a69014a1b4e5b8068630abe3109f31eb64b6a076 Mon Sep 17 00:00:00 2001
|
||||
From d9abb221cea81dee5956bd987c6efa680c03571a Mon Sep 17 00:00:00 2001
|
||||
From: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
||||
Date: Wed, 10 Aug 2022 00:10:51 +0200
|
||||
Date: Wed, 10 Aug 2022 23:38:17 +0200
|
||||
Subject: [PATCH] nfsrahead: fix linking while static linking
|
||||
|
||||
-lmount must preceed -lblkid and to obtain this let's add:
|
||||
`pkg-config --libs mount`
|
||||
in place of:
|
||||
`-lmount`
|
||||
This ways the library order will always be correct.
|
||||
-lmount must preceed -lblkid and to obtain this let's add in configure.ac:
|
||||
PKG_CHECK_MODULES([LIBMOUNT], [mount])
|
||||
and in tools/nfsrahead/Makefile.am let's substitute explicit `-lmount`
|
||||
with:
|
||||
$(LIBMOUNT_LIBS)
|
||||
This way all the required libraries will be present and in the right order
|
||||
when static linking.
|
||||
|
||||
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
||||
[Upstream: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=627c95b2b853161b359095e7fdf05d3b07d51379]
|
||||
---
|
||||
Pending Upstream:
|
||||
https://patchwork.kernel.org/project/linux-nfs/patch/20220809223308.1421081-1-giulio.benetti@benettiengineering.com/
|
||||
---
|
||||
configure.ac | 3 +++
|
||||
tools/nfsrahead/Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
2 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index f1c46c5c..ff85200b 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -273,6 +273,9 @@ AC_LIBCAP
|
||||
dnl Check for -lxml2
|
||||
AC_LIBXML2
|
||||
|
||||
+dnl Check for -lmount
|
||||
+PKG_CHECK_MODULES([LIBMOUNT], [mount])
|
||||
+
|
||||
# Check whether user wants TCP wrappers support
|
||||
AC_TCP_WRAPPERS
|
||||
|
||||
diff --git a/tools/nfsrahead/Makefile.am b/tools/nfsrahead/Makefile.am
|
||||
index 845ea0d5..280a2eb4 100644
|
||||
index 845ea0d5..7e08233a 100644
|
||||
--- a/tools/nfsrahead/Makefile.am
|
||||
+++ b/tools/nfsrahead/Makefile.am
|
||||
@@ -1,6 +1,6 @@
|
||||
libexec_PROGRAMS = nfsrahead
|
||||
nfsrahead_SOURCES = main.c
|
||||
-nfsrahead_LDFLAGS= -lmount
|
||||
+nfsrahead_LDFLAGS= `pkg-config --libs mount`
|
||||
+nfsrahead_LDFLAGS= $(LIBMOUNT_LIBS)
|
||||
nfsrahead_LDADD = ../../support/nfs/libnfsconf.la
|
||||
|
||||
man5_MANS = nfsrahead.man
|
||||
|
@ -0,0 +1,68 @@
|
||||
From 9a0002978eb32b78d22f053302e012a4255dc4ef Mon Sep 17 00:00:00 2001
|
||||
From: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
||||
Date: Mon, 19 Sep 2022 23:43:28 +0200
|
||||
Subject: [PATCH] configure.ac: allow to disable nfsrahead tool
|
||||
|
||||
This allows to make libmount not mandatory but depending on nfsrahead
|
||||
since it only requires it. This is useful when cross-compiling because
|
||||
in that case we need rpcgen only built for host but not nfsrahead that
|
||||
also require libmount. So this reduces the dependencies for host
|
||||
building.
|
||||
|
||||
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
|
||||
[Upstream: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=844d3ad5376603bc9c205a6084d38a2d25146179]
|
||||
---
|
||||
configure.ac | 13 ++++++++++---
|
||||
tools/Makefile.am | 6 +++++-
|
||||
2 files changed, 15 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ff85200b..5d9cbf31 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -249,6 +249,16 @@ AC_ARG_ENABLE(nfsdcld,
|
||||
enable_nfsdcld=$enableval,
|
||||
enable_nfsdcld="yes")
|
||||
|
||||
+AC_ARG_ENABLE(nfsrahead,
|
||||
+ [AS_HELP_STRING([--disable-nfsrahead],[disable nfsrahead command @<:@default=no@:>@])],
|
||||
+ enable_nfsrahead=$enableval,
|
||||
+ enable_nfsrahead="yes")
|
||||
+ AM_CONDITIONAL(CONFIG_NFSRAHEAD, [test "$enable_nfsrahead" = "yes" ])
|
||||
+ if test "$enable_nfsrahead" = yes; then
|
||||
+ dnl Check for -lmount
|
||||
+ PKG_CHECK_MODULES([LIBMOUNT], [mount])
|
||||
+ fi
|
||||
+
|
||||
AC_ARG_ENABLE(nfsdcltrack,
|
||||
[AS_HELP_STRING([--disable-nfsdcltrack],[disable NFSv4 clientid tracking programs @<:@default=no@:>@])],
|
||||
enable_nfsdcltrack=$enableval,
|
||||
@@ -273,9 +283,6 @@ AC_LIBCAP
|
||||
dnl Check for -lxml2
|
||||
AC_LIBXML2
|
||||
|
||||
-dnl Check for -lmount
|
||||
-PKG_CHECK_MODULES([LIBMOUNT], [mount])
|
||||
-
|
||||
# Check whether user wants TCP wrappers support
|
||||
AC_TCP_WRAPPERS
|
||||
|
||||
diff --git a/tools/Makefile.am b/tools/Makefile.am
|
||||
index 40c17c37..48fd0cdf 100644
|
||||
--- a/tools/Makefile.am
|
||||
+++ b/tools/Makefile.am
|
||||
@@ -12,6 +12,10 @@ if CONFIG_NFSDCLD
|
||||
OPTDIRS += nfsdclddb
|
||||
endif
|
||||
|
||||
-SUBDIRS = locktest rpcdebug nlmtest mountstats nfs-iostat rpcctl nfsdclnts nfsrahead $(OPTDIRS)
|
||||
+if CONFIG_NFSRAHEAD
|
||||
+OPTDIRS += nfsrahead
|
||||
+endif
|
||||
+
|
||||
+SUBDIRS = locktest rpcdebug nlmtest mountstats nfs-iostat rpcctl nfsdclnts $(OPTDIRS)
|
||||
|
||||
MAINTAINERCLEANFILES = Makefile.in
|
||||
--
|
||||
2.34.1
|
||||
|
@ -34,6 +34,7 @@ HOST_NFS_UTILS_CONF_OPTS = \
|
||||
--without-tcp-wrappers \
|
||||
--with-statedir=/run/nfs \
|
||||
--disable-caps \
|
||||
--disable-nfsrahead \
|
||||
--without-systemd \
|
||||
--with-rpcgen=internal \
|
||||
--with-tirpcinclude=$(HOST_DIR)/include/tirpc
|
||||
@ -68,12 +69,6 @@ else
|
||||
NFS_UTILS_CONF_OPTS += --disable-caps
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),y)
|
||||
NFS_UTILS_CONF_OPTS += --enable-uuid
|
||||
else
|
||||
NFS_UTILS_CONF_OPTS += --disable-uuid
|
||||
endif
|
||||
|
||||
define NFS_UTILS_INSTALL_FIXUP
|
||||
cd $(TARGET_DIR) && rm -f $(NFS_UTILS_TARGETS_)
|
||||
touch $(TARGET_DIR)/etc/exports
|
||||
|
Loading…
Reference in New Issue
Block a user