diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2018-03-21 09:15:28 +0100 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2018-03-21 09:15:28 +0100 |
commit | 43f2e7c459fc2ff7c3bc41728898c48532203005 (patch) | |
tree | 886e1bbf154ebfae633af42da46d753c13aa1f26 /net-libs/libnfsidmap | |
parent | dev-libs/nss: Fixed build with clang. (diff) | |
download | gentoo-43f2e7c459fc2ff7c3bc41728898c48532203005.tar.gz gentoo-43f2e7c459fc2ff7c3bc41728898c48532203005.tar.bz2 gentoo-43f2e7c459fc2ff7c3bc41728898c48532203005.zip |
net-libs/libnfsidmap: Bump to version 0.27
Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'net-libs/libnfsidmap')
-rw-r--r-- | net-libs/libnfsidmap/Manifest | 1 | ||||
-rw-r--r-- | net-libs/libnfsidmap/files/libnfsidmap-0.27-getgrouplist.patch | 115 | ||||
-rw-r--r-- | net-libs/libnfsidmap/libnfsidmap-0.27.ebuild | 57 |
3 files changed, 173 insertions, 0 deletions
diff --git a/net-libs/libnfsidmap/Manifest b/net-libs/libnfsidmap/Manifest index f8bd1fdf50c4..5ebc397e5438 100644 --- a/net-libs/libnfsidmap/Manifest +++ b/net-libs/libnfsidmap/Manifest @@ -1,2 +1,3 @@ DIST libnfsidmap-0.24.tar.gz 328720 BLAKE2B 4b33a589b9d4b47530d2044a0912481dfda770de86f7aa90e80771f2df4b555857535a7f162a485b68c9b1d48be563d246e128fa3ca1e3c79d9bf0af69b8401d SHA512 1283a4af1bcf3c6f941ab294acc0b2b4bd9ca947f2d3c2e866717478ba2e7a2190a5467b71d7e9136c5c83de564c4892f9e3304323ae17e3988af2e40c43982b DIST libnfsidmap-0.25.tar.gz 346587 BLAKE2B dbf31779371ba29737ed7a5901cf46f17e4a1b2ac444c2959d3ae76f41815e9a15a2ee892e417c5b7f97cf5f8396024071430fed028a8cd583aeed1a95e350df SHA512 8acf30790cdd19341c75cb8a4f7ee4dbc9f688c8514258046e55c8f4245df213709ccb7d5327a11b146b0e3b7266d3d4da018699c6be47fbedcc4cd384b54557 +DIST libnfsidmap-0.27.tar.bz2 303900 BLAKE2B c6cb8d81042426552fd3cde9dfd26f805d3c92281a65c3ca2d12671477eb697f3cd51a6d8313a658eb70232136e5615e0cb9ad090a92e747e245f49e60cfcf8a SHA512 0698079abb4bb9ebeaccbcabca725b022c1daaa3d287944d9c4c2a2134489b649b44fcbcd9916e91dd6d91cdc67d267adf5741c5404150c66cc8243b9f15970d diff --git a/net-libs/libnfsidmap/files/libnfsidmap-0.27-getgrouplist.patch b/net-libs/libnfsidmap/files/libnfsidmap-0.27-getgrouplist.patch new file mode 100644 index 000000000000..9a8f0a487ae3 --- /dev/null +++ b/net-libs/libnfsidmap/files/libnfsidmap-0.27-getgrouplist.patch @@ -0,0 +1,115 @@ +http://bugs.gentoo.org/169909 + +--- libnfsidmap-0.27/configure.ac ++++ libnfsidmap-0.27/configure.ac +@@ -63,7 +63,7 @@ + + # Checks for library functions. + AC_FUNC_MALLOC +-AC_CHECK_FUNCS([strchr strdup]) ++AC_CHECK_FUNCS([strchr strdup getgrouplist]) + + AC_CONFIG_FILES([Makefile]) + AC_CONFIG_FILES([libnfsidmap.pc]) +--- libnfsidmap-0.27/getgrouplist.c ++++ libnfsidmap-0.27/getgrouplist.c +@@ -0,0 +1,88 @@ ++/* ++ * 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. ++ */ ++ ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++#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 +--- libnfsidmap-0.27/nss.c ++++ libnfsidmap-0.27/nss.c +@@ -51,6 +51,8 @@ + #include "cfg.h" + #include <syslog.h> + ++#include "getgrouplist.c" ++ + /* + * NSS Translation Methods + * diff --git a/net-libs/libnfsidmap/libnfsidmap-0.27.ebuild b/net-libs/libnfsidmap/libnfsidmap-0.27.ebuild new file mode 100644 index 000000000000..1cfe1e970017 --- /dev/null +++ b/net-libs/libnfsidmap/libnfsidmap-0.27.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools multilib + +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" +SRC_URI="https://fedorapeople.org/~steved/${PN}/${PV}/${P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="ldap static-libs" + +DEPEND="ldap? ( net-nds/openldap )" +RDEPEND=" + ${DEPEND} + !<net-fs/nfs-utils-1.2.2 + !net-fs/idmapd +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.27-getgrouplist.patch #169909 + "${FILESDIR}"/${PN}-0.21-headers.patch +) + +src_prepare() { + default + # Ideally the build would use -DLIBDIR=$(libdir) at build time. + sed -i \ + -e "/PATH_PLUGINS/s:/usr/lib/libnfsidmap:${EPREFIX}/usr/$(get_libdir)/libnfsidmap:" \ + libnfsidmap.c || die #504666 + eautoreconf +} + +src_configure() { + local myeconfargs=( + --disable-dependency-tracking + $(use_enable static-libs static) + $(use_enable ldap) + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + + insinto /etc + doins idmapd.conf + + # remove useless files + rm -f "${ED%/}"/usr/$(get_libdir)/libnfsidmap/*.{a,la} + use static-libs || find "${ED%/}"/usr -name '*.la' -delete || die +} |