summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2010-04-20 09:33:40 +0000
committerMike Frysinger <vapier@gentoo.org>2010-04-20 09:33:40 +0000
commit95cc493a75ddc8c490656d5b8967c37ecf47880c (patch)
tree2eda09f755c6a59e4534e2f8561f19a193804ad9 /net-fs/nfs-utils
parentstable x86, bug 314025 (diff)
downloadhistorical-95cc493a75ddc8c490656d5b8967c37ecf47880c.tar.gz
historical-95cc493a75ddc8c490656d5b8967c37ecf47880c.tar.bz2
historical-95cc493a75ddc8c490656d5b8967c37ecf47880c.zip
Make libcap support optional via USE=caps #314777.
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'net-fs/nfs-utils')
-rw-r--r--net-fs/nfs-utils/ChangeLog8
-rw-r--r--net-fs/nfs-utils/Manifest10
-rw-r--r--net-fs/nfs-utils/files/nfs-utils-1.2.2-optional-libcap.patch79
-rw-r--r--net-fs/nfs-utils/nfs-utils-1.2.2-r1.ebuild113
4 files changed, 205 insertions, 5 deletions
diff --git a/net-fs/nfs-utils/ChangeLog b/net-fs/nfs-utils/ChangeLog
index ace8311d3698..4ee670c45643 100644
--- a/net-fs/nfs-utils/ChangeLog
+++ b/net-fs/nfs-utils/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-fs/nfs-utils
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/ChangeLog,v 1.166 2010/04/20 08:24:36 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/ChangeLog,v 1.167 2010/04/20 09:33:39 vapier Exp $
+
+*nfs-utils-1.2.2-r1 (20 Apr 2010)
+
+ 20 Apr 2010; Mike Frysinger <vapier@gentoo.org>
+ +nfs-utils-1.2.2-r1.ebuild, +files/nfs-utils-1.2.2-optional-libcap.patch:
+ Make libcap support optional via USE=caps #314777.
20 Apr 2010; Mike Frysinger <vapier@gentoo.org> nfs-utils-1.2.2.ebuild:
Disable tests since they require no rpc.statd to be running on the system
diff --git a/net-fs/nfs-utils/Manifest b/net-fs/nfs-utils/Manifest
index f393124b6f4d..84de94049d6f 100644
--- a/net-fs/nfs-utils/Manifest
+++ b/net-fs/nfs-utils/Manifest
@@ -6,6 +6,7 @@ AUX nfs-utils-1.1.4-ascii-man.patch 571 RMD160 614759d4a361db8ab6ee8c8ee87fc8a93
AUX nfs-utils-1.1.4-mtab-sym.patch 1020 RMD160 72c6ebb9d02ec544b5b2d7ad3ad0c8035d248eb1 SHA1 50db1976ac25607faf8f003573f9d8529e5b4de6 SHA256 0232799d085151649a1eb1f31644105de7e5cfba888794354005499a0db277c3
AUX nfs-utils-1.1.4-no-exec.patch 297 RMD160 59e6f4bf2c782c0c107cd135589c4abcba1a5978 SHA1 aa7239b22cf73abb1790bb9a88407cea8fd56779 SHA256 f66af9d046a3524ae8920f8e4b5d0fa206de31d4e7747bfc716a10ac86537b0f
AUX nfs-utils-1.1.4-rpcgen-ioctl.patch 414 RMD160 f07264e24f374d6a65dbc8c2b1dfed3755099ddc SHA1 c7df5e9b309b389a1b0d85e539771af43d3e8d98 SHA256 78ae8ba33a600e6eb1153521eeb0ec5c3c5c503bd20074b1687703b3f83be678
+AUX nfs-utils-1.2.2-optional-libcap.patch 2213 RMD160 7182147365404bc6f4caa676018bfc45b90570ad SHA1 99f09ff9b5590346ef367ee9683bc94272eac2ce SHA256 75135cc2c90aacc7adb43c6ced308099ac5b2d9c8cfcc74d395ead4dc583a75a
AUX nfs.confd 777 RMD160 8c830ee0c1a57e4b2fe35419976b9063080492de SHA1 22e6bf3d6e350b71bed4b827796a36fb964d1455 SHA256 ca1f72dca9934f7bbdd281dde8b1e91c0efad5abf3935dba54cd6ec07e7af315
AUX nfs.initd 4188 RMD160 37edc15c8ed779a772c1f88c264d3630f61d3eed SHA1 374d2400aa9b24d1397ddb6a95ddb377bc0548cf SHA256 b485797f4ec6f7b89f5c88a2166f069c5030f3ba8ba078180097eb23666f8bfd
AUX nfsmount.initd 1084 RMD160 7da20dd19d9d6fe8734691eb3219e6bd011737eb SHA1 521a3e95158c76800c396fbe54ef558e01520177 SHA256 f2f5b54fef59f24a1fc6a8b814dfe2cfdeeb02fd0d5041cff31650e626fe4b75
@@ -26,13 +27,14 @@ EBUILD nfs-utils-1.1.6-r1.ebuild 3212 RMD160 128bea36284b28408aa6e10dfcc1b330615
EBUILD nfs-utils-1.1.6.ebuild 3098 RMD160 dcb65f053cb7c92a63c33e872917427ea717ab40 SHA1 d7c748021e99d05838d0fde58d7eda0e53f9b7e8 SHA256 06a80947bd22ada4949f735f71891ec9e7e0a0a1310ecd059d9a27ad7c1a2bbd
EBUILD nfs-utils-1.2.0.ebuild 3194 RMD160 bcf7cc92eeb36828a3f62ef597f6f2bf20e3717d SHA1 66c69826465b73de114dc1fe7e1a9fcdafd78805 SHA256 ea1b2347de041280faa7dd8e008a2486d7b28e6b83f0b410f20afb009e906f64
EBUILD nfs-utils-1.2.1.ebuild 3120 RMD160 c97608ea950bb115875d1c2058112b67e500159c SHA1 06e6b0203540520ce4aed99da5f2dd5575491d40 SHA256 5342652c52e345a17ef3d000a4a78aa0513edf863dad7adaa665975194d9771c
+EBUILD nfs-utils-1.2.2-r1.ebuild 3346 RMD160 c6f4dc23d816a0c966df57e08cf0a1001cea51e5 SHA1 07eebbf26b9d0296ca56af6b2fecc12900422b4d SHA256 58df06b57219dbe21863155bd9b805b622fd211d215a56dcf3601d0d41381367
EBUILD nfs-utils-1.2.2.ebuild 3201 RMD160 8dead4d00e38a676667f176d3e61148199e0d5e8 SHA1 93855e3564868800843f14eaee7b6cc793b20882 SHA256 810c904553808a660347f338561a391c5050a2fe88c9cab502bd61db7a8eced4
-MISC ChangeLog 26301 RMD160 0d732f81685f116729c09e1aa4e4f629ffd642d2 SHA1 62d5963c91ffe3f835e548b48731389b400e98fb SHA256 f087be78d82bb769e1132ecd181acc70cec7a6f5a4f85586e6b6e5853ae1f58f
+MISC ChangeLog 26516 RMD160 66c850903b642838aaf13f8c046107c3bca2dc88 SHA1 8761b755ad6e755a2eda19916fe2352068e43285 SHA256 bf5a998922d932f8ae14c6ab7e3dd5cffc0bb0a33c17946015cd2c5f28600ac2
MISC metadata.xml 402 RMD160 10e39caa098663bde1b609727598aefc319eb5c2 SHA1 9180287973e77c950e172f055e19e5f94f446621 SHA256 cf9b23e458d8e57e6b3ec4639d2c486032b3313952da2c92166bc5f40409e3f6
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (GNU/Linux)
-iF4EAREIAAYFAkvNZNMACgkQTwhj9JtAlp663gD/a0QLSjsBj2sXcymVm9qF8YCD
-6mYnHnKi4zL69NyqzmAA/0BNMXRCedfGPMhfrqbrakep2UFU5w5/BTQ5YKIy0Mbu
-=Vjuv
+iF4EAREIAAYFAkvNdQQACgkQTwhj9JtAlp4MRwD9EJFGgpkPvuYXRyH0DjAxjB1L
+pvwWkcXE3qxxSTa95bUA/RUAe7+iU/oWswhFVAFOzm2wLa32z1mQjmZq3VNVWb9u
+=1Trx
-----END PGP SIGNATURE-----
diff --git a/net-fs/nfs-utils/files/nfs-utils-1.2.2-optional-libcap.patch b/net-fs/nfs-utils/files/nfs-utils-1.2.2-optional-libcap.patch
new file mode 100644
index 000000000000..eb8ce44d595c
--- /dev/null
+++ b/net-fs/nfs-utils/files/nfs-utils-1.2.2-optional-libcap.patch
@@ -0,0 +1,79 @@
+From 655f6933b5db66c560098d039e3c91812399beca Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Tue, 20 Apr 2010 04:45:35 -0400
+Subject: [PATCH] make capabilities support optional
+
+The new code using libcap is quite minor, so rather than always reqiure
+libcap support, make it a normal --enable type flag. Current default
+behavior is retained -- if libcap is found, it is enabled, else it is
+disabled like every nfs-utils version in the past.
+
+URL: https://bugs.gentoo.org/314777
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ aclocal/libcap.m4 | 18 +++++++++++++-----
+ support/nsm/file.c | 4 ++++
+ 2 files changed, 17 insertions(+), 5 deletions(-)
+
+diff --git a/aclocal/libcap.m4 b/aclocal/libcap.m4
+index eabe507..68a624c 100644
+--- a/aclocal/libcap.m4
++++ b/aclocal/libcap.m4
+@@ -5,11 +5,19 @@ AC_DEFUN([AC_LIBCAP], [
+ dnl look for prctl
+ AC_CHECK_FUNC([prctl], , )
+
+- dnl look for the library; do not add to LIBS if found
+- AC_CHECK_LIB([cap], [cap_get_proc], [LIBCAP=-lcap], ,)
+- AC_SUBST(LIBCAP)
++ AC_ARG_ENABLE([caps],
++ [AS_HELP_STRING([--disable-caps], [Disable capabilities support])])
++
++ LIBCAP=
++
++ if test "x$enable_caps" != "xno" ; then
++ dnl look for the library; do not add to LIBS if found
++ AC_CHECK_LIB([cap], [cap_get_proc], [LIBCAP=-lcap], ,)
+
+- AC_CHECK_HEADERS([sys/capability.h], ,
+- [AC_MSG_ERROR([libcap headers not found.])])
++ AC_CHECK_HEADERS([sys/capability.h], ,
++ [test "x$enable_caps" = "xyes" && AC_MSG_ERROR([libcap headers not found.])])
++ fi
++
++ AC_SUBST(LIBCAP)
+
+ ])dnl
+diff --git a/support/nsm/file.c b/support/nsm/file.c
+index d469219..f4baeb9 100644
+--- a/support/nsm/file.c
++++ b/support/nsm/file.c
+@@ -67,7 +67,9 @@
+ #endif
+
+ #include <sys/types.h>
++#ifdef HAVE_SYS_CAPABILITY_H
+ #include <sys/capability.h>
++#endif
+ #include <sys/prctl.h>
+ #include <sys/stat.h>
+
+@@ -347,6 +349,7 @@ nsm_is_default_parentdir(void)
+ static _Bool
+ nsm_clear_capabilities(void)
+ {
++#ifdef HAVE_SYS_CAPABILITY_H
+ cap_t caps;
+
+ caps = cap_from_text("cap_net_bind_service=ep");
+@@ -362,6 +365,7 @@ nsm_clear_capabilities(void)
+ }
+
+ (void)cap_free(caps);
++#endif
+ return true;
+ }
+
+--
+1.7.0.2
+
diff --git a/net-fs/nfs-utils/nfs-utils-1.2.2-r1.ebuild b/net-fs/nfs-utils/nfs-utils-1.2.2-r1.ebuild
new file mode 100644
index 000000000000..47d83e24c338
--- /dev/null
+++ b/net-fs/nfs-utils/nfs-utils-1.2.2-r1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/nfs-utils-1.2.2-r1.ebuild,v 1.1 2010/04/20 09:33:39 vapier Exp $
+
+EAPI="2"
+
+inherit eutils flag-o-matic multilib autotools
+
+DESCRIPTION="NFS client and server daemons"
+HOMEPAGE="http://linux-nfs.org/"
+SRC_URI="mirror://sourceforge/nfs/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="caps ipv6 kerberos +nfsv3 +nfsv4 tcpd elibc_glibc"
+RESTRICT="tests" #315573
+
+# kth-krb doesn't provide the right include
+# files, and nfs-utils doesn't build against heimdal either,
+# so don't depend on virtual/krb.
+# (04 Feb 2005 agriffis)
+DEPEND_COMMON="tcpd? ( sys-apps/tcp-wrappers )
+ caps? ( sys-libs/libcap )
+ sys-libs/e2fsprogs-libs
+ net-nds/rpcbind
+ net-libs/libtirpc
+ nfsv4? (
+ >=dev-libs/libevent-1.0b
+ >=net-libs/libnfsidmap-0.21-r1
+ kerberos? (
+ net-libs/librpcsecgss
+ net-libs/libgssglue
+ net-libs/libtirpc[kerberos]
+ app-crypt/mit-krb5
+ )
+ )"
+RDEPEND="${DEPEND_COMMON} !net-nds/portmap"
+# util-linux dep is to prevent man-page collision
+DEPEND="${DEPEND_COMMON}
+ >=sys-apps/util-linux-2.12r-r7"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.1.4-mtab-sym.patch
+ epatch "${FILESDIR}"/${PN}-1.1.4-no-exec.patch
+ epatch "${FILESDIR}"/${PN}-1.2.2-optional-libcap.patch #314777
+ chmod a+x tests/t0001-statd-basic-mon-unmon.sh || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-statedir=/var/lib/nfs \
+ --enable-tirpc \
+ $(use_with tcpd tcp-wrappers) \
+ $(use_enable nfsv3) \
+ $(use_enable nfsv4) \
+ $(use_enable ipv6) \
+ $(use_enable caps) \
+ $(use nfsv4 && use_enable kerberos gss || echo "--disable-gss")
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ # Don't overwrite existing xtab/etab, install the original
+ # versions somewhere safe... more info in pkg_postinst
+ dodir /usr/lib/nfs
+ keepdir /var/lib/nfs/{sm,sm.bak}
+ mv "${D}"/var/lib/nfs/* "${D}"/usr/lib/nfs
+ keepdir /var/lib/nfs
+
+ # Install some client-side binaries in /sbin
+ dodir /sbin
+ mv "${D}"/usr/sbin/rpc.statd "${D}"/sbin/ || die
+
+ dodoc ChangeLog README
+ docinto linux-nfs ; dodoc linux-nfs/*
+
+ insinto /etc
+ doins "${FILESDIR}"/exports
+
+ local f list="" opt_need=""
+ if use nfsv4 ; then
+ opt_need="rpc.idmapd"
+ list="${list} rpc.idmapd rpc.pipefs"
+ use kerberos && list="${list} rpc.gssd rpc.svcgssd"
+ fi
+ for f in nfs nfsmount rpc.statd ${list} ; do
+ newinitd "${FILESDIR}"/${f}.initd ${f} || die "doinitd ${f}"
+ done
+ newconfd "${FILESDIR}"/nfs.confd nfs
+ dosed "/^NFS_NEEDED_SERVICES=/s:=.*:=\"${opt_need}\":" /etc/conf.d/nfs #234132
+
+ # uClibc doesn't provide rpcgen like glibc, so lets steal it from nfs-utils
+ if ! use elibc_glibc ; then
+ dobin tools/rpcgen/rpcgen || die "rpcgen"
+ newdoc tools/rpcgen/README README.rpcgen
+ fi
+}
+
+pkg_postinst() {
+ # Install default xtab and friends if there's none existing.
+ # In src_install we put them in /usr/lib/nfs for safe-keeping, but
+ # the daemons actually use the files in /var/lib/nfs. This fixes
+ # bug 30486
+ local f
+ for f in "${ROOT}"/usr/$(get_libdir)/nfs/*; do
+ [[ -e ${ROOT}/var/lib/nfs/${f##*/} ]] && continue
+ einfo "Copying default ${f##*/} from /usr/$(get_libdir)/nfs to /var/lib/nfs"
+ cp -pPR "${f}" "${ROOT}"/var/lib/nfs/
+ done
+}