summaryrefslogtreecommitdiffstats
path: root/abs/core/nfs-utils
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/nfs-utils')
-rw-r--r--abs/core/nfs-utils/PKGBUILD86
-rw-r--r--abs/core/nfs-utils/blkmapd.service2
-rw-r--r--abs/core/nfs-utils/id_resolver.conf1
-rw-r--r--abs/core/nfs-utils/nfs-common315
-rw-r--r--abs/core/nfs-utils/nfs-server299
-rw-r--r--abs/core/nfs-utils/nfs-utils.install6
-rw-r--r--abs/core/nfs-utils/nfsd.service8
-rw-r--r--abs/core/nfs-utils/proc-fs-nfsd.mount2
-rw-r--r--abs/core/nfs-utils/rpc-gssd.service3
-rw-r--r--abs/core/nfs-utils/rpc-idmapd.service3
-rw-r--r--abs/core/nfs-utils/rpc-mountd.service2
-rw-r--r--abs/core/nfs-utils/rpc-statd.service3
-rw-r--r--abs/core/nfs-utils/rpc-svcgssd.service2
-rw-r--r--abs/core/nfs-utils/start-statd.patch22
14 files changed, 69 insertions, 685 deletions
diff --git a/abs/core/nfs-utils/PKGBUILD b/abs/core/nfs-utils/PKGBUILD
index a6ac7ff..b94b840 100644
--- a/abs/core/nfs-utils/PKGBUILD
+++ b/abs/core/nfs-utils/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 160027 2012-05-28 10:26:22Z tpowa $
+# $Id: PKGBUILD 200306 2013-11-25 08:16:32Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
# Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org>
@@ -6,7 +6,7 @@
# Contributor: Marco Lima <cipparello gmail com>
pkgname=nfs-utils
-pkgver=1.2.6
+pkgver=1.2.9
pkgrel=1
pkgdesc="Support programs for Network File Systems"
arch=('i686' 'x86_64')
@@ -14,15 +14,12 @@ url='http://nfs.sourceforge.net'
license=('GPL')
backup=(etc/{exports,idmapd.conf,nfsmount.conf} etc/conf.d/{nfs-common.conf,nfs-server.conf})
depends=('glibc' 'e2fsprogs' 'rpcbind' 'libtirpc>=0.2.1' 'librpcsecgss>=0.19-2' 'nfsidmap' 'libevent>=2.0.10' 'libgssglue' 'device-mapper')
-makedepends=('pkgconfig' 'autoconf' 'automake')
+makedepends=('pkgconfig' 'autoconf' 'automake' 'sqlite')
source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2
- nfs-common
nfs-common.conf
- nfs-server
nfs-server.conf
exports
idmapd.conf
- start-statd.patch
nfs
nfs-utils-1.1.4-mtab-sym.patch
nfs-utils-1.1.4-no-exec.patch
@@ -35,57 +32,43 @@ source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgn
var-lib-nfs-rpc_pipefs.mount
proc-fs-nfsd.mount
blkmapd.service
- nfs-utils.conf)
+ nfs-utils.conf
+ id_resolver.conf
+ start-statd.patch)
install=nfs-utils.install
-md5sums=('8be543ca270c2234ff18f8c8d35e0d37'
- 'dd0d65fc6e8f422fa12520813098264b'
- 'f73f197a16b02c3e248488ec35c4cf43'
- 'e619f18354ff958ed624d05d08853d8f'
- '9cef69bc686cc5dcac23fbb51450747d'
- 'ff585faf410a62c4333a027c50b56bae'
- 'eb4f4027fab6fc1201f1ca04f5954c76'
- 'e9144277a89a620d9bc80413158a7d27'
- 'f5e7bba09a46c5c5d7007cac6eff9df5'
- '7674106eaaa4c149bccd4f05fe3604e9'
- '4f4827dfc93008dfadd0a530ad0872b2'
- '38855936dc55a5afe37d84edc0f11066'
- '965311784d49a7d126d512cadbe91deb'
- 'e05705d9ccccaeaeb1ecaee20adc05bc'
- 'd7df7bc311fd95c5b80017dd1741570d'
- '2e72ee082cba5d3ec6f51d2a105664da'
- '5d33d2e754fd37280365b287603bac90'
- '1cd65909fa0983047f3f06a3ab352401'
- '02a34835aa077146a90eb7d191e612d0'
- '8ffc2ebe932d29efe17d6f3f23d5b975'
- '8ac484023d786766d287ccbe878ae4ba')
+optdepends=('sqlite: for nfsdcltrack usage')
-build() {
+
+prepare() {
cd $srcdir/${pkgname}-${pkgver}
patch -Np1 -i ../nfs-utils-1.1.4-mtab-sym.patch
+ # fix /usr/bin in start-statd shell script
+ patch -Np1 -i ../start-statd.patch
#patch -Np1 -i ../nfs-utils-1.1.4-no-exec.patch
- # arch specific patch
- patch -Np0 -i $srcdir/start-statd.patch
+}
- ./configure --prefix=/usr --enable-nfsv4 --enable-nfsv41 --enable-gss \
+build() {
+ cd $srcdir/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --sbindir=/usr/bin --enable-nfsv4 --enable-nfsv41 --enable-gss \
--without-tcp-wrappers --with-statedir=/var/lib/nfs \
--enable-ipv6 --sysconfdir=/etc --enable-libmount-mount \
- --enable-mountconfig
-
+ --with-gssglue \
+ --enable-mountconfig --with-start-statd=/usr/bin/start-statd
+ # move mount helpers to /usr/bin
+ sed -i -e 's#sbindir = /sbin#sbindir = /usr/bin#g' utils/mount/Makefile
+ # move osd_login to /usr/bin
+ sed -i -e 's#sbindir = /sbin#sbindir = /usr/bin#g' utils/osd_login/Makefile
make
}
package() {
cd $srcdir/${pkgname}-${pkgver}
# fix make install
- mkdir -p $pkgdir/sbin
make DESTDIR=$pkgdir install
# support python2 (FS#25120)
- sed -i '1s/python$/python2/' "$pkgdir"/usr/sbin/{nfsiostat,mountstats}
+ sed -i '1s/python$/python2/' "$pkgdir"/usr/bin/{nfsiostat,mountstats}
- # NFS & NFSv4 init scripts
- install -D -m 755 ../nfs-common "$pkgdir/"etc/rc.d/nfs-common
- install -D -m 755 ../nfs-server "$pkgdir/"etc/rc.d/nfs-server
# Configuration
install -D -m 644 ../exports "$pkgdir/"etc/exports
install -D -m 644 ../idmapd.conf "$pkgdir/"etc/idmapd.conf
@@ -93,6 +76,8 @@ package() {
install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf
install -D -m 644 ../nfs "$pkgdir/"etc/conf.d/nfs
install -D -m 644 utils/mount/nfsmount.conf "$pkgdir/"etc/nfsmount.conf
+ # keyutils id_resolver #35463
+ install -D -m 644 ../id_resolver.conf "$pkgdir/"etc/request-key.d/id_resolver.conf
# systemd files
for i in ${srcdir}/*.{service,mount}; do
install -D -m 644 $i "$pkgdir/usr/lib/systemd/system/${i##*/}"
@@ -100,6 +85,27 @@ package() {
install -D -m 644 ../nfs-utils.conf "$pkgdir/"usr/lib/modules-load.d/nfs-utils.conf
# directories
mkdir "$pkgdir/"etc/exports.d
- mkdir "$pkgdir/"var/lib/nfs/rpc_pipefs
+ mkdir -m 555 "$pkgdir/"var/lib/nfs/rpc_pipefs
mkdir "$pkgdir/"var/lib/nfs/v4recovery
}
+
+md5sums=('18869d16db3f49c053f8c68eba3fe2e0'
+ 'f73f197a16b02c3e248488ec35c4cf43'
+ '9cef69bc686cc5dcac23fbb51450747d'
+ 'ff585faf410a62c4333a027c50b56bae'
+ 'eb4f4027fab6fc1201f1ca04f5954c76'
+ 'f5e7bba09a46c5c5d7007cac6eff9df5'
+ '7674106eaaa4c149bccd4f05fe3604e9'
+ '4f4827dfc93008dfadd0a530ad0872b2'
+ '6aeb4a80b2a5162f5951438474ea22f3'
+ 'ff95ad9275ef774e0a2ea8adfe55ee66'
+ '2e991f0e440b4809e22b6c7689544fc0'
+ '42d0088add3beab0284be1379391382b'
+ '60d82e2d2d19d21ceb72665e54bf913e'
+ '3bcc9901478f4f9ea0a03b67171c13e3'
+ '1cd65909fa0983047f3f06a3ab352401'
+ '8f1b5282795895c9b8ce8430d20cdda6'
+ '8f03e708b230619ffc2a799a48bffb53'
+ '8ac484023d786766d287ccbe878ae4ba'
+ 'bed57f7c3911af695ec7b469248c104a'
+ 'f8bb29c2ca1ce178e6371091a3e1090d')
diff --git a/abs/core/nfs-utils/blkmapd.service b/abs/core/nfs-utils/blkmapd.service
index 16cb68b..fa7ce39 100644
--- a/abs/core/nfs-utils/blkmapd.service
+++ b/abs/core/nfs-utils/blkmapd.service
@@ -5,7 +5,7 @@ Requires=var-lib-nfs-rpc_pipefs.mount
[Service]
Type=forking
-ExecStart=/usr/sbin/blkmapd
+ExecStart=/usr/bin/blkmapd
[Install]
WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/id_resolver.conf b/abs/core/nfs-utils/id_resolver.conf
new file mode 100644
index 0000000..9c0fee3
--- /dev/null
+++ b/abs/core/nfs-utils/id_resolver.conf
@@ -0,0 +1 @@
+create id_resolver * * /usr/bin/nfsidmap %k %d \ No newline at end of file
diff --git a/abs/core/nfs-utils/nfs-common b/abs/core/nfs-utils/nfs-common
deleted file mode 100644
index 7b16b4b..0000000
--- a/abs/core/nfs-utils/nfs-common
+++ /dev/null
@@ -1,315 +0,0 @@
-#!/bin/bash
-
-daemon_name=nfs-common
-
-NEED_STATD=
-STATD_OPTS=
-NEED_IDMAPD=
-IDMAPD_OPTS=
-NEED_GSSD=
-GSSD_OPTS=
-PIPEFS_MOUNTPOINT=
-PIPEFS_MOUNTOPTS=
-
-# rpc.statd daemon & binary location
-STATD_DAEMON_NAME=rpc.statd
-STATD="/usr/sbin/rpc.statd"
-
-# rpc.idmapd daemon & binary location
-IDMAPD_DAEMON_NAME=rpc.idmapd
-IDMAPD="/usr/sbin/rpc.idmapd"
-
-# rpc.gssd daemon & binary location
-GSSD_DAEMON_NAME=rpc.gssd
-GSSD="/usr/sbin/rpc.gssd"
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/$daemon_name.conf
-
-# Default mountpoint and options for rpc_pipefs filesystem
-[ -z "$PIPEFS_MOUNTPOINT" ] && PIPEFS_MOUNTPOINT="/var/lib/nfs/rpc_pipefs"
-[ -z "$PIPEFS_MOUNTOPTS" ] && PIPEFS_MOUNTOPTS="defaults"
-
-# Parse the fstab file, and determine whether we need idmapd and gssd. (The
-# /etc/conf.d/nfs-common settings, if any, will override our autodetection.)
-AUTO_NEED_IDMAPD=no
-AUTO_NEED_GSSD=no
-
-if [ -f /etc/fstab ]; then
- exec 9<&0 </etc/fstab
-
- while read DEV MTPT FSTYPE OPTS REST; do
- if [ "$FSTYPE" = "nfs4" ]; then
- AUTO_NEED_IDMAPD=yes
- fi
- case "$OPTS" in
- sec=krb5|*,sec=krb5|sec=krb5,*|*,sec=krb5i,*|sec=krb5i|*,sec=krb5i|sec=krb5i,*|*,sec=krb5i,*|sec=krb5p|*,sec=krb5p|sec=krb5p,*|*,sec=krb5p,*)
- AUTO_NEED_GSSD=yes
- ;;
- esac
- done
-
- exec 0<&9 9<&-
-fi
-
-# We also need idmapd if we run an NFSv4 server. It's fairly difficult
-# to autodetect whether there are NFSv4 exports or not, and idmapd is not a
-# particularily heavy daemon, so we auto-enable it if we find an /etc/exports
-# file. This does not mean that there are NFSv4 or other mounts active (or
-# even that nfs-kernel-server is installed), but it matches what the "start"
-# condition in nfs-kernel-server's init script does, which has a value in
-# itself.
-if [ -f /etc/exports ] && grep -q '^[[:space:]]*[^#]*/' /etc/exports; then
- AUTO_NEED_IDMAPD=yes
-fi
-
-case "$NEED_STATD" in
- yes|no)
- ;;
- *)
- NEED_STATD=yes
- ;;
-esac
-
-case "$NEED_IDMAPD" in
- yes|no)
- ;;
- *)
- NEED_IDMAPD=$AUTO_NEED_IDMAPD
- ;;
-esac
-
-case "$NEED_GSSD" in
- yes|no)
- ;;
- *)
- NEED_GSSD=$AUTO_NEED_GSSD
- ;;
-esac
-
-do_modprobe() {
- if [ -x /sbin/modprobe -a -f /proc/modules ]; then
- modprobe -q "$1" || true
- fi
-}
-
-do_mount() {
- if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
- return 1
- fi
-
- if grep -vw "$1" /proc/mounts &> /dev/null ; then
- if ! mountpoint -q "$2" ; then
- mount -t "$1" "$1" "$2" -o "$3"
- return
- fi
- fi
- return 0
-}
-
-do_umount() {
- if mountpoint -q "$1" ; then
- umount "$1"
- fi
- return 0
-}
-
-get_pid() {
- pidof -o %PPID "$1"
-}
-
-case "$1" in
- start)
- ck_daemon rpcbind && { echo -n "Start rpcbind first." >&2; stat_die; }
- rc=0
- if [ "$NEED_STATD" = yes ]; then
- stat_busy "Starting $STATD_DAEMON_NAME daemon"
- PID=$(get_pid $STATD)
- if [ -z "$PID" ]; then
- [ -f /var/run/$STATD_DAEMON_NAME.pid ] && rm -f /var/run/$STATD_DAEMON_NAME.pid
- # RUN
- $STATD $STATD_OPTS
- #
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- echo $(get_pid $STATD) > /var/run/$STATD_DAEMON_NAME.pid
- stat_done
- fi
- else
- stat_fail
- exit 1
- fi
- # Run sm-notify
- /usr/sbin/sm-notify $SMNOTIFY_OPTS
- fi
-
- if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
- stat_busy "Mounting pipefs filesystem"
- do_modprobe sunrpc
- do_modprobe nfs
- do_modprobe nfsd
- do_mount rpc_pipefs "$PIPEFS_MOUNTPOINT" "$PIPEFS_MOUNTOPTS"
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- stat_done
- fi
-
- if [ "$NEED_IDMAPD" = yes ]; then
- stat_busy "Starting $IDMAPD_DAEMON_NAME daemon"
- PID=$(get_pid $IDMAPD)
- if [ -z "$PID" ]; then
- [ -f /var/run/$IDMAPD_DAEMON_NAME.pid ] && rm -f /var/run/$IDMAPD_DAEMON_NAME.pid
- # RUN
- $IDMAPD $IDMAPD_OPTS
- #
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- echo $(get_pid $IDMAPD) > /var/run/$IDMAPD_DAEMON_NAME.pid
- stat_done
- fi
- else
- stat_fail
- exit 1
- fi
- fi
-
- if [ "$NEED_GSSD" = yes ]; then
- do_modprobe rpcsec_gss_krb5
- stat_busy "Starting $GSSD_DAEMON_NAME daemon"
- PID=$(get_pid $GSSD)
- if [ -z "$PID" ]; then
- [ -f /var/run/$GSSD_DAEMON_NAME.pid ] && rm -f /var/run/$GSSD_DAEMON_NAME.pid
- # RUN
- $GSSD $GSSD_OPTS
- #
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- echo $(get_pid $GSSD) > /var/run/$GSSD_DAEMON_NAME.pid
- stat_done
- fi
- else
- stat_fail
- exit 1
- fi
- fi
- fi
-
- add_daemon $daemon_name
- ;;
-
- stop)
- rc=0
- if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
-
- if [ "$NEED_GSSD" = yes ]; then
- stat_busy "Stopping $GSSD_DAEMON_NAME daemon"
- PID=$(get_pid $GSSD)
- # KILL
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- #
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- rm -f /var/run/$GSSD_DAEMON_NAME.pid &> /dev/null
- stat_done
- fi
- fi
-
- if [ "$NEED_IDMAPD" = yes ]; then
- stat_busy "Stopping $IDMAPD_DAEMON_NAME daemon"
- PID=$(get_pid $IDMAPD)
- # KILL
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- #
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- rm -f /var/run/$IDMAPD_DAEMON_NAME.pid &> /dev/null
- stat_done
- fi
- fi
- do_umount "$PIPEFS_MOUNTPOINT" 2>/dev/null || true
- fi
-
- if [ "$NEED_STATD" = yes ]; then
- stat_busy "Stopping $STATD_DAEMON_NAME daemon"
- PID=$(get_pid $STATD)
- # KILL
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- #
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- rm -f /var/run/$STATD_DAEMON_NAME.pid &> /dev/null
- stat_done
- fi
- fi
-
- rm_daemon $daemon_name
- ;;
-
- status)
- stat_busy "Checking $daemon_name status";
- ck_status $daemon_name
-
- if [ "$NEED_STATD" = yes ]; then
- stat_busy "Daemon $STATD_DAEMON_NAME running"
- PID=$(get_pid $STATD)
- if [ -z "$PID" ]; then
- stat_fail
- else
- stat_done
- fi
- fi
-
- if [ "$NEED_GSSD" = yes ]; then
- stat_busy "Daemon $GSSD_DAEMON_NAME running"
- PID=$(get_pid $GSSD)
- if [ -z "$PID" ]; then
- stat_fail
- else
- stat_done
- fi
- fi
-
- if [ "$NEED_IDMAPD" = yes ]; then
- stat_busy "Daemon $IDMAPD_DAEMON_NAME running"
- PID=$(get_pid $IDMAPD)
- if [ -z "$PID" ]; then
- stat_fail
- else
- stat_done
- fi
- fi
- echo
- ;;
-
- restart)
- $0 stop
- sleep 3
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|status|restart}"
-esac
-exit 0
-
diff --git a/abs/core/nfs-utils/nfs-server b/abs/core/nfs-utils/nfs-server
deleted file mode 100644
index 6aa609d..0000000
--- a/abs/core/nfs-utils/nfs-server
+++ /dev/null
@@ -1,299 +0,0 @@
-#!/bin/bash
-
-daemon_name=nfs-server
-
-NFSD_COUNT=
-NFSD_OPTS=
-NEED_SVCGSSD=
-SVCGSSD_OPTS=
-MOUNTD_OPTS=
-PROCNFSD_MOUNTPOINT=
-PROCNFSD_MOUNTOPTS=
-
-# rpc.nfsd daemon & binary location
-NFSD_PROCESS_NAME=nfsd
-NFSD_DAEMON_NAME=rpc.nfsd
-NFSD="/usr/sbin/rpc.nfsd"
-
-# rpc.svcgssd daemon & binary location
-SVCGSSD_DAEMON_NAME=rpc.svcgssd
-SVCGSSD="/usr/sbin/rpc.svcgssd"
-
-# rpc.idmapd daemon & binary location
-IDMAPD_DAEMON_NAME=rpc.idmapd
-IDMAPD="/usr/sbin/rpc.idmapd"
-
-# rpc.mountd daemon & binary location
-MOUNTD_DAEMON_NAME=rpc.mountd
-MOUNTD="/usr/sbin/rpc.mountd"
-
-# exortfs binary location
-EXPORTFS="/usr/sbin/exportfs"
-
-. /etc/rc.conf
-. /etc/rc.d/functions
-. /etc/conf.d/$daemon_name.conf
-
-# Default number of nfsd servers
-[ -z "$NFSD_COUNT" ] && NFSD_COUNT=8
-
-# Default mountpoint and options for nfsd filesystem
-[ -z "$PROCNFSD_MOUNTPOINT" ] && PROCNFSD_MOUNTPOINT="/proc/fs/nfsd"
-[ -z "$PROCNFSD_MOUNTOPTS" ] && PROCNFSD_MOUNTOPTS="rw,nodev,noexec,nosuid"
-
-case "$NEED_SVCGSSD" in
- yes|no)
- ;;
- *)
- NEED_SVCGSSD=no
- ;;
-esac
-
-do_modprobe() {
- if [ -x /sbin/modprobe -a -f /proc/modules ]; then
- modprobe -q "$1" || true
- fi
-}
-
-do_mount() {
- if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
- return 1
- fi
-
- if grep -vw "$1" /proc/mounts &> /dev/null ; then
- if ! mountpoint -q "$2" ; then
- mount -t "$1" "$1" "$2" -o "$3"
- return
- fi
- fi
- return 0
-}
-
-do_umount() {
- if mountpoint -q "$1" ; then
- umount "$1"
- fi
- return 0
-}
-
-get_pid() {
- pidof -o %PPID "$1"
-}
-
-case "$1" in
- start)
- ck_daemon nfs-common && { echo -n "Start nfs-common first." >&2; stat_die; }
- rc=0
- stat_busy "Mounting nfsd filesystem"
- do_modprobe nfsd
- do_mount nfsd "$PROCNFSD_MOUNTPOINT" "$PROCNFSD_MOUNTOPTS"
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- stat_done
- fi
-
- stat_busy "Exporting all directories"
- $EXPORTFS -r
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- stat_done
- fi
-
- stat_busy "Starting $NFSD_DAEMON_NAME daemon"
- PID=$(get_pid $NFSD_PROCESS_NAME)
- if [ -z "$PID" ]; then
- [ -f /var/run/$NFSD_DAEMON_NAME.pid ] && rm -f /var/run/$NFSD_DAEMON_NAME.pid
- # RUN
- $NFSD $NFSD_OPTS $NFSD_COUNT
- #
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- echo $(get_pid $NFSD_PROCESS_NAME) > /var/run/$NFSD_DAEMON_NAME.pid
- stat_done
- fi
- else
- stat_fail
- exit 1
- fi
-
- if [ "$NEED_SVCGSSD" = yes ]; then
- do_modprobe rpcsec_gss_krb5
- stat_busy "Starting $SVCGSSD_DAEMON_NAME daemon"
- PID=$(get_pid $SVCGSSD)
- if [ -z "$PID" ]; then
- [ -f /var/run/$SVCGSSD_DAEMON_NAME.pid ] && rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid
- # RUN
- $SVCGSSD $SVCGSSD_OPTS
- #
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- echo $(get_pid $SVCGSSD) > /var/run/$SVCGSSD_DAEMON_NAME.pid
- stat_done
- fi
- else
- stat_fail
- exit 1
- fi
- fi
-
- PID=$(get_pid $IDMAPD)
- [ ! -z "$PID" ] && kill -SIGHUP $IDMAPD_DAEMON_NAME &> /dev/null
-
- stat_busy "Starting $MOUNTD_DAEMON_NAME daemon"
- PID=$(get_pid $MOUNTD)
- if [ -z "$PID" ]; then
- [ -f /var/run/$MOUNTD_DAEMON_NAME.pid ] && rm -f /var/run/$MOUNTD_DAEMON_NAME.pid
- # RUN
- $MOUNTD $MOUNTD_OPTS
- #
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- echo $(get_pid $MOUNTD) > /var/run/$MOUNTD_DAEMON_NAME.pid
- stat_done
- fi
- else
- stat_fail
- exit 1
- fi
-
- add_daemon $daemon_name
- ;;
-
- stop)
- rc=0
- stat_busy "Stopping $MOUNTD_DAEMON_NAME daemon"
- PID=$(get_pid $MOUNTD)
- # KILL
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- #
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- rm -f /var/run/$MOUNTD_DAEMON_NAME.pid &> /dev/null
- stat_done
- fi
-
- if [ "$NEED_SVCGSSD" = yes ]; then
- stat_busy "Stopping $SVCGSSD_DAEMON_NAME daemon"
- PID=$(get_pid $SVCGSSD)
- # KILL
- [ ! -z "$PID" ] && kill $PID &> /dev/null
- #
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid &> /dev/null
- stat_done
- fi
- fi
-
- stat_busy "Stopping $NFSD_DAEMON_NAME daemon"
- PID=$(get_pid $NFSD_PROCESS_NAME)
- # KILL (SIGINT)
- [ ! -z "$PID" ] && kill -2 $PID &> /dev/null
- #
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- sleep 1
- PID=$(get_pid $NFSD_PROCESS_NAME)
- # KILL (KILL) - just to be sure
- [ ! -z "$PID" ] && kill -9 $PID &> /dev/null
- #
- rm -f /var/run/$NFSD_DAEMON_NAME.pid &> /dev/null
- stat_done
- fi
-
- stat_busy "Unexporting all directories"
- $EXPORTFS -au
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- stat_done
- fi
-
- # flush everything out of the kernels export table
- if mountpoint -q "$PROCNFSD_MOUNTPOINT" ; then
- $EXPORTFS -f
- fi
- do_umount "$PROCNFSD_MOUNTPOINT" 2>/dev/null || true
- rm_daemon $daemon_name
- ;;
-
- status)
- stat_busy "Checking $daemon_name status";
- ck_status $daemon_name
-
- stat_busy "Daemon $NFSD_DAEMON_NAME running"
- PID=$(get_pid $NFSD_PROCESS_NAME)
- if [ -z "$PID" ]; then
- stat_fail
- else
- stat_done
- fi
-
- stat_busy "Daemon $MOUNTD_DAEMON_NAME running"
- PID=$(get_pid $MOUNTD)
- if [ -z "$PID" ]; then
- stat_fail
- else
- stat_done
- fi
-
- if [ "$NEED_SVCGSSD" = yes ]; then
- stat_busy "Daemon $SVCGSSD_DAEMON_NAME running"
- PID=$(get_pid $SVCGSSD)
- if [ -z "$PID" ]; then
- stat_fail
- else
- stat_done
- fi
- fi
- echo
- ;;
-
- reload)
- rc=0
- stat_busy "Re-exporting all directories"
- $EXPORTFS -r
- rc=$(($rc+$?))
- if [ $rc -gt 0 ]; then
- stat_fail
- exit $rc
- else
- stat_done
- fi
- ;;
-
- restart)
- $0 stop
- sleep 3
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|status|reload|restart}"
-esac
-exit 0
diff --git a/abs/core/nfs-utils/nfs-utils.install b/abs/core/nfs-utils/nfs-utils.install
index 7dcdf95..f6c72d9 100644
--- a/abs/core/nfs-utils/nfs-utils.install
+++ b/abs/core/nfs-utils/nfs-utils.install
@@ -5,9 +5,9 @@ cat << 'EOM'
==> Extended configuration options for NFS (clients & server) are available in
==> /etc/conf.d/nfs-common.conf and in /etc/conf.d/nfs-server.conf
==>
- ==> Please refer to http://wiki.archlinux.org/index.php/Nfs
- ==> for further information on NFS; for NFSv4, refer to
- ==> http://wiki.archlinux.org/index.php/NFSv4
+ ==> Please refer to http://wiki.archlinux.org/index.php/NFS
+ ==> for further information on NFS4; for NFSv3, refer to
+ ==> http://wiki.archlinux.org/index.php/NFSv3
EOM
}
diff --git a/abs/core/nfs-utils/nfsd.service b/abs/core/nfs-utils/nfsd.service
index e5481c3..d63e490 100644
--- a/abs/core/nfs-utils/nfsd.service
+++ b/abs/core/nfs-utils/nfsd.service
@@ -6,10 +6,10 @@ Requires=rpcbind.service
[Service]
Type=oneshot
EnvironmentFile=/etc/conf.d/nfs-server.conf
-ExecStart=/usr/sbin/rpc.nfsd $NFSD_OPTS $NFSD_COUNT
-ExecStartPost=/usr/sbin/exportfs -a
-ExecStop=/usr/sbin/rpc.nfsd 0
-ExecStopPost=/usr/sbin/exportfs -a -u
+ExecStart=/usr/bin/rpc.nfsd $NFSD_OPTS $NFSD_COUNT
+ExecStartPost=/usr/bin/exportfs -a
+ExecStop=/usr/bin/rpc.nfsd 0
+ExecStopPost=/usr/bin/exportfs -a -u
RemainAfterExit=yes
[Install]
diff --git a/abs/core/nfs-utils/proc-fs-nfsd.mount b/abs/core/nfs-utils/proc-fs-nfsd.mount
index f8664a8..e5ee6fb 100644
--- a/abs/core/nfs-utils/proc-fs-nfsd.mount
+++ b/abs/core/nfs-utils/proc-fs-nfsd.mount
@@ -5,4 +5,4 @@ DefaultDependencies=no
[Mount]
What=sunrpc
Where=/proc/fs/nfsd
-Type=rpc_pipefs
+Type=nfsd
diff --git a/abs/core/nfs-utils/rpc-gssd.service b/abs/core/nfs-utils/rpc-gssd.service
index 446864d..182d9b7 100644
--- a/abs/core/nfs-utils/rpc-gssd.service
+++ b/abs/core/nfs-utils/rpc-gssd.service
@@ -2,11 +2,12 @@
Description=RPC GSS-API client-side daemon
After=rpcbind.service var-lib-nfs-rpc_pipefs.mount
Requires=rpcbind.service var-lib-nfs-rpc_pipefs.mount
+Before=remote-fs-pre.target
[Service]
Type=forking
EnvironmentFile=/etc/conf.d/nfs-common.conf
-ExecStart=/usr/sbin/rpc.gssd $GSSD_OPTS
+ExecStart=/usr/bin/rpc.gssd $GSSD_OPTS
[Install]
WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/rpc-idmapd.service b/abs/core/nfs-utils/rpc-idmapd.service
index 72cd26a..1167daf 100644
--- a/abs/core/nfs-utils/rpc-idmapd.service
+++ b/abs/core/nfs-utils/rpc-idmapd.service
@@ -2,11 +2,12 @@
Description=NFSv4 ID-name mapping daemon
After=var-lib-nfs-rpc_pipefs.mount nfsd.service
Requires=var-lib-nfs-rpc_pipefs.mount
+Before=remote-fs-pre.target
[Service]
Type=forking
EnvironmentFile=/etc/conf.d/nfs-common.conf
-ExecStart=/usr/sbin/rpc.idmapd $IDMAPD_OPTS
+ExecStart=/usr/bin/rpc.idmapd $IDMAPD_OPTS
[Install]
WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/rpc-mountd.service b/abs/core/nfs-utils/rpc-mountd.service
index edd8c85..7528884 100644
--- a/abs/core/nfs-utils/rpc-mountd.service
+++ b/abs/core/nfs-utils/rpc-mountd.service
@@ -6,7 +6,7 @@ Requires=rpcbind.service nfsd.service
[Service]
Type=forking
EnvironmentFile=/etc/conf.d/nfs-server.conf
-ExecStart=/usr/sbin/rpc.mountd $MOUNTD_OPTS
+ExecStart=/usr/bin/rpc.mountd $MOUNTD_OPTS
[Install]
WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/rpc-statd.service b/abs/core/nfs-utils/rpc-statd.service
index 983b404..c2fd63b 100644
--- a/abs/core/nfs-utils/rpc-statd.service
+++ b/abs/core/nfs-utils/rpc-statd.service
@@ -2,11 +2,12 @@
Description=NFSv2/3 Network Status Monitor Daemon
After=rpcbind.service
Requires=rpcbind.service
+Before=remote-fs-pre.target
[Service]
Type=forking
EnvironmentFile=/etc/conf.d/nfs-common.conf
-ExecStart=/usr/sbin/rpc.statd $STATD_OPTS
+ExecStart=/usr/bin/rpc.statd $STATD_OPTS
[Install]
WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/rpc-svcgssd.service b/abs/core/nfs-utils/rpc-svcgssd.service
index 8152e83..876bad3 100644
--- a/abs/core/nfs-utils/rpc-svcgssd.service
+++ b/abs/core/nfs-utils/rpc-svcgssd.service
@@ -6,7 +6,7 @@ Requires=rpcbind.service
[Service]
Type=forking
EnvironmentFile=/etc/conf.d/nfs-server.conf
-ExecStart=/usr/sbin/rpc.svcgssd $SVCGSSD_OPTS
+ExecStart=/usr/bin/rpc.svcgssd $SVCGSSD_OPTS
[Install]
WantedBy=multi-user.target
diff --git a/abs/core/nfs-utils/start-statd.patch b/abs/core/nfs-utils/start-statd.patch
index 5d73b6e..6f6f119 100644
--- a/abs/core/nfs-utils/start-statd.patch
+++ b/abs/core/nfs-utils/start-statd.patch
@@ -1,22 +1,10 @@
---- utils/statd/start-statd 2007-05-11 04:40:57.000000000 +0100
-+++ utils/statd/start-statd.new 2007-09-21 17:11:34.000000000 +0100
-@@ -1,9 +1,16 @@
--#!/bin/bash -p
-+#!/bin/sh
-+
-+# Original script provided by the NFS project
-+# Modified for Arch Linux by Tom Killian
-+
- # nfsmount calls this script when mounting a filesystem with locking
- # enabled, but when statd does not seem to be running (based on
+--- nfs-utils-1.2.8/utils/statd/start-statd.old 2013-05-23 11:35:10.408221686 +0200
++++ nfs-utils-1.2.8/utils/statd/start-statd 2013-05-23 11:35:22.191356904 +0200
+@@ -4,6 +4,6 @@
# /var/run/rpc.statd.pid).
# It should run statd with whatever flags are apropriate for this
# site.
-PATH=/sbin:/usr/sbin
--exec rpc.statd --no-notify
-+
-+# source application-specific settings
-+[ -f /etc/conf.d/nfs-common.conf ] && . /etc/conf.d/nfs-common.conf
-+
-+exec /usr/sbin/rpc.statd $STATD_OPTS
++PATH=/sbin:/usr/sbin:/usr/bin
+ exec rpc.statd --no-notify