summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/nfs-utils
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/nfs-utils')
-rw-r--r--abs/core-testing/nfs-utils/PKGBUILD48
-rw-r--r--abs/core-testing/nfs-utils/exports8
-rw-r--r--abs/core-testing/nfs-utils/nfs-utils.install38
-rw-r--r--abs/core-testing/nfs-utils/nfs.conf.d20
-rwxr-xr-xabs/core-testing/nfs-utils/nfsd91
-rwxr-xr-xabs/core-testing/nfs-utils/nfslock50
-rw-r--r--abs/core-testing/nfs-utils/start-statd.patch21
7 files changed, 276 insertions, 0 deletions
diff --git a/abs/core-testing/nfs-utils/PKGBUILD b/abs/core-testing/nfs-utils/PKGBUILD
new file mode 100644
index 0000000..32626c6
--- /dev/null
+++ b/abs/core-testing/nfs-utils/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 13100 2008-09-25 22:15:28Z ronald $
+# Maintainer: dorphell <dorphell@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+# Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org>
+
+pkgname=nfs-utils
+pkgver=1.1.3
+pkgrel=2
+pkgdesc="Support programs for Network File Systems"
+arch=('i686' 'x86_64')
+url='http://nfs.sourceforge.net'
+license=('GPL')
+backup=('etc/exports' 'etc/conf.d/nfs')
+depends=('glibc' 'tcp_wrappers' 'e2fsprogs' 'portmap' 'nfsidmap' 'libevent>=1.3e')
+source=(http://downloads.sourceforge.net/nfs/${pkgname}-${pkgver}.tar.gz
+ nfsd
+ nfslock
+ exports
+ nfs.conf.d
+ start-statd.patch)
+install=nfs-utils.install
+md5sums=('167d231850b00c7c63300747aeb94c38'
+ '5a9436e492e68efaf801b9c496684541'
+ '5d0d31f27f2319747d4499df11485ae7'
+ '1358d29a549dfc37b522c35e823c6813'
+ 'b4aae6963ec25d226eb2d97214f5bb18'
+ '9c8aeff40ca25312328afe3b7fad293f')
+
+build() {
+ cd $srcdir/${pkgname}-${pkgver}
+
+ # arch specific patch
+ patch -Np0 -i ../start-statd.patch || return 1
+
+ ./configure --prefix=/usr --enable-nfsv3 --disable-gss \
+ --with-statedir=/var/lib/nfs --sysconfdir=/etc
+
+ make || return 1
+ make DESTDIR=$pkgdir install || return 1
+
+ install -D -m 755 ../nfsd ${startdir}/pkg/etc/rc.d/nfsd
+ install -D -m 755 ../nfslock ${startdir}/pkg/etc/rc.d/nfslock
+ install -D -m 644 ../exports ${startdir}/pkg/etc/exports
+ install -D -m 644 ../nfs.conf.d ${startdir}/pkg/etc/conf.d/nfs
+
+ install -d $pkgdir/var/lib/nfs/v4recovery
+}
+
diff --git a/abs/core-testing/nfs-utils/exports b/abs/core-testing/nfs-utils/exports
new file mode 100644
index 0000000..c9f93c6
--- /dev/null
+++ b/abs/core-testing/nfs-utils/exports
@@ -0,0 +1,8 @@
+# /etc/exports
+#
+# See exports(5) for a description.
+
+# use exportfs -arv to reread
+#/export 192.168.1.10(rw,no_root_squash)
+
+
diff --git a/abs/core-testing/nfs-utils/nfs-utils.install b/abs/core-testing/nfs-utils/nfs-utils.install
new file mode 100644
index 0000000..380fc99
--- /dev/null
+++ b/abs/core-testing/nfs-utils/nfs-utils.install
@@ -0,0 +1,38 @@
+
+
+post_install() {
+ cat << 'EOM'
+
+ ==>
+ ==> PLEASE NOTE:
+ ==> Extended configuration options for NFS are available in
+ ==> /etc/conf.d/nfs.
+ ==>
+ ==> Please refer to http://wiki.archlinux.org/index.php/Nfs
+ ==> for further information.
+ ==>
+
+EOM
+}
+
+post_upgrade() {
+ cat << 'EOM'
+
+ ==>
+ ==> PLEASE NOTE:
+ ==> Extended configuration options for NFS are now available in
+ ==> /etc/conf.d/nfs.
+ ==> If /etc/conf.d/nfsd remains on your system from an earlier
+ ==> installation, transfer its settings to /etc/conf.d/nfs and
+ ==> delete it.
+ ==>
+ ==> Please refer to http://wiki.archlinux.org/index.php/Nfs
+ ==> for further information.
+ ==>
+
+EOM
+}
+
+op=$1
+shift
+$op $*
diff --git a/abs/core-testing/nfs-utils/nfs.conf.d b/abs/core-testing/nfs-utils/nfs.conf.d
new file mode 100644
index 0000000..73e396a
--- /dev/null
+++ b/abs/core-testing/nfs-utils/nfs.conf.d
@@ -0,0 +1,20 @@
+# Number of servers to be started up by default
+NFSD_OPTS=8
+
+# Options to pass to rpc.mountd
+# e.g. MOUNTDOPTS="-p 32767"
+MOUNTD_OPTS="--no-nfs-version 1 --no-nfs-version 2"
+
+# Options to pass to rpc.statd
+# N.B. statd normally runs on both client and server, and run-time
+# options should be specified accordingly. Specifically, the Arch
+# NFS init scripts require the --no-notify flag on the server,
+# but not on the client e.g.
+# STATD_OPTS="--no-notify -p 32765 -o 32766" -> server
+# STATD_OPTS="-p 32765 -o 32766" -> client
+STATD_OPTS=""
+
+# Options to pass to sm-notify
+# e.g. SMNOTIFY_OPTS="-p 32764"
+SMNOTIFY_OPTS=""
+
diff --git a/abs/core-testing/nfs-utils/nfsd b/abs/core-testing/nfs-utils/nfsd
new file mode 100755
index 0000000..ce891e2
--- /dev/null
+++ b/abs/core-testing/nfs-utils/nfsd
@@ -0,0 +1,91 @@
+#!/bin/bash
+
+# source application-specific settings
+[ -f /etc/conf.d/nfs ] && . /etc/conf.d/nfs
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+DAEMON_NAME=nfsd
+NFSD_PID=`pidof -o %PPID nfsd`
+MOUNTD_PID=`pidof -o %PPID /usr/sbin/rpc.mountd`
+case "$1" in
+ start)
+ stat_busy "Starting $DAEMON_NAME"
+ # Check for portmap
+ if [ ! -f /var/run/daemons/portmap ]; then
+ echo "ERROR: portmap is not running"
+ stat_fail
+ exit 1
+ fi
+ # Check for nfslock
+ if [ ! -f /var/run/daemons/nfslock ]; then
+ echo "ERROR: nfslock is not running"
+ stat_fail
+ exit 1
+ fi
+ # Check for /proc/fs/nfsd
+ if grep -qs nfsd /proc/filesystems ; then
+ if ! grep -qs "nfsd /proc/fs/nfsd" /proc/mounts ; then
+ mount -t nfsd -o nodev,noexec,nosuid nfsd /proc/fs/nfsd
+ fi
+ fi
+ # Run exportfs
+ /usr/sbin/exportfs -r
+ # Run mountd
+ [ -z "$MOUNTD_PID" ] && /usr/sbin/rpc.mountd $MOUNTD_OPTS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo `pidof -o %PPID /usr/sbin/rpc.mountd` > /var/run/rpc.mountd.pid
+ fi
+ # Run nfsd
+ [ -z "$NFSD_PID" ] && /usr/sbin/rpc.nfsd $NFSD_OPTS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ echo `pidof -o %PPID nfsd` > /var/run/rpc.nfsd.pid
+ fi
+ # Run sm-notify
+ /usr/sbin/sm-notify $SMNOTIFY_OPTS
+ add_daemon $DAEMON_NAME
+ stat_done
+ ;;
+
+ stop)
+ stat_busy "Stopping $DAEMON_NAME"
+ [ ! -z "$MOUNTD_PID" ] && kill $MOUNTD_PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm /var/run/rpc.mountd.pid &> /dev/null
+ fi
+ sleep 1
+ [ ! -z "$NFSD_PID" ] && kill $NFSD_PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ kill -9 $NFSD_PID &> /dev/null
+ rm /var/run/rpc.nfsd.pid &> /dev/null
+ fi
+ if [ "$RUNLEVEL" = "0" ]; then
+ /usr/sbin/exportfs -au
+ fi
+ rm_daemon $DAEMON_NAME
+ stat_done
+ ;;
+
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/core-testing/nfs-utils/nfslock b/abs/core-testing/nfs-utils/nfslock
new file mode 100755
index 0000000..f25ab3c
--- /dev/null
+++ b/abs/core-testing/nfs-utils/nfslock
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+# source application-specific settings
+[ -f /etc/conf.d/nfs ] && . /etc/conf.d/nfs
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+DAEMON_NAME=nfslock
+PID=`pidof -o %PPID /usr/sbin/rpc.statd`
+case "$1" in
+ start)
+ stat_busy "Starting $DAEMON_NAME"
+ # Check for /proc/fs/nfsd
+ if grep -qs nfsd /proc/filesystems ; then
+ if ! grep -qs "nfsd /proc/fs/nfsd" /proc/mounts ; then
+ mount -t nfsd -o nodev,noexec,nosuid nfsd /proc/fs/nfsd
+ fi
+ fi
+ [ -z "$PID" ] && /usr/sbin/rpc.statd $STATD_OPTS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ echo `pidof rpc.statd` > /var/run/rpc.statd.pid
+ stat_done
+ add_daemon $DAEMON_NAME
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $DAEMON_NAME"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm /var/run/rpc.statd.pid &> /dev/null
+ rm_daemon $DAEMON_NAME
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/abs/core-testing/nfs-utils/start-statd.patch b/abs/core-testing/nfs-utils/start-statd.patch
new file mode 100644
index 0000000..aaed93e
--- /dev/null
+++ b/abs/core-testing/nfs-utils/start-statd.patch
@@ -0,0 +1,21 @@
+--- 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/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
+ # /var/run/rpc.statd.pid).
+ # It should run 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 ] && . /etc/conf.d/nfs
++
++exec /usr/sbin/rpc.statd $STATD_OPTS
+