summaryrefslogtreecommitdiff
path: root/net-fs
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-05-04 09:53:34 +0000
committerMike Frysinger <vapier@gentoo.org>2008-05-04 09:53:34 +0000
commit78e81e7a426fc352c3deadd06c07c432a1ee7122 (patch)
tree1ced182274efdd6a4f0bd4305d84a89e4b3baddc /net-fs
parentalpha/sparc stable wrt #217819 (diff)
downloadgentoo-2-78e81e7a426fc352c3deadd06c07c432a1ee7122.tar.gz
gentoo-2-78e81e7a426fc352c3deadd06c07c432a1ee7122.tar.bz2
gentoo-2-78e81e7a426fc352c3deadd06c07c432a1ee7122.zip
Dont bother checking for config anymore #219495 by Davide Pesavento. Load sunrpc module if rpc_pipefs is not available #219566 by Martin von Gagern. Add change from Fedora to exit immediately upon perm denied errors when mounting #219729 by Stefaan De Roeck.
(Portage version: 2.2_pre5)
Diffstat (limited to 'net-fs')
-rw-r--r--net-fs/nfs-utils/ChangeLog13
-rw-r--r--net-fs/nfs-utils/files/nfs-utils-1.1.2-mount-eacces.patch28
-rwxr-xr-xnet-fs/nfs-utils/files/nfs.initd4
-rwxr-xr-xnet-fs/nfs-utils/files/nfsmount.initd4
-rwxr-xr-xnet-fs/nfs-utils/files/rpc.gssd.initd23
-rwxr-xr-xnet-fs/nfs-utils/files/rpc.idmapd.initd23
-rwxr-xr-xnet-fs/nfs-utils/files/rpc.svcgssd.initd23
-rw-r--r--net-fs/nfs-utils/nfs-utils-1.1.2-r1.ebuild116
8 files changed, 202 insertions, 32 deletions
diff --git a/net-fs/nfs-utils/ChangeLog b/net-fs/nfs-utils/ChangeLog
index be41781cd29b..5e1ba6da6956 100644
--- a/net-fs/nfs-utils/ChangeLog
+++ b/net-fs/nfs-utils/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for net-fs/nfs-utils
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/ChangeLog,v 1.127 2008/04/21 18:17:25 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/ChangeLog,v 1.128 2008/05/04 09:53:33 vapier Exp $
+
+*nfs-utils-1.1.2-r1 (04 May 2008)
+
+ 04 May 2008; Mike Frysinger <vapier@gentoo.org>
+ +files/nfs-utils-1.1.2-mount-eacces.patch, files/nfs.initd,
+ files/nfsmount.initd, files/rpc.gssd.initd, files/rpc.idmapd.initd,
+ files/rpc.svcgssd.initd, +nfs-utils-1.1.2-r1.ebuild:
+ Dont bother checking for config anymore #219495 by Davide Pesavento. Load
+ sunrpc module if rpc_pipefs is not available #219566 by Martin von Gagern.
+ Add change from Fedora to exit immediately upon perm denied errors when
+ mounting #219729 by Stefaan De Roeck.
21 Apr 2008; Mike Frysinger <vapier@gentoo.org> files/nfsmount.initd:
Use non-common awk exit values so that the default exit values dont trigger
diff --git a/net-fs/nfs-utils/files/nfs-utils-1.1.2-mount-eacces.patch b/net-fs/nfs-utils/files/nfs-utils-1.1.2-mount-eacces.patch
new file mode 100644
index 000000000000..5f2a358cd12a
--- /dev/null
+++ b/net-fs/nfs-utils/files/nfs-utils-1.1.2-mount-eacces.patch
@@ -0,0 +1,28 @@
+http://bugs.gentoo.org/219729
+
+commit 697e28939b7d0a3e0ffe3b6bd516213a55f5a063
+Author: Jeff Layton <jlaton@redhat.com>
+Date: Mon Apr 14 09:03:13 2008 -0400
+
+ Change how mount.nfs handles EACCES errors. Currently,
+ EACCES is a non-fatal error which means the mount will be
+ retied. This caused mounts to hang for 2mins when the client
+ does not have permission to access the export. In a strict
+ interpretation, the error that should be returned is EPERM, but
+ this is not always the case. So due to the fuzzy interpretation,
+ of EPERM and EACCES, EACCESS is now a fatal error
+
+ Signed-off-by: Steve Dickson <steved@redhat.com>
+
+diff --git a/utils/mount/stropts.c b/utils/mount/stropts.c
+index cadb1f4..cdd610e 100644
+--- a/utils/mount/stropts.c
++++ b/utils/mount/stropts.c
+@@ -252,7 +252,6 @@ static int set_mandatory_options(const char *type,
+ static int is_permanent_error(int error)
+ {
+ switch (error) {
+- case EACCES:
+ case ESTALE:
+ case ETIMEDOUT:
+ case ECONNREFUSED:
diff --git a/net-fs/nfs-utils/files/nfs.initd b/net-fs/nfs-utils/files/nfs.initd
index 26d5476fc906..e56e001d2f29 100755
--- a/net-fs/nfs-utils/files/nfs.initd
+++ b/net-fs/nfs-utils/files/nfs.initd
@@ -1,7 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/files/nfs.initd,v 1.12 2008/04/20 00:52:24 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/files/nfs.initd,v 1.13 2008/05/04 09:53:34 vapier Exp $
opts="reload"
@@ -22,7 +22,7 @@ depend() {
myneed="${myneed} rpc.svcgssd"
fi
fi
- type -t config 2>/dev/null 1>&2 && config /etc/exports
+ config /etc/fstab
need portmap rpc.statd ${myneed}
use ypbind net dns rpc.rquotad rpc.idmapd rpc.svcgssd
after quota
diff --git a/net-fs/nfs-utils/files/nfsmount.initd b/net-fs/nfs-utils/files/nfsmount.initd
index 5249baee32db..7a9e10fa53d8 100755
--- a/net-fs/nfs-utils/files/nfsmount.initd
+++ b/net-fs/nfs-utils/files/nfsmount.initd
@@ -1,7 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/files/nfsmount.initd,v 1.11 2008/04/22 07:43:16 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/files/nfsmount.initd,v 1.12 2008/05/04 09:53:34 vapier Exp $
[ -e /etc/conf.d/nfs ] && . /etc/conf.d/nfs
@@ -13,7 +13,7 @@ depend() {
[ ${ret} -eq 10 ] && myneed="${myneed} rpc.gssd"
[ ${ret} -eq 20 ] && myneed="${myneed} rpc.idmapd"
fi
- type -t config 2>/dev/null 1>&2 && config /etc/fstab
+ config /etc/fstab
need net portmap rpc.statd ${myneed}
use ypbind dns rpc.idmapd rpc.gssd
}
diff --git a/net-fs/nfs-utils/files/rpc.gssd.initd b/net-fs/nfs-utils/files/rpc.gssd.initd
index ad1a6b8f00aa..10dd37edfd6c 100755
--- a/net-fs/nfs-utils/files/rpc.gssd.initd
+++ b/net-fs/nfs-utils/files/rpc.gssd.initd
@@ -1,7 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/files/rpc.gssd.initd,v 1.8 2008/04/21 07:56:15 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/files/rpc.gssd.initd,v 1.9 2008/05/04 09:53:34 vapier Exp $
[ -e /etc/conf.d/nfs ] && . /etc/conf.d/nfs
@@ -12,14 +12,19 @@ depend() {
}
mount_pipefs() {
- if grep -qs rpc_pipefs /proc/filesystems ; then
- if ! grep -qs "rpc_pipefs /var/lib/nfs/rpc_pipefs" /proc/mounts ; then
- mkdir -p /var/lib/nfs/rpc_pipefs
- ebegin "Mounting RPC pipefs"
- mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
- eend $?
- fi
- fi
+ # if things are already mounted, let's just return
+ grep -qs "rpc_pipefs /var/lib/nfs/rpc_pipefs" /proc/mounts && return 0
+
+ # if rpc_pipefs is not available, try to load sunrpc for it #219566
+ grep -qs rpc_pipefs /proc/filesystems || modprobe -q sunrpc
+ # if still not available, let's bail
+ grep -qs rpc_pipefs /proc/filesystems || return 1
+
+ # now just do it for kicks
+ mkdir -p /var/lib/nfs/rpc_pipefs
+ ebegin "Mounting RPC pipefs"
+ mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
+ eend $?
}
start() {
diff --git a/net-fs/nfs-utils/files/rpc.idmapd.initd b/net-fs/nfs-utils/files/rpc.idmapd.initd
index 3aac637b3850..aeaf976b98c1 100755
--- a/net-fs/nfs-utils/files/rpc.idmapd.initd
+++ b/net-fs/nfs-utils/files/rpc.idmapd.initd
@@ -1,7 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/files/rpc.idmapd.initd,v 1.5 2008/02/04 22:23:24 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/files/rpc.idmapd.initd,v 1.6 2008/05/04 09:53:34 vapier Exp $
[ -e /etc/conf.d/nfs ] && . /etc/conf.d/nfs
@@ -19,14 +19,19 @@ depend() {
}
mount_pipefs() {
- if grep -qs rpc_pipefs /proc/filesystems ; then
- if ! grep -qs "rpc_pipefs /var/lib/nfs/rpc_pipefs" /proc/mounts ; then
- mkdir -p /var/lib/nfs/rpc_pipefs
- ebegin "Mounting RPC pipefs"
- mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
- eend $?
- fi
- fi
+ # if things are already mounted, let's just return
+ grep -qs "rpc_pipefs /var/lib/nfs/rpc_pipefs" /proc/mounts && return 0
+
+ # if rpc_pipefs is not available, try to load sunrpc for it #219566
+ grep -qs rpc_pipefs /proc/filesystems || modprobe -q sunrpc
+ # if still not available, let's bail
+ grep -qs rpc_pipefs /proc/filesystems || return 1
+
+ # now just do it for kicks
+ mkdir -p /var/lib/nfs/rpc_pipefs
+ ebegin "Mounting RPC pipefs"
+ mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
+ eend $?
}
start() {
diff --git a/net-fs/nfs-utils/files/rpc.svcgssd.initd b/net-fs/nfs-utils/files/rpc.svcgssd.initd
index f1bfb40e37ed..2d13e57b55a3 100755
--- a/net-fs/nfs-utils/files/rpc.svcgssd.initd
+++ b/net-fs/nfs-utils/files/rpc.svcgssd.initd
@@ -1,7 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/files/rpc.svcgssd.initd,v 1.2 2008/04/21 07:56:15 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/files/rpc.svcgssd.initd,v 1.3 2008/05/04 09:53:34 vapier Exp $
[ -e /etc/conf.d/nfs ] && . /etc/conf.d/nfs
@@ -12,14 +12,19 @@ depend() {
}
mount_pipefs() {
- if grep -qs rpc_pipefs /proc/filesystems ; then
- if ! grep -qs "rpc_pipefs /var/lib/nfs/rpc_pipefs" /proc/mounts ; then
- mkdir -p /var/lib/nfs/rpc_pipefs
- ebegin "Mounting RPC pipefs"
- mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
- eend $?
- fi
- fi
+ # if things are already mounted, let's just return
+ grep -qs "rpc_pipefs /var/lib/nfs/rpc_pipefs" /proc/mounts && return 0
+
+ # if rpc_pipefs is not available, try to load sunrpc for it #219566
+ grep -qs rpc_pipefs /proc/filesystems || modprobe -q sunrpc
+ # if still not available, let's bail
+ grep -qs rpc_pipefs /proc/filesystems || return 1
+
+ # now just do it for kicks
+ mkdir -p /var/lib/nfs/rpc_pipefs
+ ebegin "Mounting RPC pipefs"
+ mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
+ eend $?
}
start() {
diff --git a/net-fs/nfs-utils/nfs-utils-1.1.2-r1.ebuild b/net-fs/nfs-utils/nfs-utils-1.1.2-r1.ebuild
new file mode 100644
index 000000000000..86816f0b2df8
--- /dev/null
+++ b/net-fs/nfs-utils/nfs-utils-1.1.2-r1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2008 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.1.2-r1.ebuild,v 1.1 2008/05/04 09:53:33 vapier Exp $
+
+inherit eutils flag-o-matic multilib
+
+DESCRIPTION="NFS client and server daemons"
+HOMEPAGE="http://nfs.sourceforge.net/"
+SRC_URI="mirror://sourceforge/nfs/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="nonfsv4 tcpd kerberos"
+
+# 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)
+RDEPEND="tcpd? ( sys-apps/tcp-wrappers )
+ >=net-nds/portmap-5b-r6
+ !nonfsv4? (
+ >=dev-libs/libevent-1.0b
+ >=net-libs/libnfsidmap-0.16
+ kerberos? (
+ net-libs/librpcsecgss
+ net-libs/libgssglue
+ app-crypt/mit-krb5
+ )
+ )"
+# util-linux dep is to prevent man-page collision
+DEPEND="${RDEPEND}
+ >=sys-apps/util-linux-2.12r-r7"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-rpcgen-ioctl.patch
+ epatch "${FILESDIR}"/${P}-mount-eacces.patch #219729
+}
+
+src_compile() {
+ local myconf
+ if use nonfsv4; then
+ myconf="--disable-gss"
+ else
+ myconf="$(use_enable kerberos gss)"
+ fi
+
+ econf \
+ --mandir=/usr/share/man \
+ --with-statedir=/var/lib/nfs \
+ --disable-rquotad \
+ --enable-nfsv3 \
+ --enable-secure-statd \
+ $(use_with tcpd tcp-wrappers) \
+ $(use_enable !nonfsv4 nfsv4) \
+ ${myconf} \
+ || die "Configure failed"
+ emake || die "Failed to compile"
+}
+
+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=""
+ if use !nonfsv4 ; then
+ list="${list} rpc.idmapd"
+ 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
+ use !nonfsv4 && doins utils/idmapd/idmapd.conf
+
+ # 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_preinst() {
+ [[ -s ${ROOT}/etc/exports ]] && rm -f "${D}"/etc/exports
+}
+
+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
+}