All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/nfs-utils: improve local patch
@ 2022-08-10 21:51 Giulio Benetti
  2022-08-10 23:38 ` [Buildroot] [PATCH v2] " Giulio Benetti
  0 siblings, 1 reply; 7+ messages in thread
From: Giulio Benetti @ 2022-08-10 21:51 UTC (permalink / raw)
  To: buildroot; +Cc: Giulio Benetti, Thomas Petazzoni

As Thomas Petazzoni made me notice the actual local patch is not a good way
at all to deal with pkg-config with Autotools. So let's rework the patch
according to his comment that represents the standard of Autotools
pkg-config usage.

I've resping this new patch upstream.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 ...ead-fix-linking-while-static-linking.patch | 39 +++++++++++++------
 1 file changed, 28 insertions(+), 11 deletions(-)

diff --git a/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch b/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch
index b8dcea63f7..9477415296 100644
--- a/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch
+++ b/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch
@@ -1,31 +1,48 @@
-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>
 ---
 Pending Upstream:
-https://patchwork.kernel.org/project/linux-nfs/patch/20220809223308.1421081-1-giulio.benetti@benettiengineering.com/
+https://patchwork.kernel.org/project/linux-nfs/patch/20220810214554.107094-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
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v2] package/nfs-utils: improve local patch
  2022-08-10 21:51 [Buildroot] [PATCH] package/nfs-utils: improve local patch Giulio Benetti
@ 2022-08-10 23:38 ` Giulio Benetti
  2022-08-11 20:16   ` Petr Vorel
  2022-08-11 20:47   ` Thomas Petazzoni via buildroot
  0 siblings, 2 replies; 7+ messages in thread
From: Giulio Benetti @ 2022-08-10 23:38 UTC (permalink / raw)
  To: buildroot; +Cc: Giulio Benetti, Thomas Petazzoni

As Thomas Petazzoni made me notice the actual local patch is not a good way
at all to deal with pkg-config with Autotools. So let's rework the patch
according to his comment that represents the standard of Autotools
pkg-config usage. This impacts host-nfs-utils too that is used to build
nfs-utils and so libmount must be present in host. We do this by adding
host-util-linux to HOST_NFS_UTILS_DEPENDENCIES since it is the libmount
provider.

I've respinned this new patch upstream.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
V1->V2:
* add host-util-linux to HOST_NFS_UTILS_DEPENDENCIES for host libmount
---
 ...ead-fix-linking-while-static-linking.patch | 39 +++++++++++++------
 package/nfs-utils/nfs-utils.mk                |  2 +-
 2 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch b/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch
index b8dcea63f7..9477415296 100644
--- a/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch
+++ b/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch
@@ -1,31 +1,48 @@
-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>
 ---
 Pending Upstream:
-https://patchwork.kernel.org/project/linux-nfs/patch/20220809223308.1421081-1-giulio.benetti@benettiengineering.com/
+https://patchwork.kernel.org/project/linux-nfs/patch/20220810214554.107094-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
diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk
index ed205a26b1..c42138ac1d 100644
--- a/package/nfs-utils/nfs-utils.mk
+++ b/package/nfs-utils/nfs-utils.mk
@@ -22,7 +22,7 @@ NFS_UTILS_CONF_OPTS = \
 	--with-statedir=/run/nfs \
 	--with-rpcgen=$(HOST_DIR)/bin/rpcgen
 
-HOST_NFS_UTILS_DEPENDENCIES = host-pkgconf host-libtirpc
+HOST_NFS_UTILS_DEPENDENCIES = host-pkgconf host-libtirpc host-util-linux
 
 HOST_NFS_UTILS_CONF_OPTS = \
 	--enable-tirpc \
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH v2] package/nfs-utils: improve local patch
  2022-08-10 23:38 ` [Buildroot] [PATCH v2] " Giulio Benetti
@ 2022-08-11 20:16   ` Petr Vorel
  2022-08-11 20:47   ` Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 7+ messages in thread
From: Petr Vorel @ 2022-08-11 20:16 UTC (permalink / raw)
  To: Giulio Benetti; +Cc: Thomas Petazzoni, buildroot


[-- Attachment #1.1: Type: text/plain, Size: 47 bytes --]

Reviewed-by: Petr Vorel <petr.vorel@gmail.com>

[-- Attachment #1.2: Type: text/html, Size: 116 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH v2] package/nfs-utils: improve local patch
  2022-08-10 23:38 ` [Buildroot] [PATCH v2] " Giulio Benetti
  2022-08-11 20:16   ` Petr Vorel
@ 2022-08-11 20:47   ` Thomas Petazzoni via buildroot
  2022-09-19 22:47     ` [Buildroot] [PATCH] package/nfs-utils: handle pkg-config in the Autotools standard way for nfsrahead Giulio Benetti
  2022-09-19 22:50     ` [Buildroot] [PATCH v2] package/nfs-utils: improve local patch Giulio Benetti
  1 sibling, 2 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-08-11 20:47 UTC (permalink / raw)
  To: Giulio Benetti; +Cc: buildroot

