rpcbind: new package
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 4 Nov 2012 07:34:14 +0000 (07:34 +0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Tue, 6 Nov 2012 07:20:17 +0000 (08:20 +0100)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/Config.in
package/rpcbind/Config.in [new file with mode: 0644]
package/rpcbind/rpcbind-01-no-yp-support.patch [new file with mode: 0644]
package/rpcbind/rpcbind.mk [new file with mode: 0644]

index e7e73532080ae4d771689a8e8227c0ff2091c6c7..e531c417d3b2c6310d0a8fcd18afa2086529207a 100644 (file)
@@ -627,6 +627,7 @@ source "package/proftpd/Config.in"
 source "package/quagga/Config.in"
 source "package/radvd/Config.in"
 source "package/rp-pppoe/Config.in"
+source "package/rpcbind/Config.in"
 source "package/rsh-redone/Config.in"
 source "package/rsync/Config.in"
 source "package/rtorrent/Config.in"
diff --git a/package/rpcbind/Config.in b/package/rpcbind/Config.in
new file mode 100644 (file)
index 0000000..1bdcd9e
--- /dev/null
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_RPCBIND
+       bool "rpcbind"
+       # We really need libtirpc and can't work with the native RPC
+       # implementation of toolchains.
+       select BR2_PACKAGE_LIBTIRPC
+       help
+         The rpcbind utility is a server that converts RPC program numbers
+         into universal addresses.
diff --git a/package/rpcbind/rpcbind-01-no-yp-support.patch b/package/rpcbind/rpcbind-01-no-yp-support.patch
new file mode 100644 (file)
index 0000000..e9e6c9d
--- /dev/null
@@ -0,0 +1,46 @@
+Remove yellow pages support
+
+This support requires yellow pages support in libtirpc, which isn't
+available. As most Buildroot users are most likely never going to need
+such feature, get rid of it.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+Index: b/src/security.c
+===================================================================
+--- a/src/security.c
++++ b/src/security.c
+@@ -23,9 +23,6 @@
+ #include <rpcsvc/mount.h>
+ #include <rpcsvc/rquota.h>
+ #include <rpcsvc/nfs_prot.h>
+-#include <rpcsvc/yp.h>
+-#include <rpcsvc/ypclnt.h>
+-#include <rpcsvc/yppasswd.h>
+ #include "rpcbind.h"
+@@ -322,24 +319,9 @@
+                   args->rmt_proc != MOUNTPROC_UMNT)
+                       break;
+               goto deny;
+-      case YPBINDPROG:
+-              if (args->rmt_proc != YPBINDPROC_SETDOM)
+-                      break;
+-              /* FALLTHROUGH */
+-      case YPPASSWDPROG:
+       case NFS_PROGRAM:
+       case RQUOTAPROG:
+               goto deny;
+-      case YPPROG:
+-              switch (args->rmt_proc) {
+-              case YPPROC_ALL:
+-              case YPPROC_MATCH:
+-              case YPPROC_FIRST:
+-              case YPPROC_NEXT:
+-                      goto deny;
+-              default:
+-                      break;
+-              }
+       default:
+               break;
+       }
diff --git a/package/rpcbind/rpcbind.mk b/package/rpcbind/rpcbind.mk
new file mode 100644 (file)
index 0000000..d9a80de
--- /dev/null
@@ -0,0 +1,17 @@
+#############################################################
+#
+# rpcbind
+#
+#############################################################
+
+RPCBIND_VERSION = 0.2.0
+RPCBIND_SITE    = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/rpcbind/rpcbind/$(RPCBIND_VERSION)
+RPCBIND_SOURCE  = rpcbind-$(RPCBIND_VERSION).tar.bz2
+RPCBIND_LICENSE = BSD-3c
+RPCBIND_LICENSE_FILES = COPYING
+
+RPCBIND_CONF_ENV += \
+       CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/tirpc/"
+RPCBIND_DEPENDENCIES += libtirpc
+
+$(eval $(autotools-package))