From: Waldemar Brodkorb <wbx@openadk.org>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3] autofs: allow to use libtirpc instead of internal C implementation
Date: Thu, 23 Mar 2017 08:10:58 +0100 [thread overview]
Message-ID: <20170323071058.GA29887@waldemar-brodkorb.de> (raw)
uClibc-ng plans to remove internal RPC implementation as it
is ipv4 only and can not be used for most important RPC software
rpcbind and nfs-utils.
musl does not implement RPC and GNU C library deprecated the
internal implementation a while ago.
It is still possible to use the C library implementation.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---
v1 -> v2:
- Thomas Petazzoni wants to keep legacy C library provided RPC support
v2 -> v3:
- combine with BR2_PACKAGE_LIBTIRPC conditionally, suggested by Baruch Siach
---
package/autofs/0004-libtirpc-via-pkgconfig.patch | 83 ++++++++++++++++++++++++
package/autofs/Config.in | 7 +-
package/autofs/autofs.mk | 5 ++
3 files changed, 91 insertions(+), 4 deletions(-)
create mode 100644 package/autofs/0004-libtirpc-via-pkgconfig.patch
diff --git a/package/autofs/0004-libtirpc-via-pkgconfig.patch b/package/autofs/0004-libtirpc-via-pkgconfig.patch
new file mode 100644
index 0000000..784b4c6
--- /dev/null
+++ b/package/autofs/0004-libtirpc-via-pkgconfig.patch
@@ -0,0 +1,83 @@
+Use pkg-config to find libtirpc headers
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+
+diff -Nur autofs-5.1.2.orig/aclocal.m4 autofs-5.1.2/aclocal.m4
+--- autofs-5.1.2.orig/aclocal.m4 2016-06-15 04:40:44.000000000 +0200
++++ autofs-5.1.2/aclocal.m4 2017-03-21 20:10:06.441615642 +0100
+@@ -411,11 +411,18 @@
+ dnl --------------------------------------------------------------------------
+ AC_DEFUN([AF_CHECK_LIBTIRPC],
+ [
++
++AC_PATH_PROGS(PKG_CONFIG, pkg-config, no)
++
+ # save current flags
+ af_check_libtirpc_save_cflags="$CFLAGS"
+ af_check_libtirpc_save_ldflags="$LDFLAGS"
+-CFLAGS="$CFLAGS -I/usr/include/tirpc"
+-LDFLAGS="$LDFLAGS -ltirpc"
++
++TIRPC_LIBS=`$PKG_CONFIG --libs libtirpc`
++TIRPC_FLAGS=`$PKG_CONFIG --cflags libtirpc`
++
++CFLAGS="$CFLAGS $TIRPC_FLAGS"
++LIBS="$LIBS $TIRPC_LIBS"
+
+ AC_TRY_LINK(
+ [ #include <rpc/rpc.h> ],
+@@ -431,7 +438,8 @@
+ if test "$af_have_libtirpc" = "yes"; then
+ AC_DEFINE(WITH_LIBTIRPC,1, [Define to 1 if you have the libtirpc library installed])
+ AC_DEFINE(TIRPC_WORKAROUND,1, [Define to 1 to use the libtirpc tsd usage workaround])
+- TIRPCLIB="-ltirpc"
++ TIRPCINCLUDE=$TIRPC_FLAGS
++ TIRPCLIB=$TIRPC_LIBS
+ fi
+
+ AC_CHECK_FUNCS([getrpcbyname getservbyname])
+@@ -439,6 +447,7 @@
+ # restore flags
+ CFLAGS="$af_check_libtirpc_save_cflags"
+ LDFLAGS="$af_check_libtirpc_save_ldflags"
++
+ ])
+
+ AC_DEFUN([AF_WITH_LIBTIRPC],
+diff -Nur autofs-5.1.2.orig/configure.in autofs-5.1.2/configure.in
+--- autofs-5.1.2.orig/configure.in 2016-06-15 04:40:44.000000000 +0200
++++ autofs-5.1.2/configure.in 2017-03-20 22:01:57.191254563 +0100
+@@ -126,6 +126,7 @@
+ #
+ AF_WITH_LIBTIRPC()
+ AC_SUBST(TIRPCLIB)
++AC_SUBST(TIRPCINCLUDE)
+
+ #
+ # Optional include dmalloc
+diff -Nur autofs-5.1.2.orig/Makefile.conf.in autofs-5.1.2/Makefile.conf.in
+--- autofs-5.1.2.orig/Makefile.conf.in 2016-06-15 04:40:44.000000000 +0200
++++ autofs-5.1.2/Makefile.conf.in 2017-03-20 21:59:38.341881802 +0100
+@@ -62,6 +62,7 @@
+
+ # Use libtirpc if requested and available
+ TIRPCLIB = @TIRPCLIB@
++TIRPCINCLUDE = @TIRPCINCLUDE@
+
+ # Use dmalloc for memory debuging
+ DMALLOCLIB = @DMALLOCLIB@
+diff -Nur autofs-5.1.2.orig/Makefile.rules autofs-5.1.2/Makefile.rules
+--- autofs-5.1.2.orig/Makefile.rules 2016-06-15 04:40:44.000000000 +0200
++++ autofs-5.1.2/Makefile.rules 2017-03-20 22:03:25.590675167 +0100
+@@ -45,10 +45,8 @@
+ CFLAGS += -D_REENTRANT -D_FILE_OFFSET_BITS=64
+ LIBS += -lpthread
+
+-ifdef TIRPCLIB
+-CFLAGS += -I/usr/include/tirpc
++CFLAGS += $(TIRPCINCLUDE)
+ LIBS += $(TIRPCLIB)
+-endif
+
+ ifdef DMALLOCLIB
+ LIBS += $(DMALLOCLIB)
diff --git a/package/autofs/Config.in b/package/autofs/Config.in
index 8e08357..efb0ec2 100644
--- a/package/autofs/Config.in
+++ b/package/autofs/Config.in
@@ -2,8 +2,8 @@ config BR2_PACKAGE_AUTOFS
bool "autofs"
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on BR2_USE_MMU
- depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
depends on !BR2_STATIC_LIBS # dlfcn
+ select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
help
Autofs controls the operation of the automount daemons. The
automount daemons automatically mount filesystems when they
@@ -15,7 +15,6 @@ config BR2_PACKAGE_AUTOFS
http://www.linuxfromscratch.org/blfs/view/svn/general/autofs.html
-comment "autofs needs a toolchain w/ NPTL, RPC, dynamic library"
+comment "autofs needs a toolchain w/ NPTL and dynamic library"
depends on BR2_USE_MMU
- depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS || \
- !BR2_TOOLCHAIN_HAS_NATIVE_RPC
+ depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
diff --git a/package/autofs/autofs.mk b/package/autofs/autofs.mk
index 23e6836..580b04a 100644
--- a/package/autofs/autofs.mk
+++ b/package/autofs/autofs.mk
@@ -32,6 +32,11 @@ AUTOFS_CONF_OPTS = \
--with-path="$(BR_PATH)" \
--with-hesiod=no
+ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
+AUTOFS_DEPENDENCIES += libtirpc host-pkgconf
+AUTOFS_CONF_OPTS += --with-libtirpc
+endif
+
AUTOFS_MAKE_ENV = DONTSTRIP=1
$(eval $(autotools-package))
--
2.1.4
next reply other threads:[~2017-03-23 7:10 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-23 7:10 Waldemar Brodkorb [this message]
2017-04-02 3:40 ` [Buildroot] [PATCH v3] autofs: allow to use libtirpc instead of internal C implementation Waldemar Brodkorb
2017-04-08 14:05 ` Thomas Petazzoni
2017-04-08 19:03 ` Waldemar Brodkorb
2017-04-08 19:38 ` Thomas Petazzoni
2017-04-10 5:33 ` Waldemar Brodkorb
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=20170323071058.GA29887@waldemar-brodkorb.de \
--to=wbx@openadk.org \
--cc=buildroot@busybox.net \
/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 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.