summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community-staging/collectd/PKGBUILD86
-rw-r--r--community-staging/collectd/install8
-rw-r--r--community-staging/collectd/libnotify-0.7.patch12
-rw-r--r--community-staging/collectd/libperl.patch30
-rw-r--r--community-staging/collectd/rc.d39
-rw-r--r--community-staging/collectd/yajl-2.x.patch57
-rw-r--r--community-staging/rsyslog/PKGBUILD52
-rwxr-xr-xcommunity-staging/rsyslog/rsyslog39
-rw-r--r--community-staging/rsyslog/rsyslog.conf.d6
-rw-r--r--community-staging/rsyslog/rsyslog.logrotate7
-rw-r--r--community/fityk/PKGBUILD4
-rw-r--r--community/freecol/PKGBUILD6
-rw-r--r--community/gnustep-back/PKGBUILD8
-rw-r--r--community/gnustep-base/PKGBUILD12
-rw-r--r--community/gtkwave/PKGBUILD4
-rw-r--r--community/libmemcached/PKGBUILD6
-rw-r--r--community/libmicrohttpd/PKGBUILD6
-rw-r--r--community/nut/PKGBUILD6
-rw-r--r--community/python2-pymongo/PKGBUILD3
-rw-r--r--community/qtcreator/PKGBUILD17
-rw-r--r--community/roxterm/PKGBUILD8
-rw-r--r--community/tre/PKGBUILD29
-rw-r--r--core/logrotate/PKGBUILD14
-rw-r--r--core/logrotate/logrotate-3.8.1-noasprintf.patch53
-rw-r--r--core/perl/PKGBUILD14
-rw-r--r--core/perl/perl.install8
-rw-r--r--core/perl/provides.pl286
-rw-r--r--extra/xscreensaver/PKGBUILD14
-rw-r--r--extra/xscreensaver/add-electricsheep.diff10
-rw-r--r--kde-unstable/calligra/PKGBUILD128
-rw-r--r--kde-unstable/calligra/calligra-plan.install12
-rw-r--r--multilib-testing/lib32-json-c/PKGBUILD36
-rw-r--r--multilib-testing/lib32-libpulse/PKGBUILD52
-rw-r--r--staging/hplip/PKGBUILD71
-rw-r--r--staging/hplip/hplip-cups-1.5.0-compatibility.patch10
-rw-r--r--staging/hplip/hplip.install10
-rw-r--r--staging/net-snmp/PKGBUILD51
-rw-r--r--staging/net-snmp/snmpd.confd5
-rw-r--r--staging/net-snmp/snmpd.rc39
-rw-r--r--testing/nautilus-open-terminal/PKGBUILD33
-rw-r--r--testing/nautilus-open-terminal/nautilus-open-terminal.install17
-rw-r--r--testing/nfs-utils/PKGBUILD73
-rw-r--r--testing/nfs-utils/exports15
-rw-r--r--testing/nfs-utils/idmapd.conf14
-rw-r--r--testing/nfs-utils/kernel-3.0-segfault.patch53
-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.2-kerberos-ac.patch138
-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-1.1.6-heimdal_functions.patch69
-rw-r--r--testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch57
-rw-r--r--testing/nfs-utils/nfs-utils.install32
-rw-r--r--testing/nfs-utils/start-statd.patch22
56 files changed, 2334 insertions, 184 deletions
diff --git a/community-staging/collectd/PKGBUILD b/community-staging/collectd/PKGBUILD
new file mode 100644
index 000000000..91b138629
--- /dev/null
+++ b/community-staging/collectd/PKGBUILD
@@ -0,0 +1,86 @@
+# $Id: PKGBUILD 56061 2011-09-29 21:08:43Z ebelanger $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Gerhard Brauer <gerhard.brauer@web.de>
+
+pkgname=collectd
+pkgver=5.0.0
+pkgrel=7
+pkgdesc='Daemon which collects system performance statistics periodically'
+arch=('i686' 'x86_64')
+url='http://collectd.org/'
+license=('GPL')
+options=('!libtool')
+backup=('etc/collectd.conf')
+
+optdepends=('curl: apache, ascent, curl, nginx, and write_http plugins'
+ 'libdbi: dbi plugin'
+ 'libesmtp: notify_email plugin'
+ 'libgcrypt: encryption and authentication for network plugin'
+ 'iptables: iptables plugin'
+ 'libmemcached: memcachec plugin'
+ 'libmysqlclient: mysql plugin'
+ 'iproute2: netlink plugin'
+ 'net-snmp: snmp plugin'
+ 'libnotify: notify_desktop plugin'
+ 'liboping: ping plugin'
+ 'libpcap: dns plugin'
+ 'perl: perl plugin'
+ 'postgresql-libs: postgresql plugin'
+ 'python2: python plugin'
+ 'rrdtool: rrdtool and rrdcached plugins'
+ 'lm_sensors: lm_sensors and sensors plugins'
+ 'libvirt: libvirt plugin'
+ 'libxml2: ascent and libvirt plugins'
+ 'xmms: xmms plugin'
+ 'yajl: curl_json plugin')
+
+makedepends=('curl' 'libdbi' 'libesmtp' 'libgcrypt' 'iptables' 'libmemcached'
+ 'libmysqlclient' 'iproute2' 'net-snmp' 'libnotify' 'liboping'
+ 'libpcap' 'postgresql-libs' 'python2' 'rrdtool' 'lm_sensors'
+ 'libvirt' 'libxml2' 'xmms' 'yajl')
+
+depends=('libtool')
+
+source=("${url}files/${pkgname}-${pkgver}.tar.gz"
+ 'libnotify-0.7.patch'
+ 'yajl-2.x.patch'
+ 'libperl.patch'
+ 'rc.d')
+sha1sums=('026e5121348f0e525dedb3844fe61c7713994bb7'
+ 'f6fed097c16f6c9c90b9a32a5b8e48d54b35b337'
+ 'd3854c39c9596b4f6dcf67a9eb8decea4d17120d'
+ 'b221352447b2d42cade4a65ced322bcff8a40366'
+ '0f441718d5519cb043b1130e5a1d0379078adbcc')
+
+install=install
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -p1 -i ../libperl.patch
+ autoconf
+
+ sed -i 's/ipt_error_target/bozo_error_target/g' src/owniptc/libiptc.c
+ patch -p1 -i ../libnotify-0.7.patch
+ patch -p1 -i ../yajl-2.x.patch
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --enable-static=no \
+ --with-python=/usr/bin/python2
+
+ sed -i 's/ -Werror//g' */Makefile* */*/Makefile*
+
+ make all
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m 755 ../rc.d "${pkgdir}/etc/rc.d/${pkgname}"
+ install -D -m 644 contrib/collectd2html.pl "${pkgdir}"/usr/share/collectd/collectd2html.pl
+}
diff --git a/community-staging/collectd/install b/community-staging/collectd/install
new file mode 100644
index 000000000..54cc0e1b3
--- /dev/null
+++ b/community-staging/collectd/install
@@ -0,0 +1,8 @@
+post_install() {
+ cat <<EOF
+==> Customize your /etc/collectd.conf (you really want to).
+==> Then start and stop the daemon using: /etc/rc.d/collectd
+==> To see some result of collected data, use the Perl script:
+==> /usr/share/collectd/collectd2html.pl
+EOF
+}
diff --git a/community-staging/collectd/libnotify-0.7.patch b/community-staging/collectd/libnotify-0.7.patch
new file mode 100644
index 000000000..5ea67047a
--- /dev/null
+++ b/community-staging/collectd/libnotify-0.7.patch
@@ -0,0 +1,12 @@
+diff -aur old/src/notify_desktop.c new/src/notify_desktop.c
+--- old/src/notify_desktop.c 2011-03-07 23:50:24.096691200 +0100
++++ new/src/notify_desktop.c 2011-03-07 23:52:35.486691201 +0100
+@@ -95,7 +95,7 @@
+ : (NOTIF_WARNING == n->severity) ? "WARNING"
+ : (NOTIF_OKAY == n->severity) ? "OKAY" : "UNKNOWN");
+
+- notification = notify_notification_new (summary, n->message, NULL, NULL);
++ notification = notify_notification_new (summary, n->message, NULL);
+ if (NULL == notification) {
+ log_err ("Failed to create a new notification.");
+ return -1;
diff --git a/community-staging/collectd/libperl.patch b/community-staging/collectd/libperl.patch
new file mode 100644
index 000000000..d6184f29d
--- /dev/null
+++ b/community-staging/collectd/libperl.patch
@@ -0,0 +1,30 @@
+diff -aur old/configure.in new/configure.in
+--- old/configure.in 2011-09-29 20:38:56.725672831 +1000
++++ new/configure.in 2011-09-29 20:39:07.975658829 +1000
+@@ -2810,11 +2810,13 @@
+ then
+ SAVE_CFLAGS="$CFLAGS"
+ SAVE_LDFLAGS="$LDFLAGS"
++ SAVE_LIBS="$LIBS"
+ dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string)
+ PERL_CFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ccopts`
+ PERL_LDFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ldopts`
+ CFLAGS="$CFLAGS $PERL_CFLAGS"
+ LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
++ LIBS="$LIBS -L/usr/lib/perl5/core_perl/CORE -lperl"
+
+ AC_CACHE_CHECK([for libperl],
+ [c_cv_have_libperl],
+@@ -2833,7 +2835,10 @@
+ Nullsv);
+ ]]),
+ [c_cv_have_libperl="yes"],
+- [c_cv_have_libperl="no"]
++ [
++ c_cv_have_libperl="no"
++ LIBS="$SAVE_LIBS"
++ ]
+ )
+ )
+
+Only in new: configure.in.orig
diff --git a/community-staging/collectd/rc.d b/community-staging/collectd/rc.d
new file mode 100644
index 000000000..442f2324a
--- /dev/null
+++ b/community-staging/collectd/rc.d
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+name=collectd
+prog="/usr/sbin/collectdmon"
+
+PID=$(pidof -o %PPID $prog)
+
+case "$1" in
+start)
+ stat_busy "Starting $name daemon"
+ [[ -z "$PID" ]] && $prog \
+ && { add_daemon $name; stat_done; } \
+ || { stat_fail; exit 1; }
+ ;;
+stop)
+ stat_busy "Stopping $name daemon"
+ [[ -n "$PID" ]] && kill $PID &>/dev/null \
+ && { rm_daemon $name; stat_done; } \
+ || { stat_fail; exit 1; }
+ ;;
+restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+reload)
+ stat_busy "Sending SIGHUP to $name daemon"
+ [[ -n "$PID" ]] && kill -HUP $PID &>/dev/null \
+ && { stat_done; } \
+ || { stat_fail; exit 1; }
+ ;;
+*)
+ echo "usage: $0 {start|stop|restart|reload}"
+ exit 1
+ ;;
+esac
diff --git a/community-staging/collectd/yajl-2.x.patch b/community-staging/collectd/yajl-2.x.patch
new file mode 100644
index 000000000..b90543dfe
--- /dev/null
+++ b/community-staging/collectd/yajl-2.x.patch
@@ -0,0 +1,57 @@
+--- old/src/curl_json.c 2011-04-25 20:43:00.972938855 -0400
++++ new/src/curl_json.c 2011-04-25 20:46:03.859938860 -0400
+@@ -98,8 +98,7 @@
+ return (0);
+
+ status = yajl_parse(db->yajl, (unsigned char *)buf, len);
+- if ((status != yajl_status_ok)
+- && (status != yajl_status_insufficient_data))
++ if ((status != yajl_status_ok))
+ {
+ unsigned char *msg =
+ yajl_get_error(db->yajl, /* verbose = */ 1,
+@@ -130,7 +129,7 @@
+ /* "number" may not be null terminated, so copy it into a buffer before
+ * parsing. */
+ static int cj_cb_number (void *ctx,
+- const char *number, unsigned int number_len)
++ const char *number, size_t number_len)
+ {
+ char buffer[number_len + 1];
+
+@@ -159,7 +158,7 @@
+ } /* int cj_cb_number */
+
+ static int cj_cb_map_key (void *ctx, const unsigned char *val,
+- unsigned int len)
++ size_t len)
+ {
+ cj_t *db = (cj_t *)ctx;
+ c_avl_tree_t *tree;
+@@ -187,7 +186,7 @@
+ }
+
+ static int cj_cb_string (void *ctx, const unsigned char *val,
+- unsigned int len)
++ size_t len)
+ {
+ cj_t *db = (cj_t *)ctx;
+ char str[len + 1];
+@@ -697,7 +696,7 @@
+ char *url;
+ yajl_handle yprev = db->yajl;
+
+- db->yajl = yajl_alloc (&ycallbacks, NULL, NULL, (void *)db);
++ db->yajl = yajl_alloc (&ycallbacks, NULL, (void *)db);
+ if (db->yajl == NULL)
+ {
+ ERROR ("curl_json plugin: yajl_alloc failed.");
+@@ -730,7 +729,7 @@
+ return (-1);
+ }
+
+- status = yajl_parse_complete (db->yajl);
++ status = yajl_complete_parse (db->yajl);
+ if (status != yajl_status_ok)
+ {
+ unsigned char *errmsg;
diff --git a/community-staging/rsyslog/PKGBUILD b/community-staging/rsyslog/PKGBUILD
new file mode 100644
index 000000000..7872d5f52
--- /dev/null
+++ b/community-staging/rsyslog/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 56032 2011-09-29 09:45:52Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=rsyslog
+pkgver=5.8.5
+pkgrel=2
+pkgdesc="An enhanced multi-threaded syslogd with a focus on security and reliability"
+url="http://www.rsyslog.com/"
+arch=('i686' 'x86_64')
+license=('GPL3')
+depends=('zlib')
+makedepends=('postgresql-libs>=8.4.1' 'libmysqlclient' 'net-snmp' 'gnutls')
+optdepends=('postgresql-libs: PostgreSQL Database Support'
+ 'libmysqlclient: MySQL Database Support'
+ 'net-snmp'
+ 'gnutls')
+backup=('etc/rsyslog.conf' \
+ 'etc/logrotate.d/rsyslog'
+ 'etc/conf.d/rsyslog')
+options=('strip' 'zipman' '!libtool')
+source=("http://www.rsyslog.com/files/download/rsyslog/rsyslog-$pkgver.tar.gz"
+ 'rsyslog'
+ 'rsyslog.logrotate'
+ 'rsyslog.conf.d')
+md5sums=('a73cb577cb4bc5b9c8f0d217eb054ad2'
+ 'a18bbcbb6ebdaa13a6ec6d9f3d9eb2da'
+ '8065db4bef3061a4f000ba58779f6829'
+ '1a0cd4530dd5d1439456d5ae230574d9')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr \
+ --enable-mysql \
+ --enable-pgsql \
+ --enable-mail \
+ --enable-imfile \
+ --enable-imtemplate \
+ --enable-snmp \
+ --enable-gnutls \
+ --enable-inet \
+ --with-systemdsystemunitdir=/lib/systemd/system
+ make
+}
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make install DESTDIR=${pkgdir}
+ # Install Daemons and Configuration Files
+ install -D -m755 ${srcdir}/${pkgname} ${pkgdir}/etc/rc.d/${pkgname}d
+ install -D -m644 ${pkgname}.conf ${pkgdir}/etc/${pkgname}.conf
+ install -D -m644 $srcdir/${pkgname}.logrotate ${pkgdir}/etc/logrotate.d/${pkgname}
+ install -D -m644 ${srcdir}/${pkgname}.conf.d ${pkgdir}/etc/conf.d/${pkgname}
+}
diff --git a/community-staging/rsyslog/rsyslog b/community-staging/rsyslog/rsyslog
new file mode 100755
index 000000000..ee0145418
--- /dev/null
+++ b/community-staging/rsyslog/rsyslog
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/rsyslog
+
+PID=`pidof -o %PPID /usr/sbin/rsyslogd`
+case "$1" in
+ start)
+ stat_busy "Starting RSyslogd"
+ [ -z "$PID" ] && /usr/sbin/rsyslogd $RSYSLOGD_ARGS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon rsyslogd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping RSyslogd"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm -f /var/run/rsyslogd.pid
+ rm -f /var/rsyslogd.persist
+ rm_daemon rsyslogd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-staging/rsyslog/rsyslog.conf.d b/community-staging/rsyslog/rsyslog.conf.d
new file mode 100644
index 000000000..e39f8c3b9
--- /dev/null
+++ b/community-staging/rsyslog/rsyslog.conf.d
@@ -0,0 +1,6 @@
+#
+# Parameters to be passed to rsyslogd
+# This should almost certainly include at least the current compatability
+# level, e.g. -c4
+#
+RSYSLOGD_ARGS="-c4"
diff --git a/community-staging/rsyslog/rsyslog.logrotate b/community-staging/rsyslog/rsyslog.logrotate
new file mode 100644
index 000000000..76306c560
--- /dev/null
+++ b/community-staging/rsyslog/rsyslog.logrotate
@@ -0,0 +1,7 @@
+/var/log/messages /var/log/secure /var/log/maillog /var/log/cron /var/log/spooler /var/log/boot.log {
+ missingok
+ sharedscripts
+ postrotate
+ /usr/bin/killall -HUP /usr/sbin/rsyslogd
+ endscript
+}
diff --git a/community/fityk/PKGBUILD b/community/fityk/PKGBUILD
index dff9a66b3..2e919d73e 100644
--- a/community/fityk/PKGBUILD
+++ b/community/fityk/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: Cuneyt Unlu <unlucu AT gmail.com>
pkgname=fityk
-pkgver=1.1.0
+pkgver=1.1.1
pkgrel=1
pkgdesc='A program for nonlinear fitting of analytical functions to data.'
arch=('i686' 'x86_64')
@@ -14,7 +14,7 @@ makedepends=('boost' 'git' 'python-sphinx' 'swig')
options=('!libtool')
install='fityk.install'
source=('http://biolpc22.york.ac.uk/pub/Daily_HEAD/wxWidgets.tar.gz') # daily snapshot because fityk requires a version that hasn't been released yet...
-md5sums=('c1dc712e43a84bf0ff4bee839eb00e88')
+md5sums=('e02d7a4af1201d39e20a864cd15f530f')
build() {
cd wxWidgets
diff --git a/community/freecol/PKGBUILD b/community/freecol/PKGBUILD
index 3e2d8f208..8cb0333b1 100644
--- a/community/freecol/PKGBUILD
+++ b/community/freecol/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 55188 2011-09-05 11:39:48Z svenstaro $
+# $Id: PKGBUILD 56049 2011-09-29 16:29:17Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: TDY <tdy@gmx.com>
# Contributor: Nelson Menon <nelsonmenon@gmail.com insanatorium.wordpress.com>
pkgname=freecol
-pkgver=0.10.2
+pkgver=0.10.3
pkgrel=1
pkgdesc="A turn-based strategy game based on Colonization"
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ license=('GPL')
depends=('java-runtime')
source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.zip
fc.desktop fc.sh)
-md5sums=('7889dc5fc994381f73e97eea8be5d799'
+md5sums=('9aafa286247470831cd322e688ed5103'
'55594d770904af3e3e3852d375085357'
'ae473cd1d86f8f764250ee00b6fda90b')
diff --git a/community/gnustep-back/PKGBUILD b/community/gnustep-back/PKGBUILD
index dcea5faa8..13d59afeb 100644
--- a/community/gnustep-back/PKGBUILD
+++ b/community/gnustep-back/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 51626 2011-07-12 11:01:39Z spupykin $
+# $Id: PKGBUILD 56056 2011-09-29 17:43:50Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
# Contributor: Sebastian Sareyko <public@nooms.de>
pkgname=gnustep-back
-pkgver=0.20.0
-pkgrel=2
+pkgver=0.20.1
+pkgrel=1
pkgdesc="The GNUstep GUI Backend"
arch=('i686' 'x86_64')
url="http://www.gnustep.org/"
@@ -15,7 +15,7 @@ makedepends=('gnustep-gui' 'libffi' 'gcc-objc')
conflicts=('gnustep-back-svn')
groups=('gnustep-core')
source=(ftp://ftp.gnustep.org/pub/gnustep/core/$pkgname-$pkgver.tar.gz)
-md5sums=('a28ba696419eeab17f14c2a75b21c3a7')
+md5sums=('6c6ab328de7612d0ca3fdfc2fedb1ceb')
build() {
cd $srcdir/$pkgname-$pkgver
diff --git a/community/gnustep-base/PKGBUILD b/community/gnustep-base/PKGBUILD
index f74cfa8c7..f5ddf08ff 100644
--- a/community/gnustep-base/PKGBUILD
+++ b/community/gnustep-base/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 54451 2011-08-18 15:06:41Z bluewind $
+# $Id: PKGBUILD 56058 2011-09-29 17:45:33Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Vesa Kaihlavirta <vegai@iki.fi>
# Contributor: Sebastian Sareyko <public@nooms.de>
pkgname=gnustep-base
-pkgver=1.22.0
-pkgrel=3
+pkgver=1.23.0
+pkgrel=1
pkgdesc="The GNUstep base package"
arch=('i686' 'x86_64')
url="http://www.gnustep.org/"
@@ -16,14 +16,16 @@ conflicts=('gnustep-base-svn')
groups=('gnustep-core')
options=('!emptydirs' '!makeflags')
source=(ftp://ftp.gnustep.org/pub/gnustep/core/$pkgname-$pkgver.tar.gz)
-md5sums=('7faab4891ae6c1e7a6c806d6da368410')
+md5sums=('c898a1b6cdc98e83639f319876bdbba6')
build() {
cd "$srcdir/$pkgname-$pkgver"
source /etc/profile.d/GNUstep.sh
- ./configure --prefix=/usr --sysconfdir=/etc/GNUstep --with-ffi-include=/usr/lib/libffi-3.0.9/include/
+ ./configure --prefix=/usr --sysconfdir=/etc/GNUstep \
+ --with-ffi-include=/usr/lib/libffi-`pacman -Q libffi | cut -f2 -d\ |cut -f1 -d-`/include/
# fix file ownership
sed -i 's/tar -xf $(TIMEZONE_ARCHIVE);/tar -xf $(TIMEZONE_ARCHIVE);chown -R root:root * ;/' NSTimeZones/Makefile.postamble
+ sed -i 's|.*gnutls_transport_set_lowat.*||' Source/GSSocketStream.m
make VERBOSE=1
}
diff --git a/community/gtkwave/PKGBUILD b/community/gtkwave/PKGBUILD
index c9e33afda..990491bf8 100644
--- a/community/gtkwave/PKGBUILD
+++ b/community/gtkwave/PKGBUILD
@@ -2,7 +2,7 @@
# Contributor: Jared Casper <jaredcasper@gmail.com>
pkgname=gtkwave
-pkgver=3.3.24
+pkgver=3.3.26
pkgrel=1
pkgdesc='A wave viewer which reads LXT, LXT2, VZT, GHW and VCD/EVCD files'
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ depends=('gtk2')
makedepends=('gperf')
install='gtkwave.install'
source=("http://gtkwave.sourceforge.net/gtkwave-${pkgver}.tar.gz")
-md5sums=('792cdc0b7c3e4583f407800020877d05')
+md5sums=('8b25a82cfece9611b38d6abd22125192')
build() {
cd gtkwave-${pkgver}
diff --git a/community/libmemcached/PKGBUILD b/community/libmemcached/PKGBUILD
index 7debef2fe..238dddb01 100644
--- a/community/libmemcached/PKGBUILD
+++ b/community/libmemcached/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 55487 2011-09-13 04:57:50Z foutrelis $
+# $Id: PKGBUILD 56051 2011-09-29 17:22:52Z foutrelis $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
pkgname=libmemcached
-pkgver=0.52
+pkgver=0.53
pkgrel=1
pkgdesc="C and C++ client library to the memcached server"
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ depends=('glibc')
makedepends=('perl')
options=('!libtool')
source=(http://launchpad.net/$pkgname/1.0/$pkgver/+download/$pkgname-$pkgver.tar.gz)
-sha1sums=('5219e261c84b8960676add5968a913a12caccd4a')
+sha1sums=('52e0422a8916814b7c416d1671018e9aab50e9cc')
build() {
cd "$srcdir/$pkgname-$pkgver"
diff --git a/community/libmicrohttpd/PKGBUILD b/community/libmicrohttpd/PKGBUILD
index ce58445d5..cb6b513d3 100644
--- a/community/libmicrohttpd/PKGBUILD
+++ b/community/libmicrohttpd/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 55439 2011-09-12 19:23:22Z spupykin $
+# $Id: PKGBUILD 56030 2011-09-29 09:40:54Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Maintainer: Norberto Lopes <shelika@mail.telepac.pt>
# Contributor: Kao Dome <kaodome@gmail.com>
@@ -6,7 +6,7 @@
# Contributor: Mathias Rohnstock <linksoft@gmx.de>
pkgname=libmicrohttpd
-pkgver=0.9.14
+pkgver=0.9.15
pkgrel=1
pkgdesc="a small C library that is supposed to make it easy to run an HTTP server as part of another application."
arch=('i686' 'x86_64')
@@ -16,7 +16,7 @@ options=('!libtool')
depends=('gnutls' 'libgcrypt')
install=libmicrohttpd.install
source=(ftp://ftp.gnu.org/gnu/libmicrohttpd/$pkgname-$pkgver.tar.gz)
-md5sums=('9bc69bb2898e4b27dd3dd7e4b8ac7098')
+md5sums=('fb726a48095cc6b25c245dbc27ea76b0')
build() {
cd ${pkgname}-${pkgver}
diff --git a/community/nut/PKGBUILD b/community/nut/PKGBUILD
index 3b4d7f374..7d2393124 100644
--- a/community/nut/PKGBUILD
+++ b/community/nut/PKGBUILD
@@ -2,14 +2,14 @@
# Contributor: Slash <demodevil5 [at] yahoo [dot] com>
pkgname=nut
-pkgver=16.13
-pkgrel=2
+pkgver=17.0
+pkgrel=1
pkgdesc='Records what you eat and analyzes your meals for nutrient levels in terms of the Daily Value or DV which is the standard for food labeling in the US.'
url='http://nut.sourceforge.net/'
license=('GPL')
arch=('i686' 'x86_64')
source=("http://downloads.sourceforge.net/project/nut/nut/${pkgver}/nut-${pkgver}.tar.gz")
-md5sums=('58f29a4510438ce4bd0622cd5971959c')
+md5sums=('af274dc9b7da5713a49c9976e6750b3c')
build() {
cd ${pkgname}-${pkgver}
diff --git a/community/python2-pymongo/PKGBUILD b/community/python2-pymongo/PKGBUILD
index c391f8d32..ee333c93a 100644
--- a/community/python2-pymongo/PKGBUILD
+++ b/community/python2-pymongo/PKGBUILD
@@ -3,7 +3,7 @@
# Contributor: lp76 <l.peduto@gmail.com>
pkgname=python2-pymongo
-pkgver=1.10.1
+pkgver=2.0.1
pkgrel=1
pkgdesc="Python driver for MongoDB"
license=("APACHE")
@@ -18,3 +18,4 @@ package() {
cd $srcdir/pymongo-$pkgver
python2 setup.py install --root=$pkgdir --optimize=1
}
+md5sums=('36300a5c3568707f6c5f1692f42ca008')
diff --git a/community/qtcreator/PKGBUILD b/community/qtcreator/PKGBUILD
index 81d46f98d..a5216ce4d 100644
--- a/community/qtcreator/PKGBUILD
+++ b/community/qtcreator/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 55263 2011-09-08 02:07:36Z svenstaro $
+# $Id: PKGBUILD 56042 2011-09-29 16:07:37Z svenstaro $
# Maintainer: Imanol Celaya <ornitorrincos@archlinux-es.org>
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com>
@@ -7,8 +7,8 @@
# Contributor: delor <bartekpiech gmail com>
pkgname="qtcreator"
-pkgver=2.3.0
-pkgrel=2
+pkgver=2.3.1
+pkgrel=1
pkgdesc='Lightweight, cross-platform integrated development environment'
arch=('i686' 'x86_64')
url='http://qt.nokia.com/products/developer-tools'
@@ -18,7 +18,7 @@ makedepends=('qt-private-headers>=4.7.4' 'git')
options=('docs')
source=("http://get.qt.nokia.com/qtcreator/qt-creator-${pkgver}-src.tar.gz"
'qtcreator.desktop')
-md5sums=('b7ee1b779f9afe9190c5c72fb207650c'
+md5sums=('8aa296ed9034f847bd53ee0424e5ef08'
'f1f4680b9838ff0b8f4cf11eb850d662')
build() {
@@ -43,15 +43,6 @@ package() {
make INSTALL_ROOT="${pkgdir}/usr/" install
- # qt already fixed this as well
- if [[ -f "$pkgdir/usr/lib/qmldesigner/libqtquickplugin.so" ]]; then
- echo "Remove this manual install as it is now unnecessary (probably qtcreator 2.3.0)"
- exit 1
- fi
- mkdir "$pkgdir/usr/lib/qmldesigner"
- cp lib/qmldesigner/*.so "$pkgdir/usr/lib/qmldesigner/"
- # remove it soon
-
install -Dm644 ${srcdir}/qtcreator.desktop \
${pkgdir}/usr/share/applications/qtcreator.desktop
install -Dm644 ${srcdir}/qt-creator-${pkgver}-src/LGPL_EXCEPTION.TXT \
diff --git a/community/roxterm/PKGBUILD b/community/roxterm/PKGBUILD
index b09cd3c3d..e18e1770e 100644
--- a/community/roxterm/PKGBUILD
+++ b/community/roxterm/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 55606 2011-09-15 14:20:05Z ttopper $
+# $Id: PKGBUILD 56034 2011-09-29 09:51:12Z ttopper $
# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
# Contributor: Alexander Fehr <pizzapunk gmail com>
pkgname=roxterm
-pkgver=2.1.3
+pkgver=2.2.1
pkgrel=1
pkgdesc="Tabbed, VTE-based terminal emulator"
arch=('i686' 'x86_64')
@@ -13,8 +13,8 @@ depends=('dbus-glib' 'vte3' 'hicolor-icon-theme' 'dbus' 'dbus-core' 'glib2')
makedepends=('docbook-xsl' 'xmlto' 'po4a')
install=roxterm.install
source=(http://downloads.sourceforge.net/roxterm/roxterm-$pkgver.tar.gz)
-sha1sums=('7ebfefd1196ded78185a549fb7cc4662aa661dec')
-md5sums=('73b394916f798f1829dcae316f2b5ba3')
+sha1sums=('dfa66f3fc5bf44d99fb94115c5d50e16d2b79d19')
+md5sums=('ae5870b61deca40f22cdda584f7bc201')
build() {
diff --git a/community/tre/PKGBUILD b/community/tre/PKGBUILD
index 52fb14708..b54263570 100644
--- a/community/tre/PKGBUILD
+++ b/community/tre/PKGBUILD
@@ -1,28 +1,33 @@
-# Contributor: Igor Galic<i.galic@gmail.com>
+# $Id: PKGBUILD 56023 2011-09-29 06:45:36Z andrea $
# Maintainer: Stefan Husmann <stefan-husmann@t-online.de
+# Contributor: Igor Galic<i.galic@gmail.com>
+
pkgname=tre
pkgver=0.8.0
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
pkgdesc="POSIX compliant regexp matching library. Includes agrep for aproximate grepping."
-url="http://laurikari.net/tre/index.html"
+url="http://laurikari.net/tre"
depends=('glibc')
license=('custom:BSD')
-source=(http://laurikari.net/tre/$pkgname-$pkgver.tar.bz2)
+source=("http://laurikari.net/tre/$pkgname-$pkgver.tar.bz2")
md5sums=('b4d3232593dadf6746f4727bdda20b41')
options=('!libtool')
build() {
cd ${srcdir}/$pkgname-$pkgver
- ./configure --prefix=/usr --enable-static || return 1
- make || return 1
- make DESTDIR=$pkgdir install || return 1
+ ./configure --prefix=/usr --enable-static
+ make
+}
+
+package(){
+ cd ${srcdir}/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
install -Dm644 ${srcdir}/$pkgname-$pkgver/LICENSE \
- ${pkgdir}/usr/share/licenses/$pkgname/LICENSE || return 1
- install -d ${pkgdir}/usr/share/doc/$pkgname
+ ${pkgdir}/usr/share/licenses/$pkgname/LICENSE
+ install -d ${pkgdir}/usr/share/doc/$pkgname
cd doc
- for _i in default.css tre-api.html tre-syntax.html
- do
+ for _i in default.css tre-api.html tre-syntax.html; do
install -Dm644 ${_i} ${pkgdir}/usr/share/doc/$pkgname/${_i}
- done || return 1
+ done
}
diff --git a/core/logrotate/PKGBUILD b/core/logrotate/PKGBUILD
index 901a55b64..c59ae4eca 100644
--- a/core/logrotate/PKGBUILD
+++ b/core/logrotate/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 136351 2011-08-27 04:08:31Z allan $
+# $Id: PKGBUILD 139123 2011-09-30 02:57:48Z eric $
# Maintainer: Aaron Griffin <aaron@archlinux.org>
# Contributor: Judd Vinet <jvinet@zeroflux.org>
pkgname=logrotate
-pkgver=3.8.0
-pkgrel=2
+pkgver=3.8.1
+pkgrel=1
pkgdesc="Rotates system logs automatically"
arch=('i686' 'x86_64')
url="https://fedorahosted.org/logrotate/"
@@ -13,18 +13,18 @@ groups=('base')
depends=('popt' 'cron' 'gzip')
backup=('etc/logrotate.conf')
source=(https://fedorahosted.org/releases/l/o/logrotate/logrotate-${pkgver}.tar.gz
- logrotate-3.8.0-noasprintf.patch
+ logrotate-3.8.1-noasprintf.patch
logrotate.conf
logrotate.cron.daily)
-md5sums=('590f77c13077a4c384dbec7ca9c5f242'
- '624801859beb9abe7958b6392c854d72'
+md5sums=('bd2e20d8dc644291b08f9215397d28a5'
+ 'fc8e4e15211d8aefd431d0e2e96223c4'
'462a5f364717461537eb2ae6394ad23e'
'8e23d5d4cc29b1e055b24df87e355cdc')
build() {
cd "$srcdir/${pkgname}-${pkgver}"
- patch -Np1 -i "$srcdir"/logrotate-3.8.0-noasprintf.patch
+ patch -p1 -i "$srcdir"/logrotate-3.8.1-noasprintf.patch
sed -i 's|#define DEFAULT_MAIL_COMMAND .*|#define DEFAULT_MAIL_COMMAND "/usr/bin/mail"|'\
config.h
diff --git a/core/logrotate/logrotate-3.8.1-noasprintf.patch b/core/logrotate/logrotate-3.8.1-noasprintf.patch
new file mode 100644
index 000000000..be0c08062
--- /dev/null
+++ b/core/logrotate/logrotate-3.8.1-noasprintf.patch
@@ -0,0 +1,53 @@
+--- logrotate-3.8.0.orig/config.c 2011-06-21 04:12:02.000000000 -0400
++++ logrotate-3.8.0/config.c 2011-07-12 13:47:36.274319050 -0400
+@@ -41,39 +41,6 @@
+ #include "asprintf.c"
+ #endif
+
+-#if !defined(asprintf)
+-#include <stdarg.h>
+-
+-int asprintf(char **string_ptr, const char *format, ...)
+-{
+- va_list arg;
+- char *str;
+- int size;
+- int rv;
+-
+- va_start(arg, format);
+- size = vsnprintf(NULL, 0, format, arg);
+- size++;
+- va_start(arg, format);
+- str = malloc(size);
+- if (str == NULL) {
+- va_end(arg);
+- /*
+- * Strictly speaking, GNU asprintf doesn't do this,
+- * but the caller isn't checking the return value.
+- */
+- fprintf(stderr, "failed to allocate memory\\n");
+- exit(1);
+- }
+- rv = vsnprintf(str, size, format, arg);
+- va_end(arg);
+-
+- *string_ptr = str;
+- return (rv);
+-}
+-
+-#endif
+-
+ #if !defined(strndup)
+ char *strndup(const char *s, size_t n)
+ {
+--- logrotate-3.8.0.orig/logrotate.h 2011-06-21 04:12:02.000000000 -0400
++++ logrotate-3.8.0/logrotate.h 2011-07-12 13:47:38.949285608 -0400
+@@ -66,8 +66,5 @@ extern int numLogs;
+ extern int debug;
+
+ int readAllConfigPaths(const char **paths);
+-#if !defined(asprintf)
+-int asprintf(char **string_ptr, const char *format, ...);
+-#endif
+
+ #endif
diff --git a/core/perl/PKGBUILD b/core/perl/PKGBUILD
index d25f2aae4..46ca72ef2 100644
--- a/core/perl/PKGBUILD
+++ b/core/perl/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 129898 2011-06-29 17:25:10Z foutrelis $
+# $Id: PKGBUILD 139103 2011-09-29 12:44:13Z angvp $
# Maintainer: Angel Velasquez <angvp@archlinux.org>
# Contributor: kevin <kevin.archlinux.org>
# Contributor: judd <jvinet.zeroflux.org>
# Contributor: francois <francois.archlinux.org>
pkgname=perl
-pkgver=5.14.1
-pkgrel=3
+pkgver=5.14.2
+pkgrel=2
pkgdesc="A highly capable, feature-rich programming language"
arch=(i686 x86_64)
license=('GPL' 'PerlArtistic')
@@ -16,12 +16,14 @@ changelog=ChangeLog
source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2
perlbin.sh
perlbin.csh
+provides.pl
0001-Append-CFLAGS-and-LDFLAGS-to-their-Config.pm-counter.patch)
install=perl.install
options=('!makeflags' '!purge')
-md5sums=('97cd306a2c22929cc141a09568f43bb0'
+md5sums=('04a4c5d3c1f9f19d77daff8e8cd19a26'
'5ed2542fdb9a60682f215bd33701e61a'
'1f0cbbee783e8a6d32f01be5118e0d5e'
+ '31fc0b5bb4935414394c5cfbec2cb8e5'
'c25d86206d649046538c3daab7874564')
build() {
@@ -52,6 +54,10 @@ build() {
make
}
package() {
+ # hack to work around makepkg running the subshell in check_sanity()
+ new_provides=($(cd "$srcdir/perl-$pkgver"; LD_PRELOAD=./libperl.so ./perl -Ilib "$srcdir/provides.pl" .))
+ provides=(${new_provides[@]})
+
cd ${srcdir}/${pkgname}-${pkgver}
make install
diff --git a/core/perl/perl.install b/core/perl/perl.install
index 3f7d58f23..a355c5bbe 100644
--- a/core/perl/perl.install
+++ b/core/perl/perl.install
@@ -8,11 +8,3 @@ post_install() {
return 0
}
-post_upgrade() {
- echo '- The directories /usr/lib/perl5/current, /usr/lib/perl5/site_perl/current,'
- echo ' /usr/lib/perl5/site_perl/5.10.1, and /usr/share/perl5/site_perl/5.10.1'
- echo ' have been removed from @INC.'
-
- echo '- The script/binary directories are now /usr/bin/*_perl instead of'
- echo ' /usr/lib/perl5/*_perl/bin which will be eventually removed.'
-}
diff --git a/core/perl/provides.pl b/core/perl/provides.pl
new file mode 100644
index 000000000..3bf369577
--- /dev/null
+++ b/core/perl/provides.pl
@@ -0,0 +1,286 @@
+# provides.pl
+##
+# Script for printing out a provides list of every CPAN distribution
+# that is bundled with perl.
+#
+# Justin Davis <jrcd83@gmail.com>
+
+use warnings 'FATAL' => 'all';
+use strict;
+
+package Common;
+
+sub evalver
+{
+ my ($path, $mod) = @_;
+ $mod ||= "";
+
+ open my $fh, '<', $path or die "open $path: $!";
+
+ while (<$fh>) {
+ next unless /\s*(?:\$${mod}::|\$)VERSION\s*=\s*(.+)/;
+ my $ver = eval $1;
+ return $ver unless $@;
+ warn qq{$path:$. bad version string "$ver"\n};
+ }
+
+ close $fh;
+ return undef;
+}
+
+#-----------------------------------------------------------------------------
+
+package Dists;
+
+sub maindistfile
+{
+ my ($dist, $dir) = @_;
+
+ # libpath is the modern style, installing modules under lib/
+ # with dirs matching the name components.
+ my $libpath = join q{/}, 'lib', split /-/, "${dist}.pm";
+
+ # dumbpath is an old style where there's no subdirs and just
+ # a .pm file.
+ my $dumbpath = $dist;
+ $dumbpath =~ s/\A.+-//;
+ $dumbpath .= ".pm";
+
+ my @paths = ($libpath, $dumbpath);
+ # Some modules (with simple names like XSLoader, lib, etc) are
+ # generated by Makefile.PL. Search through their generating code.
+ push @paths, "${dist}_pm.PL" if $dist =~ tr/-/-/ == 0;
+
+ for my $path (map { "$dir/$_" } @paths) { return $path if -f $path; }
+ return undef;
+}
+
+sub module_ver
+{
+ my ($dist, $dir) = @_;
+
+ my $path = maindistfile($dist, $dir) or return undef;
+
+ my $mod = $dist;
+ $mod =~ s/-/::/g;
+ my $ver = Common::evalver($path, $mod);
+ unless ($ver) {
+ warn "failed to find version in module file for $dist\n";
+ return undef;
+ }
+
+ return $ver;
+}
+
+sub changelog_ver
+{
+ my ($dist, $dir) = @_;
+
+ my $path;
+ for my $tmp (glob "$dir/{Changes,ChangeLog}") {
+ if (-f $tmp) { $path = $tmp; last; }
+ }
+ return undef unless $path;
+
+ open my $fh, '<', $path or die "open: $!";
+ while (<$fh>) {
+ return $1 if /\A\s*(?:$dist[ \t]*)?([0-9._]+)/;
+ return $1 if /\A\s*version\s+([0-9._]+)/i;
+ }
+ close $fh;
+
+ return undef;
+}
+
+# for some reason podlators has a VERSION file with perl code in it
+sub verfile_ver
+{
+ my ($dist, $dir) = @_;
+
+ my $path = "$dir/VERSION";
+ return undef unless -f $path; # no warning, only podlaters has it
+
+ return Common::evalver($path);
+}
+
+# scans a directory full of nicely separated dist. directories.
+sub scan_distroot
+{
+ my ($distroot) = @_;
+ opendir my $cpand, "$distroot" or die "failed to open $distroot";
+ my @dists = grep { !/^\./ && -d "$distroot/$_" } readdir $cpand;
+ closedir $cpand;
+
+ my @found;
+ for my $dist (@dists) {
+ my $distdir = "$distroot/$dist";
+ my $ver = (module_ver($dist, $distdir)
+ || changelog_ver($dist, $distdir)
+ || verfile_ver($dist, $distdir));
+
+ if ($ver) { push @found, [ $dist, $ver ]; }
+ else { warn "failed to find version for $dist\n"; }
+ }
+ return @found;
+}
+
+sub find
+{
+ my ($srcdir) = @_;
+ return map { scan_distroot($_) } glob "$srcdir/{cpan,dist}";
+}
+
+#-----------------------------------------------------------------------------
+
+package Modules;
+
+use HTTP::Tiny qw();
+use File::Find qw();
+use File::stat;
+
+*findfile = *File::Find::find;
+
+sub cpan_provider
+{
+ my ($module) = @_;
+ my $url = "http://cpanmetadb.appspot.com/v1.0/package/$module";
+ my $http = HTTP::Tiny->new;
+ my $resp = $http->get($url);
+ return undef unless $resp->{'success'};
+
+ my ($cpanpath) = $resp->{'content'} =~ /^distfile: (.*)$/m
+ or return undef;
+
+ my $dist = $cpanpath;
+ $dist =~ s{\A.+/}{}; # remove author directory
+ $dist =~ s{-[^-]+\z}{}; # remove version and extension
+ return ($dist eq 'perl' ? undef : $dist);
+}
+
+sub find
+{
+ my ($srcdir) = @_;
+ my $libdir = "$srcdir/lib/";
+ die "failed to find $libdir directory" unless -d $libdir;
+
+ # Find only the module files that have not changed since perl
+ # was extracted. We don't want the files perl just recently
+ # installed into lib/. We processed those already.
+ my @modfiles;
+ my $finder = sub {
+ return unless /[.]pm\z/;
+ push @modfiles, $_;
+ };
+ findfile({ 'no_chdir' => 1, 'wanted' => $finder }, $libdir);
+
+ # First we have to find what the oldest ctime actually is.
+ my $oldest = time;
+ @modfiles = map {
+ my $modfile = $_;
+ my $ctime = (stat $modfile)->ctime;
+ $oldest = $ctime if $ctime < $oldest;
+ [ $modfile, $ctime ]; # save ctime for later
+ } @modfiles;
+
+ # Then we filter out any file that was created more than a
+ # few seconds after that. Process the rest.
+ my @mods;
+ for my $modfile (@modfiles) {
+ my ($mod, $ctime) = @$modfile;
+ next if $ctime - $oldest > 5; # ignore newer files
+
+ my $path = $mod;
+ $mod =~ s{[.]pm\z}{};
+ $mod =~ s{\A$libdir}{};
+ $mod =~ s{/}{::}g;
+
+ my $ver = Common::evalver($path) || q{};
+ push @mods, [ $mod, $ver ];
+ }
+
+ # Convert modules names to the dist names who provide them.
+ my %seen;
+ my @dists;
+ for my $modref (@mods) {
+ my ($mod, $ver) = @$modref;
+ my $dist = cpan_provider($mod) or next; # filter out core modules
+ next if $seen{$dist}++; # avoid duplicate dists
+ push @dists, [ $dist, $ver ];
+ }
+ return @dists;
+}
+
+#-----------------------------------------------------------------------------
+
+package Dist2Pkg;
+
+sub name
+{
+ my ($name) = @_;
+ my $orig = $name;
+
+ # Package names should be lowercase and consist of alphanumeric
+ # characters only (and hyphens!)...
+ $name =~ tr/A-Z/a-z/;
+ $name =~ tr/_+/-/; # _ and +'s converted to - (ie Tabbed-Text+Wrap)
+ $name =~ tr/-a-z0-9+//cd; # Delete all other chars.
+ $name =~ tr/-/-/s;
+
+ # Delete leading or trailing hyphens...
+ $name =~ s/\A-|-\z//g;
+
+ die qq{Dist. name '$orig' completely violates packaging standards}
+ unless $name;
+
+ return "perl-$name";
+}
+
+sub version
+{
+ my ($version) = @_;
+
+ # Package versions should be numbers and decimal points only...
+ $version =~ tr/-/./;
+ $version =~ tr/_0-9.-//cd;
+
+ # Remove developer versions because pacman has no special logic
+ # to compare them to regular versions like perl does.
+ $version =~ s/_[^_]+\z//;
+
+ $version =~ tr/_//d; # delete other underscores
+ $version =~ tr/././s; # only one period at a time
+ $version =~ s/\A[.]|[.]\z//g; # shouldn't start or stop with a period
+
+ return $version;
+}
+
+#-----------------------------------------------------------------------------
+
+package main;
+
+my %CPANNAME = ('List-Util' => 'Scalar-List-Utils',
+ 'Text-Tabs' => 'Text-Tabs+Wrap',
+ 'Cwd' => 'PathTools');
+
+my $perldir = shift or die "Usage: $0 [path to perl source directory]\n";
+die "$perldir is not a valid directory." unless -d $perldir;
+
+my @dists = (Dists::find($perldir), Modules::find($perldir));
+for my $dist (@dists) {
+ my $name = $dist->[0];
+ $dist->[0] = $CPANNAME{$name} if exists $CPANNAME{$name};
+}
+
+my @pkgs = map {
+ my ($name, $ver) = @$_;
+ $name = Dist2Pkg::name($name);
+ $ver = Dist2Pkg::version($ver);
+ [ $name, $ver ];
+} @dists;
+
+@pkgs = sort { $a->[0] cmp $b->[0] } @pkgs;
+
+for my $pkg (@pkgs) {
+ my ($name, $ver) = @$pkg;
+ print "$name=$ver\n";
+}
diff --git a/extra/xscreensaver/PKGBUILD b/extra/xscreensaver/PKGBUILD
index a7dae6b94..f95504400 100644
--- a/extra/xscreensaver/PKGBUILD
+++ b/extra/xscreensaver/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 124565 2011-05-22 23:54:17Z eric $
+# $Id: PKGBUILD 139121 2011-09-30 02:29:24Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=xscreensaver
-pkgver=5.14
+pkgver=5.15
pkgrel=1
pkgdesc="Screen saver and locker for the X Window System"
arch=('i686' 'x86_64')
@@ -13,12 +13,8 @@ makedepends=('bc')
backup=('etc/pam.d/xscreensaver')
source=(http://www.jwz.org/xscreensaver/${pkgname}-${pkgver}.tar.gz \
add-electricsheep.diff xscreensaver.pam LICENSE)
-md5sums=('7777f2a50d6797f9757b6e078a7bea83'
- 'f82524626ed8a6832cd279e0548a9b46'
- '367a3538f54db71f108b34cfa31088ac'
- '5e7f3f2a63d20a484742f5b4cb5d572c')
-sha1sums=('bfa37a9e7b2e93f54922191bb93dbc70c2f73772'
- '65c2933380267475f2c4560bc22f4350393b00ce'
+sha1sums=('b5ce7caa19f4d57c3bac83377a36dddbe7095052'
+ '677496218b81a42d90bee400026e94dd87fb8ffb'
'106635aa1aae51d6f0668b1853f6c49a4fe9d3d8'
'4209ea586b204fd1d81c382a0522c654f9fd9134')
@@ -28,7 +24,7 @@ build() {
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--libexecdir=/usr/lib --with-x-app-defaults=/usr/share/X11/app-defaults \
--with-pam --without-motif --with-gtk --with-gl \
- --without-gle --with-xpm --with-pixbuf --with-jpeg
+ --without-gle --with-pixbuf --with-jpeg
make
}
diff --git a/extra/xscreensaver/add-electricsheep.diff b/extra/xscreensaver/add-electricsheep.diff
index 964de649f..18b4dea97 100644
--- a/extra/xscreensaver/add-electricsheep.diff
+++ b/extra/xscreensaver/add-electricsheep.diff
@@ -1,11 +1,11 @@
--- driver/XScreenSaver.ad.in-orig 2009-10-17 02:19:06.000000000 -0400
+++ driver/XScreenSaver.ad.in 2009-10-17 02:21:16.000000000 -0400
@@ -347,7 +347,8 @@
- - lcdscrub -root \n\
- @GL_KLUDGE@ GL: photopile -root \n\
- @GL_KLUDGE@ GL: skytentacles -root \n\
--@GL_KLUDGE@ GL: rubikblocks -root \n
-+@GL_KLUDGE@ GL: rubikblocks -root \n\
+ @GL_KLUDGE@ GL: rubikblocks -root \n\
+ @GL_KLUDGE@ GL: companioncube -root \n\
+ @GL_KLUDGE@ GL: hilbert -root \n\
+-@GL_KLUDGE@ GL: tronbit -root \n
++@GL_KLUDGE@ GL: tronbit -root \n\
+ electricsheep --root 1 \n
diff --git a/kde-unstable/calligra/PKGBUILD b/kde-unstable/calligra/PKGBUILD
index 0329e3566..9a9662026 100644
--- a/kde-unstable/calligra/PKGBUILD
+++ b/kde-unstable/calligra/PKGBUILD
@@ -1,6 +1,6 @@
-# $Id: PKGBUILD 131881 2011-07-16 15:46:51Z andrea $
+# $Id: PKGBUILD 139111 2011-09-29 14:02:55Z andrea $
# Maintainer: Ronald van Haren <ronald.archlinux.org>
-# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
pkgbase=calligra
pkgname=('calligra-filters'
@@ -12,34 +12,28 @@ pkgname=('calligra-filters'
'calligra-templates'
'calligra-tools'
'calligra-karbon'
- 'calligra-karbon-doc'
'calligra-kexi'
- 'calligra-kexi-doc'
- 'calligra-kformula'
- 'calligra-kformula-doc'
'calligra-kounavail'
- 'calligra-kplato'
+ 'calligra-plan'
'calligra-stage'
- 'calligra-stage-doc'
'calligra-krita'
'calligra-tables'
- 'calligra-tables-doc'
'calligra-words'
'calligra-handbook'
'calligra-thesaurus-doc'
'calligra-braindump'
'calligra-flow')
-pkgver=2.3.73
-pkgrel=1
+pkgver=2.3.81
+pkgrel=2
arch=('i686' 'x86_64')
url='http://www.calligra-suite.org'
license=('FDL1.2' 'GPL2' 'LGPL')
-makedepends=('kdelibs' 'kdepimlibs' 'eigen2' 'freetds' 'kdegraphics-okular'
- 'libgsf' 'libwpd' 'libwpg' 'pstoedit' 'glew' 'gsl' 'cmake' 'automoc4'
- 'boost' 'libkdcraw' 'libpqxx' 'fftw' 'opengtl')
+makedepends=('kdepimlibs' 'eigen2' 'freetds' 'kdegraphics-okular' 'libgsf'
+ 'libwpd' 'libwpg' 'pstoedit' 'glew' 'gsl' 'cmake' 'automoc4'
+ 'boost' 'libkdcraw' 'libpqxx' 'fftw' 'opengtl' 'lcms2')
groups=('calligra')
source=("http://download.kde.org/unstable/${pkgbase}-${pkgver}/${pkgbase}-${pkgver}.tar.bz2")
-md5sums=('bed6d1d2f8fcef2dc5da4ceede1f0839')
+md5sums=('7f475e22fa3740b2da2f6478880d6341')
build() {
cd "${srcdir}"
@@ -49,7 +43,11 @@ build() {
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_mobile=OFF
+ -DBUILD_active=OFF \
+ -DBUILD_mobile=OFF \
+ -DBUILD_mysql=OFF \
+ -DKDCRAW_LOCAL_FOUND=/usr/lib/libkdcraw.so \
+ -DWITH_Marble=OFF
make
}
@@ -146,66 +144,27 @@ package_calligra-tools() {
package_calligra-karbon() {
pkgdesc="Create scalable vector drawings"
depends=('calligra-libs' 'calligra-templates')
- conflicts=('koffice-karbon')
- replaces=('koffice-karbon')
+ conflicts=('koffice-karbon' 'koffice-karbon-doc' 'calligra-karbon-doc')
+ replaces=('koffice-karbon' 'koffice-karbon-doc' 'calligra-karbon-doc')
install=calligra-karbon.install
cd "${srcdir}"/build/karbon
make DESTDIR="${pkgdir}" install
}
-package_calligra-karbon-doc() {
- pkgdesc="Documentation for Karbon"
- depends=('calligra-karbon')
- conflicts=('koffice-karbon-doc')
- replaces=('koffice-karbon-doc')
-
- cd "${srcdir}"/build/doc/karbon
- make DESTDIR="${pkgdir}" install
-}
-
package_calligra-kexi() {
pkgdesc="Develop desktop database applications"
depends=('calligra-libs' 'calligra-templates')
- conflicts=('koffice-kexi')
- replaces=('koffice-kexi')
+ conflicts=('koffice-kexi' 'koffice-kexi-doc' 'calligra-kexi-doc')
+ replaces=('koffice-kexi' 'koffice-kexi-doc' 'calligra-kexi-doc')
install=calligra-kexi.install
cd "${srcdir}"/build/kexi
make DESTDIR="${pkgdir}" install
-}
-
-package_calligra-kexi-doc() {
- pkgdesc="Documentation for Kexi"
- depends=('calligra-kexi')
- conflicts=('koffice-kexi-doc')
- replaces=('koffice-kexi-doc')
-
cd "${srcdir}"/build/doc/kexi
make DESTDIR="${pkgdir}" install
}
-package_calligra-kformula() {
- pkgdesc="Formula editor"
- depends=('calligra-libs' 'calligra-templates')
- conflicts=('koffice-kformula')
- replaces=('koffice-kformula')
- install=calligra-kformula.install
-
- cd "${srcdir}"/build/kformula
- make DESTDIR="${pkgdir}" install
-}
-
-package_calligra-kformula-doc() {
- pkgdesc="Documentation for KFormula"
- depends=('calligra-kformula')
- conflicts=('koffice-kformula-doc')
- replaces=('koffice-kformula-doc')
-
- cd "${srcdir}"/build/doc/kformula
- make DESTDIR="${pkgdir}" install
-}
-
package_calligra-kounavail() {
pkgdesc="Unavailable Calligra Document"
depends=('calligra-libs')
@@ -216,14 +175,14 @@ package_calligra-kounavail() {
make DESTDIR="${pkgdir}" install
}
-package_calligra-kplato() {
+package_calligra-plan() {
pkgdesc="Calligra Project Management Component"
depends=('calligra-words')
- conflicts=('koffice-kplato')
- replaces=('koffice-kplato')
- install=calligra-kplato.install
+ conflicts=('koffice-kplato' 'calligra-kplato')
+ replaces=('koffice-kplato' 'calligra-kplato')
+ install=calligra-plan.install
- cd "${srcdir}"/build/kplato
+ cd "${srcdir}"/build/plan
make DESTDIR="${pkgdir}" install
}
@@ -231,21 +190,11 @@ package_calligra-stage() {
pkgdesc="Write presentation documents"
depends=('calligra-libs' 'calligra-templates')
optdepends=('calligra-filters: import/export filters')
- conflicts=('koffice-kpresenter')
- replaces=('koffice-kpresenter')
+ conflicts=('koffice-kpresenter' 'koffice-kpresenter-doc' 'calligra-stage-doc')
+ replaces=('koffice-kpresenter' 'koffice-kpresenter-doc' 'calligra-stage-doc')
install=calligra-stage.install
- cd "${srcdir}"/build/kpresenter
- make DESTDIR="${pkgdir}" install
-}
-
-package_calligra-stage-doc() {
- pkgdesc="Documentation for Stage"
- depends=('calligra-stage')
- conflicts=('koffice-kpresenter-doc')
- replaces=('koffice-kpresenter-doc')
-
- cd "${srcdir}"/build/doc/stage
+ cd "${srcdir}"/build/stage
make DESTDIR="${pkgdir}" install
}
@@ -254,8 +203,8 @@ package_calligra-krita() {
depends=('calligra-libs' 'calligra-templates' 'calligra-plugins' 'glew'
'qimageblitz' 'poppler-qt' 'openexr' 'opengtl')
optdepends=('calligra-filters: import/export filters')
- conflicts=('koffice-krita')
- replaces=('koffice-krita')
+ conflicts=('koffice-krita' 'calligra-krita-doc')
+ replaces=('koffice-krita' 'calligra-krita-doc')
install=calligra-krita.install
cd "${srcdir}"/build/krita
@@ -266,19 +215,12 @@ package_calligra-tables() {
pkgdesc="Write spreadsheet documents"
depends=('calligra-libs' 'calligra-templates' 'calligra-plugins' 'gsl')
optdepends=('calligra-filters: import/export filters')
- conflicts=('koffice-kspread')
- replaces=('koffice-kspread')
+ conflicts=('koffice-kspread' 'koffice-kspread-doc' 'calligra-tables-doc')
+ replaces=('koffice-kspread' 'koffice-kspread-doc' 'calligra-tables-doc')
install=calligra-tables.install
cd "${srcdir}"/build/tables
make DESTDIR="${pkgdir}" install
-}
-
-package_calligra-tables-doc() {
- pkgdesc="Documentation for Tables"
- depends=('calligra-tables')
- conflicts=('koffice-kspread-doc')
- replaces=('koffice-kspread-doc')
cd "${srcdir}"/build/doc/tables
make DESTDIR="${pkgdir}" install
@@ -326,17 +268,11 @@ package_calligra-braindump() {
package_calligra-flow() {
pkgdesc="Flowchart & Diagram Editing"
install=calligra-flow.install
+ conflicts=('calligra-flow-doc')
+ replaces=('calligra-flow-doc')
cd "${srcdir}"/build/flow
make DESTDIR="${pkgdir}" install
}
-package_calligra-flow-doc() {
- pkgdesc="Documentation for Flow"
- depends=('calligra-flow')
-
- cd "${srcdir}"/build/doc/flow
- make DESTDIR="${pkgdir}" install
-}
-
##### package apps done #####
diff --git a/kde-unstable/calligra/calligra-plan.install b/kde-unstable/calligra/calligra-plan.install
new file mode 100644
index 000000000..c2179f6e2
--- /dev/null
+++ b/kde-unstable/calligra/calligra-plan.install
@@ -0,0 +1,12 @@
+post_install() {
+ xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+} \ No newline at end of file
diff --git a/multilib-testing/lib32-json-c/PKGBUILD b/multilib-testing/lib32-json-c/PKGBUILD
new file mode 100644
index 000000000..07670938e
--- /dev/null
+++ b/multilib-testing/lib32-json-c/PKGBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr>
+# Contributor: congyiwu <congyiwu AT gmail DOT com>
+
+_pkgbasename=json-c
+pkgname=lib32-$_pkgbasename
+pkgver=0.9
+pkgrel=1
+pkgdesc="A JSON implementation in C (32-bit)"
+url="http://oss.metaparadigm.com/json-c/"
+license=("MIT")
+arch=('x86_64')
+depends=('lib32-glibc' $_pkgbasename)
+makedepends=('gcc-multilib' 'libtool-multilib')
+source=(http://oss.metaparadigm.com/$_pkgbasename/$_pkgbasename-$pkgver.tar.gz)
+md5sums=('3a13d264528dcbaf3931b0cede24abae')
+options=(!libtool)
+build() {
+ cd "$srcdir/$_pkgbasename-$pkgver"
+
+ export CC="gcc -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ ./configure --prefix=/usr --libdir=/usr/lib32
+ make
+}
+
+package() {
+ cd "$srcdir/$_pkgbasename-$pkgver"
+ make DESTDIR="$pkgdir" install
+
+ rm -r "$pkgdir/usr/include"
+
+ mkdir -p "$pkgdir/usr/share/licenses"
+ ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname"
+}
diff --git a/multilib-testing/lib32-libpulse/PKGBUILD b/multilib-testing/lib32-libpulse/PKGBUILD
new file mode 100644
index 000000000..4e298ac9b
--- /dev/null
+++ b/multilib-testing/lib32-libpulse/PKGBUILD
@@ -0,0 +1,52 @@
+# $Id: PKGBUILD 56027 2011-09-29 09:08:13Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Corrado Primier <bardo@aur.archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+_pkgbasename=libpulse
+pkgname=lib32-$_pkgbasename
+pkgdesc="A featureful, general-purpose sound server (32-bit client libraries)"
+pkgver=1.0
+pkgrel=1
+arch=(x86_64)
+url="http://pulseaudio.org/"
+license=(GPL LGPL)
+depends=(lib32-dbus-core lib32-xcb-util lib32-json-c
+ lib32-libasyncns lib32-libcap lib32-libxtst lib32-libsm lib32-libsamplerate
+ $_pkgbasename)
+makedepends=(gcc-multilib libtool-multilib intltool lib32-glib2 lib32-speex)
+optdepends=('lib32-alsa-plugins: ALSA support')
+provides=("lib32-pulseaudio=$pkgver")
+conflicts=(lib32-pulseaudio)
+replaces=(lib32-pulseaudio)
+options=(!emptydirs !libtool !makeflags)
+source=("http://freedesktop.org/software/pulseaudio/releases/pulseaudio-$pkgver.tar.xz")
+sha256sums=('e63464f8a0975446e2b4cfe768b615a66735c8d092b2366d2bdc7a2a04a249be')
+
+_libs="libpulsecommon-$pkgver.la libpulse.la libpulse-simple.la libpulse-mainloop-glib.la libpulsedsp.la"
+
+build() {
+ cd "$srcdir/pulseaudio-$pkgver"
+
+ export CC="gcc -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib32 \
+ --libexecdir=/usr/lib32 \
+ --localstatedir=/var \
+ --disable-hal \
+ --disable-tcpwrap \
+ --disable-rpath \
+ --disable-default-build-tests
+
+ make -C src $_libs
+}
+
+package() {
+ cd "$srcdir/pulseaudio-$pkgver"
+ make -C src lib_LTLIBRARIES="$_libs" DESTDIR="$pkgdir" install-libLTLIBRARIES
+ make DESTDIR="$pkgdir" install-pkgconfigDATA
+}
diff --git a/staging/hplip/PKGBUILD b/staging/hplip/PKGBUILD
new file mode 100644
index 000000000..be9b00efd
--- /dev/null
+++ b/staging/hplip/PKGBUILD
@@ -0,0 +1,71 @@
+# $Id: PKGBUILD 139100 2011-09-29 07:21:38Z eric $
+# Maintainer : Rémy Oudompheng <remy@archlinux.org>
+# Contributor: Morgan LEFIEUX <comete@archlinuxfr.org>
+
+pkgname=hplip
+pkgver=3.11.7
+pkgrel=2
+pkgdesc="Drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet"
+arch=('i686' 'x86_64')
+url="http://hplipopensource.com"
+license=('GPL')
+makedepends=('python2-qt' 'python2-gobject2' 'pkg-config' 'sane' 'rpcbind' 'cups')
+depends=('python2' 'ghostscript>=8.64-6' 'foomatic-db' 'foomatic-db-engine'
+ 'libcups>=1.3.10-3' 'net-snmp>=5.7.1' 'libusb-compat')
+optdepends=('cups: for printing support'
+ 'dbus-python: for dbus support'
+ 'sane: for scanner support'
+ 'python-imaging: for commandline scanning support'
+ 'python-notify: for Desktop notification support'
+ 'rpcbind: for network support'
+ 'python2-qt: for running hp-toolbox'
+ 'pygobject: for running hp-toolbox'
+ 'hplip-plugin: binary blobs for specific devices')
+replaces=('hpijs')
+options=('!libtool')
+install=hplip.install
+source=(http://downloads.sourceforge.net/${pkgname}/$pkgname-$pkgver.tar.gz{,.asc}
+ hplip-cups-1.5.0-compatibility.patch)
+md5sums=('5cb89a00b0c680d8bf9bf4b4f1f863b1'
+ 'f4422ee0dc842e1a53b75c24f468d65c'
+ 'a767000ce920e9f7f6a5b0a8e4392ef9')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ patch -p1 -i "$srcdir/hplip-cups-1.5.0-compatibility.patch"
+ export PYTHON=python2
+ find . -type f -exec sed -i 's~^#.*env python~#!/usr/bin/env python2~' {} +
+ ./configure --prefix=/usr \
+ --enable-qt4 \
+ --enable-foomatic-rip-hplip-install \
+ --enable-foomatic-ppd-install \
+ --enable-hpcups-install \
+ --enable-cups-drv-install \
+ --enable-hpijs-install \
+ --enable-foomatic-drv-install \
+ --enable-pp-build \
+ --enable-udev-acl-rules
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+
+ rm -rf "$pkgdir/etc/sane.d"
+ # remove autostart of hp-daemon
+ rm -r "$pkgdir/etc/xdg"
+ # move udev rules to /lib/udev/rules.d
+ mkdir -p "$pkgdir/lib/udev/rules.d"
+ mv "$pkgdir"/etc/udev/rules.d/* "$pkgdir/lib/udev/rules.d/"
+ rm -r "$pkgdir/etc/udev"
+ # remove lp user, it's not used on archlinux
+ sed -i 's|OWNER="lp", ||g' "$pkgdir/lib/udev/rules.d/40-hplip.rules"
+ # fix sysfs rules
+ sed -i -e "s|SYSFS|ATTR|g" \
+ -e "s|sysfs|attr|g" \
+ -e 's|"bin/sh|"/bin/sh|g' \
+ "$pkgdir/lib/udev/rules.d/56-hpmud_support.rules"
+}
+
diff --git a/staging/hplip/hplip-cups-1.5.0-compatibility.patch b/staging/hplip/hplip-cups-1.5.0-compatibility.patch
new file mode 100644
index 000000000..a4039e6c9
--- /dev/null
+++ b/staging/hplip/hplip-cups-1.5.0-compatibility.patch
@@ -0,0 +1,10 @@
+--- hplip-3.11.7~/prnt/hpps/hppsfilter.c 2011-07-24 18:58:05.000000000 +0000
++++ hplip-3.11.7/prnt/hpps/hppsfilter.c 2011-08-09 20:51:54.150214165 +0000
+@@ -38,6 +38,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <cups/cups.h>
++#include <cups/ppd.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+
diff --git a/staging/hplip/hplip.install b/staging/hplip/hplip.install
new file mode 100644
index 000000000..cb0eaf8e8
--- /dev/null
+++ b/staging/hplip/hplip.install
@@ -0,0 +1,10 @@
+post_install() {
+ cat << EOF
+
+NOTE
+----
+# If you want to use this driver with sane:
+# echo "hpaio" >> /etc/sane.d/dll.conf
+
+EOF
+}
diff --git a/staging/net-snmp/PKGBUILD b/staging/net-snmp/PKGBUILD
new file mode 100644
index 000000000..c5b6990e6
--- /dev/null
+++ b/staging/net-snmp/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 139097 2011-09-29 04:45:08Z eric $
+# Maintainer:
+# Contributor: Dale Blount <dale@archlinux.org>
+
+pkgname=net-snmp
+pkgver=5.7.1
+pkgrel=1
+pkgdesc="A suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6"
+arch=('i686' 'x86_64')
+url="http://www.net-snmp.org/"
+license=('BSD')
+depends=('openssl' 'libnl' 'pciutils')
+makedepends=('python2-distribute')
+optdepends=('perl-term-readkey: for snmpcheck application'
+ 'perl-tk: for snmpcheck and tkmib applications'
+ 'python2: for the python modules')
+provides=('ucd-snmp')
+backup=('etc/conf.d/snmpd')
+options=('!libtool' '!makeflags' '!emptydirs')
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.asc}
+ snmpd.confd snmpd.rc)
+sha1sums=('ddb82ce1112ef0642869d3c8d7c7e585f151849a'
+ '2bdc2839ce09d7daa608cd54687fa8beb47ed907'
+ 'cf811da9e57bbca34d8e2a3c358bb3bfc0c2b33b'
+ '90600c0141eed10d6e3ca3ccc97ad8dda15c2112')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i -e "s:\(install --basedir=\$\$dir\):\1 --root='${pkgdir}':" Makefile.in
+ PYTHONPROG=/usr/bin/python2 ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --enable-ucd-snmp-compatibility \
+ --enable-ipv6 \
+ --with-python-modules \
+ --with-default-snmp-version="3" \
+ --with-sys-contact="root@localhost" \
+ --with-sys-location="Unknown" \
+ --with-logfile="/var/log/snmpd.log" \
+ --with-mib-modules="host misc/ipfwacc ucd-snmp/diskio tunnel ucd-snmp/dlmod" \
+ --with-persistent-directory="/var/net-snmp"
+ make NETSNMP_DONT_CHECK_VERSION=1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" INSTALL_PREFIX="${pkgdir}" INSTALLDIRS=vendor install
+ install -D -m755 "${srcdir}/snmpd.rc" "${pkgdir}/etc/rc.d/snmpd"
+ install -D -m644 "${srcdir}/snmpd.confd" "${pkgdir}/etc/conf.d/snmpd"
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/staging/net-snmp/snmpd.confd b/staging/net-snmp/snmpd.confd
new file mode 100644
index 000000000..926b09bbf
--- /dev/null
+++ b/staging/net-snmp/snmpd.confd
@@ -0,0 +1,5 @@
+#
+# Parameters to be passed to snmpd
+#
+SNMPD_ARGS=""
+
diff --git a/staging/net-snmp/snmpd.rc b/staging/net-snmp/snmpd.rc
new file mode 100644
index 000000000..b00c09f4f
--- /dev/null
+++ b/staging/net-snmp/snmpd.rc
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/snmpd
+
+PID=`pidof -o %PPID /usr/sbin/snmpd`
+case "$1" in
+ start)
+ stat_busy "Starting Net-SNMP"
+ [ -z "$PID" ] && /usr/sbin/snmpd $SNMPD_ARGS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ echo $PID > /var/run/snmpd.pid
+ add_daemon snmpd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Net-SNMP"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm /var/run/snmpd.pid
+ rm_daemon snmpd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/nautilus-open-terminal/PKGBUILD b/testing/nautilus-open-terminal/PKGBUILD
new file mode 100644
index 000000000..9fdc312fe
--- /dev/null
+++ b/testing/nautilus-open-terminal/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 139113 2011-09-29 14:24:25Z ibiru $
+# Maintainer : Biru Ionut <ionut@archlinux.ro>
+# Contributor: Roman Kyrylych <Roman.Kyrylych@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+pkgname=nautilus-open-terminal
+pkgver=0.19
+pkgrel=2
+pkgdesc="A nautilus plugin for opening terminals in arbitrary local paths"
+arch=('i686' 'x86_64')
+url="http://ftp.gnome.org/pub/GNOME/sources/nautilus-open-terminal"
+license=('GPL')
+depends=('nautilus' 'gconf')
+makedepends=('pkgconfig' 'gettext' 'intltool')
+install=nautilus-open-terminal.install
+source=(ftp://ftp.gnome.org/pub/GNOME/sources/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.bz2)
+options=('!libtool')
+sha256sums=('4760f3a5a862ba9239ea92690a42ecee2c68fad413b023dd06505bdb3ee1f6af')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr --sysconfdir=/etc --disable-static
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
+
+ install -dm755 "${pkgdir}/usr/share/gconf/schemas"
+ gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain ${pkgname} "${pkgdir}"/etc/gconf/schemas/*.schemas
+ rm -rf "${pkgdir}"/etc/gconf/schemas
+}
diff --git a/testing/nautilus-open-terminal/nautilus-open-terminal.install b/testing/nautilus-open-terminal/nautilus-open-terminal.install
new file mode 100644
index 000000000..f7cdb9507
--- /dev/null
+++ b/testing/nautilus-open-terminal/nautilus-open-terminal.install
@@ -0,0 +1,17 @@
+pkgname=nautilus-open-terminal
+
+post_install() {
+ usr/sbin/gconfpkg --install ${pkgname}
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/gconfpkg --uninstall ${pkgname}
+}
diff --git a/testing/nfs-utils/PKGBUILD b/testing/nfs-utils/PKGBUILD
new file mode 100644
index 000000000..0035c88fd
--- /dev/null
+++ b/testing/nfs-utils/PKGBUILD
@@ -0,0 +1,73 @@
+# $Id: PKGBUILD 139110 2011-09-29 14:00:16Z tpowa $
+# 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.5
+pkgrel=1
+pkgdesc="Support programs for Network File Systems"
+arch=('i686' 'x86_64')
+url='http://nfs.sourceforge.net'
+license=('GPL')
+backup=(etc/{exports,idmapd.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-utils-1.1.4-mtab-sym.patch
+ nfs-utils-1.1.4-no-exec.patch)
+install=nfs-utils.install
+md5sums=('8395ac770720b83c5c469f88306d7765'
+ 'dd0d65fc6e8f422fa12520813098264b'
+ 'f73f197a16b02c3e248488ec35c4cf43'
+ 'e619f18354ff958ed624d05d08853d8f'
+ '2bf71def3263325643a09458635520f0'
+ 'ff585faf410a62c4333a027c50b56bae'
+ 'eb4f4027fab6fc1201f1ca04f5954c76'
+ 'e9144277a89a620d9bc80413158a7d27'
+ '7674106eaaa4c149bccd4f05fe3604e9'
+ '4f4827dfc93008dfadd0a530ad0872b2')
+
+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-nfsv3 --enable-nfsv4 --enable-gss \
+ --without-tcp-wrappers --with-statedir=/var/lib/nfs \
+ --enable-ipv6 --sysconfdir=/etc --enable-libmount-mount
+
+ make
+}
+
+package() {
+ cd $srcdir/${pkgname}-${pkgver}
+ 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
+ # 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/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/kernel-3.0-segfault.patch b/testing/nfs-utils/kernel-3.0-segfault.patch
new file mode 100644
index 000000000..3dba94a05
--- /dev/null
+++ b/testing/nfs-utils/kernel-3.0-segfault.patch
@@ -0,0 +1,53 @@
+mount.nfs segfaults if kernel version number does not contain
+at least 3 components delimited with a dot.
+
+Avoid this by matching up to three unsigned integers inialised
+to zero, separated by dots.
+
+A version that does not start with an integer is probably a future
+version where the versioning evolved to another scheme.
+Return UINT_MAX which is guaranteed to be higher than existing
+versions. This would also make it possible to easily identify
+versions that do not start with an integer.
+
+Signed-off-by: Luk Claes <luk@...>
+---
+ utils/mount/version.h | 16 +++++++++-------
+ 1 files changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/utils/mount/version.h b/utils/mount/version.h
+index af61a6f..531cf68 100644
+--- a/utils/mount/version.h
++++ b/utils/mount/version.h
+@@ -23,8 +23,8 @@
+ #ifndef _NFS_UTILS_MOUNT_VERSION_H
+ #define _NFS_UTILS_MOUNT_VERSION_H
+
+-#include <stdlib.h>
+-#include <string.h>
++#include <stdio.h>
++#include <limits.h>
+
+ #include <sys/utsname.h>
+
+@@ -37,14 +37,16 @@ static inline unsigned int MAKE_VERSION(unsigned int p, unsigned int q,
+ static inline unsigned int linux_version_code(void)
+ {
+ struct utsname my_utsname;
+- unsigned int p, q, r;
++ unsigned int p, q = 0, r = 0;
+
++ /* UINT_MAX as backward compatibility code should not be run */
+ if (uname(&my_utsname))
+- return 0;
++ return UINT_MAX;
+
+- p = (unsigned int)atoi(strtok(my_utsname.release, "."));
+- q = (unsigned int)atoi(strtok(NULL, "."));
+- r = (unsigned int)atoi(strtok(NULL, "."));
++ /* UINT_MAX as future versions might not start with an integer */
++ if (sscanf(my_utsname.release, "%u.%u.%u", &p, &q, &r) < 1)
++ return UINT_MAX;
++
+ return MAKE_VERSION(p, q, r);
+ }
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..4054d6b88
--- /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="--no-nfs-version 2"
+
+# 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.2-kerberos-ac.patch b/testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch
new file mode 100644
index 000000000..4a5a138e7
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.2-kerberos-ac.patch
@@ -0,0 +1,138 @@
+diff -NaurwB nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 nfs-utils-1.1.2/aclocal/kerberos5.m4
+--- nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 2008-03-14 16:46:29.000000000 +0100
++++ nfs-utils-1.1.2/aclocal/kerberos5.m4 2008-06-12 17:13:51.000000000 +0200
+@@ -1,112 +1,48 @@
+-dnl Checks for Kerberos
+-dnl NOTE: while we intend to do generic gss-api, currently we
+-dnl have a requirement to get an initial Kerberos machine
+-dnl credential. Thus, the requirement for Kerberos.
+-dnl The Kerberos gssapi library will be dynamically loaded?
+ AC_DEFUN([AC_KERBEROS_V5],[
++ K5CONFIG="krb5-config"
+ AC_MSG_CHECKING(for Kerberos v5)
+- AC_ARG_WITH(krb5,
+- [AC_HELP_STRING([--with-krb5=DIR], [use Kerberos v5 installation in DIR])],
++ AC_ARG_WITH(krb5-config,
++ [AC_HELP_STRING([--with-krb5-config=PATH], [Full Path to krb5-config.])],
+ [ case "$withval" in
+ yes|no)
+- krb5_with=""
++ K5CONFIG="krb5-config"
+ ;;
+ *)
+- krb5_with="$withval"
++ K5CONFIG="$withval"
+ ;;
+ esac ]
+ )
+
+- for dir in $krb5_with /usr /usr/kerberos /usr/local /usr/local/krb5 \
+- /usr/krb5 /usr/heimdal /usr/local/heimdal /usr/athena ; do
+- dnl This ugly hack brought on by the split installation of
+- dnl MIT Kerberos on Fedora Core 1
+- K5CONFIG=""
+- if test -f $dir/bin/krb5-config; then
+- K5CONFIG=$dir/bin/krb5-config
+- elif test -f "/usr/kerberos/bin/krb5-config"; then
+- K5CONFIG="/usr/kerberos/bin/krb5-config"
+- elif test -f "/usr/lib/mit/bin/krb5-config"; then
+- K5CONFIG="/usr/lib/mit/bin/krb5-config"
+- fi
+ if test "$K5CONFIG" != ""; then
+ KRBCFLAGS=`$K5CONFIG --cflags`
+ KRBLIBS=`$K5CONFIG --libs gssapi`
+- K5VERS=`$K5CONFIG --version | head -n 1 | awk '{split($(4),v,"."); if (v@<:@"3"@:>@ == "") v@<:@"3"@:>@ = "0"; print v@<:@"1"@:>@v@<:@"2"@:>@v@<:@"3"@:>@ }'`
+- AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
+- if test -f $dir/include/gssapi/gssapi_krb5.h -a \
+- \( -f $dir/lib/libgssapi_krb5.a -o \
+- -f $dir/lib64/libgssapi_krb5.a -o \
+- -f $dir/lib64/libgssapi_krb5.so -o \
+- -f $dir/lib/libgssapi_krb5.so \) ; then
++ if $K5CONFIG --version | grep -q -e heimdal; then
++ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f2 -d ' ' | tr -d '.'`
++ AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
++ gssapi_lib=gssapi
++ KRBIMPL="heimdal"
++ elif $K5CONFIG --version | grep -q -e mit; then
++ K5VERS=`$K5CONFIG --version | head -n 1 | cut -f4 -d ' ' | tr -d '.'`
+ AC_DEFINE(HAVE_KRB5, 1, [Define this if you have MIT Kerberos libraries])
+- KRBDIR="$dir"
+- dnl If we are using MIT K5 1.3.1 and before, we *MUST* use the
+- dnl private function (gss_krb5_ccache_name) to get correct
+- dnl behavior of changing the ccache used by gssapi.
+- dnl Starting in 1.3.2, we *DO NOT* want to use
+- dnl gss_krb5_ccache_name, instead we want to set KRB5CCNAME
+- dnl to get gssapi to use a different ccache
+ if test $K5VERS -le 131; then
+ AC_DEFINE(USE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the private function, gss_krb5_cache_name, must be used to tell the Kerberos library which credentials cache to use. Otherwise, this is done by setting the KRB5CCNAME environment variable])
+ fi
+ gssapi_lib=gssapi_krb5
+- break
+- dnl The following ugly hack brought on by the split installation
+- dnl of Heimdal Kerberos on SuSe
+- elif test \( -f $dir/include/heim_err.h -o\
+- -f $dir/include/heimdal/heim_err.h \) -a \
+- -f $dir/lib/libroken.a; then
+- AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
+- KRBDIR="$dir"
+- gssapi_lib=gssapi
+- break
+- fi
+- fi
+- done
+- dnl We didn't find a usable Kerberos environment
+- if test "x$KRBDIR" = "x"; then
+- if test "x$krb5_with" = "x"; then
+- AC_MSG_ERROR(Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=)
++ KRBIMPL="mit-krb5"
+ else
+- AC_MSG_ERROR(Kerberos v5 with GSS support not found at $krb5_with)
+- fi
++ AC_MSG_ERROR(Unknown Kerberos 5 Implementation. Is neither heimdal or mit-krb5.)
++ KRBIMPL="unknown"
+ fi
+- AC_MSG_RESULT($KRBDIR)
+-
+- dnl Check if -rpath=$(KRBDIR)/lib is needed
+- echo "The current KRBDIR is $KRBDIR"
+- if test "$KRBDIR/lib" = "/lib" -o "$KRBDIR/lib" = "/usr/lib" \
+- -o "$KRBDIR/lib" = "//lib" -o "$KRBDIR/lib" = "/usr//lib" ; then
+- KRBLDFLAGS="";
+- elif /sbin/ldconfig -p | grep > /dev/null "=> $KRBDIR/lib/"; then
+- KRBLDFLAGS="";
+- else
+- KRBLDFLAGS="-Wl,-rpath=$KRBDIR/lib"
++ AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
+ fi
++ AC_MSG_RESULT($KRBIMPL)
+
+- dnl Now check for functions within gssapi library
+- AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context,
+- AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
+- AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes,
+- AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
+- AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name,
+- AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
+-
+- dnl Check for newer error message facility
+- AC_CHECK_LIB($gssapi_lib, krb5_get_error_message,
+- AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context, AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes, AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name, AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, krb5_get_error_message, AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
++ AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless, AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
+
+- dnl Check for function to specify addressless tickets
+- AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless,
+- AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
+-
+- dnl If they specified a directory and it didn't work, give them a warning
+- if test "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then
+- AC_MSG_WARN(Using $KRBDIR instead of requested value of $krb5_with for Kerberos!)
+- fi
+-
+- AC_SUBST([KRBDIR])
+ AC_SUBST([KRBLIBS])
+ AC_SUBST([KRBCFLAGS])
+ AC_SUBST([KRBLDFLAGS])
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-1.1.6-heimdal_functions.patch b/testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch
new file mode 100644
index 000000000..7f6c7a751
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.6-heimdal_functions.patch
@@ -0,0 +1,69 @@
+diff -Naur nfs-utils-1.1.6.orig/utils/gssd/krb5_util.c nfs-utils-1.1.6/utils/gssd/krb5_util.c
+--- utils/gssd/krb5_util.c 2009-04-20 19:32:50.000000000 +0200
++++ utils/gssd/krb5_util.c 2009-04-20 20:57:31.000000000 +0200
+@@ -940,9 +940,37 @@
+ {
+ krb5_error_code ret;
+ krb5_creds creds;
+- krb5_cc_cursor cur;
+ int found = 0;
+
++#ifdef HAVE_HEIMDAL
++ krb5_creds pattern;
++ krb5_realm *client_realm;
++
++ krb5_cc_clear_mcred(&pattern);
++
++ client_realm = krb5_princ_realm (context, principal);
++
++ ret = krb5_make_principal (context, &pattern.server,
++ *client_realm, KRB5_TGS_NAME, *client_realm,
++ NULL);
++ if (ret)
++ krb5_err (context, 1, ret, "krb5_make_principal");
++ pattern.client = principal;
++
++ ret = krb5_cc_retrieve_cred (context, ccache, 0, &pattern, &creds);
++ krb5_free_principal (context, pattern.server);
++ if (ret) {
++ if (ret == KRB5_CC_END)
++ return 1;
++ krb5_err (context, 1, ret, "krb5_cc_retrieve_cred");
++ }
++
++ found = creds.times.endtime > time(NULL);
++
++ krb5_free_cred_contents (context, &creds);
++#else
++ krb5_cc_cursor cur;
++
+ ret = krb5_cc_start_seq_get(context, ccache, &cur);
+ if (ret)
+ return 0;
+@@ -962,6 +990,7 @@
+ krb5_free_cred_contents(context, &creds);
+ }
+ krb5_cc_end_seq_get(context, ccache, &cur);
++#endif
+
+ return found;
+ }
+@@ -1008,6 +1037,9 @@
+ }
+ krb5_free_principal(context, principal);
+ err_princ:
++#ifdef HAVE_HEIMDAL
++#define KRB5_TC_OPENCLOSE 0x00000001
++#endif
+ krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE);
+ krb5_cc_close(context, ccache);
+ err_cache:
+@@ -1262,7 +1294,7 @@
+ if (context != NULL) {
+ origmsg = krb5_get_error_message(context, code);
+ msg = strdup(origmsg);
+- krb5_free_error_message(context, origmsg);
++ krb5_free_error_string(context, origmsg);
+ }
+ #endif
+ if (msg != NULL)
diff --git a/testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch b/testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch
new file mode 100644
index 000000000..917136a8c
--- /dev/null
+++ b/testing/nfs-utils/nfs-utils-1.1.6-no_libgssapi.patch
@@ -0,0 +1,57 @@
+Index: nfs-utils-1.1.6/utils/gssd/context_lucid.c
+===================================================================
+--- nfs-utils-1.1.6.orig/utils/gssd/context_lucid.c
++++ nfs-utils-1.1.6/utils/gssd/context_lucid.c
+@@ -51,8 +51,10 @@
+ #include "context.h"
+
+ #ifndef OM_uint64
++#ifndef GSSAPI_GSSAPI_H_
+ typedef uint64_t OM_uint64;
+ #endif
++#endif
+
+ static int
+ write_lucid_keyblock(char **p, char *end, gss_krb5_lucid_key_t *key)
+@@ -177,10 +179,10 @@
+ int retcode = 0;
+
+ printerr(2, "DEBUG: serialize_krb5_ctx: lucid version!\n");
+- maj_stat = gss_export_lucid_sec_context(&min_stat, &ctx,
++ maj_stat = gss_krb5_export_lucid_sec_context(&min_stat, &ctx,
+ 1, &return_ctx);
+ if (maj_stat != GSS_S_COMPLETE) {
+- pgsserr("gss_export_lucid_sec_context",
++ pgsserr("gss_krb5_export_lucid_sec_context",
+ maj_stat, min_stat, &krb5oid);
+ goto out_err;
+ }
+@@ -204,9 +206,9 @@
+ else
+ retcode = prepare_krb5_rfc_cfx_buffer(lctx, buf, endtime);
+
+- maj_stat = gss_free_lucid_sec_context(&min_stat, ctx, return_ctx);
++ maj_stat = gss_krb5_free_lucid_sec_context(&min_stat, ctx);
+ if (maj_stat != GSS_S_COMPLETE) {
+- pgsserr("gss_export_lucid_sec_context",
++ pgsserr("gss_krb5_export_lucid_sec_context",
+ maj_stat, min_stat, &krb5oid);
+ printerr(0, "WARN: failed to free lucid sec context\n");
+ }
+Index: nfs-utils-1.1.6/utils/gssd/krb5_util.c
+===================================================================
+--- nfs-utils-1.1.6.orig/utils/gssd/krb5_util.c
++++ nfs-utils-1.1.6/utils/gssd/krb5_util.c
+@@ -332,10 +332,10 @@
+ return -1;
+ }
+
+- maj_stat = gss_set_allowable_enctypes(&min_stat, credh, &krb5oid,
++ maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, credh,
+ num_enctypes, &enctypes);
+ if (maj_stat != GSS_S_COMPLETE) {
+- pgsserr("gss_set_allowable_enctypes",
++ pgsserr("gss_krb5_set_allowable_enctypes",
+ maj_stat, min_stat, &krb5oid);
+ gss_release_cred(&min_stat, &credh);
+ return -1;
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/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
+