浏览代码

autofs: allow to use libtirpc

uClibc-ng removed 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>
[Thomas: change to use libtirpc when available, not just when the
toolchain does not have RPC support.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Waldemar Brodkorb 7 年之前
父节点
当前提交
873040371b
共有 2 个文件被更改,包括 11 次插入5 次删除
  1. 3 4
      package/autofs/Config.in
  2. 8 1
      package/autofs/autofs.mk

+ 3 - 4
package/autofs/Config.in

@@ -2,8 +2,8 @@ config BR2_PACKAGE_AUTOFS
 	bool "autofs"
 	bool "autofs"
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
 	depends on BR2_USE_MMU
 	depends on BR2_USE_MMU
-	depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	depends on !BR2_STATIC_LIBS # dlfcn
 	depends on !BR2_STATIC_LIBS # dlfcn
+	select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	help
 	help
 	  Autofs controls the operation of the automount daemons. The
 	  Autofs controls the operation of the automount daemons. The
 	  automount daemons automatically mount filesystems when they
 	  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
 	  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_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

+ 8 - 1
package/autofs/autofs.mk

@@ -9,7 +9,7 @@ AUTOFS_SOURCE = autofs-$(AUTOFS_VERSION).tar.xz
 AUTOFS_SITE = $(BR2_KERNEL_MIRROR)/linux/daemons/autofs/v5
 AUTOFS_SITE = $(BR2_KERNEL_MIRROR)/linux/daemons/autofs/v5
 AUTOFS_LICENSE = GPL-2.0+
 AUTOFS_LICENSE = GPL-2.0+
 AUTOFS_LICENSE_FILES = COPYING COPYRIGHT
 AUTOFS_LICENSE_FILES = COPYING COPYRIGHT
-AUTOFS_DEPENDENCIES = host-flex host-bison
+AUTOFS_DEPENDENCIES = host-flex host-bison host-pkgconf
 
 
 # autofs looks on the build machine for the path of modprobe, so tell
 # autofs looks on the build machine for the path of modprobe, so tell
 # it explicitly where it will be located on the target.
 # it explicitly where it will be located on the target.
@@ -31,4 +31,11 @@ AUTOFS_CONF_OPTS = \
 
 
 AUTOFS_MAKE_ENV = DONTSTRIP=1
 AUTOFS_MAKE_ENV = DONTSTRIP=1
 
 
+ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
+AUTOFS_CONF_OPTS += --with-libtirpc
+AUTOFS_DEPENDENCIES += libtirpc
+else
+AUTOFS_CONF_OPTS += --without-libtirpc
+endif
+
 $(eval $(autotools-package))
 $(eval $(autotools-package))