Revert "remove package libtirpc"

This reverts commit b83ca586c0.
This commit is contained in:
Stephan Raue
2011-11-10 00:52:41 +01:00
parent b9bec710c7
commit f5b6b91bd4
8 changed files with 902 additions and 1 deletions

View File

@@ -32,7 +32,8 @@ cd $PKG_BUILD
--libdir=/usr/lib \
--sysconfdir=/etc \
--disable-examples \
--disable-tirpc \
--enable-tirpc \
--with-tirpcinclude="$SYSROOT_PREFIX/usr/include/tirpc" \
make
$MAKEINSTALL

View File

@@ -0,0 +1,114 @@
diff --git a/Makefile.am b/Makefile.am
index 03e4419..5172bed 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -5,3 +5,5 @@ pkgconfig_DATA = libnfs.pc
EXTRA_DIST = README COPYING libnfs.pc.in
+ACLOCAL_AMFLAGS = -I aclocal
+
diff --git a/aclocal/libtirpc.m4 b/aclocal/libtirpc.m4
new file mode 100644
index 0000000..9f0fde0
--- /dev/null
+++ b/aclocal/libtirpc.m4
@@ -0,0 +1,40 @@
+dnl Checks for TI-RPC library and headers
+dnl
+AC_DEFUN([AC_LIBTIRPC], [
+
+ AC_ARG_WITH([tirpcinclude],
+ [AC_HELP_STRING([--with-tirpcinclude=DIR],
+ [use TI-RPC headers in DIR])],
+ [tirpc_header_dir=$withval],
+ [tirpc_header_dir=/usr/include/tirpc])
+
+ dnl if --enable-tirpc was specifed, the following components
+ dnl must be present, and we set up HAVE_ macros for them.
+
+ if test "$enable_tirpc" != "no"; then
+
+ dnl look for the library; add to LIBS if found
+ AC_CHECK_LIB([tirpc], [clnt_tli_create], ,
+ [if test "$enable_tirpc" = "yes"; then
+ AC_MSG_ERROR([libtirpc not found.])
+ else
+ AC_MSG_WARN([libtirpc not found. TIRPC disabled!])
+ enable_tirpc="no"
+ fi])
+ fi
+
+ if test "$enable_tirpc" != "no"; then
+ dnl also must have the headers installed where we expect
+ dnl look for headers; add -I compiler option if found
+ AC_CHECK_HEADERS([${tirpc_header_dir}/netconfig.h],
+ AC_SUBST([AM_CPPFLAGS], ["-I${tirpc_header_dir}"]),
+ [if test "$enable_tirpc" = "yes"; then
+ AC_MSG_ERROR([libtirpc headers not found.])
+ else
+ AC_MSG_WARN([libtirpc headers not found. TIRPC disabled!])
+ enable_tirpc="no"
+ fi])
+
+ fi
+
+])dnl
diff --git a/configure.ac b/configure.ac
index 24400c3..f84e391 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,6 @@
AC_PREREQ(2.50)
AC_INIT([libnfs], [1.0.0])
+AC_CONFIG_MACRO_DIR(aclocal)
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([foreign])
AC_CANONICAL_HOST
@@ -22,7 +23,14 @@ if test x$HAVE_RPCGEN != xyes; then
AC_MSG_ERROR([Can not find required program])
fi
-#option: examples
+dnl option: libtirpc
+AC_ARG_ENABLE(tirpc,
+ [AC_HELP_STRING([--enable-tirpc],
+ [enable use of TI-RPC @<:@default=no@:>@])],
+ enable_tirpc=$enableval,
+ enable_tirpc='no')
+
+dnl option: examples
AC_ARG_ENABLE([examples],
[AC_HELP_STRING([--enable-examples],
[Build example programs])],
@@ -34,12 +42,6 @@ if test x$ENABLE_EXAMPLES = xyes; then
fi
AC_SUBST(MAYBE_EXAMPLES)
-AC_ARG_ENABLE(tirpc,
- [AC_HELP_STRING([--enable-tirpc],
- [enable use of TI-RPC @<:@default=no@:>@])],
- enable_tirpc=$enableval,
- enable_tirpc='no')
-
case $host in
*darwin*)
RPCGENFLAGS=-DU_INT64_PLATTFORM_TYPE="u_int64_t"
@@ -71,11 +73,13 @@ AC_CHECK_MEMBER([struct sockaddr.sa_len],
#include <sys/socket.h>
])
+PKG_PROG_PKG_CONFIG()
+
+dnl Check for TI-RPC library and headers
+AC_LIBTIRPC
+
+dnl Check for TI-RPC library and headers
echo "Use TI-RPC: $enable_tirpc"
-if test "$enable_tirpc" = "yes"; then
- CFLAGS="${CFLAGS} -I /usr/include/tirpc"
- LDFLAGS="${LDFLAGS} -ltirpc"
-fi
#output
AC_CONFIG_FILES([Makefile]

36
packages/network/libtirpc/build Executable file
View File

@@ -0,0 +1,36 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
cd $PKG_BUILD
./configure --host=$TARGET_NAME \
--build=$HOST_NAME \
--prefix=/usr \
--sysconfdir=/etc \
--disable-static \
--enable-shared \
--enable-gss \
--with-gnu-ld
make
$MAKEINSTALL

View File

@@ -0,0 +1,30 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
. config/options $1
mkdir -p $INSTALL/usr/lib
cp $PKG_BUILD/src/.libs/*.so* $INSTALL/usr/lib
mkdir -p $INSTALL/etc
cp $PKG_BUILD/doc/etc_netconfig $INSTALL/etc/netconfig

View File

@@ -0,0 +1,36 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
#
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="libtirpc"
PKG_VERSION="0.2.2"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://sourceforge.net/projects/libtirpc/"
PKG_URL="https://downloads.sourceforge.net/project/libtirpc/libtirpc/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS="libgssglue"
PKG_BUILD_DEPENDS="toolchain libgssglue"
PKG_PRIORITY="optional"
PKG_SECTION="network"
PKG_SHORTDESC="libtirpc: Transport Independent RPC Library"
PKG_LONGDESC="Libtirpc is a port of Suns Transport-Independent RPC library to Linux. It's being developed by the Bull GNU/Linux NFSv4 project."
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"

View File

@@ -0,0 +1,19 @@
X-Git-Url: http://git.infradead.org
diff --git a/src/rpc_soc.c b/src/rpc_soc.c
index c678429..63d2197 100644
--- a/src/rpc_soc.c
+++ b/src/rpc_soc.c
@@ -560,12 +560,10 @@ clntunix_create(raddr, prog, vers, sockp, sendsz, recvsz)
u_int recvsz;
{
struct netbuf *svcaddr;
- struct netconfig *nconf;
CLIENT *cl;
int len;
cl = NULL;
- nconf = NULL;
svcaddr = NULL;
if (((svcaddr = malloc(sizeof(struct netbuf))) == NULL ) ||
((svcaddr->buf = malloc(sizeof(struct sockaddr_un))) == NULL)) {

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@
diff -up libtirpc-0.2.2/src/svc_dg.c.orig libtirpc-0.2.2/src/svc_dg.c
--- libtirpc-0.2.2/src/svc_dg.c.orig 2011-07-19 15:02:41.087631000 -0400
+++ libtirpc-0.2.2/src/svc_dg.c 2011-07-19 15:04:43.154243000 -0400
@@ -254,8 +254,8 @@ svc_dg_reply(xprt, msg)
XDR_SETPOS(xdrs, 0);
msg->rm_xid = su->su_xid;
if (xdr_replymsg(xdrs, msg) &&
- (!has_args ||
- (SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
+ (!has_args || (xprt->xp_auth &&
+ SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
struct msghdr *msg = &su->su_msghdr;
struct iovec iov;
diff -up libtirpc-0.2.2/src/svc_vc.c.orig libtirpc-0.2.2/src/svc_vc.c
--- libtirpc-0.2.2/src/svc_vc.c.orig 2011-07-19 15:05:28.577588000 -0400
+++ libtirpc-0.2.2/src/svc_vc.c 2011-07-19 15:05:40.058928000 -0400
@@ -698,8 +698,8 @@ svc_vc_reply(xprt, msg)
msg->rm_xid = cd->x_id;
rstat = FALSE;
if (xdr_replymsg(xdrs, msg) &&
- (!has_args ||
- (SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
+ (!has_args || (xprt->xp_auth &&
+ SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_results, xdr_location)))) {
rstat = TRUE;
}
(void)xdrrec_endofrecord(xdrs, TRUE);