summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/kdebase-workspace/PKGBUILD20
-rw-r--r--testing/kdebase-workspace/kde-np.pam19
-rw-r--r--testing/kdebase-workspace/kde.pam15
-rw-r--r--testing/kdebase-workspace/kdm.logrotate6
-rw-r--r--testing/nfs-utils/PKGBUILD105
-rw-r--r--testing/nfs-utils/blkmapd.service11
-rw-r--r--testing/nfs-utils/exports15
-rw-r--r--testing/nfs-utils/idmapd.conf14
-rw-r--r--testing/nfs-utils/nfs40
-rw-r--r--testing/nfs-utils/nfs-common315
-rw-r--r--testing/nfs-utils/nfs-common.conf40
-rw-r--r--testing/nfs-utils/nfs-server299
-rw-r--r--testing/nfs-utils/nfs-server.conf29
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch39
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch15
-rw-r--r--testing/nfs-utils/nfs-utils.conf1
-rw-r--r--testing/nfs-utils/nfs-utils.install32
-rw-r--r--testing/nfs-utils/nfsd.service16
-rw-r--r--testing/nfs-utils/proc-fs-nfsd.mount8
-rw-r--r--testing/nfs-utils/rpc-gssd.service13
-rw-r--r--testing/nfs-utils/rpc-idmapd.service13
-rw-r--r--testing/nfs-utils/rpc-mountd.service12
-rw-r--r--testing/nfs-utils/rpc-statd.service13
-rw-r--r--testing/nfs-utils/rpc-svcgssd.service12
-rw-r--r--testing/nfs-utils/start-statd.patch22
-rw-r--r--testing/nfs-utils/var-lib-nfs-rpc_pipefs.mount7
-rw-r--r--testing/postgresql/PKGBUILD32
-rw-r--r--testing/postgresql/postgresql-run-socket.patch12
-rw-r--r--testing/postgresql/postgresql.install4
-rw-r--r--testing/postgresql/postgresql.service1
-rw-r--r--testing/postgresql/postgresql.tmpfiles.conf1
-rw-r--r--testing/ppp/PKGBUILD17
-rw-r--r--testing/ppp/ip-down2
-rw-r--r--testing/ppp/ipv6-down12
-rw-r--r--testing/ppp/ipv6-up12
-rw-r--r--testing/ppp/ipv6-up.d.iface-config.sh4
-rw-r--r--testing/util-linux/PKGBUILD39
-rw-r--r--testing/wpa_supplicant/PKGBUILD7
-rw-r--r--testing/wpa_supplicant/config14
39 files changed, 1219 insertions, 69 deletions
diff --git a/testing/kdebase-workspace/PKGBUILD b/testing/kdebase-workspace/PKGBUILD
index 495c6f549..e3384d191 100644
--- a/testing/kdebase-workspace/PKGBUILD
+++ b/testing/kdebase-workspace/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 168268 2012-10-07 11:14:11Z andrea $
+# $Id: PKGBUILD 168549 2012-10-13 11:06:38Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=kdebase-workspace
_pkgname=kde-workspace
pkgver=4.9.2
-pkgrel=3
+pkgrel=4
pkgdesc="Provides the interface and basic tools for the KDE workspace"
arch=('i686' 'x86_64')
url='https://projects.kde.org/projects/kde/kde-workspace'
@@ -18,7 +18,7 @@ depends=('kdepim-runtime' 'lm_sensors' 'libraw1394' 'libqalculate'
'qimageblitz' 'polkit-kde' 'consolekit' 'xorg-xprop' 'libxdamage'
'libxklavier' 'xorg-xsetroot' 'libxcomposite' 'libxinerama'
'xorg-xrdb' 'libgles' 'libegl' 'libxres' 'xorg-xrandr'
- 'xorg-xmessage' 'libusb-compat' 'kde-base-artwork' 'glu')
+ 'xorg-xmessage' 'libusb-compat' 'kde-base-artwork')
makedepends=('cmake' 'automoc4' 'boost' 'kdebindings-python2' 'networkmanager')
optdepends=('kde-wallpapers: wallpapers for KDE Plasma Workspaces')
install="${pkgname}.install"
@@ -30,25 +30,32 @@ options=('emptydirs')
source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz"
'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam' 'kdm.service'
'fixpath.patch' 'terminate-server.patch' 'kdm-xinitrd.patch'
+ 'kdm.logrotate'
'logind-support.patch')
sha1sums=('091bec159d85db2a9a6d6b1b43a53183c23de488'
'5db3a245201bd4a50e65aa2ef583cf5490e4f646'
- '712a90999bd429883dcef5dcaf288aace332ced8'
- 'b321b5e613b60231330e606fdf1e124646148388'
+ '660eae40a707d2711d8d7f32a93214865506b795'
+ 'b7980f2e199963caf8e92b499042d244ece2fca0'
'106635aa1aae51d6f0668b1853f6c49a4fe9d3d8'
'b6f8e8692737b11eec1f8022ce74b5b23e247b1b'
'd7b5883f7e65c6839b1f65f94d58026673dd0226'
'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee'
'd509dac592bd8b310df27991b208c95b6d907514'
+ 'bbe55f2000217474ce7246f12ee437ceaaf7e9ae'
'ccde71c42e19feaf40d3bd76e7396a0cb6df012f')
build() {
cd ${_pkgname}-${pkgver}
+
+ # FS#26120
patch -p1 -i "${srcdir}"/kdm-xinitrd.patch
+
patch -p0 -i "${srcdir}"/fixpath.patch
+
+ # KDEBUG#202629
patch -p0 -i "${srcdir}"/terminate-server.patch
- # KDEBUG 307412
+ # KDEBUG#307412 (fixed upstream)
patch -p1 -i "${srcdir}"/logind-support.patch
cd ../
@@ -83,4 +90,5 @@ package() {
install -D -m755 "${srcdir}"/kdm "${pkgdir}"/etc/rc.d/kdm
install -D -m644 "${srcdir}"/kdm.service \
"${pkgdir}"/usr/lib/systemd/system/kdm.service
+ install -Dm644 "${srcdir}"/kdm.logrotate "${pkgdir}"/etc/logrotate.d/kdm
}
diff --git a/testing/kdebase-workspace/kde-np.pam b/testing/kdebase-workspace/kde-np.pam
index 7d60cc35c..eccaa08f4 100644
--- a/testing/kdebase-workspace/kde-np.pam
+++ b/testing/kdebase-workspace/kde-np.pam
@@ -1,9 +1,12 @@
#%PAM-1.0
-auth required pam_nologin.so
-auth required pam_permit.so
-auth required pam_env.so
-account required pam_unix.so
-password required pam_unix.so
-session required pam_unix.so
-session required pam_limits.so
--session optional pam_systemd.so
+auth required pam_tally.so onerr=succeed file=/var/log/faillog
+auth required pam_shells.so
+auth requisite pam_nologin.so
+auth required pam_env.so
+auth optional pam_permit.s
+
+account include system-login
+
+password include system-login
+
+session include system-login
diff --git a/testing/kdebase-workspace/kde.pam b/testing/kdebase-workspace/kde.pam
index ec1d8277f..a0a29483d 100644
--- a/testing/kdebase-workspace/kde.pam
+++ b/testing/kdebase-workspace/kde.pam
@@ -1,9 +1,8 @@
#%PAM-1.0
-auth required pam_unix.so
-auth required pam_nologin.so
-auth required pam_env.so
-account required pam_unix.so
-password required pam_unix.so
-session required pam_unix.so
-session required pam_limits.so
--session optional pam_systemd.so
+auth include system-login
+
+account include system-login
+
+password include system-login
+
+session include system-login
diff --git a/testing/kdebase-workspace/kdm.logrotate b/testing/kdebase-workspace/kdm.logrotate
new file mode 100644
index 000000000..34331feae
--- /dev/null
+++ b/testing/kdebase-workspace/kdm.logrotate
@@ -0,0 +1,6 @@
+/var/log/kdm.log {
+ maxage 365
+ size=+1024k
+ notifempty
+ missingok
+}
diff --git a/testing/nfs-utils/PKGBUILD b/testing/nfs-utils/PKGBUILD
new file mode 100644
index 000000000..2392879c2
--- /dev/null
+++ b/testing/nfs-utils/PKGBUILD
@@ -0,0 +1,105 @@
+# $Id: PKGBUILD 168633 2012-10-13 16:48:28Z thomas $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: John Proctor <jproctor@prium.net>
+# Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org>
+# Contributor: abelstr <abel@pinklf.eu>
+# Contributor: Marco Lima <cipparello gmail com>
+
+pkgname=nfs-utils
+pkgver=1.2.6
+pkgrel=2
+pkgdesc="Support programs for Network File Systems"
+arch=('i686' 'x86_64')
+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')
+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
+ rpc-gssd.service
+ rpc-mountd.service
+ rpc-svcgssd.service
+ rpc-idmapd.service
+ rpc-statd.service
+ nfsd.service
+ var-lib-nfs-rpc_pipefs.mount
+ proc-fs-nfsd.mount
+ blkmapd.service
+ nfs-utils.conf)
+install=nfs-utils.install
+md5sums=('8be543ca270c2234ff18f8c8d35e0d37'
+ 'dd0d65fc6e8f422fa12520813098264b'
+ 'f73f197a16b02c3e248488ec35c4cf43'
+ 'e619f18354ff958ed624d05d08853d8f'
+ '9cef69bc686cc5dcac23fbb51450747d'
+ 'ff585faf410a62c4333a027c50b56bae'
+ 'eb4f4027fab6fc1201f1ca04f5954c76'
+ 'e9144277a89a620d9bc80413158a7d27'
+ 'f5e7bba09a46c5c5d7007cac6eff9df5'
+ '7674106eaaa4c149bccd4f05fe3604e9'
+ '4f4827dfc93008dfadd0a530ad0872b2'
+ '3694619813cebc5b4502b58f1992b442'
+ '965311784d49a7d126d512cadbe91deb'
+ 'e05705d9ccccaeaeb1ecaee20adc05bc'
+ '359d84a85f8781dc3f45f4cf1dbe4b53'
+ 'c82ef7b238efe62af3d5e263e1ba1c5c'
+ '5d33d2e754fd37280365b287603bac90'
+ '1cd65909fa0983047f3f06a3ab352401'
+ '02a34835aa077146a90eb7d191e612d0'
+ '8ffc2ebe932d29efe17d6f3f23d5b975'
+ '8ac484023d786766d287ccbe878ae4ba')
+
+build() {
+ cd $srcdir/${pkgname}-${pkgver}
+ patch -Np1 -i ../nfs-utils-1.1.4-mtab-sym.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 \
+ --without-tcp-wrappers --with-statedir=/var/lib/nfs \
+ --enable-ipv6 --sysconfdir=/etc --enable-libmount-mount \
+ --enable-mountconfig
+
+ 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}
+
+ # 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
+ install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf
+ 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
+ # systemd files
+ for i in ${srcdir}/*.{service,mount}; do
+ install -D -m 644 $i "$pkgdir/usr/lib/systemd/system/${i##*/}"
+ done
+ 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 "$pkgdir/"var/lib/nfs/v4recovery
+}
diff --git a/testing/nfs-utils/blkmapd.service b/testing/nfs-utils/blkmapd.service
new file mode 100644
index 000000000..16cb68bbb
--- /dev/null
+++ b/testing/nfs-utils/blkmapd.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=pNFS block layout mapping daemon
+After=var-lib-nfs-rpc_pipefs.mount nfsd.service
+Requires=var-lib-nfs-rpc_pipefs.mount
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/blkmapd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/exports b/testing/nfs-utils/exports
new file mode 100644
index 000000000..8f4aac598
--- /dev/null
+++ b/testing/nfs-utils/exports
@@ -0,0 +1,15 @@
+# /etc/exports
+#
+# List of directories exported to NFS clients. See exports(5).
+# Use exportfs -arv to reread.
+#
+# Example for NFSv2 and NFSv3:
+# /srv/home hostname1(rw,sync) hostname2(ro,sync)
+#
+# Example for NFSv4:
+# /srv/nfs4 hostname1(rw,sync,fsid=0)
+# /srv/nfs4/home hostname1(rw,sync,nohide)
+# Using Kerberos and integrity checking:
+# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
+# /srv/nfs4/home gss/krb5i(rw,sync,nohide)
+#
diff --git a/testing/nfs-utils/idmapd.conf b/testing/nfs-utils/idmapd.conf
new file mode 100644
index 000000000..b1b23afe9
--- /dev/null
+++ b/testing/nfs-utils/idmapd.conf
@@ -0,0 +1,14 @@
+[General]
+
+Verbosity = 0
+Pipefs-Directory = /var/lib/nfs/rpc_pipefs
+Domain = localdomain
+
+[Mapping]
+
+Nobody-User = nobody
+Nobody-Group = nobody
+
+[Translation]
+
+Method = nsswitch
diff --git a/testing/nfs-utils/nfs b/testing/nfs-utils/nfs
new file mode 100644
index 000000000..2d33cf3d4
--- /dev/null
+++ b/testing/nfs-utils/nfs
@@ -0,0 +1,40 @@
+#
+# Optinal options passed to rquotad
+RPCRQUOTADOPTS=""
+#
+# Optional arguments passed to in-kernel lockd
+#LOCKDARG=
+# TCP port rpc.lockd should listen on.
+#LOCKD_TCPPORT=32803
+# UDP port rpc.lockd should listen on.
+#LOCKD_UDPPORT=32769
+#
+# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)
+RPCNFSDARGS=""
+# Number of nfs server processes to be started.
+# The default is 8.
+RPCNFSDCOUNT=8
+# Set V4 grace period in seconds
+#NFSD_V4_GRACE=90
+#
+# Optional arguments passed to rpc.mountd. See rpc.mountd(8)
+RPCMOUNTDOPTS=""
+#
+# Optional arguments passed to rpc.statd. See rpc.statd(8)
+STATDARG=""
+#
+# Optional arguments passed to rpc.idmapd. See rpc.idmapd(8)
+RPCIDMAPDARGS=""
+#
+# Optional arguments passed to rpc.gssd. See rpc.gssd(8)
+RPCGSSDARGS=""
+#
+# Optional arguments passed to rpc.svcgssd. See rpc.svcgssd(8)
+RPCSVCGSSDARGS=""
+#
+# To enable RDMA support on the server by setting this to
+# the port the server should listen on
+#RDMA_PORT=20049
+#
+# Optional arguments passed to blkmapd. See blkmapd(8)
+BLKMAPDARGS=""
diff --git a/testing/nfs-utils/nfs-common b/testing/nfs-utils/nfs-common
new file mode 100644
index 000000000..7b16b4b3c
--- /dev/null
+++ b/testing/nfs-utils/nfs-common
@@ -0,0 +1,315 @@
+#!/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/testing/nfs-utils/nfs-common.conf b/testing/nfs-utils/nfs-common.conf
new file mode 100644
index 000000000..12466b3e5
--- /dev/null
+++ b/testing/nfs-utils/nfs-common.conf
@@ -0,0 +1,40 @@
+# Parameters to be passed to nfs-common (nfs clients & server) init script.
+#
+
+# If you do not set values for the NEED_ options, they will be attempted
+# autodetected; this should be sufficient for most people. Valid alternatives
+# for the NEED_ options are "yes" and "no".
+
+# Do you want to start the statd daemon? It is not needed for NFSv4.
+NEED_STATD=""
+
+# Options to pass to rpc.statd.
+# See rpc.statd(8) for more details.
+# N.B. statd normally runs on both client and server, and run-time
+# options should be specified accordingly.
+# STATD_OPTS="-p 32765 -o 32766"
+STATD_OPTS=""
+
+# Options to pass to sm-notify
+# e.g. SMNOTIFY_OPTS="-p 32764"
+SMNOTIFY_OPTS=""
+
+# Do you want to start the idmapd daemon? It is only needed for NFSv4.
+NEED_IDMAPD=""
+
+# Options to pass to rpc.idmapd.
+# See rpc.idmapd(8) for more details.
+IDMAPD_OPTS=""
+
+# Do you want to start the gssd daemon? It is required for Kerberos mounts.
+NEED_GSSD=""
+
+# Options to pass to rpc.gssd.
+# See rpc.gssd(8) for more details.
+GSSD_OPTS=""
+
+# Where to mount rpc_pipefs filesystem; the default is "/var/lib/nfs/rpc_pipefs".
+PIPEFS_MOUNTPOINT=""
+
+# Options used to mount rpc_pipefs filesystem; the default is "defaults".
+PIPEFS_MOUNTOPTS=""
diff --git a/testing/nfs-utils/nfs-server b/testing/nfs-utils/nfs-server
new file mode 100644
index 000000000..6aa609d8c
--- /dev/null
+++ b/testing/nfs-utils/nfs-server
@@ -0,0 +1,299 @@
+#!/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/testing/nfs-utils/nfs-server.conf b/testing/nfs-utils/nfs-server.conf
new file mode 100644
index 000000000..581e26350
--- /dev/null
+++ b/testing/nfs-utils/nfs-server.conf
@@ -0,0 +1,29 @@
+# Parameters to be passed to nfs-server init script.
+#
+
+# Options to pass to rpc.nfsd.
+# See rpc.nfsd(8) for more details.
+NFSD_OPTS=""
+
+# Number of servers to start up; the default is 8 servers.
+NFSD_COUNT=""
+
+# Where to mount nfsd filesystem; the default is "/proc/fs/nfsd".
+PROCNFSD_MOUNTPOINT=""
+
+# Options used to mount nfsd filesystem; the default is "rw,nodev,noexec,nosuid".
+PROCNFSD_MOUNTOPTS=""
+
+# Options for rpc.mountd.
+# If you have a port-based firewall, you might want to set up
+# a fixed port here using the --port option.
+# See rpc.mountd(8) for more details.
+MOUNTD_OPTS=""
+
+# Do you want to start the svcgssd daemon? It is only required for Kerberos
+# exports. Valid alternatives are "yes" and "no"; the default is "no".
+NEED_SVCGSSD=""
+
+# Options to pass to rpc.svcgssd.
+# See rpc.svcgssd(8) for more details.
+SVCGSSD_OPTS=""
diff --git a/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch b/testing/nfs-utils/nfs-utils-1.1.4-mtab-sym.patch
new file mode 100644
index 000000000..c9e60afc7
--- /dev/null
+++ b/testing/nfs-utils/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/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch b/testing/nfs-utils/nfs-utils-1.1.4-no-exec.patch
new file mode 100644
index 000000000..ea50a21d8
--- /dev/null
+++ b/testing/nfs-utils/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/testing/nfs-utils/nfs-utils.conf b/testing/nfs-utils/nfs-utils.conf
new file mode 100644
index 000000000..33c97b838
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils.conf
@@ -0,0 +1 @@
+nfs
diff --git a/testing/nfs-utils/nfs-utils.install b/testing/nfs-utils/nfs-utils.install
new file mode 100644
index 000000000..7dcdf9575
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils.install
@@ -0,0 +1,32 @@
+## arg 1: the new package version
+post_install() {
+cat << 'EOM'
+ ==> PLEASE NOTE:
+ ==> 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
+EOM
+}
+
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ if [ "$(vercmp $2 1.2.0-2)" -lt 0 ]; then
+cat << 'EOM'
+ ==> IMPORTANT NFS UTILS CHANGES:
+ ==> This is a rather important upgrade, you are going to have to change config files.
+ ==> /etc/rc.conf daemons changes:
+ ==> Change portmap to rpcbind
+ ==> Change nfslock to nfs-common
+ ==> Change nfsd to nfs-server
+ ==>
+ ==> Extended configuration options for NFS (clients & server) are available in:
+ ==> /etc/conf.d/nfs-common
+ ==> /etc/conf.d/nfs-server
+ ==> Please change them to your needs.
+EOM
+ fi
+}
diff --git a/testing/nfs-utils/nfsd.service b/testing/nfs-utils/nfsd.service
new file mode 100644
index 000000000..e5481c3d1
--- /dev/null
+++ b/testing/nfs-utils/nfsd.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=NFS server
+After=rpcbind.service
+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
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/proc-fs-nfsd.mount b/testing/nfs-utils/proc-fs-nfsd.mount
new file mode 100644
index 000000000..f8664a8be
--- /dev/null
+++ b/testing/nfs-utils/proc-fs-nfsd.mount
@@ -0,0 +1,8 @@
+[Unit]
+Description=RPC Pipe File System
+DefaultDependencies=no
+
+[Mount]
+What=sunrpc
+Where=/proc/fs/nfsd
+Type=rpc_pipefs
diff --git a/testing/nfs-utils/rpc-gssd.service b/testing/nfs-utils/rpc-gssd.service
new file mode 100644
index 000000000..da4c71307
--- /dev/null
+++ b/testing/nfs-utils/rpc-gssd.service
@@ -0,0 +1,13 @@
+[Unit]
+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
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/rpc-idmapd.service b/testing/nfs-utils/rpc-idmapd.service
new file mode 100644
index 000000000..7785c1bd5
--- /dev/null
+++ b/testing/nfs-utils/rpc-idmapd.service
@@ -0,0 +1,13 @@
+[Unit]
+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
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/rpc-mountd.service b/testing/nfs-utils/rpc-mountd.service
new file mode 100644
index 000000000..edd8c851d
--- /dev/null
+++ b/testing/nfs-utils/rpc-mountd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=NFS Mount Daemon
+After=rpcbind.service nfsd.service
+Requires=rpcbind.service nfsd.service
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/nfs-server.conf
+ExecStart=/usr/sbin/rpc.mountd $MOUNTD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/rpc-statd.service b/testing/nfs-utils/rpc-statd.service
new file mode 100644
index 000000000..97d397faf
--- /dev/null
+++ b/testing/nfs-utils/rpc-statd.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=NFSv2/3 Network Status Monitor Daemon
+After=rpcbind.service
+Requires=rpcbind.service
+Before=remote-fs-pre.service
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/nfs-common.conf
+ExecStart=/usr/sbin/rpc.statd $STATD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/rpc-svcgssd.service b/testing/nfs-utils/rpc-svcgssd.service
new file mode 100644
index 000000000..8152e8338
--- /dev/null
+++ b/testing/nfs-utils/rpc-svcgssd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=RPC GSS-API server-side daemon
+After=rpcbind.service
+Requires=rpcbind.service
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/nfs-server.conf
+ExecStart=/usr/sbin/rpc.svcgssd $SVCGSSD_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/nfs-utils/start-statd.patch b/testing/nfs-utils/start-statd.patch
new file mode 100644
index 000000000..5d73b6e35
--- /dev/null
+++ b/testing/nfs-utils/start-statd.patch
@@ -0,0 +1,22 @@
+--- 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
+ # /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
+
diff --git a/testing/nfs-utils/var-lib-nfs-rpc_pipefs.mount b/testing/nfs-utils/var-lib-nfs-rpc_pipefs.mount
new file mode 100644
index 000000000..4bd440f24
--- /dev/null
+++ b/testing/nfs-utils/var-lib-nfs-rpc_pipefs.mount
@@ -0,0 +1,7 @@
+[Unit]
+Description=RPC pipe filesystem
+
+[Mount]
+What=rpc_pipefs
+Where=/var/lib/nfs/rpc_pipefs
+Type=rpc_pipefs
diff --git a/testing/postgresql/PKGBUILD b/testing/postgresql/PKGBUILD
index 7a79156d6..5863f2b73 100644
--- a/testing/postgresql/PKGBUILD
+++ b/testing/postgresql/PKGBUILD
@@ -1,39 +1,47 @@
-# $Id: PKGBUILD 166687 2012-09-15 16:47:20Z dan $
+# $Id: PKGBUILD 168645 2012-10-13 18:34:13Z dan $
# Maintainer: Dan McGee <dan@archlinux.org>
pkgbase=postgresql
pkgname=('postgresql-libs' 'postgresql-docs' 'postgresql')
-pkgver=9.2.0
+pkgver=9.2.1
_majorver=${pkgver%.*}
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url="http://www.postgresql.org/"
license=('custom:PostgreSQL')
makedepends=('krb5' 'libxml2' 'python2' 'perl' 'tcl' 'openssl>=1.0.0')
source=(http://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2
+ postgresql-run-socket.patch
postgresql.rcd postgresql.confd postgresql.pam postgresql.logrotate
- postgresql.service postgresql-check-db-dir)
-md5sums=('8c4c32a4abe8cf61b02c8366181ede50'
+ postgresql.service postgresql.tmpfiles.conf postgresql-check-db-dir)
+md5sums=('c0b4799ea9850eae3ead14f0a60e9418'
+ '75c579eed03ffb2312631f0b649175b4'
'1ddd1df8010549f237e7983bb326025e'
'a54d09a20ab1672adf08f037df188d53'
'96f82c38f3f540b53f3e5144900acf17'
'd28e443f9f65a5712c52018b84e27137'
- 'f0d46e63198db0a1e51dcd4a0599cd33'
+ '89b48774b0dae7c37fbb0e907c3c1db8'
+ 'd34e4ab6d589aa819a1e2829290a3b7c'
'505e0e4abfc746cae9558584d471a03c')
-sha256sums=('3731c607df492bbb57f37917b49f57719c0d6f823720426431fff10d82b1fe33'
+sha256sums=('db61d498105a7d5fe46185e67ac830c878cdd7dc1f82a87f06b842217924c461'
+ '8538619cb8bea51078b605ad64fe22abd6050373c7ae3ad6595178da52f6a7d9'
'9f6307b1358892e304f9474a456f0cb9160cfb8812a9da0430abe647f8a9cf45'
'3de5c059eead8816db15c2c5588e6196d6c4b0d704faf1a20912796cf589ba81'
'57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5'
'6abb842764bbed74ea4a269d24f1e73d1c0b1d8ecd6e2e6fb5fb10590298605e'
- 'af41dd8c1e6b124880fb4347c9fa4adabdef5b6e6bd13601cac25eb9e7bc7774'
+ 'c69b614731fdd3f4e127540814f5999f423363523c5209e252e19b1d4362ad68'
+ 'd25980980b4c747a1a49d8d4736d8440a77fb8bc3275dbdc3dc6c4cf4ae8de07'
'3a3279d290f556bf7a362670e32b491794f47ed218f6b8c6acef366a3291f669')
build() {
cd "${srcdir}/postgresql-${pkgver}"
+ patch -Np1 < ../postgresql-run-socket.patch
+
./configure --prefix=/usr \
--mandir=/usr/share/man \
--datadir=/usr/share/postgresql \
+ --sysconfdir=/etc \
--with-krb5 \
--with-libxml \
--with-openssl \
@@ -137,18 +145,20 @@ package_postgresql() {
# install launch script
install -D -m755 "${srcdir}/postgresql.rcd" "${pkgdir}/etc/rc.d/postgresql"
+ install -D -m644 "${srcdir}/postgresql.tmpfiles.conf" \
+ "${pkgdir}/usr/lib/tmpfiles.d/postgresql.conf"
install -D -m644 "${srcdir}/postgresql.service" \
"${pkgdir}/usr/lib/systemd/system/postgresql.service"
install -D -m755 "${srcdir}/postgresql-check-db-dir" \
"${pkgdir}/usr/bin/postgresql-check-db-dir"
# install conf file
- install -D -m644 ${srcdir}/postgresql.confd \
+ install -D -m644 "${srcdir}/postgresql.confd" \
"${pkgdir}/etc/conf.d/postgresql"
- install -D -m644 ${srcdir}/postgresql.pam \
+ install -D -m644 "${srcdir}/postgresql.pam" \
"${pkgdir}/etc/pam.d/postgresql"
- install -D -m644 ${srcdir}/postgresql.logrotate \
+ install -D -m644 "${srcdir}/postgresql.logrotate" \
"${pkgdir}/etc/logrotate.d/postgresql"
}
diff --git a/testing/postgresql/postgresql-run-socket.patch b/testing/postgresql/postgresql-run-socket.patch
new file mode 100644
index 000000000..b558c7b74
--- /dev/null
+++ b/testing/postgresql/postgresql-run-socket.patch
@@ -0,0 +1,12 @@
+diff -Naur postgresql-9.2.0.sockets/src/include/pg_config_manual.h postgresql-9.2.0/src/include/pg_config_manual.h
+--- postgresql-9.2.0.sockets/src/include/pg_config_manual.h 2012-09-06 17:26:17.000000000 -0400
++++ postgresql-9.2.0/src/include/pg_config_manual.h 2012-09-06 18:13:18.183092471 -0400
+@@ -144,7 +144,7 @@
+ * here's where to twiddle it. You can also override this at runtime
+ * with the postmaster's -k switch.
+ */
+-#define DEFAULT_PGSOCKET_DIR "/tmp"
++#define DEFAULT_PGSOCKET_DIR "/run/postgresql"
+
+ /*
+ * The random() function is expected to yield values between 0 and
diff --git a/testing/postgresql/postgresql.install b/testing/postgresql/postgresql.install
index 7b73f6fa9..263bccb25 100644
--- a/testing/postgresql/postgresql.install
+++ b/testing/postgresql/postgresql.install
@@ -18,6 +18,10 @@ post_upgrade() {
if [ "$postgres_shell" = "/sbin/nologin" ]; then
chsh -s /bin/bash postgres
fi
+ if [ $(vercmp $2 '9.2.1-2') -lt 0 ]; then
+ echo "Note: The Unix domain socket location has changed; be sure to"
+ echo " restart any local applications using libpq.so."
+ fi
}
post_remove() {
diff --git a/testing/postgresql/postgresql.service b/testing/postgresql/postgresql.service
index bea14e01e..294b66e8f 100644
--- a/testing/postgresql/postgresql.service
+++ b/testing/postgresql/postgresql.service
@@ -9,7 +9,6 @@ User=postgres
Group=postgres
Environment=PGROOT=/var/lib/postgres
-Environment=PGLOG=/var/log/postgresql.log
SyslogIdentifier=postgres
PIDFile=/var/lib/postgres/data/postmaster.pid
diff --git a/testing/postgresql/postgresql.tmpfiles.conf b/testing/postgresql/postgresql.tmpfiles.conf
new file mode 100644
index 000000000..6c48e34ed
--- /dev/null
+++ b/testing/postgresql/postgresql.tmpfiles.conf
@@ -0,0 +1 @@
+d /run/postgresql 0755 postgres postgres -
diff --git a/testing/ppp/PKGBUILD b/testing/ppp/PKGBUILD
index d91c4a825..9d3bacfb0 100644
--- a/testing/ppp/PKGBUILD
+++ b/testing/ppp/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 165805 2012-08-30 17:53:10Z thomas $
+# $Id: PKGBUILD 168656 2012-10-13 20:46:01Z thomas $
# Maintainer: Thomas Baechler <thomas@archlinux.org>
pkgname=ppp
pkgver=2.4.5
-pkgrel=4
+pkgrel=5
pkgdesc="A daemon which implements the Point-to-Point Protocol for dial-up networking"
arch=(i686 x86_64)
url="http://www.samba.org/ppp/"
@@ -21,6 +21,9 @@ source=(ftp://ftp.samba.org/pub/ppp/ppp-${pkgver}.tar.gz
ip-down
ip-up.d.dns.sh
ip-down.d.dns.sh
+ ipv6-up
+ ipv6-down
+ ipv6-up.d.iface-config.sh
ppp.systemd)
md5sums=('4621bc56167b6953ec4071043fe0ec57'
'7a9259a8f038073eeea7e4552ff1849f'
@@ -30,9 +33,12 @@ md5sums=('4621bc56167b6953ec4071043fe0ec57'
'86cdaf133f7a79fb464f02d83afc7734'
'44cc662ba9aa61dd9add3ddd4c5ded57'
'e4beb16ed600b61336d50b2bd2df7cd5'
- '2fa0671f40711e69194ccf60979f8b33'
+ '529b924f644f80cf30d72a966abc7419'
'4a074d74c29625b254a1db720cb87b99'
'8d1be5af8e46393ba6eb273377831e38'
+ '4cbd0a9af01c27067450ec7d3f5fa673'
+ 'b75c2fbc4afa9f2d8108b680c88c7036'
+ '9dde53aa5a931ebe1c7e3469199777c5'
'fafead5c9d66d0574e6f0a2e5f4d4631')
build() {
@@ -70,6 +76,11 @@ package() {
install -d -m755 "${pkgdir}/etc/ppp/ip-down.d"
install -m755 ../ip-up.d.dns.sh "${pkgdir}/etc/ppp/ip-up.d/00-dns.sh"
install -m755 ../ip-down.d.dns.sh "${pkgdir}/etc/ppp/ip-down.d/00-dns.sh"
+ install -D -m755 ../ipv6-up "${pkgdir}/etc/ppp/ipv6-up"
+ install -D -m755 ../ipv6-down "${pkgdir}/etc/ppp/ipv6-down"
+ install -d -m755 "${pkgdir}/etc/ppp/ipv6-up.d"
+ install -d -m755 "${pkgdir}/etc/ppp/ipv6-down.d"
+ install -m755 ../ipv6-up.d.iface-config.sh "${pkgdir}/etc/ppp/ipv6-up.d/00-iface-config.sh"
install -D -m755 ../pon "${pkgdir}/usr/bin/pon"
install -D -m755 ../poff "${pkgdir}/usr/bin/poff"
install -D -m755 ../plog "${pkgdir}/usr/sbin/plog"
diff --git a/testing/ppp/ip-down b/testing/ppp/ip-down
index 301f3ab9b..cfd3ae093 100644
--- a/testing/ppp/ip-down
+++ b/testing/ppp/ip-down
@@ -3,7 +3,7 @@
# This script is run by pppd after the connection has ended.
#
-# Execute all scripts in /etc/ppp/ip-up.d/
+# Execute all scripts in /etc/ppp/ip-down.d/
for ipdown in /etc/ppp/ip-down.d/*.sh; do
if [ -x $ipdown ]; then
# Parameters: interface-name tty-device speed local-IP-address remote-IP-address ipparam
diff --git a/testing/ppp/ipv6-down b/testing/ppp/ipv6-down
new file mode 100644
index 000000000..d3b9e28b3
--- /dev/null
+++ b/testing/ppp/ipv6-down
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# This script is run by pppd after the connection has ended.
+#
+
+# Execute all scripts in /etc/ppp/ipv6-down.d/
+for ipdown in /etc/ppp/ipv6-down.d/*.sh; do
+ if [ -x $ipdown ]; then
+ # Parameters: interface-name tty-device speed local-link-local-address remote-link-local-address ipparam
+ $ipdown "$@"
+ fi
+done
diff --git a/testing/ppp/ipv6-up b/testing/ppp/ipv6-up
new file mode 100644
index 000000000..b294aafdc
--- /dev/null
+++ b/testing/ppp/ipv6-up
@@ -0,0 +1,12 @@
+#!/bin/sh
+#
+# This script is run by pppd when there's a successful ppp connection.
+#
+
+# Execute all scripts in /etc/ppp/ipv6-up.d/
+for ipup in /etc/ppp/ipv6-up.d/*.sh; do
+ if [ -x $ipup ]; then
+ # Parameters: interface-name tty-device speed local-link-local-address remote-link-local-address ipparam
+ $ipup "$@"
+ fi
+done
diff --git a/testing/ppp/ipv6-up.d.iface-config.sh b/testing/ppp/ipv6-up.d.iface-config.sh
new file mode 100644
index 000000000..b23d6f61d
--- /dev/null
+++ b/testing/ppp/ipv6-up.d.iface-config.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo 0 > /proc/sys/net/ipv6/conf/$1/use_tempaddr
+echo 2 > /proc/sys/net/ipv6/conf/$1/accept_ra
diff --git a/testing/util-linux/PKGBUILD b/testing/util-linux/PKGBUILD
index 45c057a63..2ff907d39 100644
--- a/testing/util-linux/PKGBUILD
+++ b/testing/util-linux/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 167927 2012-10-03 20:37:22Z tomegun $
+# $Id: PKGBUILD 168617 2012-10-13 12:08:22Z tomegun $
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=util-linux
-pkgver=2.22
-pkgrel=7
+pkgver=2.22.1
+pkgrel=1
pkgdesc="Miscellaneous system utilities for Linux"
url="http://www.kernel.org/pub/linux/utils/util-linux/"
arch=('i686' 'x86_64')
@@ -16,12 +16,10 @@ provides=("util-linux-ng=${pkgver}" 'eject')
license=('GPL2')
options=('!libtool')
source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v2.22/${pkgname}-${pkgver}.tar.xz
- su.1
uuidd.tmpfiles
pam-login
pam-common
- pam-su
- hwclock-systz.patch)
+ pam-su)
backup=(etc/pam.d/chfn
etc/pam.d/chsh
etc/pam.d/login
@@ -32,13 +30,6 @@ install=util-linux.install
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
- patch -p1 -i ../hwclock-systz.patch
-
- # unbreak --localstatedir
- # TODO(dreisner): find out what sami had in mind with these heuristics
- sed -i '71,75d' configure.ac
- ./autogen.sh
-
./configure --prefix=/usr \
--libdir=/usr/lib \
--localstatedir=/run \
@@ -52,15 +43,16 @@ build() {
--enable-socket-activation
# --enable-reset \ # part of ncurses
-# --enable-last \ # not part of any package
-# --enable-line \ # not compat
+# --enable-line \ # not part of any package
+# --enable-last \ # not compat
make
}
-check() {
- make -C "$pkgname-$pkgver" check
-}
+#check() {
+# fails for some reason in chroot, works outside
+# make -C "$pkgname-$pkgver" check
+#}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
@@ -79,19 +71,12 @@ package() {
install -m644 "$srcdir/pam-su" "${pkgdir}/etc/pam.d/su"
install -m644 "$srcdir/pam-su" "${pkgdir}/etc/pam.d/su-l"
- # broken buildsys doesn't include su(1), which means it
- # isn't even in the dist tarball
- # TODO(dreisner): patched upstream
- install -m644 "$srcdir/su.1" "$pkgdir/usr/share/man/man1/su.1"
-
# include tmpfiles fragment for uuidd
# TODO(dreisner): offer this upstream?
install -Dm644 "$srcdir/uuidd.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/uuidd.conf"
}
-md5sums=('ba2d8cc12a937231c80a04f7f7149303'
- '7f524538dcf57284a86f03a98e624f04'
+md5sums=('730cf9932531ed09b53a04ca30fcb4c9'
'a39554bfd65cccfd8254bb46922f4a67'
'4368b3f98abd8a32662e094c54e7f9b1'
'a31374fef2cba0ca34dfc7078e2969e4'
- 'fa85e5cce5d723275b14365ba71a8aad'
- '19eaa197a0cfb046661dede2e991120b')
+ 'fa85e5cce5d723275b14365ba71a8aad')
diff --git a/testing/wpa_supplicant/PKGBUILD b/testing/wpa_supplicant/PKGBUILD
index 10540bd95..5cc420cbf 100644
--- a/testing/wpa_supplicant/PKGBUILD
+++ b/testing/wpa_supplicant/PKGBUILD
@@ -1,21 +1,20 @@
-# $Id: PKGBUILD 162331 2012-06-25 10:10:22Z heftig $
+# $Id: PKGBUILD 168658 2012-10-13 20:56:07Z thomas $
# Maintainer: Thomas Bächler <thomas@archlinux.org>
pkgname=wpa_supplicant
pkgver=1.0
-pkgrel=1
+pkgrel=2
pkgdesc="A utility providing key negotiation for WPA wireless networks"
url="http://hostap.epitest.fi/wpa_supplicant"
arch=('i686' 'x86_64')
depends=('openssl' 'dbus-core' 'readline' 'libnl')
optdepends=('wpa_supplicant_gui: wpa_gui program')
license=('GPL')
-groups=('base')
backup=('etc/wpa_supplicant/wpa_supplicant.conf')
source=("http://w1.fi/releases/${pkgname}-${pkgver}.tar.gz"
config hostap_allow-linking-with-libnl-3.2.patch)
md5sums=('8650f6aa23646ef634402552d0669640'
- '380d8d1fe24bccb2a2636cb2a6038c39'
+ 'c035e45e8e240239eecd7402f235fb3b'
'473fb6b77909ec5a50b6f4d91370e86b')
build() {
diff --git a/testing/wpa_supplicant/config b/testing/wpa_supplicant/config
index 59da1e27e..5e6dfedc8 100644
--- a/testing/wpa_supplicant/config
+++ b/testing/wpa_supplicant/config
@@ -466,3 +466,17 @@ CONFIG_NO_RANDOM_POOL=y
#CONFIG_INTERWORKING=y
CONFIG_LIBNL32=y
+
+# More options that are not in defconfig:
+
+# Lightweight AP mode
+CONFIG_AP=y
+
+# P2P (WiFi Direct)
+CONFIG_P2P=y
+
+# RSN IBSS/AdHoc support
+CONFIG_IBSS_RSN=y
+
+# Simple background scan
+CONFIG_BGSCAN_SIMPLE=y