Provide getgrouplist() when need be #169909 by Natanael Copa.
authorMike Frysinger <vapier@gentoo.org>
Sun, 25 Mar 2007 07:25:44 +0000 (07:25 +0000)
committerMike Frysinger <vapier@gentoo.org>
Sun, 25 Mar 2007 07:25:44 +0000 (07:25 +0000)
Package-Manager: portage-2.1.2.2

net-libs/libnfsidmap/ChangeLog
net-libs/libnfsidmap/Manifest
net-libs/libnfsidmap/files/libnfsidmap-0.19-getgrouplist.patch [new file with mode: 0644]
net-libs/libnfsidmap/libnfsidmap-0.19.ebuild

index 52b22f61ee5845499d9059a74c23141db9ca6445..6a06561dd1247f4e7498172db85d03c71edd9e48 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for net-libs/libnfsidmap
 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/libnfsidmap/ChangeLog,v 1.11 2007/01/31 20:46:49 dertobi123 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/libnfsidmap/ChangeLog,v 1.12 2007/03/25 07:25:44 vapier Exp $
+
+  25 Mar 2007; Mike Frysinger <vapier@gentoo.org>
+  +files/libnfsidmap-0.19-getgrouplist.patch, libnfsidmap-0.19.ebuild:
+  Provide getgrouplist() when need be #169909 by Natanael Copa.
 
   31 Jan 2007; Tobias Scherbaum <dertobi123@gentoo.org>
   libnfsidmap-0.17.ebuild:
index 2111c1e16399aa15844d93c5eefeb935917a49d9..6c60cf5cc816e0930e3bb3c0719d75da9db39a2b 100644 (file)
@@ -1,21 +1,28 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX libnfsidmap-0.16-optional-ldap.patch 812 RMD160 1433013411100a5009a89a287a10f2ed8ef2d586 SHA1 dc575929b0673b99184bc8b5231f5bea51b0a5ca SHA256 52cc4c80b7a80b9d3e1eaa6f11e475df9b6cd6e6a1c0fd9e5a54eb7e08ca3783
 MD5 15251cf0840e56703cbe76cc7061bc83 files/libnfsidmap-0.16-optional-ldap.patch 812
 RMD160 1433013411100a5009a89a287a10f2ed8ef2d586 files/libnfsidmap-0.16-optional-ldap.patch 812
 SHA256 52cc4c80b7a80b9d3e1eaa6f11e475df9b6cd6e6a1c0fd9e5a54eb7e08ca3783 files/libnfsidmap-0.16-optional-ldap.patch 812
+AUX libnfsidmap-0.19-getgrouplist.patch 3408 RMD160 1757c16fc8f2358f4bb046495b9a48604a9dbf4c SHA1 394b34f80ba545120643da48e9fd7477bb5e09e4 SHA256 45589d101fb83cda293cbe8f76b6b39ae074a7e56729a9f7f513df3ff1c4927b
+MD5 6633a9a282901b0af4efebb062443a2e files/libnfsidmap-0.19-getgrouplist.patch 3408
+RMD160 1757c16fc8f2358f4bb046495b9a48604a9dbf4c files/libnfsidmap-0.19-getgrouplist.patch 3408
+SHA256 45589d101fb83cda293cbe8f76b6b39ae074a7e56729a9f7f513df3ff1c4927b files/libnfsidmap-0.19-getgrouplist.patch 3408
 DIST libnfsidmap-0.17.tar.gz 325467 RMD160 819a7485b05bfa7de911bd5e50e7cc1c9b10c359 SHA1 2e2f58caf753ad12f67536009bee968affe93831 SHA256 6b3b0ffcad93f1b80f66f69330c0a8d43a5c927f7505d8086e48c831cbf7fdea
 DIST libnfsidmap-0.19.tar.gz 326114 RMD160 4d6a3afe4218d50af61096b7e9fbaa25d42d580b SHA1 bc3a0c3f94f85a69171ef3c77ce7900e8989ae7b SHA256 d2cc721858922e8f13f2a39d7f390543e6e64ce8eeed7defed61ae59157b4cf2
 EBUILD libnfsidmap-0.17.ebuild 912 RMD160 19d8d8eb39716338b1385df5d883cca28c2c4f42 SHA1 70ffbf5c10a825528e42cb36b81717b97e93b31b SHA256 f1cf9be51251306983dc95e1e1fe448031aba35d6b396f2af99833429b9e88cc
 MD5 0223251a6811ad4d36e7df012a77da85 libnfsidmap-0.17.ebuild 912
 RMD160 19d8d8eb39716338b1385df5d883cca28c2c4f42 libnfsidmap-0.17.ebuild 912
 SHA256 f1cf9be51251306983dc95e1e1fe448031aba35d6b396f2af99833429b9e88cc libnfsidmap-0.17.ebuild 912
