From patchwork Sat Nov 3 17:47:51 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Petazzoni X-Patchwork-Id: 196900 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from hemlock.osuosl.org (hemlock.osuosl.org [140.211.166.133]) by ozlabs.org (Postfix) with ESMTP id 12F382C00DC for ; Sun, 4 Nov 2012 04:50:12 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id CD0D8A0622; Sat, 3 Nov 2012 17:50:10 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References" Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YJWNl7joiiOH; Sat, 3 Nov 2012 17:49:52 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 0FC1BA0348; Sat, 3 Nov 2012 17:48:56 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 829248F74A for ; Sat, 3 Nov 2012 17:48:57 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id AE27C8A307 for ; Sat, 3 Nov 2012 17:48:53 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References" Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ff7nPg7Pgnt0 for ; Sat, 3 Nov 2012 17:48:51 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail.free-electrons.com (mail.free-electrons.com [88.190.12.23]) by whitealder.osuosl.org (Postfix) with ESMTP id 50C0F80AE7 for ; Sat, 3 Nov 2012 17:48:51 +0000 (UTC) Received: by mail.free-electrons.com (Postfix, from userid 106) id 436912BD; Sat, 3 Nov 2012 18:47:39 +0100 (CET) Received: from localhost (182.Red-88-19-115.staticIP.rima-tde.net [88.19.115.182]) by mail.free-electrons.com (Postfix) with ESMTPSA id 8C63E237 for ; Sat, 3 Nov 2012 18:47:29 +0100 (CET) From: Thomas Petazzoni To: buildroot@busybox.net Date: Sat, 3 Nov 2012 18:47:51 +0100 Message-Id: <045efa9091a2b75fca45da07eeeb107d90418771.1351964808.git.thomas.petazzoni@free-electrons.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: In-Reply-To: References: Subject: [Buildroot] [PATCH 06/18] libtirpc: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net Signed-off-by: Thomas Petazzoni --- package/Config.in | 1 + package/libtirpc/Config.in | 12 ++++ ...able-parts-of-TIRPC-requiring-NIS-support.patch | 70 ++++++++++++++++++++ ...out-RPC-support-does-not-install-rpcent.h.patch | 26 ++++++++ ...btirpc-0003-Add-missing-INET6-conditional.patch | 60 +++++++++++++++++ .../libtirpc-0004-Make-IPv6-support-optional.patch | 43 ++++++++++++ package/libtirpc/libtirpc.mk | 17 +++++ 7 files changed, 229 insertions(+) create mode 100644 package/libtirpc/Config.in create mode 100644 package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch create mode 100644 package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch create mode 100644 package/libtirpc/libtirpc-0003-Add-missing-INET6-conditional.patch create mode 100644 package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch create mode 100644 package/libtirpc/libtirpc.mk diff --git a/package/Config.in b/package/Config.in index 1650c71..644e968 100644 --- a/package/Config.in +++ b/package/Config.in @@ -454,6 +454,7 @@ source "package/libpcap/Config.in" source "package/libosip2/Config.in" source "package/librsync/Config.in" source "package/libsoup/Config.in" +source "package/libtirpc/Config.in" source "package/libtorrent/Config.in" source "package/libupnp/Config.in" source "package/libvncserver/Config.in" diff --git a/package/libtirpc/Config.in b/package/libtirpc/Config.in new file mode 100644 index 0000000..0172f0d --- /dev/null +++ b/package/libtirpc/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBTIRPC + bool "libtirpc" + depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC + help + Libtirpc is a port of Sun's Transport-Independent RPC + library to Linux. + + http://sourceforge.net/projects/libtirpc/ + +config BR2_RPC_SUPPORT_AVAILABLE + bool + default y if (BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_PACKAGE_LIBTIRPC) diff --git a/package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch b/package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch new file mode 100644 index 0000000..bdbe021 --- /dev/null +++ b/package/libtirpc/libtirpc-0001-Disable-parts-of-TIRPC-requiring-NIS-support.patch @@ -0,0 +1,70 @@ +From f4c022c526ce061dfdd3c46f544a9495a3a3a97e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 23 Jun 2012 21:57:39 +0200 +Subject: [PATCH 1/4] Disable parts of TIRPC requiring NIS support + +Signed-off-by: Thomas Petazzoni +--- + src/Makefile.am | 3 +-- + src/rpc_soc.c | 2 ++ + tirpc/rpc/auth.h | 3 +++ + 3 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 7ee8cbc..6d36b93 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -49,8 +49,7 @@ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c bindresvport.c cln + pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \ + rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \ + rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \ +- svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c \ +- auth_time.c auth_des.c authdes_prot.c des_crypt.c ++ svc_raw.c svc_run.c svc_simple.c svc_vc.c getpeereid.c + + ## XDR + libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c +diff --git a/src/rpc_soc.c b/src/rpc_soc.c +index c678429..27f2136 100644 +--- a/src/rpc_soc.c ++++ b/src/rpc_soc.c +@@ -515,6 +515,7 @@ clnt_broadcast(prog, vers, proc, xargs, argsp, xresults, resultsp, eachresult) + (resultproc_t) rpc_wrap_bcast, "udp"); + } + ++#if 0 + /* + * Create the client des authentication object. Obsoleted by + * authdes_seccreate(). +@@ -546,6 +547,7 @@ fallback: + dummy = authdes_seccreate(servername, window, NULL, ckey); + return (dummy); + } ++#endif + + /* + * Create a client handle for a unix connection. Obsoleted by clnt_vc_create() +diff --git a/tirpc/rpc/auth.h b/tirpc/rpc/auth.h +index 734e6b9..6e7e54e 100644 +--- a/tirpc/rpc/auth.h ++++ b/tirpc/rpc/auth.h +@@ -282,6 +282,8 @@ extern AUTH *authunix_create(char *, uid_t, uid_t, int, uid_t *); + extern AUTH *authunix_create_default(void); /* takes no parameters */ + extern AUTH *authnone_create(void); /* takes no parameters */ + __END_DECLS ++ ++#if 0 + /* + * DES style authentication + * AUTH *authsecdes_create(servername, window, timehost, ckey) +@@ -295,6 +297,7 @@ extern AUTH *authdes_create (char *, u_int, struct sockaddr *, des_block *); + extern AUTH *authdes_seccreate (const char *, const u_int, const char *, + const des_block *); + __END_DECLS ++#endif + + __BEGIN_DECLS + extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *); +-- +1.7.9.5 + diff --git a/package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch b/package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch new file mode 100644 index 0000000..0798c34 --- /dev/null +++ b/package/libtirpc/libtirpc-0002-uClibc-without-RPC-support-does-not-install-rpcent.h.patch @@ -0,0 +1,26 @@ +From c91721dc289397dfe38fdae175f4ee37e824667c Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 23 Jun 2012 21:58:07 +0200 +Subject: [PATCH 2/4] uClibc without RPC support does not install rpcent.h + +Signed-off-by: Thomas Petazzoni +--- + tirpc/rpc/rpcent.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tirpc/rpc/rpcent.h b/tirpc/rpc/rpcent.h +index 7fd93d9..df1f5ed 100644 +--- a/tirpc/rpc/rpcent.h ++++ b/tirpc/rpc/rpcent.h +@@ -47,7 +47,7 @@ + __BEGIN_DECLS + + /* These are defined in /usr/include/rpc/netdb.h */ +-#if 0 ++#if __UCLIBC__ + struct rpcent { + char *r_name; /* name of server for this rpc program */ + char **r_aliases; /* alias list */ +-- +1.7.9.5 + diff --git a/package/libtirpc/libtirpc-0003-Add-missing-INET6-conditional.patch b/package/libtirpc/libtirpc-0003-Add-missing-INET6-conditional.patch new file mode 100644 index 0000000..64d3da8 --- /dev/null +++ b/package/libtirpc/libtirpc-0003-Add-missing-INET6-conditional.patch @@ -0,0 +1,60 @@ +From a4852bd653ac917165de1d41b60168cd88dc6672 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sat, 23 Jun 2012 21:58:36 +0200 +Subject: [PATCH 3/4] Add missing INET6 conditional + +Signed-off-by: Thomas Petazzoni +--- + src/rpc_generic.c | 2 ++ + src/svc_dg.c | 4 ++++ + 2 files changed, 6 insertions(+) + +diff --git a/src/rpc_generic.c b/src/rpc_generic.c +index 509fb36..2eb91ad 100644 +--- a/src/rpc_generic.c ++++ b/src/rpc_generic.c +@@ -535,7 +535,9 @@ __rpc_nconf2fd_flags(const struct netconfig *nconf, int flags) + si.si_af == AF_INET6) { + int val = 1; + ++#ifdef INET6 + setsockopt(fd, SOL_IPV6, IPV6_V6ONLY, &val, sizeof(val)); ++#endif + } + return fd; + } +diff --git a/src/svc_dg.c b/src/svc_dg.c +index 66a56ee..e8faf33 100644 +--- a/src/svc_dg.c ++++ b/src/svc_dg.c +@@ -627,9 +627,11 @@ svc_dg_enable_pktinfo(int fd, const struct __rpc_sockinfo *si) + (void) setsockopt(fd, SOL_IP, IP_PKTINFO, &val, sizeof(val)); + break; + ++#ifdef INET6 + case AF_INET6: + (void) setsockopt(fd, SOL_IPV6, IPV6_PKTINFO, &val, sizeof(val)); + break; ++#endif + } + } + +@@ -667,6 +669,7 @@ svc_dg_valid_pktinfo(struct msghdr *msg) + } + break; + ++#ifdef INET6 + case AF_INET6: + if (cmsg->cmsg_level != SOL_IPV6 + || cmsg->cmsg_type != IPV6_PKTINFO +@@ -679,6 +682,7 @@ svc_dg_valid_pktinfo(struct msghdr *msg) + pkti->ipi6_ifindex = 0; + } + break; ++#endif + + default: + return 0; +-- +1.7.9.5 + diff --git a/package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch b/package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch new file mode 100644 index 0000000..455ad74 --- /dev/null +++ b/package/libtirpc/libtirpc-0004-Make-IPv6-support-optional.patch @@ -0,0 +1,43 @@ +From 1f36736733eac5080f3a4f3abd1c3a04ac42f1dd Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni +Date: Sun, 24 Jun 2012 21:40:21 +0200 +Subject: [PATCH 4/4] Make IPv6 support optional + +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 5 +++++ + src/Makefile.am | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 97c6f2c..487ec83 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -22,6 +22,11 @@ AC_PROG_LIBTOOL + AC_HEADER_DIRENT + AC_PREFIX_DEFAULT(/usr) + AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h]) ++ ++AC_CHECK_HEADER(netinet/ip6.h, ++ AC_DEFINE(INET6, 1, [Define to 1 if IPv6 is available]), ++ [AC_MSG_WARN([no IPv6])]) ++ + AC_CHECK_LIB([pthread], [pthread_create]) + + +diff --git a/src/Makefile.am b/src/Makefile.am +index 6d36b93..6dc259e 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -6,7 +6,7 @@ + ## anything like that. + + +-INCLUDES = -I$(top_srcdir)/tirpc -DPORTMAP -DINET6 -DVERSION="\"$(VERSION)\"" \ ++INCLUDES = -I$(top_srcdir)/tirpc -DPORTMAP -DVERSION="\"$(VERSION)\"" \ + -D_GNU_SOURCE -Wall -pipe + + lib_LTLIBRARIES = libtirpc.la +-- +1.7.9.5 + diff --git a/package/libtirpc/libtirpc.mk b/package/libtirpc/libtirpc.mk new file mode 100644 index 0000000..32fbeb5 --- /dev/null +++ b/package/libtirpc/libtirpc.mk @@ -0,0 +1,17 @@ +############################################################# +# +# libtirpc +# +############################################################# + +LIBTIRPC_VERSION = 0.2.2 +LIBTIRPC_SOURCE = libtirpc-$(LIBTIRPC_VERSION).tar.bz2 +LIBTIRPC_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/libtirpc/libtirpc/$(LIBTIRPC_VERSION) +LIBTIRPC_LICENSE = BSD-3c +LIBTIRPC_LICENSE_FILES = COPYING + +LIBTIRPC_INSTALL_STAGING = YES +LIBTIRPC_AUTORECONF = YES +LIBTIRPC_DEPENDENCIES = host-pkg-config + +$(eval $(autotools-package))