aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/libtirpc/APKBUILD2
-rw-r--r--main/libtirpc/libtirpc-0.3.2-get-default-domain.patch104
-rw-r--r--main/libtirpc/yp.patch13
3 files changed, 118 insertions, 1 deletions
diff --git a/main/libtirpc/APKBUILD b/main/libtirpc/APKBUILD
index 54470bc716..c9b2a21ed1 100644
--- a/main/libtirpc/APKBUILD
+++ b/main/libtirpc/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libtirpc
pkgver=0.3.2
-pkgrel=1
+pkgrel=2
pkgdesc="Transport Independent RPC library (SunRPC replacement)"
url="http://libtirpc.sourceforge.net/"
arch="all"
diff --git a/main/libtirpc/libtirpc-0.3.2-get-default-domain.patch b/main/libtirpc/libtirpc-0.3.2-get-default-domain.patch
new file mode 100644
index 0000000000..dc0635b987
--- /dev/null
+++ b/main/libtirpc/libtirpc-0.3.2-get-default-domain.patch
@@ -0,0 +1,104 @@
+commit f7f6d01a83d136c98acbc1d7f098da25097bd0b6
+Author: Armin K <krejzi@email.com>
+Date: Thu Jun 18 11:59:18 2015 -0400
+
+ __rpc_get_default_domain is undefined with LDFLAGS=-Wl,--no-undefined
+
+ commit 109ccb9fe removed the __rpc_get_default_domain()
+ interface which is not defined in the glibc. This
+ brings the interface back.
+
+ Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
+ Signed-off-by: Steve Dickson <steved@redhat.com>
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 6cc567a..66fcc6c 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -69,7 +69,7 @@ if GSS
+ endif
+
+ libtirpc_la_SOURCES += key_call.c key_prot_xdr.c getpublickey.c
+-libtirpc_la_SOURCES += netname.c netnamer.c rtime.c
++libtirpc_la_SOURCES += netname.c netnamer.c rpcdname.c rtime.c
+
+ CLEANFILES = cscope.* *~
+ DISTCLEANFILES = Makefile.in
+diff --git a/src/rpcdname.c b/src/rpcdname.c
+new file mode 100644
+index 0000000..3e6a988
+--- /dev/null
++++ b/src/rpcdname.c
+@@ -0,0 +1,72 @@
++/*
++ * Copyright (c) 2009, Sun Microsystems, Inc.
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions are met:
++ * - Redistributions of source code must retain the above copyright notice,
++ * this list of conditions and the following disclaimer.
++ * - Redistributions in binary form must reproduce the above copyright notice,
++ * this list of conditions and the following disclaimer in the documentation
++ * and/or other materials provided with the distribution.
++ * - Neither the name of Sun Microsystems, Inc. nor the names of its
++ * contributors may be used to endorse or promote products derived
++ * from this software without specific prior written permission.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
++ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
++ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
++ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
++ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
++ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
++ * POSSIBILITY OF SUCH DAMAGE.
++ */
++
++/*
++ * rpcdname.c
++ * Gets the default domain name
++ */
++
++#include <stdlib.h>
++#include <unistd.h>
++#include <string.h>
++
++static char *default_domain = 0;
++
++static char *
++get_default_domain()
++{
++ char temp[256];
++
++ if (default_domain)
++ return (default_domain);
++ if (getdomainname(temp, sizeof(temp)) < 0)
++ return (0);
++ if ((int) strlen(temp) > 0) {
++ default_domain = (char *)malloc((strlen(temp)+(unsigned)1));
++ if (default_domain == 0)
++ return (0);
++ (void) strcpy(default_domain, temp);
++ return (default_domain);
++ }
++ return (0);
++}
++
++/*
++ * This is a wrapper for the system call getdomainname which returns a
++ * ypclnt.h error code in the failure case. It also checks to see that
++ * the domain name is non-null, knowing that the null string is going to
++ * get rejected elsewhere in the NIS client package.
++ */
++int
++__rpc_get_default_domain(domain)
++ char **domain;
++{
++ if ((*domain = get_default_domain()) != 0)
++ return (0);
++ return (-1);
++}
diff --git a/main/libtirpc/yp.patch b/main/libtirpc/yp.patch
new file mode 100644
index 0000000000..dd32219254
--- /dev/null
+++ b/main/libtirpc/yp.patch
@@ -0,0 +1,13 @@
+--- ./src/getpublickey.c.orig
++++ ./src/getpublickey.c
+@@ -38,8 +38,10 @@
+ #include <pwd.h>
+ #include <rpc/rpc.h>
+ #include <rpc/key_prot.h>
++#ifdef YP
+ #include <rpcsvc/yp_prot.h>
+ #include <rpcsvc/ypclnt.h>
++#endif
+ #include <string.h>
+ #include <stdlib.h>
+