-EBUILD libnfsidmap-0.19.ebuild 771 RMD160 fdc6c56fe5435aa2b008b081fc508ba059717482 SHA1 6176406d4a031e13734941da0800c7e28ba96d18 SHA256 e23b7d94d964d1eef8bb8fe4c3308f9c298de009d97e2af401deac7423a60167
-MD5 310b46aba8d20c7f908bce2323fabd8c libnfsidmap-0.19.ebuild 771
-RMD160 fdc6c56fe5435aa2b008b081fc508ba059717482 libnfsidmap-0.19.ebuild 771
-SHA256 e23b7d94d964d1eef8bb8fe4c3308f9c298de009d97e2af401deac7423a60167 libnfsidmap-0.19.ebuild 771
-MISC ChangeLog 1982 RMD160 ae3888ac2b5d0052ba2a83d30b7f3453860e00e6 SHA1 2d69870f0ba56d2dc5b425728340d81784f7efb9 SHA256 9a636804e94ba917c07c346f733006d92ec2da376e14db8b081e262c719eb2ae
-MD5 47d1c32d26504e56f3a7f58df8b3bc67 ChangeLog 1982
-RMD160 ae3888ac2b5d0052ba2a83d30b7f3453860e00e6 ChangeLog 1982
-SHA256 9a636804e94ba917c07c346f733006d92ec2da376e14db8b081e262c719eb2ae ChangeLog 1982
+EBUILD libnfsidmap-0.19.ebuild 899 RMD160 050e9c0c977614af9436e3e186075e5f8cd73919 SHA1 831e4d2d2bae67901c470875abb62f892882d9ab SHA256 20a594e0bc18e617ba1df0f8e6c83afd3b36555df3eaaee870f0eb0662bdfc89
+MD5 601c9b10c3cfa342de7c78c67c0aac97 libnfsidmap-0.19.ebuild 899
+RMD160 050e9c0c977614af9436e3e186075e5f8cd73919 libnfsidmap-0.19.ebuild 899
+SHA256 20a594e0bc18e617ba1df0f8e6c83afd3b36555df3eaaee870f0eb0662bdfc89 libnfsidmap-0.19.ebuild 899
+MISC ChangeLog 2164 RMD160 e94c3027ab066b2da153c86b0068878fce7abe48 SHA1 60d87b7857d84d4087fcbc49e171f9efdef5e888 SHA256 423e2e1f202c8c8b8b66279b6eb670b2ddc6c14ff8d32351b93e826e94051888
+MD5 19d30ea0d70d73431a7df643e776fe2f ChangeLog 2164
+RMD160 e94c3027ab066b2da153c86b0068878fce7abe48 ChangeLog 2164
+SHA256 423e2e1f202c8c8b8b66279b6eb670b2ddc6c14ff8d32351b93e826e94051888 ChangeLog 2164
 MISC metadata.xml 159 RMD160 8e0977b9abd90afe9e1d5c1326823a5726f6e2a4 SHA1 33f35324ce730e28838be228d9ee4e4dd1bab1e5 SHA256 562c59615c028ffa088de789b3a792fd4cbbbfe71628ddd6a55d3b176becbc6b
 MD5 a3dd8511b8874ce1b494dce2472c709c metadata.xml 159
 RMD160 8e0977b9abd90afe9e1d5c1326823a5726f6e2a4 metadata.xml 159
@@ -26,3 +33,10 @@ SHA256 8ca7b3fe187bfbc224242d51be297f8df11f8853b90dd552e3bc19b5e5334fdf files/di
 MD5 dd0f4277cf5620e6f86952f923b6b2b6 files/digest-libnfsidmap-0.19 250
 RMD160 c3034bcddace6790023cabf64aa0f0c75f528fcd files/digest-libnfsidmap-0.19 250
 SHA256 ee409940ebb8d2f5b7a02892efbbfc5e694c294f46cfa1f96f022f7fb5262c31 files/digest-libnfsidmap-0.19 250
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.3 (GNU/Linux)
+
+iD8DBQFGBiQb8bi6rjpTunYRAlJ0AJ9HOfDPP2G0AEuV6uebe6V99zLKyACeIwbM
+iswXTKU3ebgnlPiqyb5ceno=
+=lDxT
+-----END PGP SIGNATURE-----
diff --git a/net-libs/libnfsidmap/files/libnfsidmap-0.19-getgrouplist.patch b/net-libs/libnfsidmap/files/libnfsidmap-0.19-getgrouplist.patch
new file mode 100644 (file)
index 0000000..c8cfeb9
--- /dev/null
@@ -0,0 +1,112 @@
+http://bugs.gentoo.org/169909
+
+--- libnfsidmap-0.19/configure.in
++++ libnfsidmap-0.19/configure.in
+@@ -38,7 +38,7 @@
+ # Checks for library functions.
+ AC_FUNC_MALLOC
+-AC_CHECK_FUNCS([strchr strdup])
++AC_CHECK_FUNCS([strchr strdup getgrouplist])
+ AC_CONFIG_FILES([Makefile])
+ AC_OUTPUT(libnfsidmap.pc)
+--- libnfsidmap-0.19/nss.c
++++ libnfsidmap-0.19/nss.c
+@@ -49,6 +49,8 @@
+ #include "cfg.h"
+ #include <syslog.h>
++#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 <sys/types.h>
++#include <grp.h>
++#include <string.h>
++#include <unistd.h>
++
++#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
index 9b405e26b542e55362f0b54490f6513b1f7c2076..7933890eaceb580e7fe9f3687ebdc71917894d9b 100644 (file)
@@ -1,6 +1,8 @@
 # Copyright 1999-2007 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/libnfsidmap/libnfsidmap-0.19.ebuild,v 1.1 2007/01/21 00:13:40 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/libnfsidmap/libnfsidmap-0.19.ebuild,v 1.2 2007/03/25 07:25:44 vapier Exp $
+
+inherit autotools
 
 DESCRIPTION="NFSv4 ID <-> name mapping library"
 HOMEPAGE="http://www.citi.umich.edu/projects/nfsv4/linux/"
@@ -15,6 +17,13 @@ DEPEND="ldap? ( net-nds/openldap )"
 RDEPEND="${DEPEND}
        !net-fs/idmapd"
 
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+       epatch "${FILESDIR}"/${P}-getgrouplist.patch #169909
+       eautoreconf
+}
+
 src_compile() {
        econf $(use_enable ldap) || die
        emake || die