From 25708fb9eff71d0de70c43bd0847ee20bd861fe8 Mon Sep 17 00:00:00 2001 From: Andrea Brancaleoni Date: Mon, 29 Jun 2015 11:02:19 +0200 Subject: [PATCH] libtirpc: fix #1923 --- .../fix_missing_rpc_get_default_domain.patch | 87 +++++++++++++++++++ srcpkgs/libtirpc/template | 8 +- 2 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/libtirpc/patches/fix_missing_rpc_get_default_domain.patch diff --git a/srcpkgs/libtirpc/patches/fix_missing_rpc_get_default_domain.patch b/srcpkgs/libtirpc/patches/fix_missing_rpc_get_default_domain.patch new file mode 100644 index 0000000000..9b2655f233 --- /dev/null +++ b/srcpkgs/libtirpc/patches/fix_missing_rpc_get_default_domain.patch @@ -0,0 +1,87 @@ +--- src/Makefile.am 2015-06-16 17:35:08.000000000 +0200 ++++ src/Makefile.am 2015-06-17 21:23:05.185276962 +0200 +@@ -69,7 +69,7 @@ + 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 -Naur a/src/rpcdname.c b/src/rpcdname.c +--- src/rpcdname.c 1970-01-01 01:00:00.000000000 +0100 ++++ src/rpcdname.c 2015-06-17 21:23:05.186276982 +0200 +@@ -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 ++#include ++#include ++ ++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/srcpkgs/libtirpc/template b/srcpkgs/libtirpc/template index 09587198bf..1b400e6b16 100644 --- a/srcpkgs/libtirpc/template +++ b/srcpkgs/libtirpc/template @@ -1,9 +1,9 @@ # Template file for 'libtirpc' pkgname=libtirpc version=0.3.2 -revision=1 +revision=2 build_style=gnu-configure -hostmakedepends="pkg-config mit-krb5-devel" +hostmakedepends="pkg-config mit-krb5-devel automake libtool" makedepends="mit-krb5-devel libgssglue-devel" conf_files="/etc/netconfig" short_desc="Transport Independent RPC library (SunRPC replacement)" @@ -13,6 +13,10 @@ homepage="http://libtirpc.sourceforge.net/" distfiles="${SOURCEFORGE_SITE}/$pkgname/$pkgname-$version.tar.bz2" checksum=2008a379f37f2c5d5a87a568b06707422cc3e4f5da305f7fb71f3f4c6d473ffc +pre_configure() { + autoreconf -fi +} + post_install() { vconf ${wrksrc}/doc/netconfig }