diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-01-31 22:20:24 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-01-31 22:20:24 +0000 |
commit | bc64d35b6a1cc209d9051da0dca70614ac9fb1fd (patch) | |
tree | 32dbfaa94e897a16dd551a5d7ce1725650dd2801 /net-fs/nfs-utils | |
parent | Initial commit. Ebuild by me. (diff) | |
download | gentoo-2-bc64d35b6a1cc209d9051da0dca70614ac9fb1fd.tar.gz gentoo-2-bc64d35b6a1cc209d9051da0dca70614ac9fb1fd.tar.bz2 gentoo-2-bc64d35b6a1cc209d9051da0dca70614ac9fb1fd.zip |
Add some fixes from Debian and push out init.d fixes.
(Portage version: 2.2_rc23/cvs/Linux x86_64)
Diffstat (limited to 'net-fs/nfs-utils')
-rw-r--r-- | net-fs/nfs-utils/ChangeLog | 10 | ||||
-rw-r--r-- | net-fs/nfs-utils/files/nfs-utils-1.1.4-ascii-man.patch | 16 | ||||
-rw-r--r-- | net-fs/nfs-utils/files/nfs-utils-1.1.4-mtab-sym.patch | 39 | ||||
-rw-r--r-- | net-fs/nfs-utils/files/nfs-utils-1.1.4-no-exec.patch | 15 | ||||
-rw-r--r-- | net-fs/nfs-utils/nfs-utils-1.1.4-r1.ebuild | 114 |
5 files changed, 193 insertions, 1 deletions
diff --git a/net-fs/nfs-utils/ChangeLog b/net-fs/nfs-utils/ChangeLog index 3c4f0bc7e058..daf62ace470c 100644 --- a/net-fs/nfs-utils/ChangeLog +++ b/net-fs/nfs-utils/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for net-fs/nfs-utils # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/ChangeLog,v 1.144 2009/01/31 22:19:05 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-fs/nfs-utils/ChangeLog,v 1.145 2009/01/31 22:20:24 vapier Exp $ + +*nfs-utils-1.1.4-r1 (31 Jan 2009) + + 31 Jan 2009; Mike Frysinger <vapier@gentoo.org> + +files/nfs-utils-1.1.4-ascii-man.patch, + +files/nfs-utils-1.1.4-mtab-sym.patch, + +files/nfs-utils-1.1.4-no-exec.patch, +nfs-utils-1.1.4-r1.ebuild: + Add some fixes from Debian and push out init.d fixes. 31 Jan 2009; Mike Frysinger <vapier@gentoo.org> files/nfs.initd: Also use rpc.nfsd to try to shutdown nfsd #228127 by Maurice Volaski. diff --git a/net-fs/nfs-utils/files/nfs-utils-1.1.4-ascii-man.patch b/net-fs/nfs-utils/files/nfs-utils-1.1.4-ascii-man.patch new file mode 100644 index 000000000000..83ed4aa42661 --- /dev/null +++ b/net-fs/nfs-utils/files/nfs-utils-1.1.4-ascii-man.patch @@ -0,0 +1,16 @@ +ripped from Debian + +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493659 +patch by nbreen@ofb.net (Nicholas Breen) + +--- nfs-utils-1.1.3/utils/mount/nfs.man ++++ nfs-utils-1.1.3/utils/mount/nfs.man +@@ -799,7 +799,7 @@ + and server load. + .P + However, UDP can be quite effective in specialized settings where +-the network’s MTU is large relative to NFS’s data transfer size (such ++the network's MTU is large relative to NFS's data transfer size (such + as network environments that enable jumbo Ethernet frames). In such + environments, trimming the + .B rsize diff --git a/net-fs/nfs-utils/files/nfs-utils-1.1.4-mtab-sym.patch b/net-fs/nfs-utils/files/nfs-utils-1.1.4-mtab-sym.patch new file mode 100644 index 000000000000..c9e60afc74d2 --- /dev/null +++ b/net-fs/nfs-utils/files/nfs-utils-1.1.4-mtab-sym.patch @@ -0,0 +1,39 @@ +ripped from Debian + +--- nfs-utils-1.1.4/utils/mount/fstab.c ++++ nfs-utils-1.1.4/utils/mount/fstab.c +@@ -57,7 +57,7 @@ mtab_does_not_exist(void) { + return var_mtab_does_not_exist; + } + +-static int ++int + mtab_is_a_symlink(void) { + get_mtab_info(); + return var_mtab_is_a_symlink; +--- nfs-utils-1.1.4/utils/mount/fstab.h ++++ nfs-utils-1.1.4/utils/mount/fstab.h +@@ -7,6 +7,7 @@ + #define _PATH_FSTAB "/etc/fstab" + #endif + ++int mtab_is_a_symlink(void); + int mtab_is_writable(void); + int mtab_does_not_exist(void); + void reset_mtab_info(void); +--- nfs-utils-1.1.4/utils/mount/mount.c ++++ nfs-utils-1.1.4/utils/mount/mount.c +@@ -230,6 +230,13 @@ create_mtab (void) { + int flags; + mntFILE *mfp; + ++ /* Avoid writing if the mtab is a symlink to /proc/mounts, since ++ that would create a file /proc/mounts in case the proc filesystem ++ is not mounted, and the fchmod below would also fail. */ ++ if (mtab_is_a_symlink()) { ++ return EX_SUCCESS; ++ } ++ + lock_mtab(); + + mfp = nfs_setmntent (MOUNTED, "a+"); diff --git a/net-fs/nfs-utils/files/nfs-utils-1.1.4-no-exec.patch b/net-fs/nfs-utils/files/nfs-utils-1.1.4-no-exec.patch new file mode 100644 index 000000000000..ea50a21d85dc --- /dev/null +++ b/net-fs/nfs-utils/files/nfs-utils-1.1.4-no-exec.patch @@ -0,0 +1,15 @@ +ripped from Debian + +--- nfs-utils-1.1.2/utils/mount/mount.c ++++ nfs-utils-1.1.2/utils/mount/mount.c +@@ -381,10 +381,6 @@ + mount_error(NULL, mount_point, ENOTDIR); + return 1; + } +- if (access(mount_point, X_OK) < 0) { +- mount_error(NULL, mount_point, errno); +- return 1; +- } + + return 0; + } diff --git a/net-fs/nfs-utils/nfs-utils-1.1.4-r1.ebuild b/net-fs/nfs-utils/nfs-utils-1.1.4-r1.ebuild new file mode 100644 index 000000000000..8da65189feac --- /dev/null +++ b/net-fs/nfs-utils/nfs-utils-1.1.4-r1.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2009 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.4-r1.ebuild,v 1.1 2009/01/31 22:20:24 vapier Exp $ + +inherit eutils flag-o-matic multilib + +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="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 ) + sys-libs/e2fsprogs-libs + >=net-nds/portmap-5b-r6 + !nonfsv4? ( + >=dev-libs/libevent-1.0b + >=net-libs/libnfsidmap-0.21-r1 + 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}"/${PN}-1.1.2-rpcgen-ioctl.patch + epatch "${FILESDIR}"/${PN}-1.1.4-ascii-man.patch + epatch "${FILESDIR}"/${PN}-1.1.4-mtab-sym.patch + epatch "${FILESDIR}"/${PN}-1.1.4-no-exec.patch +} + +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 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 + + # 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 +} |