On Thu, 11 Aug 2022 01:38:24 +0200
Giulio Benetti <giulio.benetti@benettiengineering.com> wrote:

> As Thomas Petazzoni made me notice the actual local patch is not a good way
> at all to deal with pkg-config with Autotools. So let's rework the patch

It is recommended to avoid first person sentences in commit logs.

> according to his comment that represents the standard of Autotools
> pkg-config usage. This impacts host-nfs-utils too that is used to build
> nfs-utils and so libmount must be present in host. We do this by adding
> host-util-linux to HOST_NFS_UTILS_DEPENDENCIES since it is the libmount
> provider.

So, host-utils-linux is now only needed by host-nfs-utils because of
the new check in configure.ac, but nfsrahead is in fact not built for the host?

If it's the case, then the configure.ac change is wrong, and the mount
library of util-linux should only be checked using PKG_CHECK_MODULES()
when it is actually needed.

Another nfs-utils thing I noticed:

ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),y)
NFS_UTILS_CONF_OPTS += --enable-uuid
else
NFS_UTILS_CONF_OPTS += --disable-uuid
endif

but BR2_PACKAGE_NFS_UTILS selects BR2_PACKAGE_UTIL_LINUX_LIBBLKID so
this conditional doesn't make much sense.

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH] package/nfs-utils: handle pkg-config in the Autotools standard way for nfsrahead
  2022-08-11 20:47   ` Thomas Petazzoni via buildroot
@ 2022-09-19 22:47     ` Giulio Benetti
  2023-02-07 17:48       ` Thomas Petazzoni via buildroot
  2022-09-19 22:50     ` [Buildroot] [PATCH v2] package/nfs-utils: improve local patch Giulio Benetti
  1 sibling, 1 reply; 7+ messages in thread
From: Giulio Benetti @ 2022-09-19 22:47 UTC (permalink / raw)
  To: buildroot; +Cc: Giulio Benetti

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

First patch has been committed:
https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=627c95b2b853161b359095e7fdf05d3b07d51379
While the second one is pending:
https://lore.kernel.org/linux-nfs/20220919221832.2234294-1-giulio.benetti@benettiengineering.com/

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
 ...ead-fix-linking-while-static-linking.patch | 39 ++++++++---
 ...e.ac-allow-to-disable-nfsrahead-tool.patch | 68 +++++++++++++++++++
 package/nfs-utils/nfs-utils.mk                |  7 +-
 3 files changed, 97 insertions(+), 17 deletions(-)
 create mode 100644 package/nfs-utils/0002-configure.ac-allow-to-disable-nfsrahead-tool.patch

diff --git a/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch b/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch
index b8dcea63f7..9477415296 100644
--- a/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch
+++ b/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch
@@ -1,31 +1,48 @@
-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>
 ---
 Pending Upstream:
-https://patchwork.kernel.org/project/linux-nfs/patch/20220809223308.1421081-1-giulio.benetti@benettiengineering.com/
+https://patchwork.kernel.org/project/linux-nfs/patch/20220810214554.107094-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
diff --git a/package/nfs-utils/0002-configure.ac-allow-to-disable-nfsrahead-tool.patch b/package/nfs-utils/0002-configure.ac-allow-to-disable-nfsrahead-tool.patch
new file mode 100644
index 0000000000..6bff0422de
--- /dev/null
+++ b/package/nfs-utils/0002-configure.ac-allow-to-disable-nfsrahead-tool.patch
@@ -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 status: https://lore.kernel.org/linux-nfs/20220919221832.2234294-1-giulio.benetti@benettiengineering.com/]
+---
+ 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
+
diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk
index ed205a26b1..1a4a99f566 100644
--- a/package/nfs-utils/nfs-utils.mk
+++ b/package/nfs-utils/nfs-utils.mk
@@ -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
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH v2] package/nfs-utils: improve local patch
  2022-08-11 20:47   ` Thomas Petazzoni via buildroot
  2022-09-19 22:47     ` [Buildroot] [PATCH] package/nfs-utils: handle pkg-config in the Autotools standard way for nfsrahead Giulio Benetti
