From 9f392cc1b6e39b4cde757e18aa8259f2724e41fe Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Tue, 28 Oct 2008 16:09:59 -0500
Subject: Add nfs-utils and related programs

---
 abs/core-testing/libevent/PKGBUILD               |  22 ++++++
 abs/core-testing/nfs-utils/PKGBUILD              |  48 ++++++++++++
 abs/core-testing/nfs-utils/exports               |   8 ++
 abs/core-testing/nfs-utils/nfs-utils.install     |  38 ++++++++++
 abs/core-testing/nfs-utils/nfs.conf.d            |  20 +++++
 abs/core-testing/nfs-utils/nfsd                  |  91 +++++++++++++++++++++++
 abs/core-testing/nfs-utils/nfslock               |  50 +++++++++++++
 abs/core-testing/nfs-utils/start-statd.patch     |  21 ++++++
 abs/core-testing/nfsidmap/PKGBUILD               |  26 +++++++
 abs/core-testing/portmap/PKGBUILD                |  24 ++++++
 abs/core-testing/portmap/gcc3-errno_h.patch      |  18 +++++
 abs/core-testing/portmap/portmap                 |  38 ++++++++++
 abs/core-testing/portmap/portmap_5beta.patch.bz2 | Bin 0 -> 9958 bytes
 13 files changed, 404 insertions(+)
 create mode 100644 abs/core-testing/libevent/PKGBUILD
 create mode 100644 abs/core-testing/nfs-utils/PKGBUILD
 create mode 100644 abs/core-testing/nfs-utils/exports
 create mode 100644 abs/core-testing/nfs-utils/nfs-utils.install
 create mode 100644 abs/core-testing/nfs-utils/nfs.conf.d
 create mode 100755 abs/core-testing/nfs-utils/nfsd
 create mode 100755 abs/core-testing/nfs-utils/nfslock
 create mode 100644 abs/core-testing/nfs-utils/start-statd.patch
 create mode 100644 abs/core-testing/nfsidmap/PKGBUILD
 create mode 100644 abs/core-testing/portmap/PKGBUILD
 create mode 100644 abs/core-testing/portmap/gcc3-errno_h.patch
 create mode 100755 abs/core-testing/portmap/portmap
 create mode 100644 abs/core-testing/portmap/portmap_5beta.patch.bz2

