diff options
author | Mike Frysinger <vapier@gentoo.org> | 2008-05-04 09:53:34 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2008-05-04 09:53:34 +0000 |
commit | 78e81e7a426fc352c3deadd06c07c432a1ee7122 (patch) | |
tree | 1ced182274efdd6a4f0bd4305d84a89e4b3baddc /net-fs | |
parent | alpha/sparc stable wrt #217819 (diff) | |
download | gentoo-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/ChangeLog | 13 | ||||
-rw-r--r-- | net-fs/nfs-utils/files/nfs-utils-1.1.2-mount-eacces.patch | 28 | ||||
-rwxr-xr-x | net-fs/nfs-utils/files/nfs.initd | 4 | ||||
-rwxr-xr-x | net-fs/nfs-utils/files/nfsmount.initd | 4 | ||||
-rwxr-xr-x | net-fs/nfs-utils/files/rpc.gssd.initd | 23 | ||||
-rwxr-xr-x | net-fs/nfs-utils/files/rpc.idmapd.initd | 23 | ||||
-rwxr-xr-x | net-fs/nfs-utils/files/rpc.svcgssd.initd | 23 | ||||
-rw-r--r-- | net-fs/nfs-utils/nfs-utils-1.1.2-r1.ebuild | 116 |
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 +} |