diff options
Diffstat (limited to 'abs/core/nfs-utils')
-rw-r--r-- | abs/core/nfs-utils/PKGBUILD | 86 | ||||
-rw-r--r-- | abs/core/nfs-utils/blkmapd.service | 2 | ||||
-rw-r--r-- | abs/core/nfs-utils/id_resolver.conf | 1 | ||||
-rw-r--r-- | abs/core/nfs-utils/nfs-common | 315 | ||||
-rw-r--r-- | abs/core/nfs-utils/nfs-server | 299 | ||||
-rw-r--r-- | abs/core/nfs-utils/nfs-utils.install | 6 | ||||
-rw-r--r-- | abs/core/nfs-utils/nfsd.service | 8 | ||||
-rw-r--r-- | abs/core/nfs-utils/proc-fs-nfsd.mount | 2 | ||||
-rw-r--r-- | abs/core/nfs-utils/rpc-gssd.service | 3 | ||||
-rw-r--r-- | abs/core/nfs-utils/rpc-idmapd.service | 3 | ||||
-rw-r--r-- | abs/core/nfs-utils/rpc-mountd.service | 2 | ||||
-rw-r--r-- | abs/core/nfs-utils/rpc-statd.service | 3 | ||||
-rw-r--r-- | abs/core/nfs-utils/rpc-svcgssd.service | 2 | ||||
-rw-r--r-- | abs/core/nfs-utils/start-statd.patch | 22 |
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 |