diff options
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 + |