package/libnfs: fix gnutls support

In Buildroot commit a035a0f99f, libnfs
was bumped from 5.0.3 to 6.0.2, and 6.0.2 brought optional gnutls
support.

Unfortunately, the gnutls support was a bit buggy, as the libnfs
library ends up using gnutls symbols without being linked to
libgnutls, causing build failures down the road when other packages
try to link against libnfs.

We backport 3 commits from upstream 6.0.2..7.0.0 to address this
issue.

Fixes:

  https://autobuild.buildroot.net/results/b070248b2bceaceaaed8e826b1247ccfba1ba9fb
  https://autobuild.buildroot.net/results/e1461b76121addd8f04f08819b2e3e453a12c679
  https://autobuild.buildroot.net/results/87c79193d2ea86f47e36232fe514837ad99c5f30

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Tested-by: Andreas Ziegler <br025@umbiko.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 88a4958afa)
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
This commit is contained in:
Thomas Petazzoni
2026-08-28 21:40:56 +02:00
committed by Raphaël Mélotte
parent 8d0417d8bf
commit 82a3b54ce6
3 changed files with 96 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
From f054ce197a286fdd2fcb33ec1d9c236c5976adfb Mon Sep 17 00:00:00 2001
From: fundawang <fundawang@yeah.net>
Date: Sun, 26 Jan 2025 16:39:03 +0800
Subject: [PATCH] move link against gnutls into main library, as it is
referenced by tls/libtls.la
Upstream: d205297a10bf8d7f8846bf42f0ed618543a561a9
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
lib/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 82376cb..33be5e4 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -48,5 +48,5 @@ libnfs_la_LIBADD = \
if HAVE_TLS
libnfs_la_CPPFLAGS += -I$(abs_top_srcdir)/tls
-libnfs_la_LIBADD += ../tls/libtls.la
+libnfs_la_LIBADD += ../tls/libtls.la -lgnutls
endif
--
2.55.0

View File

@@ -0,0 +1,29 @@
From 74437cb4e9d47daeeb3f851c5b14eb0d207ceb17 Mon Sep 17 00:00:00 2001
From: fundawang <fundawang@yeah.net>
Date: Sun, 26 Jan 2025 16:39:59 +0800
Subject: [PATCH] move link against gnutls into main library, as it is
referenced by tls/libtls.la
Upstream: 546c9ed8624403078ef993138b56dce4c3558523
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
utils/Makefile.am | 3 ---
1 file changed, 3 deletions(-)
diff --git a/utils/Makefile.am b/utils/Makefile.am
index bd584b8..2ae7636 100644
--- a/utils/Makefile.am
+++ b/utils/Makefile.am
@@ -16,9 +16,6 @@ AM_CPPFLAGS = \
"-D_U_=__attribute__((unused))"
COMMON_LIBS = ../lib/libnfs.la $(LIBSOCKET)
-if HAVE_TLS
-COMMON_LIBS += -lgnutls
-endif
nfs_cat_LDADD = $(COMMON_LIBS)
nfs_ls_LDADD = $(COMMON_LIBS)
--
2.55.0

View File

@@ -0,0 +1,41 @@
From 8c6bf2f173fdca0a954ed206b3a386e33b5de47b Mon Sep 17 00:00:00 2001
From: Andreas Ziegler <15275159+aeolio@users.noreply.github.com>
Date: Sun, 28 Jun 2026 06:20:48 +0000
Subject: [PATCH] autotools: fix 'undefined reference' if libnfs was built with
gnutls support (#587)
Signed-off-by: Andreas Ziegler <15275159+aeolio@users.noreply.github.com>
Upstream: a3e86449217fe5429c38e2b06c4f7e6b3cd3be32
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
configure.ac | 2 ++
libnfs.pc.in | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index a012004..6e5100f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -284,6 +284,8 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
[[const char *v = GNUTLS_VERSION;]])],[libnfs_cv_HAVE_TLS=yes],[libnfs_cv_HAVE_TLS=no])])
if test x"$libnfs_cv_HAVE_TLS" = x"yes"; then
AC_DEFINE(HAVE_TLS,1,[Whether we have linux tls support])
+ # tell pkg-config that gnutls needs to be linked also
+ AC_SUBST(tls_library,"-lgnutls")
fi
AM_CONDITIONAL([HAVE_TLS], [test $libnfs_cv_HAVE_TLS = yes])
diff --git a/libnfs.pc.in b/libnfs.pc.in
index fdc012c..42be7b2 100644
--- a/libnfs.pc.in
+++ b/libnfs.pc.in
@@ -10,5 +10,5 @@ Description: libnfs is a client library for accessing NFS shares over a network.
Version: @VERSION@
Requires:
Conflicts:
-Libs: -L${libdir} -lnfs
+Libs: -L${libdir} -lnfs @tls_library@
Cflags: -I${includedir}
--
2.55.0