From 6a1c6dee79c2f714721b8f2b7d7552b4c46df9ae Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 26 Jun 2012 10:53:05 -0400 Subject: [PATCH] libnfsidmap: pulled in for NFSv4 support in nfs-utils Upgraded net-libs/libnfsidmap to version 0.24 on amd64, arm, x86 Nothing depends on nfs-utils (it exists just for devs to play with). BUG=None TEST=`emerge-x86-generic nfs-utils` worked Change-Id: Ia0d3101461b626a663d40af892e1004d02b2e3ad Reviewed-on: https://gerrit.chromium.org/gerrit/26106 Reviewed-by: David James Tested-by: Mike Frysinger Commit-Ready: Mike Frysinger --- .../md5-cache/net-libs/libnfsidmap-0.24 | 13 ++ .../net-libs/libnfsidmap/Manifest | 1 + .../files/libnfsidmap-0.19-getgrouplist.patch | 112 ++++++++++++++++++ .../files/libnfsidmap-0.21-headers.patch | 22 ++++ .../libnfsidmap/libnfsidmap-0.24.ebuild | 46 +++++++ 5 files changed, 194 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/metadata/md5-cache/net-libs/libnfsidmap-0.24 create mode 100644 sdk_container/src/third_party/portage-stable/net-libs/libnfsidmap/Manifest create mode 100644 sdk_container/src/third_party/portage-stable/net-libs/libnfsidmap/files/libnfsidmap-0.19-getgrouplist.patch create mode 100644 sdk_container/src/third_party/portage-stable/net-libs/libnfsidmap/files/libnfsidmap-0.21-headers.patch create mode 100644 sdk_container/src/third_party/portage-stable/net-libs/libnfsidmap/libnfsidmap-0.24.ebuild diff --git a/sdk_container/src/third_party/portage-stable/metadata/md5-cache/net-libs/libnfsidmap-0.24 b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/net-libs/libnfsidmap-0.24 new file mode 100644 index 0000000000..705e866955 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/metadata/md5-cache/net-libs/libnfsidmap-0.24 @@ -0,0 +1,13 @@ +DEFINED_PHASES=configure install prepare +DEPEND=ldap? ( net-nds/openldap ) || ( >=sys-devel/automake-1.11.1:1.11 ) >=sys-devel/autoconf-2.68 sys-devel/libtool +DESCRIPTION=NFSv4 ID <-> name mapping library +EAPI=2 +HOMEPAGE=http://www.citi.umich.edu/projects/nfsv4/linux/ +IUSE=ldap static-libs +KEYWORDS=alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 +LICENSE=BSD +RDEPEND=ldap? ( net-nds/openldap ) ! + ++#include "getgrouplist.c" ++ + /* + * NSS Translation Methods + * +--- libnfsidmap-0.19/getgrouplist.c ++++ libnfsidmap-0.19/getgrouplist.c +@@ -0,0 +1,85 @@ ++/* ++ * getgrouplist.c ++ * ++ * if system does not provide the non-standard getgrouplist, we will emulate ++ * it via POSIX standard functions ++ * ++ * Copyright (c) 1991, 1993 ++ * The Regents of the University of California. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without ++ * modification, are permitted provided that the following conditions ++ * are met: ++ * 1. Redistributions of source code must retain the above copyright ++ * notice, this list of conditions and the following disclaimer. ++ * 2. 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. ++ * 4. Neither the name of the University 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 REGENTS 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 REGENTS 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. ++ */ ++ ++#include ++#include ++#include ++#include ++ ++#ifndef HAVE_GETGROUPLIST ++static ++int ++getgrouplist(const char *uname, gid_t agroup, gid_t *groups, int *grpcnt) ++{ ++ const struct group *grp; ++ int i, maxgroups, ngroups, ret; ++ ++ ret = 0; ++ ngroups = 0; ++ maxgroups = *grpcnt; ++ /* ++ * When installing primary group, duplicate it; ++ * the first element of groups is the effective gid ++ * and will be overwritten when a setgid file is executed. ++ */ ++ groups[ngroups++] = agroup; ++ if (maxgroups > 1) ++ groups[ngroups++] = agroup; ++ /* ++ * Scan the group file to find additional groups. ++ */ ++ setgrent(); ++ while ((grp = getgrent()) != NULL) { ++ for (i = 0; i < ngroups; i++) { ++ if (grp->gr_gid == groups[i]) ++ goto skip; ++ } ++ for (i = 0; grp->gr_mem[i]; i++) { ++ if (!strcmp(grp->gr_mem[i], uname)) { ++ if (ngroups >= maxgroups) { ++ ret = -1; ++ break; ++ } ++ groups[ngroups++] = grp->gr_gid; ++ break; ++ } ++ } ++skip: ++ ; ++ } ++ endgrent(); ++ *grpcnt = ngroups; ++ return (ret); ++} ++#endif diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libnfsidmap/files/libnfsidmap-0.21-headers.patch b/sdk_container/src/third_party/portage-stable/net-libs/libnfsidmap/files/libnfsidmap-0.21-headers.patch new file mode 100644 index 0000000000..6ef12d44e4 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/libnfsidmap/files/libnfsidmap-0.21-headers.patch @@ -0,0 +1,22 @@ +for toupper and such + +--- a/nss.c ++++ b/nss.c +@@ -34,6 +34,7 @@ + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + ++#include + #include + #include + #include +--- a/libnfsidmap.c ++++ b/libnfsidmap.c +@@ -37,6 +37,7 @@ + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + ++#include + #include + #include + #include diff --git a/sdk_container/src/third_party/portage-stable/net-libs/libnfsidmap/libnfsidmap-0.24.ebuild b/sdk_container/src/third_party/portage-stable/net-libs/libnfsidmap/libnfsidmap-0.24.ebuild new file mode 100644 index 0000000000..2956b1a64e --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/net-libs/libnfsidmap/libnfsidmap-0.24.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-libs/libnfsidmap/libnfsidmap-0.24.ebuild,v 1.7 2012/05/21 19:13:27 xarthisius Exp $ + +EAPI="2" + +inherit autotools eutils + +DESCRIPTION="NFSv4 ID <-> name mapping library" +HOMEPAGE="http://www.citi.umich.edu/projects/nfsv4/linux/" +SRC_URI="http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86" +IUSE="ldap static-libs" + +DEPEND="ldap? ( net-nds/openldap )" +RDEPEND="${DEPEND} + !