diff --git a/abs/core-testing/libevent/PKGBUILD b/abs/core-testing/libevent/PKGBUILD
new file mode 100644
index 0000000..265699f
--- /dev/null
+++ b/abs/core-testing/libevent/PKGBUILD
@@ -0,0 +1,22 @@
+# $Id: PKGBUILD 13094 2008-09-25 22:07:09Z ronald $
+# Maintainer: 
+# Contributor: Judd <jvinet@zeroflux.org>
+
+pkgname=libevent
+pkgver=1.4.8
+pkgrel=2
+pkgdesc="a mechanism to execute a callback function"
+license=('GPL2')
+arch=('i686' 'x86_64')
+url="http://www.monkey.org/~provos/libevent/"
+depends=('glibc')
+source=(http://www.monkey.org/~provos/libevent-$pkgver-stable.tar.gz)
+options=(!libtool)
+md5sums=('e626c34f86746dffe8d055af0a84d08e')
+
+build() {
+  cd $srcdir/$pkgname-$pkgver-stable
+  ./configure --prefix=/usr --sysconfdir=/etc
+  make || return 1
+  make DESTDIR=$pkgdir install || return 1
+}
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
+ 
diff --git a/abs/core-testing/nfsidmap/PKGBUILD b/abs/core-testing/nfsidmap/PKGBUILD
new file mode 100644
index 0000000..401c1e7
--- /dev/null
+++ b/abs/core-testing/nfsidmap/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 13097 2008-09-25 22:11:54Z ronald $
+# Maintainer: 
+# Contributor: Judd <jvinet@zeroflux.org>
+
+pkgname=nfsidmap
+pkgver=0.21
+pkgrel=2
+pkgdesc="Library to help mapping IDs, mainly for NFSv4"
+arch=('i686' 'x86_64')
+url="http://www.citi.umich.edu/projects/nfsv4/linux/"
+depends=('glibc' 'libldap')
+license=('custom:nfsidmap')
+options=(!libtool)
+source=(http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/libnfsidmap-$pkgver.tar.gz)
+md5sums=('56b05e30645353befbf73bd905270d4b')
+
+build() {
+  cd $srcdir/lib$pkgname-$pkgver
+  ./configure --prefix=/usr --sysconfdir=/etc
+  make || return 1
+  make DESTDIR=$pkgdir install || return 1
+
+  # install license
+  install -Dm644 COPYING \
+	$pkgdir/usr/share/licenses/nfsidmap/LICENSE || return 1
+}
diff --git a/abs/core-testing/portmap/PKGBUILD b/abs/core-testing/portmap/PKGBUILD
new file mode 100644
index 0000000..dc51a0c
--- /dev/null
+++ b/abs/core-testing/portmap/PKGBUILD
@@ -0,0 +1,24 @@
+# $Id: PKGBUILD 356 2008-04-18 22:56:27Z aaron $
+# Maintainer: dorphell <dorphell@archlinux.org>
+# Committer: Judd Vinet <jvinet@zeroflux.org>
+pkgname=portmap
+pkgver=6.0
+pkgrel=2
+pkgdesc="RPC connection manager"
+arch=(i686 x86_64)
+depends=('glibc')
+url="http://neil.brown.name/portmap/"
+license=('GPL')
+source=(http://neil.brown.name/portmap/portmap-6.0.tgz portmap)
+md5sums=('ac108ab68bf0f34477f8317791aaf1ff'
+         'ec37d014a47adc39e52e4bf31bf2a19a')
+
+build() {
+  cd $startdir/src/portmap_$pkgver
+  make || return 1
+  mkdir -p $startdir/pkg/sbin
+  mkdir -p $startdir/pkg/usr/share/man/man8
+  make BASEDIR=$startdir/pkg install
+  mkdir -p $startdir/pkg/etc/rc.d
+  cp ../portmap $startdir/pkg/etc/rc.d
+}
diff --git a/abs/core-testing/portmap/gcc3-errno_h.patch b/abs/core-testing/portmap/gcc3-errno_h.patch
new file mode 100644
index 0000000..a440e61
--- /dev/null
+++ b/abs/core-testing/portmap/gcc3-errno_h.patch
@@ -0,0 +1,18 @@
+--- portmap_5beta/portmap.c.orig	2002-12-31 22:13:17.000000000 +0200
++++ portmap_5beta/portmap.c	2002-12-31 22:13:50.000000000 +0200
+@@ -97,6 +97,7 @@
+ 
+ extern char *strerror();
+ #include <stdlib.h>
++#include <errno.h>
+ 
+ #ifndef LOG_PERROR
+ #define LOG_PERROR 0
+@@ -124,7 +125,6 @@
+ static void callit();
+ struct pmaplist *pmaplist;
+ int debugging = 0;
+-extern int errno;
+ 
+ #include "pmap_check.h"
+ 
diff --git a/abs/core-testing/portmap/portmap b/abs/core-testing/portmap/portmap
new file mode 100755
index 0000000..fb83a0a
--- /dev/null
+++ b/abs/core-testing/portmap/portmap
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /sbin/portmap`
+case "$1" in
+  start)
+    stat_busy "Starting Portmap"
+    [ -z "$PID" ] && /sbin/portmap
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      echo $PID > /var/run/portmap.pid
+      add_daemon portmap
+      stat_done
+    fi
+    ;;
+  stop)
+    stat_busy "Stopping Portmap"
+    [ ! -z "$PID" ]  && kill $PID &> /dev/null
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      rm /var/run/portmap.pid
+      rm_daemon portmap
+      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/portmap/portmap_5beta.patch.bz2 b/abs/core-testing/portmap/portmap_5beta.patch.bz2
new file mode 100644
index 0000000..ecaf95e
Binary files /dev/null and b/abs/core-testing/portmap/portmap_5beta.patch.bz2 differ
-- 
cgit v0.12

