* [Buildroot] [PATCH] package/nfs-utils: bump version to 2.6.2
@ 2022-08-09 22:44 Giulio Benetti
2022-08-10 21:18 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 3+ messages in thread
From: Giulio Benetti @ 2022-08-09 22:44 UTC (permalink / raw)
To: buildroot; +Cc: Giulio Benetti
nfs-utils 2.6.2 adds nfsrahead tool to set readahead through sysfs, but
this tool is mandatory and requires libmount that in order requires
libblkid. Also we need a local patch that is already pending upstream to
avoid failing static linking:
https://patchwork.kernel.org/project/linux-nfs/patch/20220809223308.1421081-1-giulio.benetti@benettiengineering.com/
So let's select:
- BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
- BR2_PACKAGE_UTIL_LINUX_LIBBLKID
and add the pending patch for fixing static linking failure due to wrong
order of libraries in linker list(-lblkid must follow -lmount). This is
achieved by using pkg-config that is already a dependency of this package.
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
...ead-fix-linking-while-static-linking.patch | 34 +++++++++++++++++++
package/nfs-utils/Config.in | 2 ++
package/nfs-utils/nfs-utils.hash | 4 +--
package/nfs-utils/nfs-utils.mk | 2 +-
4 files changed, 39 insertions(+), 3 deletions(-)
create mode 100644 package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.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
new file mode 100644
index 0000000000..b8dcea63f7
--- /dev/null
+++ b/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch
@@ -0,0 +1,34 @@
+From a69014a1b4e5b8068630abe3109f31eb64b6a076 Mon Sep 17 00:00:00 2001
+From: Giulio Benetti <giulio.benetti@benettiengineering.com>
+Date: Wed, 10 Aug 2022 00:10:51 +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.
+
+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/
+---
+ tools/nfsrahead/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/nfsrahead/Makefile.am b/tools/nfsrahead/Makefile.am
+index 845ea0d5..280a2eb4 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_LDADD = ../../support/nfs/libnfsconf.la
+
+ man5_MANS = nfsrahead.man
+--
+2.34.1
+
diff --git a/package/nfs-utils/Config.in b/package/nfs-utils/Config.in
index f00debc420..f3cb17918e 100644
--- a/package/nfs-utils/Config.in
+++ b/package/nfs-utils/Config.in
@@ -8,6 +8,8 @@ config BR2_PACKAGE_NFS_UTILS
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_LIBTIRPC # IPv6 requires libtirpc
select BR2_PACKAGE_UTIL_LINUX
+ select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
+ select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
help
The NFS Linux kernel server.
diff --git a/package/nfs-utils/nfs-utils.hash b/package/nfs-utils/nfs-utils.hash
index a73bf80e70..2efe693875 100644
--- a/package/nfs-utils/nfs-utils.hash
+++ b/package/nfs-utils/nfs-utils.hash
@@ -1,4 +1,4 @@
-# From https://www.kernel.org/pub/linux/utils/nfs-utils/2.6.1/sha256sums.asc
-sha256 60dfcd94a9f3d72a12bc7058d811787ec87a6d593d70da2123faf9aad3d7a1df nfs-utils-2.6.1.tar.xz
+# From https://www.kernel.org/pub/linux/utils/nfs-utils/2.6.2/sha256sums.asc
+sha256 5200873e81c4d610e2462fc262fe18135f2dbe78b7979f95accd159ae64d5011 nfs-utils-2.6.2.tar.xz
# Locally computed
sha256 576540abf5e95029ad4ad90e32071385a5e95b2c30708c706116f3eb87b9a3de COPYING
diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk
index 44653e2707..ed205a26b1 100644
--- a/package/nfs-utils/nfs-utils.mk
+++ b/package/nfs-utils/nfs-utils.mk
@@ -4,7 +4,7 @@
#
################################################################################
-NFS_UTILS_VERSION = 2.6.1
+NFS_UTILS_VERSION = 2.6.2
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+
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH] package/nfs-utils: bump version to 2.6.2
2022-08-09 22:44 [Buildroot] [PATCH] package/nfs-utils: bump version to 2.6.2 Giulio Benetti
@ 2022-08-10 21:18 ` Thomas Petazzoni via buildroot
2022-08-10 21:24 ` Giulio Benetti
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-08-10 21:18 UTC (permalink / raw)
To: Giulio Benetti; +Cc: buildroot
Hello Giulio,
On Wed, 10 Aug 2022 00:44:27 +0200
Giulio Benetti <giulio.benetti@benettiengineering.com> wrote:
> nfs-utils 2.6.2 adds nfsrahead tool to set readahead through sysfs, but
> this tool is mandatory and requires libmount that in order requires
> libblkid. Also we need a local patch that is already pending upstream to
> avoid failing static linking:
> https://patchwork.kernel.org/project/linux-nfs/patch/20220809223308.1421081-1-giulio.benetti@benettiengineering.com/
>
> So let's select:
> - BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
> - BR2_PACKAGE_UTIL_LINUX_LIBBLKID
> and add the pending patch for fixing static linking failure due to wrong
> order of libraries in linker list(-lblkid must follow -lmount). This is
> achieved by using pkg-config that is already a dependency of this package.
>
> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Thanks, I have applied to master, but I have a comment below.
> 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
> new file mode 100644
> index 0000000000..b8dcea63f7
> --- /dev/null
> +++ b/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch
> @@ -0,0 +1,34 @@
> +From a69014a1b4e5b8068630abe3109f31eb64b6a076 Mon Sep 17 00:00:00 2001
> +From: Giulio Benetti <giulio.benetti@benettiengineering.com>
> +Date: Wed, 10 Aug 2022 00:10:51 +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.
> +
> +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/
> +---
> + tools/nfsrahead/Makefile.am | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/tools/nfsrahead/Makefile.am b/tools/nfsrahead/Makefile.am
> +index 845ea0d5..280a2eb4 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`
This is not the correct way of using pkg-config in an autotools based
project. Instead, the configure.ac should use the PKG_CHECK_MODULES
macro, and use the appropriate variables in Makefile.am.
Approximately something like this in configure.ac:
PKG_CHECK_MODULES([LIBMOUNT], [mount])
and in the Makefile.am:
nfsrahead_CFLAGS = $(LIBMOUNT_CFLAGS)
nfsrahead_LDFLAGS = $(LIBMOUNT_LIBS)
see https://bootlin.com/doc/training/autotools/autotools-slides.pdf
slide 85 and following.
Best regards,
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] 3+ messages in thread
* Re: [Buildroot] [PATCH] package/nfs-utils: bump version to 2.6.2
2022-08-10 21:18 ` Thomas Petazzoni via buildroot
@ 2022-08-10 21:24 ` Giulio Benetti
0 siblings, 0 replies; 3+ messages in thread
From: Giulio Benetti @ 2022-08-10 21:24 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: buildroot
On 10/08/22 23:18, Thomas Petazzoni via buildroot wrote:
> Hello Giulio,
>
> On Wed, 10 Aug 2022 00:44:27 +0200
> Giulio Benetti <giulio.benetti@benettiengineering.com> wrote:
>
>> nfs-utils 2.6.2 adds nfsrahead tool to set readahead through sysfs, but
>> this tool is mandatory and requires libmount that in order requires
>> libblkid. Also we need a local patch that is already pending upstream to
>> avoid failing static linking:
>> https://patchwork.kernel.org/project/linux-nfs/patch/20220809223308.1421081-1-giulio.benetti@benettiengineering.com/
>>
>> So let's select:
>> - BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
>> - BR2_PACKAGE_UTIL_LINUX_LIBBLKID
>> and add the pending patch for fixing static linking failure due to wrong
>> order of libraries in linker list(-lblkid must follow -lmount). This is
>> achieved by using pkg-config that is already a dependency of this package.
>>
>> Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
>
> Thanks, I have applied to master, but I have a comment below.
>
>> 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
>> new file mode 100644
>> index 0000000000..b8dcea63f7
>> --- /dev/null
>> +++ b/package/nfs-utils/0001-nfsrahead-fix-linking-while-static-linking.patch
>> @@ -0,0 +1,34 @@
>> +From a69014a1b4e5b8068630abe3109f31eb64b6a076 Mon Sep 17 00:00:00 2001
>> +From: Giulio Benetti <giulio.benetti@benettiengineering.com>
>> +Date: Wed, 10 Aug 2022 00:10:51 +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.
>> +
>> +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/
>> +---
>> + tools/nfsrahead/Makefile.am | 2 +-
>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>> +
>> +diff --git a/tools/nfsrahead/Makefile.am b/tools/nfsrahead/Makefile.am
>> +index 845ea0d5..280a2eb4 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`
>
> This is not the correct way of using pkg-config in an autotools based
> project. Instead, the configure.ac should use the PKG_CHECK_MODULES
> macro, and use the appropriate variables in Makefile.am.
>
> Approximately something like this in configure.ac:
>
> PKG_CHECK_MODULES([LIBMOUNT], [mount])
>
> and in the Makefile.am:
>
> nfsrahead_CFLAGS = $(LIBMOUNT_CFLAGS)
> nfsrahead_LDFLAGS = $(LIBMOUNT_LIBS)
>
> see https://bootlin.com/doc/training/autotools/autotools-slides.pdf
> slide 85 and following.
Thank you Thomas!
I was focusing too much on nfsrahead's Makefile.am without taking care
of configure.ac, I rework the patch for upstream with this test-case and
update the PR later.
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] 3+ messages in thread
end of thread, other threads:[~2022-08-10 21:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-09 22:44 [Buildroot] [PATCH] package/nfs-utils: bump version to 2.6.2 Giulio Benetti
2022-08-10 21:18 ` Thomas Petazzoni via buildroot
2022-08-10 21:24 ` 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.