@ 2022-09-19 22:50     ` Giulio Benetti
  1 sibling, 0 replies; 7+ messages in thread
From: Giulio Benetti @ 2022-09-19 22:50 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: buildroot

Hi Thomas,

On 11/08/22 22:47, Thomas Petazzoni via buildroot wrote:
> On Thu, 11 Aug 2022 01:38:24 +0200
> Giulio Benetti <giulio.benetti@benettiengineering.com> wrote:
> 
>> As Thomas Petazzoni made me notice the actual local patch is not a good way
>> at all to deal with pkg-config with Autotools. So let's rework the patch
> 
> It is recommended to avoid first person sentences in commit logs.
> 
>> according to his comment that represents the standard of Autotools
>> pkg-config usage. This impacts host-nfs-utils too that is used to build
>> nfs-utils and so libmount must be present in host. We do this by adding
>> host-util-linux to HOST_NFS_UTILS_DEPENDENCIES since it is the libmount
>> provider.
> 
> So, host-utils-linux is now only needed by host-nfs-utils because of
> the new check in configure.ac, but nfsrahead is in fact not built for the host?
> 
> If it's the case, then the configure.ac change is wrong, and the mount
> library of util-linux should only be checked using PKG_CHECK_MODULES()
> when it is actually needed.

Totally, and I've managed to work this recursive issue with a patch I'm
going to send soon.

> Another nfs-utils thing I noticed:
> 
> ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBBLKID),y)
> NFS_UTILS_CONF_OPTS += --enable-uuid
> else
> NFS_UTILS_CONF_OPTS += --disable-uuid
> endif
> 
> but BR2_PACKAGE_NFS_UTILS selects BR2_PACKAGE_UTIL_LINUX_LIBBLKID so
> this conditional doesn't make much sense.

I've removed those lines in the same since it's a left-over of a
previous patch and libuuid is needed by default now.

Thank you for pointing me the lines above, this was a pretty difficult
patch for me :-) I hope the new patch will be correct!

Best regards
-- 
Giulio Benetti
Benetti Engineering sas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Buildroot] [PATCH] package/nfs-utils: handle pkg-config in the Autotools standard way for nfsrahead
  2022-09-19 22:47     ` [Buildroot] [PATCH] package/nfs-utils: handle pkg-config in the Autotools standard way for nfsrahead Giulio Benetti
@ 2023-02-07 17:48       ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni via buildroot @ 2023-02-07 17:48 UTC (permalink / raw)
  To: Giulio Benetti; +Cc: buildroot

On Tue, 20 Sep 2022 00:47:40 +0200
Giulio Benetti <giulio.benetti@benettiengineering.com> wrote:

> 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
> 
> First patch has been committed:
> https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commit;h=627c95b2b853161b359095e7fdf05d3b07d51379
> While the second one is pending:
> https://lore.kernel.org/linux-nfs/20220919221832.2234294-1-giulio.benetti@benettiengineering.com/
> 
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
> ---
>  ...ead-fix-linking-while-static-linking.patch | 39 ++++++++---
>  ...e.ac-allow-to-disable-nfsrahead-tool.patch | 68 +++++++++++++++++++
>  package/nfs-utils/nfs-utils.mk                |  7 +-
>  3 files changed, 97 insertions(+), 17 deletions(-)
>  create mode 100644 package/nfs-utils/0002-configure.ac-allow-to-disable-nfsrahead-tool.patch

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-02-07 17:48 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-10 21:51 [Buildroot] [PATCH] package/nfs-utils: improve local patch Giulio Benetti
2022-08-10 23:38 ` [Buildroot] [PATCH v2] " Giulio Benetti
2022-08-11 20:16   ` Petr Vorel
2022-08-11 20:47   ` Thomas Petazzoni via buildroot
2022-09-19 22:47     ` [Buildroot] [PATCH] package/nfs-utils: handle pkg-config in the Autotools standard way for nfsrahead Giulio Benetti
2023-02-07 17:48       ` Thomas Petazzoni via buildroot
2022-09-19 22:50     ` [Buildroot] [PATCH v2] package/nfs-utils: improve local patch Giulio Benetti

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.