summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/bind/PKGBUILD15
-rw-r--r--testing/bind/named.service10
-rw-r--r--testing/clamav/PKGBUILD64
-rw-r--r--testing/clamav/conf.d8
-rw-r--r--testing/clamav/config.patch30
-rw-r--r--testing/clamav/install14
-rw-r--r--testing/clamav/logrotate8
-rw-r--r--testing/clamav/rc.d66
-rw-r--r--testing/clamav/service10
-rw-r--r--testing/clamav/service.fresh10
-rw-r--r--testing/clamav/tmpfiles.d1
-rw-r--r--testing/cloog/PKGBUILD31
-rw-r--r--testing/cronie/PKGBUILD68
-rw-r--r--testing/cronie/cron.deny1
-rw-r--r--testing/cronie/pam.d10
-rwxr-xr-xtesting/cronie/rc.d38
-rw-r--r--testing/cronie/service10
-rw-r--r--testing/dmraid/PKGBUILD12
-rw-r--r--testing/dmraid/dmraid.service16
-rw-r--r--testing/gcc/PKGBUILD276
-rw-r--r--testing/gcc/gcc-4.7.0-cloog-0.17.patch24
-rw-r--r--testing/gcc/gcc-4.7.1-libada-pic.patch12
-rw-r--r--testing/gcc/gcc-4.7.1-libgo-write.patch13
-rw-r--r--testing/gcc/gcc-ada.install20
-rw-r--r--testing/gcc/gcc-fortran.install16
-rw-r--r--testing/gcc/gcc-go.install20
-rw-r--r--testing/gcc/gcc-libs.install16
-rw-r--r--testing/gcc/gcc.install20
-rw-r--r--testing/gcc/gcc_pure64.patch26
-rw-r--r--testing/gcc4.6/PKGBUILD95
-rw-r--r--testing/gcc4.6/gcc-4.6.2-cloog-0.17.patch36
-rw-r--r--testing/gcc4.6/gcc-hash-style-both.patch122
-rw-r--r--testing/gcc4.6/gcc_pure64.patch26
-rw-r--r--testing/glibc/PKGBUILD27
-rwxr-xr-xtesting/glibc/nscd.rcd65
-rw-r--r--testing/glibc/nscd.service17
-rw-r--r--testing/glibc/nscd.tmpfiles1
-rw-r--r--testing/gpsd/PKGBUILD83
-rwxr-xr-xtesting/gpsd/gpsd43
-rw-r--r--testing/gpsd/gpsd.conf.d5
-rw-r--r--testing/gpsd/gpsd.install11
-rw-r--r--testing/isl/PKGBUILD32
-rw-r--r--testing/krb5/PKGBUILD92
-rw-r--r--testing/krb5/krb5-1.10.1-gcc47.patch11
-rw-r--r--testing/krb5/krb5-kadmind40
-rw-r--r--testing/krb5/krb5-kadmind.service8
-rw-r--r--testing/krb5/krb5-kdc40
-rw-r--r--testing/krb5/krb5-kdc.service9
-rw-r--r--testing/krb5/krb5-kpropd40
-rw-r--r--testing/krb5/krb5-kpropd.service8
-rw-r--r--testing/krb5/krb5-kpropd.socket9
-rw-r--r--testing/libtool/PKGBUILD49
-rw-r--r--testing/libtool/libtool.install20
-rw-r--r--testing/lm_sensors/PKGBUILD55
-rw-r--r--testing/lm_sensors/daemonarg.patch50
-rw-r--r--testing/lm_sensors/fancontrol.rc35
-rw-r--r--testing/lm_sensors/fancontrol.service9
-rw-r--r--testing/lm_sensors/healthd46
-rw-r--r--testing/lm_sensors/healthd.conf17
-rw-r--r--testing/lm_sensors/healthd.rc52
-rw-r--r--testing/lm_sensors/linux_3.0.patch11
-rw-r--r--testing/lm_sensors/sensord.conf4
-rw-r--r--testing/lm_sensors/sensord.rc37
-rw-r--r--testing/lm_sensors/sensors.rc119
-rw-r--r--testing/lvm2/11-dm-initramfs.rules3
-rw-r--r--testing/lvm2/PKGBUILD68
-rw-r--r--testing/lvm2/lvm.service16
-rw-r--r--testing/lvm2/lvm2.conf2
-rw-r--r--testing/lvm2/lvm2_hook24
-rw-r--r--testing/lvm2/lvm2_install31
-rw-r--r--testing/ntp/PKGBUILD64
-rw-r--r--testing/ntp/install37
-rw-r--r--testing/ntp/logrotate.d4
-rw-r--r--testing/ntp/ntp.conf23
-rwxr-xr-xtesting/ntp/ntpd47
-rw-r--r--testing/ntp/ntpd.conf5
-rw-r--r--testing/ntp/ntpd.service12
-rwxr-xr-xtesting/ntp/ntpdate29
-rw-r--r--testing/openldap/PKGBUILD104
-rw-r--r--testing/openldap/mutex-end-of-struct-sigsegv.patch293
-rw-r--r--testing/openldap/ntlm.patch230
-rw-r--r--testing/openldap/openldap.install20
-rwxr-xr-xtesting/openldap/slapd49
-rw-r--r--testing/openldap/slapd.default6
-rw-r--r--testing/openldap/slapd.service9
-rw-r--r--testing/openssh/PKGBUILD96
-rwxr-xr-xtesting/openssh/sshd45
-rw-r--r--testing/openssh/sshd.close-sessions17
-rw-r--r--testing/openssh/sshd.confd4
-rw-r--r--testing/openssh/sshd.pam13
-rw-r--r--testing/openssh/sshd.service19
-rw-r--r--testing/openssh/sshd.socket10
-rw-r--r--testing/openssh/sshdgenkeys.service18
-rw-r--r--testing/openssh/tmpfiles.d1
-rw-r--r--testing/sane/PKGBUILD72
-rw-r--r--testing/sane/libv4l-0.8.3.patch64
-rw-r--r--testing/sane/sane.install7
-rw-r--r--testing/sane/sane.xinetd11
-rw-r--r--testing/sane/saned.service8
-rw-r--r--testing/sane/saned.socket9
-rw-r--r--testing/sane/xerox_mfp_fix_usb_devices.patch67
-rw-r--r--testing/smartmontools/PKGBUILD46
-rw-r--r--testing/smartmontools/smartd.conf1
-rwxr-xr-xtesting/smartmontools/smartd.rc39
-rw-r--r--testing/squid/PKGBUILD94
-rw-r--r--testing/squid/squid48
-rw-r--r--testing/squid/squid.conf.d4
-rw-r--r--testing/squid/squid.cron9
-rw-r--r--testing/squid/squid.install26
-rw-r--r--testing/squid/squid.pam4
-rw-r--r--testing/squid/squid.service13
-rw-r--r--testing/yp-tools/PKGBUILD31
-rw-r--r--testing/yp-tools/domainname.service11
-rw-r--r--testing/ypbind-mt/PKGBUILD50
-rw-r--r--testing/ypbind-mt/nisdomainname.conf4
-rwxr-xr-xtesting/ypbind-mt/ypbind35
-rw-r--r--testing/ypbind-mt/ypbind.conf4
-rw-r--r--testing/ypbind-mt/ypbind.service13
118 files changed, 4138 insertions, 20 deletions
diff --git a/testing/bind/PKGBUILD b/testing/bind/PKGBUILD
index f154121ed..ab08fa7f0 100644
--- a/testing/bind/PKGBUILD
+++ b/testing/bind/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 160726 2012-06-04 16:39:43Z bisson $
+# $Id: PKGBUILD 161924 2012-06-16 17:12:45Z dreisner $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
# Contributor: Mario Vazquez <mario_vazq@hotmail.com>
@@ -8,7 +8,7 @@ pkgname=bind
# Use a period and not a hyphen before the patch level for proper versioning.
pkgver=9.9.1.P1
_pkgver=9.9.1-P1
-pkgrel=1
+pkgrel=2
pkgdesc='Berkeley Internet Name Daemon is the reference implementation of the DNS protocols'
url='http://www.isc.org/software/bind/'
@@ -22,6 +22,7 @@ source=("http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz"
'named'
'named.conf'
'named.conf.d'
+ 'named.service'
'named.logrotate'
'localhost.zone'
'127.0.0.zone')
@@ -31,6 +32,7 @@ sha1sums=('a2263b96ccd8a143ea54b39958142c542bf605a8'
'46232e9db243c6c05e170a1781d7a7f413be5d03'
'5ca7a5f2a132548a090a045a2df3acea6b35d9eb'
'7848edbfb9a848843f57c11c02b0289eefd42d00'
+ '05fb2346a30dee2f99c40914dd23708729839b64'
'9ffb5c3f72390a517aeae557e32349d5d278cb63'
'76a0d4cd1b913db177a5a375bebc47e5956866ec'
'53be0f1437ebe595240d8dbdd819939582b97fb9')
@@ -69,15 +71,16 @@ package() {
rmdir "${pkgdir}/var/run"
install -d "${pkgdir}"/usr/share/doc/bind
- install doc/arm/*.html "${pkgdir}"/usr/share/doc/bind/
+ install doc/arm/*.html "${pkgdir}"/usr/share/doc/bind
install -D -m755 ../named "${pkgdir}"/etc/rc.d/named
install -D -m644 ../named.conf.d "${pkgdir}"/etc/conf.d/named
+ install -D -m644 ../named.service "${pkgdir}"/usr/lib/systemd/system/named.service
install -D -m600 ../named.logrotate "${pkgdir}"/etc/logrotate.d/named
install -D -m640 -o 0 -g 40 ../named.conf "${pkgdir}"/etc/named.conf
install -d -m750 -o 0 -g 40 "${pkgdir}"/var/named
- install -m640 -o 0 -g 40 ../root.hint "${pkgdir}"/var/named/
- install -m640 -o 0 -g 40 ../127.0.0.zone "${pkgdir}"/var/named/
- install -m640 -o 0 -g 40 ../localhost.zone "${pkgdir}"/var/named/
+ install -m640 -o 0 -g 40 ../root.hint "${pkgdir}"/var/named
+ install -m640 -o 0 -g 40 ../127.0.0.zone "${pkgdir}"/var/named
+ install -m640 -o 0 -g 40 ../localhost.zone "${pkgdir}"/var/named
}
diff --git a/testing/bind/named.service b/testing/bind/named.service
new file mode 100644
index 000000000..77196f785
--- /dev/null
+++ b/testing/bind/named.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Internet domain name server
+
+[Service]
+ExecStart=/usr/sbin/named -f -u named
+ExecReload=/usr/sbin/rndc reload
+ExecStop=/usr/sbin/rndc stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/clamav/PKGBUILD b/testing/clamav/PKGBUILD
new file mode 100644
index 000000000..78b068e9f
--- /dev/null
+++ b/testing/clamav/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id: PKGBUILD 161925 2012-06-16 17:13:04Z dreisner $
+# Contributor: Dale Blount <dale@archlinux.org>
+# Contributor: Gregor Ibic <gregor.ibic@intelicom.si>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname=clamav
+pkgver=0.97.5
+pkgrel=1
+pkgdesc='Anti-virus toolkit for Unix'
+url='http://www.clamav.net/'
+license=('GPL')
+options=('!libtool')
+arch=('i686' 'x86_64')
+depends=('bzip2' 'libltdl')
+backup=('etc/clamav/clamd.conf' 'etc/clamav/freshclam.conf' 'etc/conf.d/clamav')
+source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz"
+ 'rc.d'
+ 'conf.d'
+ 'service'
+ 'service.fresh'
+ 'logrotate'
+ 'tmpfiles.d'
+ 'config.patch')
+sha1sums=('1bb317ead4a1a677a9a11a063fc35a63f22309e9'
+ 'c9d508c1e5972f0f849d8694c1872455fa9e74de'
+ 'cb116cdab49a810381a515cbcfb6a6c148547f07'
+ 'df522b0488f3901e491f148c9300f6bae348c605'
+ 'cda9a087e5593992150cb456e34c5f6f589aca82'
+ '7cace58743a36dae3e63e5e0c6cc73ea5ef9a6ee'
+ 'a224ea9b4d0f4f196827347d54bed51e11c197ea'
+ '1c8ef193919b041135115170acd6313f008de808')
+
+install=install
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ patch -p1 -i ../config.patch
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc/clamav \
+ --with-dbdir=/var/lib/clamav \
+ --disable-clamav \
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ # Make sure conf files get installed, because make install
+ # doesn't do that if clamav is already installed upon building.
+ install -Dm644 etc/clamd.conf "${pkgdir}"/etc/clamav/clamd.conf
+ install -Dm644 etc/freshclam.conf "${pkgdir}"/etc/clamav/freshclam.conf
+
+ install -Dm644 ../service.fresh "${pkgdir}"/usr/lib/systemd/system/freshclamd.service
+ install -Dm644 ../service "${pkgdir}"/usr/lib/systemd/system/clamd.service
+ install -Dm644 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/clamav.conf
+ install -Dm644 ../logrotate "${pkgdir}"/etc/logrotate.d/clamav
+ install -Dm644 ../conf.d "${pkgdir}"/etc/conf.d/clamav
+ install -Dm755 ../rc.d "${pkgdir}"/etc/rc.d/clamav
+}
diff --git a/testing/clamav/conf.d b/testing/clamav/conf.d
new file mode 100644
index 000000000..9cd44d9f8
--- /dev/null
+++ b/testing/clamav/conf.d
@@ -0,0 +1,8 @@
+# clamav startup script config options
+
+# change these to "yes" to start
+START_FRESHCLAM="no"
+START_CLAMD="no"
+
+# Options to pass to freshclam (man freshclam for more info).
+FRESHCLAM_OPTS="-c 12"
diff --git a/testing/clamav/config.patch b/testing/clamav/config.patch
new file mode 100644
index 000000000..0640df2c3
--- /dev/null
+++ b/testing/clamav/config.patch
@@ -0,0 +1,30 @@
+diff -arU 0 old/etc/clamd.conf new/etc/clamd.conf
+--- old/etc/clamd.conf 2010-12-02 19:31:21.773357389 +0100
++++ new/etc/clamd.conf 2010-12-02 19:31:45.873357389 +0100
+@@ -14 +14 @@
+-#LogFile /tmp/clamd.log
++LogFile /var/log/clamav/clamd.log
+@@ -34 +34 @@
+-#LogTime yes
++LogTime yes
+@@ -61 +61 @@
+-#PidFile /var/run/clamd.pid
++PidFile /run/clamav/clamd.pid
+@@ -65 +65 @@
+-#TemporaryDirectory /var/tmp
++TemporaryDirectory /tmp
+@@ -80 +80 @@
+-#LocalSocket /tmp/clamd.socket
++LocalSocket /var/lib/clamav/clamd.sock
+@@ -190 +190 @@
+-#User clamav
++User clamav
+diff -arU 0 old/etc/freshclam.conf new/etc/freshclam.conf
+--- old/etc/freshclam.conf 2010-12-02 19:31:21.773357389 +0100
++++ new/etc/freshclam.conf 2010-12-02 19:31:51.190024057 +0100
+@@ -17 +17 @@
+-#UpdateLogFile /var/log/freshclam.log
++UpdateLogFile /var/log/clamav/freshclam.log
+@@ -121 +121 @@
+-#NotifyClamd /path/to/clamd.conf
++NotifyClamd /etc/clamav/clamd.conf
diff --git a/testing/clamav/install b/testing/clamav/install
new file mode 100644
index 000000000..a2092e815
--- /dev/null
+++ b/testing/clamav/install
@@ -0,0 +1,14 @@
+post_install() {
+ getent group clamav &>/dev/null || groupadd -r -g 64 clamav >/dev/null
+ getent passwd clamav &>/dev/null || useradd -r -u 64 -g clamav -d /dev/null -s /bin/false -c "Clam AntiVirus" clamav >/dev/null
+
+ chown -R clamav:clamav /var/lib/clamav
+ install -o clamav -g clamav -d /run/clamav
+ install -o clamav -g clamav -d /var/log/clamav
+}
+
+post_remove() {
+ getent passwd clamav &>/dev/null && userdel clamav >/dev/null
+ getent group clamav &>/dev/null && groupdel clamav >/dev/null
+ return 0
+}
diff --git a/testing/clamav/logrotate b/testing/clamav/logrotate
new file mode 100644
index 000000000..6a9051bed
--- /dev/null
+++ b/testing/clamav/logrotate
@@ -0,0 +1,8 @@
+/var/log/clamav/clamd.log /var/log/clamav/freshclam.log {
+ create 644 clamav clamav
+ sharedscripts
+ postrotate
+ /bin/kill -HUP `cat /run/clamav/clamd.pid 2>/dev/null` 2> /dev/null || true
+ /bin/kill -HUP `cat /run/clamav/freshclam.pid 2>/dev/null` 2> /dev/null || true
+ endscript
+}
diff --git a/testing/clamav/rc.d b/testing/clamav/rc.d
new file mode 100644
index 000000000..127c86c0f
--- /dev/null
+++ b/testing/clamav/rc.d
@@ -0,0 +1,66 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+[[ -f /etc/conf.d/clamav ]] && source /etc/conf.d/clamav
+
+PID_FC=$(pidof -o %PPID /usr/bin/freshclam)
+PID_CD=$(pidof -o %PPID /usr/sbin/clamd)
+
+case "$1" in
+ start)
+ if [[ $START_CLAMD = yes ]]; then
+ stat_busy "Starting ClamD"
+ [[ -z $PID_CD ]] && /usr/sbin/clamd
+ if [[ $? -gt 0 ]]; then
+ stat_fail
+ else
+ add_daemon clamav
+ stat_done
+ fi
+ fi
+ sleep 1
+ if [[ $START_FRESHCLAM = yes ]]; then
+ stat_busy "Starting FreshClam"
+ [[ -z $PID_FC ]] && /usr/bin/freshclam -p /run/clamav/freshclam.pid -d $FRESHCLAM_OPTS
+ if [[ $? -gt 0 ]]; then
+ stat_fail
+ else
+ add_daemon clamav
+ stat_done
+ fi
+ fi
+ ;;
+ stop)
+ if [[ $START_CLAMD = yes ]]; then
+ stat_busy "Stopping ClamD"
+ [[ -n $PID_CD ]] && kill $PID_CD &> /dev/null
+ if [[ $? -gt 0 ]]; then
+ stat_fail
+ else
+ rm_daemon clamav
+ stat_done
+ fi
+ fi
+
+ if [[ $START_FRESHCLAM = yes ]]; then
+ stat_busy "Stopping FreshClam"
+ [[ -n $PID_FC ]] && kill $PID_FC &> /dev/null
+ if [[ $? -gt 0 ]]; then
+ stat_fail
+ else
+ rm_daemon clamav
+ stat_done
+ fi
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/clamav/service b/testing/clamav/service
new file mode 100644
index 000000000..5bf9eb14e
--- /dev/null
+++ b/testing/clamav/service
@@ -0,0 +1,10 @@
+[Unit]
+Description=clamav daemon
+
+[Service]
+Type=forking
+PIDFile=/run/clamav/clamd.pid
+ExecStart=/usr/sbin/clamd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/clamav/service.fresh b/testing/clamav/service.fresh
new file mode 100644
index 000000000..a0a72c2e6
--- /dev/null
+++ b/testing/clamav/service.fresh
@@ -0,0 +1,10 @@
+[Unit]
+Description=clamav updater
+
+[Service]
+Type=forking
+PIDFile=/run/clamav/freshclam.pid
+ExecStart=/usr/bin/freshclam -d -p /run/clamav/freshclam.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/clamav/tmpfiles.d b/testing/clamav/tmpfiles.d
new file mode 100644
index 000000000..22d29941e
--- /dev/null
+++ b/testing/clamav/tmpfiles.d
@@ -0,0 +1 @@
+d /run/clamav 0755 clamav clamav
diff --git a/testing/cloog/PKGBUILD b/testing/cloog/PKGBUILD
new file mode 100644
index 000000000..45b3180a6
--- /dev/null
+++ b/testing/cloog/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 161918 2012-06-16 14:55:34Z heftig $
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+pkgname=cloog
+pkgver=0.17.0
+pkgrel=2
+pkgdesc="Library that generates loops for scanning polyhedra"
+arch=('i686' 'x86_64')
+url="http://www.bastoul.net/cloog/"
+license=('GPL')
+depends=('isl' 'gmp')
+conflicts=('cloog-ppl<0.15.10-2')
+options=('!libtool')
+source=(http://www.bastoul.net/cloog/pages/download/$pkgname-$pkgver.tar.gz)
+md5sums=('0aa3302c81f65ca62c114e5264f8a802')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr --with-isl=system --with-gmp=system
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/testing/cronie/PKGBUILD b/testing/cronie/PKGBUILD
new file mode 100644
index 000000000..65386def0
--- /dev/null
+++ b/testing/cronie/PKGBUILD
@@ -0,0 +1,68 @@
+# Contributor: Kaiting Chen <kaiting.chen@kiwilight.com>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
+pkgname='cronie'
+pkgver=1.4.8
+pkgrel=2
+pkgdesc='Daemon that runs specified programs at scheduled times and related tools'
+url='https://fedorahosted.org/cronie/'
+license=('custom:BSD')
+arch=('i686' 'x86_64')
+depends=('pam' 'bash' 'run-parts')
+optdepends=('smtp-server: sending cron job output via email')
+
+source=("https://fedorahosted.org/releases/c/r/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'cron.deny'
+ 'service'
+ 'pam.d'
+ 'rc.d')
+sha1sums=('1d2ce3a6ca2a6f96ff31921e4060be3199dc10f3'
+ '0f279b8fb820340267d578dc85511c980715f91e'
+ '3038a05476829f72fc4918bee9176b273ce10340'
+ '5eff7fb31f6bc0a924243ff046704726cf20c221'
+ 'c08c040ed5cb12bc4fd15639a5242d31ec247ef5')
+
+backup=('etc/anacrontab'
+ 'etc/conf.d/crond'
+ 'etc/pam.d/crond'
+ 'etc/cron.deny')
+
+conflicts=('cron')
+provides=('cron')
+groups=('base')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --enable-anacron \
+ --with-inotify \
+ --with-pam \
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ chmod u+s "${pkgdir}"/usr/bin/crontab
+ install -d "${pkgdir}"/var/spool/{ana,}cron
+ install -d "${pkgdir}"/etc/cron.{d,hourly,daily,weekly,monthly}
+
+ install -Dm755 ../rc.d "${pkgdir}"/etc/rc.d/crond
+ install -Dm644 ../pam.d "${pkgdir}"/etc/pam.d/crond
+ install -Dm644 ../cron.deny "${pkgdir}"/etc/cron.deny
+ install -Dm644 ../service "${pkgdir}"/usr/lib/systemd/system/cronie.service
+
+ install -Dm644 crond.sysconfig "${pkgdir}"/etc/conf.d/crond
+ install -Dm644 contrib/anacrontab "${pkgdir}"/etc/anacrontab
+ install -Dm644 contrib/0hourly "${pkgdir}"/etc/cron.d/0hourly
+ install -Dm755 contrib/0anacron "${pkgdir}"/etc/cron.hourly/0anacron
+
+ install -Dm644 COPYING "${pkgdir}"/usr/share/licenses/cronie/COPYING
+}
diff --git a/testing/cronie/cron.deny b/testing/cronie/cron.deny
new file mode 100644
index 000000000..06e685cc8
--- /dev/null
+++ b/testing/cronie/cron.deny
@@ -0,0 +1 @@
+# without this file, only users listed in /etc/cron.allow can use crontab
diff --git a/testing/cronie/pam.d b/testing/cronie/pam.d
new file mode 100644
index 000000000..9a254ebc0
--- /dev/null
+++ b/testing/cronie/pam.d
@@ -0,0 +1,10 @@
+auth required pam_unix.so
+auth required pam_env.so
+
+account required pam_access.so
+account required pam_unix.so
+account required pam_time.so
+
+session required pam_loginuid.so
+session required pam_limits.so
+session required pam_unix.so
diff --git a/testing/cronie/rc.d b/testing/cronie/rc.d
new file mode 100755
index 000000000..d0659685c
--- /dev/null
+++ b/testing/cronie/rc.d
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+name=crond
+. /etc/conf.d/crond
+PID=$(pidof -o %PPID /usr/sbin/crond)
+
+case "$1" in
+start)
+ stat_busy "Starting $name daemon"
+ [[ -z "$PID" ]] && /usr/sbin/crond $CRONDARGS &>/dev/null \
+ && { 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; }
+ ;;
+reload)
+ stat_busy "Reloading $name daemon"
+ [[ -n "$PID" ]] && kill -HUP $PID &>/dev/null \
+ && { stat_done; } \
+ || { stat_fail; exit 1; }
+ ;;
+restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+*)
+ echo "usage: $0 {start|stop|restart|reload}"
+ ;;
+esac
+exit 0
diff --git a/testing/cronie/service b/testing/cronie/service
new file mode 100644
index 000000000..5ae193bfc
--- /dev/null
+++ b/testing/cronie/service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Periodic Command Scheduler
+
+[Service]
+ExecStart=/usr/sbin/crond -n
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/dmraid/PKGBUILD b/testing/dmraid/PKGBUILD
index a790de92f..9915ca8cf 100644
--- a/testing/dmraid/PKGBUILD
+++ b/testing/dmraid/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 161281 2012-06-08 22:28:01Z dreisner $
+# $Id: PKGBUILD 161941 2012-06-16 17:17:25Z dreisner $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
#Contributor: Urs Wolfer <uwolfer @ fwo.ch>
pkgname=dmraid
pkgver=1.0.0.rc16.3
-pkgrel=6
+pkgrel=7
pkgdesc="Device mapper RAID interface"
url="http://people.redhat.com/~heinzm/sw/dmraid/"
conflicts=('mkinitcpio<0.7')
@@ -15,12 +15,14 @@ source=(#ftp://ftp.archlinux.org/other/dmraid/$pkgname-$pkgver.tar.bz2
http://people.redhat.com/~heinzm/sw/dmraid/src/$pkgname-1.0.0.rc16-3.tar.bz2
dmraid_install
dmraid_hook
- dmraid_tmpfiles)
+ dmraid_tmpfiles
+ dmraid.service)
install=dmraid.install
md5sums=('819338fcef98e8e25819f0516722beeb'
'2297d23cee1aef23ec6ad8d6d1870356'
'faec669dc85f87187b45b5d3968efe2c'
- '56a8bb0ece8d206cd8efb504ee072ddd')
+ '56a8bb0ece8d206cd8efb504ee072ddd'
+ 'de0af1fdb9ed4c109b8119160167d2e9')
build() {
cd "$pkgname/1.0.0.rc16-3/$pkgname"
@@ -37,4 +39,6 @@ package() {
# fix permissions
chmod 644 "$pkgdir"/usr/include/dmraid/* "$pkgdir"/usr/lib/libdmraid.a
+
+ install -Dm644 "$srcdir/dmraid.service" "$pkgdir/usr/lib/systemd/system/dmraid.service"
}
diff --git a/testing/dmraid/dmraid.service b/testing/dmraid/dmraid.service
new file mode 100644
index 000000000..1fd142ff2
--- /dev/null
+++ b/testing/dmraid/dmraid.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Assemble FakeRAID arrays
+DefaultDependencies=no
+Requires=systemd-udev-settle.service
+After=systemd-udev-settle.service
+Before=basic.target shutdown.target
+Conflicts=shutdown.target
+
+[Service]
+ExecStart=/sbin/dmraid --ignorelocking --activate y -Z
+Type=oneshot
+TimeoutSec=0
+RemainAfterExit=true
+
+[Install]
+WantedBy=basic.target
diff --git a/testing/gcc/PKGBUILD b/testing/gcc/PKGBUILD
new file mode 100644
index 000000000..ed0b7fd2b
--- /dev/null
+++ b/testing/gcc/PKGBUILD
@@ -0,0 +1,276 @@
+# $Id: PKGBUILD 161916 2012-06-16 14:55:26Z heftig $
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# NOTE: libtool requires rebuilt with each new gcc version
+
+pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go')
+pkgver=4.7.1
+pkgrel=1
+#_snapshot=4.7-20120505
+_libstdcppmanver=20120605 # Note: check source directory name when updating this
+pkgdesc="The GNU Compiler Collection"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL' 'custom')
+url="http://gcc.gnu.org"
+makedepends=('binutils>=2.22' 'libmpc' 'cloog' 'ppl' 'gcc-ada')
+checkdepends=('dejagnu')
+options=('!libtool' '!emptydirs')
+source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
+ #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
+ ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2
+ gcc_pure64.patch
+ gcc-4.7.0-cloog-0.17.patch
+ gcc-4.7.1-libada-pic.patch
+ gcc-4.7.1-libgo-write.patch)
+md5sums=('933e6f15f51c031060af64a9e14149ff'
+ '767c62f9a047c4434f2345decf1d0819'
+ 'ced48436c1b3c981d721a829f1094de1'
+ '575f7d17b022e609447a590e481b18b5'
+ '2acbc9d35cc9d72329dc71d6b1f162ef'
+ 'df82dd175ac566c8a6d46b11ac21f14c')
+
+
+if [ -n "${_snapshot}" ]; then
+ _basedir="${srcdir}/gcc-${_snapshot}"
+else
+ _basedir="${srcdir}/gcc-${pkgver}"
+fi
+
+build() {
+ cd ${_basedir}
+
+ # Do not install libiberty
+ sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
+
+ # Do not run fixincludes
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
+ if [ "${CARCH}" = "x86_64" ]; then
+ patch -p1 -i ${srcdir}/gcc_pure64.patch
+ fi
+
+ # compatibility with latest cloog
+ patch -p1 -i ${srcdir}/gcc-4.7.0-cloog-0.17.patch
+
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53679
+ patch -p1 -i ${srcdir}/gcc-4.7.1-libgo-write.patch
+
+ # bug to file...
+ patch -p1 -i ${srcdir}/gcc-4.7.1-libada-pic.patch
+
+ echo ${pkgver} > gcc/BASE-VER
+
+ cd ${srcdir}
+ mkdir gcc-build && cd gcc-build
+
+ ${_basedir}/configure --prefix=/usr \
+ --libdir=/usr/lib --libexecdir=/usr/lib \
+ --mandir=/usr/share/man --infodir=/usr/share/info \
+ --with-bugurl=https://bugs.archlinux.org/ \
+ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \
+ --enable-shared --enable-threads=posix \
+ --with-system-zlib --enable-__cxa_atexit \
+ --disable-libunwind-exceptions --enable-clocale=gnu \
+ --disable-libstdcxx-pch --enable-libstdcxx-time \
+ --enable-gnu-unique-object --enable-linker-build-id \
+ --with-ppl --enable-cloog-backend=isl \
+ --enable-lto --enable-gold --enable-ld=default \
+ --enable-plugin --with-plugin-ld=ld.gold \
+ --with-linker-hash-style=gnu \
+ --disable-multilib --disable-libssp \
+ --disable-build-with-cxx --disable-build-poststage1-with-cxx \
+ --enable-checking=release
+ make
+}
+
+check() {
+ cd gcc-build
+
+ # increase stack size to prevent test failures
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827
+ ulimit -s 32768
+
+ # do not abort on error as some are "expected"
+ make -k check || true
+ ${_basedir}/contrib/test_summary
+}
+
+package_gcc-libs()
+{
+ pkgdesc="Runtime libraries shipped by GCC"
+ groups=('base')
+ depends=('glibc>=2.15')
+ install=gcc-libs.install
+
+ cd gcc-build
+ make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared
+ for lib in libmudflap libgomp libstdc++-v3/src libitm; do
+ make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ done
+ make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install
+ make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info
+ make -j1 -C $CHOST/libitm DESTDIR=${pkgdir} install-info
+
+ make -j1 DESTDIR=${pkgdir} install-target-libquadmath
+ make -j1 DESTDIR=${pkgdir} install-target-libgfortran
+ make -j1 DESTDIR=${pkgdir} install-target-libobjc
+
+ # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc}
+ rm -r ${pkgdir}/usr/lib/{gcc/,libgfortran.spec}
+
+ # remove static libraries
+ find ${pkgdir} -name *.a -delete
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc()
+{
+ pkgdesc="The GNU Compiler Collection - C and C++ frontends"
+ depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.22' 'libmpc' 'cloog' 'ppl')
+ groups=('base-devel')
+ install=gcc.install
+
+ cd gcc-build
+
+ make -j1 DESTDIR=${pkgdir} install
+
+ install -d $pkgdir/usr/share/gdb/auto-load/usr/lib
+ mv $pkgdir{,/usr/share/gdb/auto-load}/usr/lib/libstdc++.so.6.0.17-gdb.py
+
+ # unfortunately it is much, much easier to install the lot and clean-up the mess...
+ rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*}
+ rm $pkgdir/usr/lib/*.so*
+ rm $pkgdir/usr/lib/lib{ffi,gfortran,go{,begin},objc,quadmath}.a
+ rm $pkgdir/usr/lib/libgfortran.spec
+ rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{ada{include,lib},finclude,include/objc}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1}
+ rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{libcaf_single,libgfortranbegin}.a
+ rm -r $pkgdir/usr/lib/go
+ rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath,libitm}.info
+ rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo
+ rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1
+ rm $pkgdir/usr/share/man/man3/ffi*
+
+ # many packages require these symlinks
+ install -dm755 ${pkgdir}/lib
+ ln -s /usr/bin/cpp ${pkgdir}/lib/cpp
+ ln -s gcc ${pkgdir}/usr/bin/cc
+
+ # POSIX conformance launcher scripts for c89 and c99
+ cat > $pkgdir/usr/bin/c89 <<"EOF"
+#!/bin/sh
+fl="-std=c89"
+for opt; do
+ case "$opt" in
+ -ansi|-std=c89|-std=iso9899:1990) fl="";;
+ -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ cat > $pkgdir/usr/bin/c99 <<"EOF"
+#!/bin/sh
+fl="-std=c99"
+for opt; do
+ case "$opt" in
+ -std=c99|-std=iso9899:1999) fl="";;
+ -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2
+ exit 1;;
+ esac
+done
+exec gcc $fl ${1+"$@"}
+EOF
+
+ chmod 755 $pkgdir/usr/bin/c{8,9}9
+
+ # install the libstdc++ man pages
+ install -dm755 ${pkgdir}/usr/share/man/man3
+ install -m644 ${srcdir}/libstdc++-api.${_libstdcppmanver}.man/man3/* \
+ ${pkgdir}/usr/share/man/man3/
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-fortran()
+{
+ pkgdesc="Fortran front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+ install=gcc-fortran.install
+
+ cd gcc-build
+ make -j1 DESTDIR=${pkgdir} install-target-libquadmath
+ make -j1 DESTDIR=$pkgdir install-target-libgfortran
+ make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS
+ make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info}
+ install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951
+
+ # remove libraries included in gcc-libs
+ rm ${pkgdir}/usr/lib/lib{gfortran,quadmath}.so*
+ rm ${pkgdir}/usr/share/info/libquadmath.info
+
+ ln -s gfortran ${pkgdir}/usr/bin/f95
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-fortran/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-objc()
+{
+ pkgdesc="Objective-C front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+
+ cd gcc-build
+ make -j1 DESTDIR=$pkgdir install-target-libobjc
+ install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
+ install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/
+
+ # remove libraries included in gcc-libs
+ rm ${pkgdir}/usr/lib/libobjc.so*
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-objc/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-ada()
+{
+ pkgdesc="Ada front-end for GCC (GNAT)"
+ depends=("gcc=$pkgver-$pkgrel")
+ install=gcc-ada.install
+
+ cd gcc-build/gcc
+ make -j1 DESTDIR=$pkgdir ada.install-{common,info}
+ install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver
+
+ ln -s gcc ${pkgdir}/usr/bin/gnatgcc
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-ada/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-go()
+{
+ pkgdesc="Go front-end for GCC"
+ depends=("gcc=$pkgver-$pkgrel")
+ install=gcc-go.install
+
+ cd gcc-build
+ make -j1 DESTDIR=$pkgdir install-target-libgo
+ make -j1 -C gcc DESTDIR=$pkgdir go.install-{common,man,info}
+ install -Dm755 gcc/go1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/go1
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-go/RUNTIME.LIBRARY.EXCEPTION
+}
diff --git a/testing/gcc/gcc-4.7.0-cloog-0.17.patch b/testing/gcc/gcc-4.7.0-cloog-0.17.patch
new file mode 100644
index 000000000..c7146fa04
--- /dev/null
+++ b/testing/gcc/gcc-4.7.0-cloog-0.17.patch
@@ -0,0 +1,24 @@
+diff -Naur gcc-4.6-20120120-orig/configure gcc-4.6-20120120/configure
+--- gcc-4.6-20120120-orig/configure 2011-12-18 20:03:44.000000000 +1000
++++ gcc-4.6-20120120/configure 2012-02-03 17:55:14.885990135 +1000
+@@ -6049,8 +6049,8 @@
+ LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${ppllibs}"
+
+ if test "${cloog_org}" = yes ; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.16.1 of CLooG" >&5
+-$as_echo_n "checking for version 0.16.1 of CLooG... " >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.17 of CLooG" >&5
++$as_echo_n "checking for version 0.17 of CLooG... " >&6; }
+ if test "${gcc_cv_cloog_ct_0_14_0+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+@@ -6061,8 +6061,7 @@
+ main ()
+ {
+ #if CLOOG_VERSION_MAJOR != 0 \
+- || CLOOG_VERSION_MINOR != 16 \
+- || CLOOG_VERSION_REVISION < 1
++ || CLOOG_VERSION_MINOR != 17
+ choke me
+ #endif
+ ;
diff --git a/testing/gcc/gcc-4.7.1-libada-pic.patch b/testing/gcc/gcc-4.7.1-libada-pic.patch
new file mode 100644
index 000000000..591da1e4a
--- /dev/null
+++ b/testing/gcc/gcc-4.7.1-libada-pic.patch
@@ -0,0 +1,12 @@
+diff -Naur gcc-4.7.1-orig/libada/Makefile.in gcc-4.7.1/libada/Makefile.in
+--- gcc-4.7.1-orig/libada/Makefile.in 2012-06-13 01:12:37.000000000 +1000
++++ gcc-4.7.1/libada/Makefile.in 2012-06-16 15:04:32.179911023 +1000
+@@ -54,7 +54,7 @@
+ PICFLAG = @PICFLAG@
+ GNATLIBFLAGS= -W -Wall -gnatpg -nostdinc
+ GNATLIBCFLAGS= -g -O2
+-GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) \
++GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) $(PICFLAG) \
+ -fexceptions -DIN_RTS @have_getipinfo@
+
+ host_subdir = @host_subdir@
diff --git a/testing/gcc/gcc-4.7.1-libgo-write.patch b/testing/gcc/gcc-4.7.1-libgo-write.patch
new file mode 100644
index 000000000..a7be83fda
--- /dev/null
+++ b/testing/gcc/gcc-4.7.1-libgo-write.patch
@@ -0,0 +1,13 @@
+diff -Naur gcc-4.7.1-orig/libgo/runtime/print.c gcc-4.7.1/libgo/runtime/print.c
+--- gcc-4.7.1-orig/libgo/runtime/print.c 2012-05-26 04:22:14.000000000 +1000
++++ gcc-4.7.1/libgo/runtime/print.c 2012-06-16 15:06:28.553138502 +1000
+@@ -17,7 +17,8 @@
+ G* g = runtime_g();
+
+ if(g == nil || g->writebuf == nil) {
+- runtime_write(2, v, n);
++ ssize_t bytesWritten = runtime_write(2, v, n);
++ (void)bytesWritten;
+ return;
+ }
+
diff --git a/testing/gcc/gcc-ada.install b/testing/gcc/gcc-ada.install
new file mode 100644
index 000000000..df0553a4f
--- /dev/null
+++ b/testing/gcc/gcc-ada.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gnat-style.info gnat_rm.info gnat_ugn.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/gcc/gcc-fortran.install b/testing/gcc/gcc-fortran.install
new file mode 100644
index 000000000..b15d89a97
--- /dev/null
+++ b/testing/gcc/gcc-fortran.install
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+file="gfortran.info"
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+}
diff --git a/testing/gcc/gcc-go.install b/testing/gcc/gcc-go.install
new file mode 100644
index 000000000..7dc50dee5
--- /dev/null
+++ b/testing/gcc/gcc-go.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(gccgo.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/gcc/gcc-libs.install b/testing/gcc/gcc-libs.install
new file mode 100644
index 000000000..23553b8f0
--- /dev/null
+++ b/testing/gcc/gcc-libs.install
@@ -0,0 +1,16 @@
+infodir=usr/share/info
+filelist=(libgomp.info libquadmath.info)
+
+post_upgrade() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/gcc/gcc.install b/testing/gcc/gcc.install
new file mode 100644
index 000000000..3407a5e1f
--- /dev/null
+++ b/testing/gcc/gcc.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/gcc/gcc_pure64.patch b/testing/gcc/gcc_pure64.patch
new file mode 100644
index 000000000..a9b09bbcf
--- /dev/null
+++ b/testing/gcc/gcc_pure64.patch
@@ -0,0 +1,26 @@
+diff -Naur gcc-orig/gcc/config/i386/linux64.h gcc/gcc/config/i386/linux64.h
+--- gcc-orig/gcc/config/i386/linux64.h 2011-07-08 01:38:34.000000000 +1000
++++ gcc/gcc/config/i386/linux64.h 2011-07-24 19:48:05.000000000 +1000
+@@ -28,6 +28,6 @@
+ #define GNU_USER_LINK_EMULATION64 "elf_x86_64"
+ #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+ #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
+diff -Naur gcc-orig/gcc/config/i386/t-linux64 gcc/gcc/config/i386/t-linux64
+--- gcc-orig/gcc/config/i386/t-linux64 2011-07-08 01:38:34.000000000 +1000
++++ gcc/gcc/config/i386/t-linux64 2011-07-24 19:49:41.000000000 +1000
+@@ -34,8 +34,8 @@
+ comma=,
+ MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG))
+ MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
+-MULTILIB_OSDIRNAMES = m64=../lib64
+-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_OSDIRNAMES = m64=../lib
++MULTILIB_OSDIRNAMES+= m32=../lib32
+ MULTILIB_OSDIRNAMES+= mx32=../libx32
+
+ LIBGCC = stmp-multilib
diff --git a/testing/gcc4.6/PKGBUILD b/testing/gcc4.6/PKGBUILD
new file mode 100644
index 000000000..9ff9eac31
--- /dev/null
+++ b/testing/gcc4.6/PKGBUILD
@@ -0,0 +1,95 @@
+# $Id: PKGBUILD 161915 2012-06-16 14:55:05Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Allan McRae <allan@archlinux.org>
+
+pkgname=gcc4.6
+pkgver=4.6.3
+_ver=${pkgver:0:3}
+pkgrel=2
+pkgdesc="The GNU Compiler Collection ($_ver; C and C++)"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL' 'custom')
+url="http://gcc.gnu.org"
+depends=('glibc' 'binutils' 'gmp' 'mpfr' 'libmpc' 'ppl' 'isl' 'cloog')
+makedepends=('flex' 'bison')
+checkdepends=('dejagnu')
+options=('!libtool' '!emptydirs')
+source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
+ gcc_pure64.patch
+ gcc-hash-style-both.patch
+ gcc-4.6.2-cloog-0.17.patch)
+md5sums=('773092fe5194353b02bb0110052a972e'
+ '4030ee1c08dd1e843c0225b772360e76'
+ '4df25b623799b148a0703eaeec8fdf3f'
+ '6d9939a2e667376031679ac9f9c49263')
+
+build() {
+ cd gcc-$pkgver
+
+ # Do not install libiberty
+ sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
+
+ # Do not run fixincludes
+ sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in
+
+ if [ "${CARCH}" = "x86_64" ]; then
+ patch -p1 -i ${srcdir}/gcc_pure64.patch
+ fi
+ patch -p0 -i ${srcdir}/gcc-hash-style-both.patch
+
+ # compatibility with latest cloog
+ patch -p1 -i ${srcdir}/gcc-4.6.2-cloog-0.17.patch
+
+ echo ${pkgver} > gcc/BASE-VER
+
+ cd ..
+ mkdir gcc-build
+ cd gcc-build
+
+ ../gcc-$pkgver/configure --prefix=/usr \
+ --libdir=/usr/lib --libexecdir=/usr/lib \
+ --mandir=/usr/share/man --infodir=/usr/share/info \
+ --datadir=/usr/share/gcc-$_ver \
+ --with-bugurl=https://bugs.archlinux.org/ \
+ --enable-languages=c,c++,lto \
+ --enable-shared --enable-threads=posix \
+ --with-system-zlib --enable-__cxa_atexit \
+ --disable-libunwind-exceptions --enable-clocale=gnu \
+ --disable-libstdcxx-pch --enable-libstdcxx-time \
+ --enable-gnu-unique-object --enable-linker-build-id \
+ --with-ppl --enable-cloog-backend=isl \
+ --enable-lto --enable-gold --enable-ld=default \
+ --enable-plugin --with-plugin-ld=ld.gold \
+ --disable-multilib --disable-libssp \
+ --enable-checking=release \
+ --program-suffix=-$_ver \
+ --enable-version-specific-runtime-libs
+
+ make
+}
+
+check() {
+ # increase stack size to prevent test failures
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827
+ ulimit -s 32768
+
+ # do not abort on error as some are "expected"
+ make -C gcc-build -k check || true
+ gcc-$pkgver/contrib/test_summary
+}
+
+package()
+{
+ make -j1 -C gcc-build DESTDIR=${pkgdir} install
+
+ # Install Runtime Library Exception
+ install -Dm644 gcc-$pkgver/COPYING.RUNTIME \
+ $pkgdir/usr/share/licenses/$pkgname/RUNTIME.LIBRARY.EXCEPTION
+
+ # deal with conflicting man and info pages
+ cd $pkgdir
+ rm usr/share/man/man7/{fsf-funding,gfdl,gpl}.7
+ for i in usr/share/info/*; do
+ mv $i ${i%.info}-$_ver.info
+ done
+}
diff --git a/testing/gcc4.6/gcc-4.6.2-cloog-0.17.patch b/testing/gcc4.6/gcc-4.6.2-cloog-0.17.patch
new file mode 100644
index 000000000..0503a05ed
--- /dev/null
+++ b/testing/gcc4.6/gcc-4.6.2-cloog-0.17.patch
@@ -0,0 +1,36 @@
+diff -Naur gcc-4.6-20120120-orig/configure gcc-4.6-20120120/configure
+--- gcc-4.6-20120120-orig/configure 2011-12-18 20:03:44.000000000 +1000
++++ gcc-4.6-20120120/configure 2012-02-03 17:55:14.885990135 +1000
+@@ -6049,8 +6049,8 @@
+ LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${ppllibs}"
+
+ if test "${cloog_org}" = yes ; then
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.16.1 of CLooG" >&5
+-$as_echo_n "checking for version 0.16.1 of CLooG... " >&6; }
++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.17 of CLooG" >&5
++$as_echo_n "checking for version 0.17 of CLooG... " >&6; }
+ if test "${gcc_cv_cloog_ct_0_14_0+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+ else
+@@ -6061,8 +6061,7 @@
+ main ()
+ {
+ #if CLOOG_VERSION_MAJOR != 0 \
+- || CLOOG_VERSION_MINOR != 16 \
+- || CLOOG_VERSION_REVISION < 1
++ || CLOOG_VERSION_MINOR != 17
+ choke me
+ #endif
+ ;
+diff -Naur gcc-4.6-20120120-orig/gcc/graphite-clast-to-gimple.c gcc-4.6-20120120/gcc/graphite-clast-to-gimple.c
+--- gcc-4.6-20120120-orig/gcc/graphite-clast-to-gimple.c 2011-03-13 08:05:38.000000000 +1000
++++ gcc-4.6-20120120/gcc/graphite-clast-to-gimple.c 2012-02-03 17:51:47.943463879 +1000
+@@ -1367,7 +1367,7 @@
+ /* Change cloog output language to C. If we do use FORTRAN instead, cloog
+ will stop e.g. with "ERROR: unbounded loops not allowed in FORTRAN.", if
+ we pass an incomplete program to cloog. */
+- options->language = LANGUAGE_C;
++ options->language = CLOOG_LANGUAGE_C;
+
+ /* Enable complex equality spreading: removes dummy statements
+ (assignments) in the generated code which repeats the
diff --git a/testing/gcc4.6/gcc-hash-style-both.patch b/testing/gcc4.6/gcc-hash-style-both.patch
new file mode 100644
index 000000000..8b59f4535
--- /dev/null
+++ b/testing/gcc4.6/gcc-hash-style-both.patch
@@ -0,0 +1,122 @@
+--- gcc/config/alpha/linux-elf.h.orig 2010-12-09 23:27:07.000000000 +1000
++++ gcc/config/alpha/linux-elf.h 2011-03-11 10:01:47.770000457 +1000
+@@ -41,7 +41,7 @@
+
+ #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER
+
+-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
++#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \
+ %{O*:-O3} %{!O*:-O1} \
+ %{shared:-shared} \
+ %{!shared: \
+--- gcc/config/i386/linux64.h.orig 2011-03-03 08:35:36.000000000 +1000
++++ gcc/config/i386/linux64.h 2011-03-11 10:01:47.770000457 +1000
+@@ -78,7 +78,7 @@
+ %{!mno-sse2avx:%{mavx:-msse2avx}} %{msse2avx:%{!mavx:-msse2avx}}"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
++#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+--- gcc/config/i386/linux.h.orig 2011-01-15 04:45:06.000000000 +1000
++++ gcc/config/i386/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -104,7 +104,7 @@
+ { "dynamic_linker", LINUX_DYNAMIC_LINKER }
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
++#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+--- gcc/config/ia64/linux.h.orig 2010-12-09 23:27:07.000000000 +1000
++++ gcc/config/ia64/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -64,7 +64,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "\
++#define LINK_SPEC "--hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+--- gcc/config/rs6000/linux64.h.orig 2011-02-11 03:30:10.000000000 +1000
++++ gcc/config/rs6000/linux64.h 2011-03-11 10:03:34.280000457 +1000
+@@ -389,11 +389,11 @@
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
+
+
+-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}"
+
+-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}"
+
+--- gcc/config/rs6000/sysv4.h.orig 2011-01-28 04:36:03.000000000 +1000
++++ gcc/config/rs6000/sysv4.h 2011-03-11 10:01:47.773333792 +1000
+@@ -830,7 +830,7 @@
+ #define LINUX_DYNAMIC_LINKER \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
+
+-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ -dynamic-linker " LINUX_DYNAMIC_LINKER "}}"
+
+--- gcc/config/s390/linux.h.orig 2010-12-09 23:27:07.000000000 +1000
++++ gcc/config/s390/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -77,7 +77,7 @@
+
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{static:-static} \
+--- gcc/config/sparc/linux64.h.orig 2011-02-17 23:57:21.000000000 +1000
++++ gcc/config/sparc/linux64.h 2011-03-11 10:01:47.770000457 +1000
+@@ -113,7 +113,7 @@
+ { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
+ { "link_arch", LINK_ARCH_SPEC },
+
+-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \
++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+@@ -121,7 +121,7 @@
+ %{static:-static}} \
+ "
+
+-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+@@ -193,7 +193,7 @@
+ #else /* !SPARC_BI_ARCH */
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+--- gcc/config/sparc/linux.h.orig 2011-01-27 06:30:12.000000000 +1000
++++ gcc/config/sparc/linux.h 2011-03-11 10:01:47.770000457 +1000
+@@ -74,7 +74,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
++#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
+ %{!mno-relax:%{!r:-relax}} \
+ %{!shared: \
+ %{!static: \
diff --git a/testing/gcc4.6/gcc_pure64.patch b/testing/gcc4.6/gcc_pure64.patch
new file mode 100644
index 000000000..8c0baf8e2
--- /dev/null
+++ b/testing/gcc4.6/gcc_pure64.patch
@@ -0,0 +1,26 @@
+diff -Naur gcc-4.2.0.orig/gcc/config/i386/linux64.h gcc-4.2.0/gcc/config/i386/linux64.h
+--- gcc-4.2.0.orig/gcc/config/i386/linux64.h 2007-05-16 19:21:19.000000000 -0400
++++ gcc-4.2.0/gcc/config/i386/linux64.h 2007-05-18 17:04:05.000000000 -0400
+@@ -49,8 +49,8 @@
+ When the -shared link option is used a final link is not being
+ done. */
+
+-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2"
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+
+ #undef LINK_SPEC
+ #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
+diff -Naur gcc-4.2.0.orig/gcc/config/i386/t-linux64 gcc-4.2.0/gcc/config/i386/t-linux64
+--- gcc-4.2.0.orig/gcc/config/i386/t-linux64 2007-05-16 19:21:19.000000000 -0400
++++ gcc-4.2.0/gcc/config/i386/t-linux64 2007-05-18 17:04:36.000000000 -0400
+@@ -6,7 +6,7 @@
+
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_OSDIRNAMES = ../lib ../lib32
+
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib
diff --git a/testing/glibc/PKGBUILD b/testing/glibc/PKGBUILD
index bbcbf2f19..1e82d8ce2 100644
--- a/testing/glibc/PKGBUILD
+++ b/testing/glibc/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 161273 2012-06-08 12:53:50Z allan $
+# $Id: PKGBUILD 161927 2012-06-16 17:14:28Z dreisner $
# Maintainer: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
@@ -6,7 +6,7 @@
pkgname=glibc
pkgver=2.15
-pkgrel=11
+pkgrel=12
_glibcdate=20111227
pkgdesc="GNU C Library"
arch=('i686' 'x86_64')
@@ -50,7 +50,9 @@ source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.t
glibc-2.15-nearbyintf-rounding.patch
glibc-2.15-confstr-local-buffer-extent.patch
glibc-2.15-testsuite.patch
- nscd
+ nscd.rcd
+ nscd.service
+ nscd.tmpfiles
locale.gen.txt
locale-gen)
md5sums=('6ffdf5832192b92f98bdd125317c0dfc'
@@ -83,10 +85,13 @@ md5sums=('6ffdf5832192b92f98bdd125317c0dfc'
'7ff501435078b1a2622124fbeaafc921'
'8d1023a51e0932681b46440d5f8551ee'
'6962c3fa29306bfbf6f0d22b19cb825d'
- 'b587ee3a70c9b3713099295609afde49'
+ '589d79041aa767a5179eaa4e2737dd3f'
+ 'ad8a9af15ab7eeaa23dc7ee85024af9f'
+ 'bccbe5619e75cf1d97312ec3681c605c'
'07ac979b6ab5eeb778d55f041529d623'
'476e9113489f93b348b21e144b6a8fcf')
+
mksource() {
git clone git://sourceware.org/git/glibc.git
pushd glibc
@@ -269,15 +274,17 @@ package() {
rm -f ${pkgdir}/etc/ld.so.{cache,conf}
- install -dm755 ${pkgdir}/etc/rc.d
- install -dm755 ${pkgdir}/usr/sbin
- install -dm755 ${pkgdir}/usr/lib/locale
+ install -dm755 ${pkgdir}/{etc/rc.d,usr/{sbin,lib/{,locale,systemd/system,tmpfiles.d}}}
+
install -m644 ${srcdir}/glibc/nscd/nscd.conf ${pkgdir}/etc/nscd.conf
- install -m755 ${srcdir}/nscd ${pkgdir}/etc/rc.d/nscd
- install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/sbin
+ sed -i -e 's/^\tserver-user/#\tserver-user/' ${pkgdir}/etc/nscd.conf
+ install -m755 ${srcdir}/nscd.rcd ${pkgdir}/etc/rc.d/nscd
+ install -m644 ${srcdir}/nscd.service ${pkgdir}/usr/lib/systemd/system
+ install -m644 ${srcdir}/nscd.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/nscd.conf
+
install -m644 ${srcdir}/glibc/posix/gai.conf ${pkgdir}/etc/gai.conf
- sed -i -e 's/^\tserver-user/#\tserver-user/' ${pkgdir}/etc/nscd.conf
+ install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/sbin
# create /etc/locale.gen
install -m644 ${srcdir}/locale.gen.txt ${pkgdir}/etc/locale.gen
diff --git a/testing/glibc/nscd.rcd b/testing/glibc/nscd.rcd
new file mode 100755
index 000000000..4b48ab002
--- /dev/null
+++ b/testing/glibc/nscd.rcd
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+daemon_name="nscd"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name daemon"
+ PID=$(get_pid)
+ if [[ -z $PID ]]; then
+ rm -f /run/$daemon_name.pid
+ mkdir -p /run/nscd /var/db/nscd
+ rm -f /run/nscd/* /var/db/nscd/*
+ $daemon_name
+ if (( $? > 0 )); then
+ stat_fail
+ exit 1
+ else
+ echo $(get_pid) > /var/run/$daemon_name.pid
+ add_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ [[ -n $PID ]] && nscd --shutdown &> /dev/null
+ if (( $? > 0 )); then
+ stat_fail
+ exit 1
+ else
+ rm -f /run/$daemon_name.pid &> /dev/null
+ rm_daemon $daemon_name
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart|status}"
+esac
+
+exit 0
diff --git a/testing/glibc/nscd.service b/testing/glibc/nscd.service
new file mode 100644
index 000000000..de5315e9b
--- /dev/null
+++ b/testing/glibc/nscd.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Name Service Cache Daemon
+After=syslog.target
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/nscd
+ExecStop=/usr/sbin/nscd --shutdown
+ExecReload=/usr/sbin/nscd -i passwd
+ExecReload=/usr/sbin/nscd -i group
+ExecReload=/usr/sbin/nscd -i hosts
+ExecReload=/usr/sbin/nscd -i service
+Restart=always
+PIDFile=/run/nscd/nscd.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/glibc/nscd.tmpfiles b/testing/glibc/nscd.tmpfiles
new file mode 100644
index 000000000..8a24a785e
--- /dev/null
+++ b/testing/glibc/nscd.tmpfiles
@@ -0,0 +1 @@
+d /run/nscd 0755 root root
diff --git a/testing/gpsd/PKGBUILD b/testing/gpsd/PKGBUILD
new file mode 100644
index 000000000..ba06a45e9
--- /dev/null
+++ b/testing/gpsd/PKGBUILD
@@ -0,0 +1,83 @@
+# $Id: PKGBUILD 161928 2012-06-16 17:14:39Z dreisner $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Giacomo Rizzo <alt@free-os.it>
+
+pkgname=gpsd
+pkgver=3.6
+pkgrel=1
+pkgdesc="GPS daemon and library to support USB/serial GPS devices"
+arch=('i686' 'x86_64')
+url="http://catb.org/gpsd/"
+license=('BSD')
+depends=('python2' 'libusb' 'bluez' 'desktop-file-utils')
+optdepends=('php: generate a PHP status page for your GPS'
+ 'php-gd: image support for the PHP status page'
+ 'pygtk: GUI frontends')
+makedepends=('scons' 'docbook-xsl' 'chrpath')
+backup=('etc/conf.d/gpsd')
+options=('!libtool')
+install="${pkgname}.install"
+source=("http://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig}
+ 'gpsd' 'gpsd.conf.d')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # fix python 2.7 path
+ sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
+ -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ $(find . -name '*.py')
+ sed -i 's|/usr/bin/env python|/usr/bin/env python2|' gegps \
+ gpscat gpsfake gpsprof xgps xgpsspeed
+
+ scons prefix=/usr \
+ systemd=yes \
+ libQgpsmm=no \
+ PYTHONPATH=/usr/bin/python2
+ scons build
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # Fix man pages path (FS#21715)
+ sed -i 's|.so gps.1|.so man1/gps.1|' cgps.1 lcdgps.1 xgps.1 xgpsspeed.1
+
+ export DESTDIR="${pkgdir}"
+ scons install
+
+ install -D -m644 "${srcdir}/gpsd.conf.d" "${pkgdir}/etc/conf.d/gpsd"
+
+ sed -i 's|/lib/udev/gpsd|/usr/lib/udev/gpsd|' gpsd.rules
+
+ install -D -m644 "gpsd.rules" "${pkgdir}/usr/lib/udev/rules.d/99-gpsd-usb.rules"
+
+ sed -i 's|/etc/default/gpsd|/etc/conf.d/gpsd|' gpsd.hotplug
+ install -D -m755 gpsd.hotplug "${pkgdir}/usr/lib/udev/gpsd.hotplug"
+
+ # GPSD needs RPATH
+ chrpath -r /usr/lib/ "${pkgdir}"/usr/lib/libgps{,d}.so.20.0.0
+ chrpath -r /usr/lib/ "${pkgdir}"/usr/bin/{gpsdecode,gpsctl,gpspipe,gpxlogger,lcdgps}
+ chrpath -r /usr/lib/ "${pkgdir}"/usr/sbin/{gpsd,gpsdctl}
+ chrpath -r /usr/lib/ "${pkgdir}"/usr/lib/python2.7/site-packages/gps/{clienthelpers,packet}.so
+
+ install -D -m644 packaging/X11/xgps.desktop \
+ "${pkgdir}/usr/share/applications/xgps.desktop"
+ install -D -m644 packaging/X11/xgpsspeed.desktop \
+ "${pkgdir}/usr/share/applications/xgpsspeed.desktop"
+ install -D -m644 packaging/X11/gpsd-logo.png \
+ "${pkgdir}/usr/share/gpsd/gpsd-logo.png"
+
+ install -D -m755 "${srcdir}/gpsd" "${pkgdir}/etc/rc.d/gpsd"
+
+ install -D -m644 systemd/gpsd.service "${pkgdir}/usr/lib/systemd/system/gpsd.service"
+ install -D -m644 systemd/gpsd.socket "${pkgdir}/usr/lib/systemd/system/gpsd.socket"
+
+ install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
+md5sums=('064a5ad75593f8c3ea3fe85010647832'
+ '6473da46f6bad52d38f88670f84cd92b'
+ '6602d04bb037bc500424f00f24f58837'
+ '3e963df3f9f7ef3572ecc648ae829315')
diff --git a/testing/gpsd/gpsd b/testing/gpsd/gpsd
new file mode 100755
index 000000000..2ca7efe26
--- /dev/null
+++ b/testing/gpsd/gpsd
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+[ -f /etc/conf.d/gpsd ] && . /etc/conf.d/gpsd
+
+NAME=gpsd
+DAEMON=/usr/sbin/gpsd
+PIDFILE=/run/gpsd.pid
+PID=$(cat $PIDFILE 2>/dev/null)
+
+case "$1" in
+ start)
+ stat_busy "Starting gpsd"
+ [ -z "$PID" ] && "$DAEMON" -P $PIDFILE -F /run/gpsd.sock ${GPSD_OPTIONS} ${DEVICES}
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon $NAME
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping $NAME"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm -f $PIDFILE &>/dev/null
+ rm_daemon $NAME
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/gpsd/gpsd.conf.d b/testing/gpsd/gpsd.conf.d
new file mode 100644
index 000000000..9fef72cb9
--- /dev/null
+++ b/testing/gpsd/gpsd.conf.d
@@ -0,0 +1,5 @@
+# Default settings for gpsd.
+START_DAEMON="true"
+GPSD_OPTIONS=""
+DEVICES=""
+USBAUTO="true"
diff --git a/testing/gpsd/gpsd.install b/testing/gpsd/gpsd.install
new file mode 100644
index 000000000..8f20cf484
--- /dev/null
+++ b/testing/gpsd/gpsd.install
@@ -0,0 +1,11 @@
+post_install() {
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ update-desktop-database -q
+}
+
+post_remove() {
+ update-desktop-database -q
+}
diff --git a/testing/isl/PKGBUILD b/testing/isl/PKGBUILD
new file mode 100644
index 000000000..5eeac9eec
--- /dev/null
+++ b/testing/isl/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 161919 2012-06-16 14:55:37Z heftig $
+# Maintainer: Allan McRae <allan@archlinux.org>
+
+pkgname=isl
+pkgver=0.10
+pkgrel=1
+pkgdesc="Library for manipulating sets and relations of integer points bounded by linear constraints"
+arch=('i686' 'x86_64')
+url="http://www.kotnet.org/~skimo/isl/"
+license=('LGPL2.1')
+options=('!libtool')
+source=(http://www.kotnet.org/~skimo/isl/$pkgname-$pkgver.tar.bz2)
+md5sums=('c1ece653891bb2a5f55ca25e3f4e8f35')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make check
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -j1 DESTDIR="$pkgdir/" install
+
+ install -dm755 $pkgdir/usr/share/gdb/auto-load/usr/lib/
+ mv $pkgdir/{,/usr/share/gdb/auto-load/}usr/lib/libisl.so.10.0.0-gdb.py
+}
diff --git a/testing/krb5/PKGBUILD b/testing/krb5/PKGBUILD
new file mode 100644
index 000000000..c8c15c16f
--- /dev/null
+++ b/testing/krb5/PKGBUILD
@@ -0,0 +1,92 @@
+# $Id: PKGBUILD 161930 2012-06-16 17:15:04Z dreisner $
+# Maintainer: Stéphane Gaudreault <stephane@archlinux.org>
+
+pkgname=krb5
+pkgver=1.10.2
+pkgrel=2
+pkgdesc="The Kerberos network authentication system"
+arch=('i686' 'x86_64')
+url="http://web.mit.edu/kerberos/"
+license=('custom')
+depends=('e2fsprogs' 'libldap' 'keyutils')
+makedepends=('perl')
+backup=('etc/krb5.conf' 'var/lib/krb5kdc/kdc.conf')
+source=(http://web.mit.edu/kerberos/dist/${pkgname}/1.10/${pkgname}-${pkgver}-signed.tar
+ krb5-1.10.1-gcc47.patch
+ krb5-kadmind
+ krb5-kadmind.service
+ krb5-kdc
+ krb5-kdc.service
+ krb5-kpropd
+ krb5-kpropd.service
+ krb5-kpropd@.service
+ krb5-kpropd.socket)
+sha1sums=('8b6e2c5bf0c65aacd368b3698add7888f2a7332d'
+ '78b759d566b1fdefd9bbcd06df14f07f12effe96'
+ '2aa229369079ed1bbb201a1ef72c47bf143f4dbe'
+ 'a2a01e7077d9e89cda3457ea0e216debb3dc353c'
+ '77d2312ecd8bf12a6e72cc8fd871a8ac93b23393'
+ 'f5e4fa073e11b0fcb4e3098a5d58a4f791ec841e'
+ '7f402078fa65bb9ff1beb6cbbbb017450df78560'
+ '614401dd4ac18e310153240bb26eb32ff1e8cf5b'
+ '023a8164f8ee7066ac814486a68bc605e79f6101'
+ 'f3677d30dbbd7106c581379c2c6ebb1bf7738912')
+options=('!emptydirs')
+
+build() {
+ tar zxvf ${pkgname}-${pkgver}.tar.gz
+ cd "${srcdir}/${pkgname}-${pkgver}/src"
+
+ # With gcc47 : deltat.c:1694:12: error: 'yylval' may be used uninitialized
+ # in this function [-Werror=maybe-uninitialized]
+ # As this is generated code, just ignore the complaint.
+ patch -Np2 -i ../../krb5-1.10.1-gcc47.patch
+ rm lib/krb5/krb/deltat.c
+
+ # FS#25384
+ sed -i "/KRB5ROOT=/s/\/local//" util/ac_check_krb5.m4
+
+ export CFLAGS+=" -fPIC -fno-strict-aliasing -fstack-protector-all"
+ export CPPFLAGS+=" -I/usr/include/et"
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --localstatedir=/var/lib \
+ --enable-shared \
+ --with-system-et \
+ --with-system-ss \
+ --disable-rpath \
+ --without-tcl \
+ --enable-dns-for-realm \
+ --with-ldap \
+ --without-system-verto
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}/src"
+ make DESTDIR="${pkgdir}" EXAMPLEDIR=/usr/share/doc/${pkgname}/examples install
+
+ # Fix FS#29889
+ install -m 644 plugins/kdb/ldap/libkdb_ldap/kerberos.{ldif,schema} "${pkgdir}"/usr/share/doc/${pkgname}/examples
+
+ # Sample KDC config file
+ install -dm 755 "${pkgdir}"/var/lib/krb5kdc
+ install -pm 644 config-files/kdc.conf "${pkgdir}"/var/lib/krb5kdc/kdc.conf
+
+ # Default configuration file
+ install -dm 755 "${pkgdir}"/etc
+ install -pm 644 config-files/krb5.conf "${pkgdir}"/etc/krb5.conf
+
+ install -dm 755 "${pkgdir}"/etc/rc.d
+ install -m 755 ../../krb5-{kdc,kadmind,kpropd} "${pkgdir}"/etc/rc.d
+
+ install -dm 755 "${pkgdir}"/usr/share/aclocal
+ install -m 644 util/ac_check_krb5.m4 "${pkgdir}"/usr/share/aclocal
+
+ install -Dm644 "${srcdir}"/${pkgname}-${pkgver}/NOTICE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+
+ # systemd stuff
+ install -dm 755 "${pkgdir}"/usr/lib/systemd/system
+ install -m 644 ../../krb5-{kadmind.service,kdc.service,kpropd.service,kpropd@.service,kpropd.socket} \
+ "${pkgdir}"/usr/lib/systemd/system
+}
diff --git a/testing/krb5/krb5-1.10.1-gcc47.patch b/testing/krb5/krb5-1.10.1-gcc47.patch
new file mode 100644
index 000000000..ffd01c2a3
--- /dev/null
+++ b/testing/krb5/krb5-1.10.1-gcc47.patch
@@ -0,0 +1,11 @@
+diff -Naur krb5-1.10.1.ori/src/lib/krb5/krb/x-deltat.y krb5-1.10.1/src/lib/krb5/krb/x-deltat.y
+--- krb5-1.10.1.ori/src/lib/krb5/krb/x-deltat.y 2011-09-06 07:34:32.000000000 -0400
++++ krb5-1.10.1/src/lib/krb5/krb/x-deltat.y 2012-03-24 13:15:11.543551318 -0400
+@@ -44,6 +44,7 @@
+ #ifdef __GNUC__
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wuninitialized"
++#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+ #endif
+
+ #include <ctype.h>
diff --git a/testing/krb5/krb5-kadmind b/testing/krb5/krb5-kadmind
new file mode 100644
index 000000000..04df0dcff
--- /dev/null
+++ b/testing/krb5/krb5-kadmind
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+# general config
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/kadmind`
+case "$1" in
+ start)
+ stat_busy "Starting Kerberos Admin Daemon"
+ if [ -z "$PID" ]; then
+ /usr/sbin/kadmind
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon krb5-kadmind
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Kerberos Admin Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon krb5-kadmind
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+ ;;
+esac
+exit 0
diff --git a/testing/krb5/krb5-kadmind.service b/testing/krb5/krb5-kadmind.service
new file mode 100644
index 000000000..f3836c898
--- /dev/null
+++ b/testing/krb5/krb5-kadmind.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Kerberos 5 administration server
+
+[Service]
+ExecStart=/usr/sbin/kadmind -nofork
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/krb5/krb5-kdc b/testing/krb5/krb5-kdc
new file mode 100644
index 000000000..05a03411e
--- /dev/null
+++ b/testing/krb5/krb5-kdc
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+# general config
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/krb5kdc`
+case "$1" in
+ start)
+ stat_busy "Starting Kerberos Authentication"
+ if [ -z "$PID" ]; then
+ /usr/sbin/krb5kdc
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon krb5-kdc
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Kerberos Authentication"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon krb5-kdc
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+ ;;
+esac
+exit 0
diff --git a/testing/krb5/krb5-kdc.service b/testing/krb5/krb5-kdc.service
new file mode 100644
index 000000000..6ec93bb72
--- /dev/null
+++ b/testing/krb5/krb5-kdc.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Kerberos 5 KDC
+
+[Service]
+ExecStart=/usr/sbin/krb5kdc -n
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/krb5/krb5-kpropd b/testing/krb5/krb5-kpropd
new file mode 100644
index 000000000..a0077d68e
--- /dev/null
+++ b/testing/krb5/krb5-kpropd
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+# general config
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/kpropd`
+case "$1" in
+ start)
+ stat_busy "Starting Kerberos Database Propagation Daemon"
+ if [ -z "$PID" ]; then
+ /usr/sbin/kpropd -S
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon kpropd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Kerberos Database Propagation Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon kpropd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+ ;;
+esac
+exit 0
diff --git a/testing/krb5/krb5-kpropd.service b/testing/krb5/krb5-kpropd.service
new file mode 100644
index 000000000..a7c5b579d
--- /dev/null
+++ b/testing/krb5/krb5-kpropd.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Kerberos 5 propagation server
+
+[Service]
+ExecStart=/usr/sbin/kpropd -S
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/krb5/krb5-kpropd.socket b/testing/krb5/krb5-kpropd.socket
new file mode 100644
index 000000000..4389290c0
--- /dev/null
+++ b/testing/krb5/krb5-kpropd.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=Kerberos 5 propagation server
+
+[Socket]
+ListenStream=754
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/testing/libtool/PKGBUILD b/testing/libtool/PKGBUILD
new file mode 100644
index 000000000..51384d997
--- /dev/null
+++ b/testing/libtool/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 161917 2012-06-16 14:55:31Z heftig $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+# NOTE: requires rebuilt with each new gcc version
+
+pkgname=('libtool' 'libltdl')
+pkgver=2.4.2
+pkgrel=6
+pkgdesc="A generic library support script"
+arch=('i686' 'x86_64')
+url="http://www.gnu.org/software/libtool"
+license=('GPL')
+options=('!libtool')
+source=(ftp://ftp.gnu.org/pub/gnu/libtool/${pkgname}-${pkgver}.tar.xz{,.sig})
+md5sums=('2ec8997e0c07249eb4cbd072417d70fe'
+ '1e6ba57420c82c663c85e745d11c7eed')
+
+build() {
+ cd ${srcdir}/${pkgbase}-${pkgver}
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ cd ${srcdir}/${pkgbase}-${pkgver}
+ make check
+}
+
+package_libtool() {
+ depends=('sh' "libltdl=$pkgver" 'tar' 'gcc=4.7.1')
+ groups=('base-devel')
+ install=libtool.install
+
+ cd ${srcdir}/${pkgbase}-${pkgver}
+
+ make DESTDIR=${pkgdir} install-binSCRIPTS install-man install-info \
+ install-data-local
+ rm -rf ${pkgdir}/usr/share/libtool/libltdl/
+}
+
+package_libltdl() {
+ pkgdesc="A system independent dlopen wrapper for GNU libtool"
+
+ cd ${srcdir}/${pkgbase}-${pkgver}
+ make DESTDIR=${pkgdir} install-libLTLIBRARIES install-includeHEADERS \
+ install-ltdlincludeHEADERS install-data-local
+ rm -rf ${pkgdir}/usr/share/{aclocal,libtool/config}
+}
diff --git a/testing/libtool/libtool.install b/testing/libtool/libtool.install
new file mode 100644
index 000000000..73cf56422
--- /dev/null
+++ b/testing/libtool/libtool.install
@@ -0,0 +1,20 @@
+infodir=usr/share/info
+filelist=(libtool.info libtool.info-1 libtool.info-2)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
diff --git a/testing/lm_sensors/PKGBUILD b/testing/lm_sensors/PKGBUILD
new file mode 100644
index 000000000..85f29edca
--- /dev/null
+++ b/testing/lm_sensors/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 161931 2012-06-16 17:15:28Z dreisner $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+
+pkgname=lm_sensors
+pkgver=3.3.2
+pkgrel=3
+pkgdesc="Collection of user space tools for general SMBus access and hardware monitoring"
+arch=('i686' 'x86_64')
+url="http://www.lm-sensors.org/"
+license=('GPL' 'LGPL')
+depends=('perl' 'sysfsutils')
+makedepends=('rrdtool')
+optdepends=('rrdtool: for logging with sensord')
+backup=('etc/sensors3.conf' 'etc/conf.d/healthd' 'etc/conf.d/sensord')
+options=('!emptydirs')
+source=(http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${pkgver}.tar.bz2{,.sig} \
+ sensors.rc fancontrol.rc healthd healthd.conf healthd.rc sensord.conf \
+ sensord.rc fancontrol.service daemonarg.patch linux_3.0.patch)
+sha1sums=('5d0f026ad763124e8c2ad733b6e1ad5e6473993d'
+ 'a486d9fb6c5b0aff4520f6312106c67f5163f1cf'
+ 'b2e664b9b87759991f02d0a1e8cac5e95098c0a5'
+ 'a068ac0a3115a6191a487e11422506baa922b40a'
+ '78b5cd36c3cb8e98b972cdd8c4a12687d79a79a8'
+ '6c4e8a2d89dd2fd3ca2f0f4f3b1230111e01b0fc'
+ 'e662881f5d3f3f35a1bc97ba45d2c471dd28c37f'
+ 'de8d4d65406815c389f8a04e2a8508a1ae6749c8'
+ '72a60251d1d55a67307dab4105d9f3f01a080af4'
+ '7a4a4d1442aeeba0ba8aefb742a3ef187b593f4c'
+ '34241388c4001bfb6e49b7e10da1217e29a258d6'
+ '5662828085cdd981f0dc7cf8f79d3d6e2b72f50c')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ sed -i -e 's|/etc/sysconfig|/etc/conf.d|' \
+ -e 's|/etc/init.d/lm_sensors|/etc/rc.d/sensors|' prog/{detect/sensors-detect,init/lm_sensors.service}
+ sed -i 's@\(/bin/systemctl\|/lib/systemd/system\)@/usr\1@g' prog/detect/sensors-detect
+ patch -p1 < ../daemonarg.patch
+ patch -p0 < ../linux_3.0.patch
+ make PREFIX=/usr
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make PROG_EXTRA=sensord BUILD_STATIC_LIB=0 \
+ PREFIX=/usr MANDIR=/usr/share/man DESTDIR="${pkgdir}" install
+ install -D -m644 prog/init/lm_sensors.service "${pkgdir}/usr/lib/systemd/system/lm_sensors.service"
+ install -D -m755 "${srcdir}/sensors.rc" "${pkgdir}/etc/rc.d/sensors"
+ install -D -m755 "${srcdir}/fancontrol.rc" "${pkgdir}/etc/rc.d/fancontrol"
+ install -D -m755 "${srcdir}/healthd" "${pkgdir}/usr/sbin/healthd"
+ install -D -m755 "${srcdir}/healthd.rc" "${pkgdir}/etc/rc.d/healthd"
+ install -D -m644 "${srcdir}/healthd.conf" "${pkgdir}/etc/conf.d/healthd"
+ install -D -m755 "${srcdir}/sensord.rc" "${pkgdir}/etc/rc.d/sensord"
+ install -D -m644 "${srcdir}/sensord.conf" "${pkgdir}/etc/conf.d/sensord"
+ install -D -m644 "${srcdir}/fancontrol.service" "${pkgdir}/usr/lib/systemd/system/fancontrol.service"
+}
diff --git a/testing/lm_sensors/daemonarg.patch b/testing/lm_sensors/daemonarg.patch
new file mode 100644
index 000000000..4b80cef19
--- /dev/null
+++ b/testing/lm_sensors/daemonarg.patch
@@ -0,0 +1,50 @@
+diff -ru lm_sensors-3.1.2-1/prog/pwm/fancontrol lm_sensors-3.1.2-1_pyropeter/usr/sbin/fancontrol
+--- lm_sensors-3.1.2-1/prog/pwm/fancontrol 2010-02-03 03:45:15.000000000 +0100
++++ lm_sensors-3.1.2-1_pyropeter/prog/pwm/fancontrol 2010-03-07 01:37:09.000000000 +0100
+@@ -5,7 +5,9 @@
+ #
+ # Version 0.70
+ #
+-# Usage: fancontrol [CONFIGFILE]
++# Usage: fancontrol [-D] [CONFIGFILE]
++#
++# (-D causes fancontrol to 'fork' to the background after some tests)
+ #
+ # Dependencies:
+ # bash, egrep, sed, cut, sleep, readlink, lm_sensors :)
+@@ -43,6 +45,12 @@
+ #DEBUG=1
+ MAX=255
+
++DAEMON=0
++if [ "$1" = "-D" ]; then
++ DAEMON=1
++ shift
++fi
++
+ declare -i pwmval
+
+ function LoadConfig {
+@@ -303,7 +311,6 @@
+ echo "File $PIDFILE exists, is fancontrol already running?"
+ exit 1
+ fi
+-echo $$ > "$PIDFILE"
+
+ # $1 = pwm file name
+ function pwmdisable()
+@@ -475,6 +482,14 @@
+ let fcvcount=$fcvcount+1
+ done
+
++if [ "$DAEMON" -gt 0 ]; then
++ echo "Forking..."
++ $0 $* &> /dev/null &
++ exit 0
++fi
++
++echo $$ > "$PIDFILE"
++
+ echo 'Starting automatic fan control...'
+
+ # main loop calling the main function at specified intervals
diff --git a/testing/lm_sensors/fancontrol.rc b/testing/lm_sensors/fancontrol.rc
new file mode 100644
index 000000000..8e98d06f2
--- /dev/null
+++ b/testing/lm_sensors/fancontrol.rc
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=$(pidof -o %PPID -x /usr/sbin/fancontrol)
+case "$1" in
+ start)
+ stat_busy "Starting fancontrol"
+ [ -z "$PID" ] && /usr/sbin/fancontrol -D &>/dev/null
+ if [ $? -gt 0 -o -n "$PID" ]; then
+ stat_fail
+ else
+ add_daemon fancontrol
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping fancontrol"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon fancontrol
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/lm_sensors/fancontrol.service b/testing/lm_sensors/fancontrol.service
new file mode 100644
index 000000000..c86b498f8
--- /dev/null
+++ b/testing/lm_sensors/fancontrol.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Fan control daemon
+
+[Service]
+PIDFile=/var/run/fancontrol.pid
+ExecStart=/usr/sbin/fancontrol
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/lm_sensors/healthd b/testing/lm_sensors/healthd
new file mode 100644
index 000000000..0315dd788
--- /dev/null
+++ b/testing/lm_sensors/healthd
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+#
+# /usr/sbin/healthd
+#
+
+. /etc/conf.d/healthd
+
+cmd="${ALARM_CMD}"
+addr="${ADMIN_EMAIL}"
+slp="${ALARM_SLEEP}"
+sensors="/usr/bin/sensors"
+
+
+while [ $# -gt 0 ] ; do
+ case "${1}" in
+ -c ) cmd="${2}" ; shift 2 ;;
+ -m ) addr="${2}" ; shift 2 ;;
+ -s ) slp="${2}" ; shift 2 ;;
+ * ) shift 1 ;;
+ esac
+done
+
+[ -n "${cmd}" ] && [ -n "$( which -- "${cmd%% *}" )" ] || \
+ [ -n "${addr}" ] || exit 1
+
+[ "${slp}" -ge 2 ] || slp=600
+
+while true ; do
+ sleep 15
+ message="$( $sensors )"
+ case "$message" in
+ '' ) message='Could not get any sensor values !' ;;
+ *ALARM* ) : ;;
+ * ) message='' ;;
+ esac
+ if [ -n "$message" ]; then
+ if [ -n "${addr}" ]; then
+ echo "$message" | mail -s \
+ "Sensors ALARM detected at host: $( hostname )" \
+ "${addr}"
+ fi
+ [ -z "${cmd}" ] || ${cmd} &
+ sleep ${slp}
+ fi
+done &
diff --git a/testing/lm_sensors/healthd.conf b/testing/lm_sensors/healthd.conf
new file mode 100644
index 000000000..a8b2c3fa3
--- /dev/null
+++ b/testing/lm_sensors/healthd.conf
@@ -0,0 +1,17 @@
+#
+# /etc/conf.d/healthd
+#
+
+# reset any pending alarms on startup
+ALARM_RESET="yes"
+
+# where to sent mails on alarm
+ADMIN_EMAIL="root"
+
+# Seconds to sleep when alarm detected before checking again
+# If you want to fill up your mail inbox set this to 2. ;-)
+ALARM_SLEEP=600
+
+# command to run in background on each alarm
+# N.B.: If you choose to use the beep command, you'll need to install it: pacman -S beep
+ALARM_CMD="beep -f 800 -l 500 -d 500 -r 600"
diff --git a/testing/lm_sensors/healthd.rc b/testing/lm_sensors/healthd.rc
new file mode 100644
index 000000000..7bb79519f
--- /dev/null
+++ b/testing/lm_sensors/healthd.rc
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+#
+# /etc/rc.d/healthd
+#
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/healthd
+
+maybe_alarm_reset() {
+ case "${ALARM_RESET}" in
+ yes) /usr/bin/sensors > /dev/null
+ ;;
+ no) true
+ ;;
+ *) false
+ esac
+ return $?
+}
+
+PID=$(pidof -x -o %PPID /usr/sbin/healthd)
+case "${1}" in
+ start)
+ stat_busy "Starting Health Daemon"
+ [ -z "${PID}" ] && maybe_alarm_reset && /usr/sbin/healthd &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ echo "${PID}" > /var/run/healthd.pid
+ add_daemon healthd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Health Daemon"
+ [ ! -z "${PID}" ] && kill ${PID} &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon healthd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *) echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/lm_sensors/linux_3.0.patch b/testing/lm_sensors/linux_3.0.patch
new file mode 100644
index 000000000..da02a3d49
--- /dev/null
+++ b/testing/lm_sensors/linux_3.0.patch
@@ -0,0 +1,11 @@
+--- prog/detect/sensors-detect 2011-08-02 10:23:46.000000000 +0200
++++ prog/detect/sensors-detect 2011-08-02 10:24:04.000000000 +0200
+@@ -2472,7 +2472,7 @@
+
+ sub initialize_kernel_version
+ {
+- `uname -r` =~ /(\d+)\.(\d+)\.(\d+)(.*)/;
++ `uname -r` =~ /(\d+)\.(\d+)(.*)/;
+ @kernel_version = ($1, $2, $3, $4);
+ chomp($kernel_arch = `uname -m`);
+
diff --git a/testing/lm_sensors/sensord.conf b/testing/lm_sensors/sensord.conf
new file mode 100644
index 000000000..a1cf091c1
--- /dev/null
+++ b/testing/lm_sensors/sensord.conf
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to sensord
+#
+SENSORD_ARGS=""
diff --git a/testing/lm_sensors/sensord.rc b/testing/lm_sensors/sensord.rc
new file mode 100644
index 000000000..e3ef4d26d
--- /dev/null
+++ b/testing/lm_sensors/sensord.rc
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/sensord
+
+PID=$(pidof -o %PPID /usr/sbin/sensord)
+case "$1" in
+ start)
+ stat_busy "Starting sensord"
+ [ -z "$PID" ] && /usr/sbin/sensord ${SENSORD_ARGS}
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon sensord
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping sensord"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon sensord
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/lm_sensors/sensors.rc b/testing/lm_sensors/sensors.rc
new file mode 100644
index 000000000..4acde2202
--- /dev/null
+++ b/testing/lm_sensors/sensors.rc
@@ -0,0 +1,119 @@
+#!/bin/bash
+
+# description: sensors is used for monitoring motherboard sensor values.
+# config: /etc/conf.d/lm_sensors
+
+# See also the lm_sensors homepage at:
+# http://www2.lm-sensors.nu/~lm78/index.html
+
+# It uses a config file /etc/conf.d/lm_sensors that contains the modules to
+# be loaded/unloaded. That file is sourced into this one.
+
+# The format of that file a shell script that simply defines the modules
+# in order as normal shell variables with the special names:
+# MODULE_1, MODULE_2, MODULE_3, etc.
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PSENSORS=/usr/bin/sensors
+
+if $(grep -q sysfs /proc/mounts); then
+ WITHSYS=1
+else
+ WITHSYS=0
+fi
+
+if [ $WITHSYS == "0" ]; then
+ # If sensors isn't supported by the kernel, try loading the module...
+ [ -e /proc/sys/dev/sensors ] || /sbin/modprobe i2c-proc &>/dev/null
+
+ # Don't bother if /proc/sensors still doesn't exist, kernel doesn't have support for sensors.
+ if ! [ -e /proc/sys/dev/sensors ]; then
+ echo "lm_sensors: kernel does not have sensors support"
+ stat_fail
+ fi
+
+ # If sensors was not already running, unload the module...
+ [ -e /var/run/daemons/sensors ] || /sbin/modprobe -r i2c-proc &>/dev/null
+fi
+
+if [ -e /etc/conf.d/lm_sensors ]; then
+ CONFIG=/etc/conf.d/lm_sensors
+elif [ -e /etc/sysconfig/lm_sensors ]; then
+ # Moving config to new Arch-specific location
+ mv /etc/sysconfig/lm_sensors /etc/conf.d/lm_sensors
+ CONFIG=/etc/conf.d/lm_sensors
+fi
+
+case "$1" in
+ start)
+ stat_busy "Starting Up Sensors"
+
+ if [ -r "$CONFIG" ]; then
+ . "$CONFIG"
+ modules=$(grep \^MODULE_ $CONFIG | wc -l | tr -d ' ')
+ i=0
+ while [ $i -lt $modules ] ; do
+ module=$(eval echo '$'MODULE_$i)
+ # echo starting module __${module}__ #debug
+ /sbin/modprobe $module &>/dev/null
+ i=$(expr $i + 1)
+ done
+ fi
+
+ $PSENSORS -s
+
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon sensors
+ stat_done
+ fi
+ ;;
+
+ stop)
+ stat_busy "Shutting Down Sensors"
+
+ if [ -r "$CONFIG" ]; then
+ . "$CONFIG"
+ modules=$(grep \^MODULE_ $CONFIG | wc -l | tr -d ' ')
+ i=$(expr $modules - 1)
+ while [ $i -ge 0 ] ; do
+ module=$(eval echo '$'MODULE_$i)
+ # echo stoping module __${module}__ #debug
+ /sbin/modprobe -r $module &>/dev/null
+ i=$(expr $i - 1)
+ done
+ fi
+
+ if [ $WITHSYS == "0" ]; then
+ /sbin/modprobe -r i2c-proc &>/dev/null
+ fi
+
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon sensors
+ stat_done
+ fi
+ ;;
+
+ status)
+ $PSENSORS
+ ;;
+
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+
+ condrestart)
+ [ -e /var/run/daemons/sensors ] && $0 restart || :
+ ;;
+
+ *)
+ echo "Usage: $0 {start|stop|restart|status|condrestart}"
+esac
+exit 0
diff --git a/testing/lvm2/11-dm-initramfs.rules b/testing/lvm2/11-dm-initramfs.rules
new file mode 100644
index 000000000..d2c167324
--- /dev/null
+++ b/testing/lvm2/11-dm-initramfs.rules
@@ -0,0 +1,3 @@
+# needed with new udev/mkinitcpio and as implemented in dracut:
+# <http://git.kernel.org/?p=boot/dracut/dracut.git;a=commitdiff;h=12b9736228f2b34c15a9cb63be79cf7b6e865b54>
+SUBSYSTEM=="block", KERNEL=="dm-[0-9]*", ACTION=="add|change", OPTIONS="db_persist"
diff --git a/testing/lvm2/PKGBUILD b/testing/lvm2/PKGBUILD
new file mode 100644
index 000000000..ec2a69fa0
--- /dev/null
+++ b/testing/lvm2/PKGBUILD
@@ -0,0 +1,68 @@
+# $Id: PKGBUILD 161932 2012-06-16 17:15:41Z dreisner $
+# Maintainer: Eric Bélanger <eric@archlinux.org>
+# Maintainer: Thomas Bächler <thomas@archlinux.org>
+
+pkgbase=lvm2
+pkgname=('lvm2' 'device-mapper')
+pkgver=2.02.96
+pkgrel=2
+arch=('i686' 'x86_64')
+url="http://sourceware.org/lvm2/"
+license=('GPL2' 'LGPL2.1')
+groups=('base')
+source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${pkgver}.tgz{,.asc}
+ lvm2_install
+ lvm2_hook
+ 11-dm-initramfs.rules
+ lvm.service
+ lvm2.conf)
+sha1sums=('29d5097f0ca92c7665f29f862eca78bcf981ff6f'
+ '12e9016485c415c344524e6e75e23dfa6ca097ac'
+ '3e1680f9b76ce9150d08865d99db90fd15532271'
+ 'cedc9948123c870f9c5aa3357d0075b41a9c8135'
+ 'f6a554eea9557c3c236df2943bb6e7e723945c41'
+ '17df8689630a77e46899a8bd56997d9db896d5af'
+ 'ccefad65fde3d50331a42b0e90a1539dc7c8b9e4')
+
+build() {
+ cd "${srcdir}/LVM2.${pkgver}"
+ unset LDFLAGS
+
+ ./configure --prefix=/ --sbindir=/sbin --sysconfdir=/etc --localstatedir=/var --datarootdir=/usr/share \
+ --includedir=/usr/include --with-usrlibdir=/usr/lib --libdir=/usr/lib --with-udev-prefix=/usr \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system --enable-pkgconfig --enable-readline \
+ --enable-dmeventd --enable-cmdlib --enable-applib --enable-udev_sync --enable-udev_rules
+ make
+}
+
+package_device-mapper() {
+ pkgdesc="Device mapper userspace library and tools"
+ url="http://sourceware.org/dm/"
+ depends=('glibc' 'udev')
+
+ cd "${srcdir}/LVM2.${pkgver}"
+ make DESTDIR="${pkgdir}" install_device-mapper
+ # extra udev rule for device-mapper in initramfs
+ install -D -m644 "${srcdir}/11-dm-initramfs.rules" "${pkgdir}/usr/lib/initcpio/udev/11-dm-initramfs.rules"
+}
+
+package_lvm2() {
+ pkgdesc="Logical Volume Manager 2 utilities"
+ depends=('bash' "device-mapper>=${pkgver}" 'udev' 'readline')
+ conflicts=('lvm' 'mkinitcpio<0.7')
+ backup=('etc/lvm/lvm.conf')
+ options=('!makeflags')
+
+ cd "${srcdir}/LVM2.${pkgver}"
+ make DESTDIR="${pkgdir}" install_lvm2
+ # install applib
+ make -C liblvm DESTDIR="${pkgdir}" install
+ # /etc directories
+ install -d "${pkgdir}"/etc/lvm/{archive,backup}
+ # mkinitcpio hook
+ install -D -m644 "${srcdir}/lvm2_hook" "${pkgdir}/usr/lib/initcpio/hooks/lvm2"
+ install -D -m644 "${srcdir}/lvm2_install" "${pkgdir}/usr/lib/initcpio/install/lvm2"
+ # systemd support
+ install -D -m644 "${srcdir}/lvm.service" "${pkgdir}/usr/lib/systemd/system/lvm.service"
+ install -D -m644 "${srcdir}/lvm2.conf" "${pkgdir}/usr/lib/tmpfiles.d/lvm2.conf"
+}
diff --git a/testing/lvm2/lvm.service b/testing/lvm2/lvm.service
new file mode 100644
index 000000000..277d5a773
--- /dev/null
+++ b/testing/lvm2/lvm.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=LVM activation
+DefaultDependencies=no
+Requires=systemd-udev-settle.service
+After=systemd-udev-settle.service
+Before=basic.target shutdown.target
+Conflicts=shutdown.target
+
+[Service]
+ExecStart=/sbin/vgchange --sysinit --available y
+Type=oneshot
+TimeoutSec=0
+RemainAfterExit=yes
+
+[Install]
+WantedBy=basic.target
diff --git a/testing/lvm2/lvm2.conf b/testing/lvm2/lvm2.conf
new file mode 100644
index 000000000..129824552
--- /dev/null
+++ b/testing/lvm2/lvm2.conf
@@ -0,0 +1,2 @@
+d /run/lock/lvm 0755 root root -
+d /run/lvm 0755 root root -
diff --git a/testing/lvm2/lvm2_hook b/testing/lvm2/lvm2_hook
new file mode 100644
index 000000000..e69b3349a
--- /dev/null
+++ b/testing/lvm2/lvm2_hook
@@ -0,0 +1,24 @@
+#!/usr/bin/ash
+
+run_hook() {
+ local pvdev
+
+ modprobe -q dm-mod >/dev/null 2>&1
+
+ # If the lvmwait= parameter has been specified on the command line
+ # wait for the device(s) before trying to activate the volume group(s)
+ for pvdev in ${lvmwait//,/ }; do
+ poll_device ${pvdev} ${rootdelay}
+ done
+
+ msg "Activating logical volumes..."
+ [ -d /etc/lvm ] && lvm vgscan
+
+ if [ -n "$quiet" ]; then
+ lvm vgchange --sysinit -a y >/dev/null
+ else
+ lvm vgchange --sysinit -a y
+ fi
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/testing/lvm2/lvm2_install b/testing/lvm2/lvm2_install
new file mode 100644
index 000000000..145ce49b2
--- /dev/null
+++ b/testing/lvm2/lvm2_install
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+build() {
+ local mod
+ for mod in dm-mod dm-snapshot dm-mirror; do
+ add_module "$mod"
+ done
+
+ add_binary "/sbin/lvm"
+ add_binary "/sbin/dmsetup"
+ add_file "/usr/lib/udev/rules.d/10-dm.rules"
+ add_file "/usr/lib/udev/rules.d/13-dm-disk.rules"
+ add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
+ add_file "/usr/lib/udev/rules.d/11-dm-lvm.rules"
+ add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules"
+
+ add_runscript
+}
+
+help() {
+ cat <<HELPEOF
+This hook loads the necessary modules for an LVM2 root device.
+
+The optional lvmwait= parameter followed by a comma-separated
+list of device names can be given on the command line.
+It will cause the hook to wait until all given devices exist
+before trying to scan and activate any volume groups.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/testing/ntp/PKGBUILD b/testing/ntp/PKGBUILD
new file mode 100644
index 000000000..1266d8304
--- /dev/null
+++ b/testing/ntp/PKGBUILD
@@ -0,0 +1,64 @@
+# $Id: PKGBUILD 161933 2012-06-16 17:15:59Z dreisner $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: kevin <kevin@archlinux.org>
+
+pkgname=ntp
+pkgver=4.2.6.p5
+_realver=4.2.6p5
+pkgrel=7
+pkgdesc='Network Time Protocol reference implementation'
+url='http://www.ntp.org/'
+license=('custom')
+arch=('i686' 'x86_64')
+makedepends=('perl-html-parser')
+depends=('openssl' 'readline' 'libcap')
+backup=('etc/ntp.conf' 'etc/conf.d/ntpd.conf')
+source=("http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${_realver}.tar.gz"
+ 'ntpd'
+ 'ntpdate'
+ 'ntp.conf'
+ 'ntpd.conf'
+ 'logrotate.d'
+ 'ntpd.service')
+sha1sums=('4a5353a4791b6f4315a66c28d504ec6c7926b192'
+ '4e324e625c1f080b5c028be5092aa71adbf9bd99'
+ '01394b8a952f5edc85d19df8335eeac3980320f4'
+ 'eb1f63814b9adbd3d518e880fa3b38c375f0fe91'
+ '4537d1f58b299d463db5048129cb264511474b0b'
+ '4f76f7f9ffc8315ff9924f793f272d4f6939b816'
+ '81df5c4d51cb69bc29363625ff49e2bd388d1fa9')
+
+install=install
+
+build() {
+ cd "${srcdir}/${pkgname}-${_realver}"
+
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --enable-linuxcaps \
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-$_realver"
+
+ make DESTDIR="${pkgdir}" install
+
+ rmdir "${pkgdir}"/usr/{lib,sbin}
+ install -d -o 87 "${pkgdir}"/var/lib/ntp
+ install -Dm755 ../ntpd "${pkgdir}"/etc/rc.d/ntpd
+ install -Dm755 ../ntpdate "${pkgdir}"/etc/rc.d/ntpdate
+ install -Dm644 ../ntp.conf "${pkgdir}"/etc/ntp.conf
+ install -Dm644 ../ntpd.conf "${pkgdir}"/etc/conf.d/ntpd.conf
+ install -Dm644 ../logrotate.d "${pkgdir}"/etc/logrotate.d/ntpd
+ install -Dm644 ../ntpd.service "${pkgdir}"/usr/lib/systemd/system/ntpd.service
+ install -Dm644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ cd html
+ ../scripts/html2man
+ install -d "${pkgdir}"/usr/share/man
+ mv man/man* "${pkgdir}"/usr/share/man
+ mv "${pkgdir}/usr/share/man/man8/ntpd.8" "${pkgdir}/usr/share/man/man8/ntp-ntpd.8" # we should ditch openntpd
+}
diff --git a/testing/ntp/install b/testing/ntp/install
new file mode 100644
index 000000000..e6eddf8a4
--- /dev/null
+++ b/testing/ntp/install
@@ -0,0 +1,37 @@
+post_install() {
+ getent group ntp &>/dev/null || groupadd -g 87 ntp >/dev/null
+ getent passwd ntp &>/dev/null || useradd -u 87 -g ntp -d /var/lib/ntp -c 'Network Time Protocol' -s /bin/false ntp >/dev/null
+ true
+}
+
+post_upgrade() {
+ if [[ $(vercmp $2 4.2.6.p3) -le 0 ]]; then
+ cat <<EOF
+
+==> The file /etc/conf.d/ntp-client.conf has been renamed /etc/conf.d/ntpd.conf
+==> If you made changes to the former, please update the latter.
+
+EOF
+ fi
+ if [[ $(vercmp $2 4.2.6.p5-1) -le 0 ]]; then
+ cat <<EOF
+
+==> The PID file /var/run/ntpd.pid has been renamed /run/ntpd.pid
+==> and the new rc.d script only takes the latter into account.
+==> To stop your old ntpd process, please kill it manually.
+
+EOF
+ fi
+ if [[ $(vercmp $2 4.2.6.p5-3) -le 0 ]]; then
+ post_install
+ fi
+ if [[ $(vercmp $2 4.2.6.p5-5) -le 0 ]]; then
+ chown -R ntp /var/lib/ntp
+ fi
+}
+
+post_remove() {
+ getent passwd ntp &>/dev/null && userdel ntp >/dev/null
+ getent group ntp &>/dev/null && groupdel ntp >/dev/null
+ true
+}
diff --git a/testing/ntp/logrotate.d b/testing/ntp/logrotate.d
new file mode 100644
index 000000000..8a9f066c3
--- /dev/null
+++ b/testing/ntp/logrotate.d
@@ -0,0 +1,4 @@
+/var/log/ntp.log {
+ missingok
+ copytruncate
+}
diff --git a/testing/ntp/ntp.conf b/testing/ntp/ntp.conf
new file mode 100644
index 000000000..a27b22820
--- /dev/null
+++ b/testing/ntp/ntp.conf
@@ -0,0 +1,23 @@
+# With the default settings below, ntpd will only synchronize your clock.
+#
+# For details, see:
+# - the ntp.conf man page
+# - http://support.ntp.org/bin/view/Support/GettingStarted
+# - https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon
+
+# Associate to public NTP pool servers; see http://www.pool.ntp.org/
+server 0.pool.ntp.org
+server 1.pool.ntp.org
+server 2.pool.ntp.org
+
+# Only allow read-only access from localhost
+restrict default noquery nopeer
+restrict 127.0.0.1
+restrict ::1
+
+# Location of drift and log files
+driftfile /var/lib/ntp/ntp.drift
+logfile /var/log/ntp.log
+
+# NOTE: If you run dhcpcd and have lines like 'restrict' and 'fudge' appearing
+# here, be sure to add '-Y -N' to the dhcpcd_ethX variables in /etc/conf.d/net
diff --git a/testing/ntp/ntpd b/testing/ntp/ntpd
new file mode 100755
index 000000000..480fa1088
--- /dev/null
+++ b/testing/ntp/ntpd
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/ntpd.conf
+
+unset PID
+PIDFILE='/run/ntpd.pid'
+
+if [[ -r ${PIDFILE} ]]; then
+ read -r PID <"${PIDFILE}"
+ if [[ -n ${PID} && ! -d /proc/${PID} ]]; then
+ rm -f "${PIDFILE}"
+ unset PID
+ fi
+fi
+
+case "$1" in
+ start)
+ stat_busy "Starting NTP Daemon"
+ if [[ -z ${PID} ]] && /usr/bin/ntpd ${NTPD_ARGS} -p "${PIDFILE}" &>/dev/null; then
+ add_daemon ntpd
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping NTP Daemon"
+ if [[ -n ${PID} ]] && kill "${PID}" &>/dev/null; then
+ rm ${PIDFILE}
+ rm_daemon ntpd
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/testing/ntp/ntpd.conf b/testing/ntp/ntpd.conf
new file mode 100644
index 000000000..047961fde
--- /dev/null
+++ b/testing/ntp/ntpd.conf
@@ -0,0 +1,5 @@
+# client options for "ntpd -q" - ntpdate equivalent
+NTP_CLIENT_OPTION="-g -u ntp"
+
+# arguments passed to ntpd when started
+NTPD_ARGS="-g -u ntp"
diff --git a/testing/ntp/ntpd.service b/testing/ntp/ntpd.service
new file mode 100644
index 000000000..e0cbf879e
--- /dev/null
+++ b/testing/ntp/ntpd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Network Time Service
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/ntpd.pid
+EnvironmentFile=/etc/conf.d/ntpd.conf
+ExecStart=/usr/bin/ntpd $NTPD_ARGS -p /run/ntpd.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/ntp/ntpdate b/testing/ntp/ntpdate
new file mode 100755
index 000000000..a8e746785
--- /dev/null
+++ b/testing/ntp/ntpdate
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/ntpd.conf
+
+case "$1" in
+ start)
+ stat_busy "Starting NTP Client"
+ if /usr/bin/ntpd -q ${NTP_CLIENT_OPTION} &>/dev/null; then
+ add_daemon ntpdate
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping NTP Client"
+ rm_daemon ntpdate
+ stat_done
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/testing/openldap/PKGBUILD b/testing/openldap/PKGBUILD
new file mode 100644
index 000000000..6856a2615
--- /dev/null
+++ b/testing/openldap/PKGBUILD
@@ -0,0 +1,104 @@
+# $Id: PKGBUILD 161934 2012-06-16 17:16:14Z dreisner $
+# Maintainer:
+
+pkgbase=openldap
+pkgname=('libldap' 'openldap')
+pkgver=2.4.31
+pkgrel=3
+arch=('i686' 'x86_64')
+url="http://www.openldap.org/"
+license=('custom')
+makedepends=('libltdl' 'libsasl' 'e2fsprogs' 'util-linux')
+source=(ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${pkgbase}-${pkgver}.tgz
+ slapd slapd.default slapd.service
+ ntlm.patch
+ mutex-end-of-struct-sigsegv.patch)
+sha1sums=('8315a283fb3724abe6062e38d93bb69298d05765'
+ 'bd1ea19256d3d467f1f803e0f4046ef50f17628f'
+ 'd89b8a533045123f1ab46c9c430cf132d58a20a4'
+ 'a2cdab7e800a9f0c8b1e319a68598a12f4af27a4'
+ 'e4afd9f1c810ef4c4cd8fe1101dfe5887f2b7eef'
+ '694269dad78c7a806649c2d7f57bb7e503df3af1')
+
+build() {
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+ patch -Np1 -i "${srcdir}"/ntlm.patch
+ patch -Np1 -i "${srcdir}"/mutex-end-of-struct-sigsegv.patch
+
+ sed -i 's|-m 644 $(LIBRARY)|-m 755 $(LIBRARY)|' libraries/{liblber,libldap,libldap_r}/Makefile.in
+ sed -i 's|#define LDAPI_SOCK LDAP_RUNDIR LDAP_DIRSEP "run" LDAP_DIRSEP "ldapi"|#define LDAPI_SOCK LDAP_DIRSEP "run" LDAP_DIRSEP "openldap" LDAP_DIRSEP "ldapi"|' include/ldap_defaults.h
+ sed -i 's|%LOCALSTATEDIR%/run|/run/openldap|' servers/slapd/slapd.conf
+ sed -i 's|-$(MKDIR) $(DESTDIR)$(localstatedir)/run|-$(MKDIR) $(DESTDIR)/run/openldap|' servers/slapd/Makefile.in
+
+ LDFLAGS="$LDFLAGS -L\"${pkgdir}\"/libldap/usr/lib"
+ ./configure --prefix=/usr --mandir=/usr/share/man --libexecdir=/usr/lib \
+ --sysconfdir=/etc --localstatedir=/var/lib/openldap \
+ --enable-ipv6 --enable-syslog --enable-local \
+ --enable-bdb --enable-hdb \
+ --enable-crypt --enable-dynamic \
+ --with-threads --disable-wrappers \
+ --without-fetch \
+ --enable-spasswd --with-cyrus-sasl \
+ --enable-overlays=mod --enable-modules=yes
+ make
+}
+
+check() {
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+ make test
+}
+
+package_libldap() {
+ pkgdesc="Lightweight Directory Access Protocol (LDAP) client libraries"
+ depends=('libsasl' 'e2fsprogs')
+ backup=('etc/openldap/ldap.conf')
+ options=('!libtool')
+
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+ for dir in include libraries doc/man/man3 ; do
+ pushd ${dir}
+ make DESTDIR="${pkgdir}" install
+ popd
+ done
+ install -Dm644 doc/man/man5/ldap.conf.5.tmp "${pkgdir}"/usr/share/man/man5/ldap.conf.5
+
+# get rid of duplicate default conf files
+ rm "${pkgdir}"/etc/openldap/*.default
+
+ ln -sf liblber.so "${pkgdir}"/usr/lib/liblber.so.2
+ ln -sf libldap.so "${pkgdir}"/usr/lib/libldap.so.2
+
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
+
+package_openldap() {
+ pkgdesc="Lightweight Directory Access Protocol (LDAP) client and server"
+ depends=("libldap>=${pkgver}" 'libltdl' 'util-linux')
+ backup=('etc/openldap/slapd.conf' 'etc/conf.d/slapd')
+ options=('!libtool' 'emptydirs')
+ install=openldap.install
+
+ cd "${srcdir}"/${pkgbase}-${pkgver}
+ for dir in clients servers doc/man/man{1,5,8} ; do
+ pushd ${dir}
+ make DESTDIR="${pkgdir}" install
+ popd
+ done
+ rm "${pkgdir}"/usr/share/man/man5/ldap.conf.5
+ rm -r "${pkgdir}"/run
+
+# get rid of duplicate default conf files
+ rm "${pkgdir}"/etc/openldap/*.default
+
+ ln -s ../lib/slapd "${pkgdir}"/usr/sbin/slapd
+
+ chown root:439 "${pkgdir}"/etc/openldap/{slapd.conf,DB_CONFIG.example}
+ chmod 640 "${pkgdir}"/etc/openldap/{slapd.conf,DB_CONFIG.example}
+
+ install -dm700 -o 439 -g 439 "${pkgdir}"/var/lib/openldap
+ install -dm700 -o 439 -g 439 "${pkgdir}"/etc/openldap/slapd.d
+ install -Dm755 "${srcdir}"/slapd "${pkgdir}"/etc/rc.d/slapd
+ install -Dm644 "${srcdir}"/slapd.default "${pkgdir}"/etc/conf.d/slapd
+ install -Dm644 "${srcdir}"/slapd.service "${pkgdir}"/usr/lib/systemd/system/slapd.service
+ install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
diff --git a/testing/openldap/mutex-end-of-struct-sigsegv.patch b/testing/openldap/mutex-end-of-struct-sigsegv.patch
new file mode 100644
index 000000000..e8996386a
--- /dev/null
+++ b/testing/openldap/mutex-end-of-struct-sigsegv.patch
@@ -0,0 +1,293 @@
+ libraries/libldap/init.c | 8 ++-
+ libraries/libldap/ldap-int.h | 198 ++++++++++++++++++++++--------------------
+ 2 files changed, 110 insertions(+), 96 deletions(-)
+
+diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c
+index 39292d2..9d37e64 100644
+--- a/libraries/libldap/init.c
++++ b/libraries/libldap/init.c
+@@ -36,7 +36,13 @@
+ #include "lutil.h"
+
+ struct ldapoptions ldap_int_global_options =
+- { LDAP_UNINITIALIZED, LDAP_DEBUG_NONE LDAP_LDO_MUTEX_NULLARG };
++ { LDAP_UNINITIALIZED, LDAP_DEBUG_NONE
++ LDAP_LDO_NULLARG
++ LDAP_LDO_CONNECTIONLESS_NULLARG
++ LDAP_LDO_TLS_NULLARG
++ LDAP_LDO_SASL_NULLARG
++ LDAP_LDO_GSSAPI_NULLARG
++ LDAP_LDO_MUTEX_NULLARG };
+
+ #define ATTR_NONE 0
+ #define ATTR_BOOL 1
+diff --git a/libraries/libldap/ldap-int.h b/libraries/libldap/ldap-int.h
+index f8e6126..ac6c9e5 100644
+--- a/libraries/libldap/ldap-int.h
++++ b/libraries/libldap/ldap-int.h
+@@ -185,29 +185,59 @@ struct ldapoptions {
+ #define LDAP_TRASHED_SESSION 0xFF
+ int ldo_debug;
+
+-#ifdef LDAP_R_COMPILE
+- ldap_pvt_thread_mutex_t ldo_mutex;
+-#define LDAP_LDO_MUTEX_NULLARG , LDAP_PVT_MUTEX_NULL
+-#else
+-#define LDAP_LDO_MUTEX_NULLARG
+-#endif
++ ber_int_t ldo_version;
++ ber_int_t ldo_deref;
++ ber_int_t ldo_timelimit;
++ ber_int_t ldo_sizelimit;
++
++ /* per API call timeout */
++ struct timeval ldo_tm_api;
++ struct timeval ldo_tm_net;
++
++ LDAPURLDesc *ldo_defludp;
++ int ldo_defport;
++ char* ldo_defbase;
++ char* ldo_defbinddn; /* bind dn */
++
++ /*
++ * Per connection tcp-keepalive settings (Linux only,
++ * ignored where unsupported)
++ */
++ ber_int_t ldo_keepalive_idle;
++ ber_int_t ldo_keepalive_probes;
++ ber_int_t ldo_keepalive_interval;
++
++ int ldo_refhoplimit; /* limit on referral nesting */
++
++ /* LDAPv3 server and client controls */
++ LDAPControl **ldo_sctrls;
++ LDAPControl **ldo_cctrls;
++
++ /* LDAP rebind callback function */
++ LDAP_REBIND_PROC *ldo_rebind_proc;
++ void *ldo_rebind_params;
++ LDAP_NEXTREF_PROC *ldo_nextref_proc;
++ void *ldo_nextref_params;
++ LDAP_URLLIST_PROC *ldo_urllist_proc;
++ void *ldo_urllist_params;
++
++ /* LDAP connection callback stack */
++ ldaplist *ldo_conn_cbs;
++
++ LDAP_BOOLEANS ldo_booleans; /* boolean options */
++
++#define LDAP_LDO_NULLARG ,0,0,0,0 ,{0},{0} ,0,0,0,0, 0,0,0,0, 0,0, 0,0,0,0,0,0, 0, 0
+
+ #ifdef LDAP_CONNECTIONLESS
+ #define LDAP_IS_UDP(ld) ((ld)->ld_options.ldo_is_udp)
+ void* ldo_peer; /* struct sockaddr* */
+ char* ldo_cldapdn;
+ int ldo_is_udp;
++#define LDAP_LDO_CONNECTIONLESS_NULLARG ,0,0,0
++#else
++#define LDAP_LDO_CONNECTIONLESS_NULLARG
+ #endif
+
+- /* per API call timeout */
+- struct timeval ldo_tm_api;
+- struct timeval ldo_tm_net;
+-
+- ber_int_t ldo_version;
+- ber_int_t ldo_deref;
+- ber_int_t ldo_timelimit;
+- ber_int_t ldo_sizelimit;
+-
+ #ifdef HAVE_TLS
+ /* tls context */
+ void *ldo_tls_ctx;
+@@ -226,16 +256,12 @@ struct ldapoptions {
+ int ldo_tls_mode;
+ int ldo_tls_require_cert;
+ int ldo_tls_impl;
+-#ifdef HAVE_OPENSSL_CRL
+ int ldo_tls_crlcheck;
+-#endif
++#define LDAP_LDO_TLS_NULLARG ,0,0,0,{0,0,0,0,0,0,0,0,0},0,0,0,0
++#else
++#define LDAP_LDO_TLS_NULLARG
+ #endif
+
+- LDAPURLDesc *ldo_defludp;
+- int ldo_defport;
+- char* ldo_defbase;
+- char* ldo_defbinddn; /* bind dn */
+-
+ #ifdef HAVE_CYRUS_SASL
+ char* ldo_def_sasl_mech; /* SASL Mechanism(s) */
+ char* ldo_def_sasl_realm; /* SASL realm */
+@@ -244,6 +270,9 @@ struct ldapoptions {
+
+ /* SASL Security Properties */
+ struct sasl_security_properties ldo_sasl_secprops;
++#define LDAP_LDO_SASL_NULLARG ,0,0,0,0,{0}
++#else
++#define LDAP_LDO_SASL_NULLARG
+ #endif
+
+ #ifdef HAVE_GSSAPI
+@@ -253,34 +282,17 @@ struct ldapoptions {
+ #define LDAP_GSSAPI_OPT_DO_NOT_FREE_GSS_CONTEXT 0x0001
+ #define LDAP_GSSAPI_OPT_ALLOW_REMOTE_PRINCIPAL 0x0002
+ unsigned ldo_gssapi_options;
++#define LDAP_LDO_GSSAPI_NULLARG ,0,0
++#else
++#define LDAP_LDO_GSSAPI_NULLARG
+ #endif
+
+- /*
+- * Per connection tcp-keepalive settings (Linux only,
+- * ignored where unsupported)
+- */
+- ber_int_t ldo_keepalive_idle;
+- ber_int_t ldo_keepalive_probes;
+- ber_int_t ldo_keepalive_interval;
+-
+- int ldo_refhoplimit; /* limit on referral nesting */
+-
+- /* LDAPv3 server and client controls */
+- LDAPControl **ldo_sctrls;
+- LDAPControl **ldo_cctrls;
+-
+- /* LDAP rebind callback function */
+- LDAP_REBIND_PROC *ldo_rebind_proc;
+- void *ldo_rebind_params;
+- LDAP_NEXTREF_PROC *ldo_nextref_proc;
+- void *ldo_nextref_params;
+- LDAP_URLLIST_PROC *ldo_urllist_proc;
+- void *ldo_urllist_params;
+-
+- /* LDAP connection callback stack */
+- ldaplist *ldo_conn_cbs;
+-
+- LDAP_BOOLEANS ldo_booleans; /* boolean options */
++#ifdef LDAP_R_COMPILE
++ ldap_pvt_thread_mutex_t ldo_mutex;
++#define LDAP_LDO_MUTEX_NULLARG , LDAP_PVT_MUTEX_NULL
++#else
++#define LDAP_LDO_MUTEX_NULLARG
++#endif
+ };
+
+
+@@ -375,6 +387,46 @@ struct ldap_common {
+ Sockbuf *ldc_sb; /* socket descriptor & buffer */
+ #define ld_sb ldc->ldc_sb
+
++ unsigned short ldc_lberoptions;
++#define ld_lberoptions ldc->ldc_lberoptions
++
++ /* protected by msgid_mutex */
++ ber_len_t ldc_msgid;
++#define ld_msgid ldc->ldc_msgid
++
++ /* do not mess with these */
++ /* protected by req_mutex */
++ LDAPRequest *ldc_requests; /* list of outstanding requests */
++ /* protected by res_mutex */
++ LDAPMessage *ldc_responses; /* list of outstanding responses */
++#define ld_requests ldc->ldc_requests
++#define ld_responses ldc->ldc_responses
++
++ /* protected by abandon_mutex */
++ ber_len_t ldc_nabandoned;
++ ber_int_t *ldc_abandoned; /* array of abandoned requests */
++#define ld_nabandoned ldc->ldc_nabandoned
++#define ld_abandoned ldc->ldc_abandoned
++
++ /* unused by libldap */
++ LDAPCache *ldc_cache; /* non-null if cache is initialized */
++#define ld_cache ldc->ldc_cache
++
++ /* do not mess with the rest though */
++
++ /* protected by conn_mutex */
++ LDAPConn *ldc_defconn; /* default connection */
++#define ld_defconn ldc->ldc_defconn
++ LDAPConn *ldc_conns; /* list of server connections */
++#define ld_conns ldc->ldc_conns
++ void *ldc_selectinfo;/* platform specifics for select */
++#define ld_selectinfo ldc->ldc_selectinfo
++
++ /* ldap_common refcnt - free only if 0 */
++ /* protected by ldc_mutex */
++ unsigned int ldc_refcnt;
++#define ld_ldcrefcnt ldc->ldc_refcnt
++
+ /* protected by ldo_mutex */
+ struct ldapoptions ldc_options;
+ #define ld_options ldc->ldc_options
+@@ -403,66 +455,22 @@ struct ldap_common {
+ #define ld_urllist_params ld_options.ldo_urllist_params
+
+ #define ld_version ld_options.ldo_version
+-#ifdef LDAP_R_COMPILE
+-#define ld_ldopts_mutex ld_options.ldo_mutex
+-#endif
+-
+- unsigned short ldc_lberoptions;
+-#define ld_lberoptions ldc->ldc_lberoptions
+-
+- /* protected by msgid_mutex */
+- ber_len_t ldc_msgid;
+-#define ld_msgid ldc->ldc_msgid
+-
+- /* do not mess with these */
+- /* protected by req_mutex */
+- LDAPRequest *ldc_requests; /* list of outstanding requests */
+- /* protected by res_mutex */
+- LDAPMessage *ldc_responses; /* list of outstanding responses */
+-#define ld_requests ldc->ldc_requests
+-#define ld_responses ldc->ldc_responses
+
+ #ifdef LDAP_R_COMPILE
++ ldap_pvt_thread_mutex_t ldc_mutex;
+ ldap_pvt_thread_mutex_t ldc_msgid_mutex;
+ ldap_pvt_thread_mutex_t ldc_conn_mutex;
+ ldap_pvt_thread_mutex_t ldc_req_mutex;
+ ldap_pvt_thread_mutex_t ldc_res_mutex;
+ ldap_pvt_thread_mutex_t ldc_abandon_mutex;
++#define ld_ldopts_mutex ld_options.ldo_mutex
++#define ld_ldcmutex ldc->ldc_mutex
+ #define ld_msgid_mutex ldc->ldc_msgid_mutex
+ #define ld_conn_mutex ldc->ldc_conn_mutex
+ #define ld_req_mutex ldc->ldc_req_mutex
+ #define ld_res_mutex ldc->ldc_res_mutex
+ #define ld_abandon_mutex ldc->ldc_abandon_mutex
+ #endif
+-
+- /* protected by abandon_mutex */
+- ber_len_t ldc_nabandoned;
+- ber_int_t *ldc_abandoned; /* array of abandoned requests */
+-#define ld_nabandoned ldc->ldc_nabandoned
+-#define ld_abandoned ldc->ldc_abandoned
+-
+- /* unused by libldap */
+- LDAPCache *ldc_cache; /* non-null if cache is initialized */
+-#define ld_cache ldc->ldc_cache
+-
+- /* do not mess with the rest though */
+-
+- /* protected by conn_mutex */
+- LDAPConn *ldc_defconn; /* default connection */
+-#define ld_defconn ldc->ldc_defconn
+- LDAPConn *ldc_conns; /* list of server connections */
+-#define ld_conns ldc->ldc_conns
+- void *ldc_selectinfo;/* platform specifics for select */
+-#define ld_selectinfo ldc->ldc_selectinfo
+-
+- /* ldap_common refcnt - free only if 0 */
+-#ifdef LDAP_R_COMPILE
+- ldap_pvt_thread_mutex_t ldc_mutex;
+-#define ld_ldcmutex ldc->ldc_mutex
+-#endif
+- /* protected by ldc_mutex */
+- unsigned int ldc_refcnt;
+-#define ld_ldcrefcnt ldc->ldc_refcnt
+ };
+
+ struct ldap {
diff --git a/testing/openldap/ntlm.patch b/testing/openldap/ntlm.patch
new file mode 100644
index 000000000..6804b610d
--- /dev/null
+++ b/testing/openldap/ntlm.patch
@@ -0,0 +1,230 @@
+Patch from evolution-exchange (2.10.3). The ldap_ntlm_bind function is
+actually called by evolution-data-server, checked at version 1.12.2.
+Without this patch, the Exchange addressbook integration uses simple binds
+with cleartext passwords.
+
+Russ checked with openldap-software for upstream's opinion on this patch
+on 2007-12-21. Upstream had never received it as a patch submission and
+given that it's apparently only for older Exchange servers that can't do
+SASL and DIGEST-MD5, it's not very appealing.
+
+Bug#457374 filed against evolution-data-server asking if this support is
+still required on 2007-12-21.
+
+Index: trunk/include/ldap.h
+===================================================================
+--- trunk.orig/include/ldap.h
++++ trunk/include/ldap.h
+@@ -2461,5 +2461,25 @@
+ LDAPControl **ctrls,
+ LDAPDerefRes **drp ));
+
++/*
++ * hacks for NTLM
++ */
++#define LDAP_AUTH_NTLM_REQUEST ((ber_tag_t) 0x8aU)
++#define LDAP_AUTH_NTLM_RESPONSE ((ber_tag_t) 0x8bU)
++LDAP_F( int )
++ldap_ntlm_bind LDAP_P((
++ LDAP *ld,
++ LDAP_CONST char *dn,
++ ber_tag_t tag,
++ struct berval *cred,
++ LDAPControl **sctrls,
++ LDAPControl **cctrls,
++ int *msgidp ));
++LDAP_F( int )
++ldap_parse_ntlm_bind_result LDAP_P((
++ LDAP *ld,
++ LDAPMessage *res,
++ struct berval *challenge));
++
+ LDAP_END_DECL
+ #endif /* _LDAP_H */
+Index: trunk/libraries/libldap/ntlm.c
+===================================================================
+--- /dev/null
++++ trunk/libraries/libldap/ntlm.c
+@@ -0,0 +1,138 @@
++/* $OpenLDAP: pkg/ldap/libraries/libldap/ntlm.c,v 1.1.4.10 2002/01/04 20:38:21 kurt Exp $ */
++/*
++ * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
++ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
++ */
++
++/* Mostly copied from sasl.c */
++
++#include "portable.h"
++
++#include <stdlib.h>
++#include <stdio.h>
++
++#include <ac/socket.h>
++#include <ac/string.h>
++#include <ac/time.h>
++#include <ac/errno.h>
++
++#include "ldap-int.h"
++
++int
++ldap_ntlm_bind(
++ LDAP *ld,
++ LDAP_CONST char *dn,
++ ber_tag_t tag,
++ struct berval *cred,
++ LDAPControl **sctrls,
++ LDAPControl **cctrls,
++ int *msgidp )
++{
++ BerElement *ber;
++ int rc;
++ ber_int_t id;
++
++ Debug( LDAP_DEBUG_TRACE, "ldap_ntlm_bind\n", 0, 0, 0 );
++
++ assert( ld != NULL );
++ assert( LDAP_VALID( ld ) );
++ assert( msgidp != NULL );
++
++ if( msgidp == NULL ) {
++ ld->ld_errno = LDAP_PARAM_ERROR;
++ return ld->ld_errno;
++ }
++
++ /* create a message to send */
++ if ( (ber = ldap_alloc_ber_with_options( ld )) == NULL ) {
++ ld->ld_errno = LDAP_NO_MEMORY;
++ return ld->ld_errno;
++ }
++
++ assert( LBER_VALID( ber ) );
++
++ LDAP_NEXT_MSGID( ld, id );
++ rc = ber_printf( ber, "{it{istON}" /*}*/,
++ id, LDAP_REQ_BIND,
++ ld->ld_version, dn, tag,
++ cred );
++
++ /* Put Server Controls */
++ if( ldap_int_put_controls( ld, sctrls, ber ) != LDAP_SUCCESS ) {
++ ber_free( ber, 1 );
++ return ld->ld_errno;
++ }
++
++ if ( ber_printf( ber, /*{*/ "N}" ) == -1 ) {
++ ld->ld_errno = LDAP_ENCODING_ERROR;
++ ber_free( ber, 1 );
++ return ld->ld_errno;
++ }
++
++ /* send the message */
++ *msgidp = ldap_send_initial_request( ld, LDAP_REQ_BIND, dn, ber, id );
++
++ if(*msgidp < 0)
++ return ld->ld_errno;
++
++ return LDAP_SUCCESS;
++}
++
++int
++ldap_parse_ntlm_bind_result(
++ LDAP *ld,
++ LDAPMessage *res,
++ struct berval *challenge)
++{
++ ber_int_t errcode;
++ ber_tag_t tag;
++ BerElement *ber;
++ ber_len_t len;
++
++ Debug( LDAP_DEBUG_TRACE, "ldap_parse_ntlm_bind_result\n", 0, 0, 0 );
++
++ assert( ld != NULL );
++ assert( LDAP_VALID( ld ) );
++ assert( res != NULL );
++
++ if ( ld == NULL || res == NULL ) {
++ return LDAP_PARAM_ERROR;
++ }
++
++ if( res->lm_msgtype != LDAP_RES_BIND ) {
++ ld->ld_errno = LDAP_PARAM_ERROR;
++ return ld->ld_errno;
++ }
++
++ if ( ld->ld_error ) {
++ LDAP_FREE( ld->ld_error );
++ ld->ld_error = NULL;
++ }
++ if ( ld->ld_matched ) {
++ LDAP_FREE( ld->ld_matched );
++ ld->ld_matched = NULL;
++ }
++
++ /* parse results */
++
++ ber = ber_dup( res->lm_ber );
++
++ if( ber == NULL ) {
++ ld->ld_errno = LDAP_NO_MEMORY;
++ return ld->ld_errno;
++ }
++
++ tag = ber_scanf( ber, "{ioa" /*}*/,
++ &errcode, challenge, &ld->ld_error );
++ ber_free( ber, 0 );
++
++ if( tag == LBER_ERROR ) {
++ ld->ld_errno = LDAP_DECODING_ERROR;
++ return ld->ld_errno;
++ }
++
++ ld->ld_errno = errcode;
++
++ return( ld->ld_errno );
++}
++
+Index: trunk/libraries/libldap/Makefile.in
+===================================================================
+--- trunk.orig/libraries/libldap/Makefile.in
++++ trunk/libraries/libldap/Makefile.in
+@@ -27,7 +27,7 @@
+ init.c options.c print.c string.c util-int.c schema.c \
+ charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \
+ tls2.c tls_o.c tls_g.c tls_m.c \
+- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \
++ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \
+ assertion.c deref.c ldif.c fetch.c
+
+ OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \
+@@ -40,7 +40,7 @@
+ init.lo options.lo print.lo string.lo util-int.lo schema.lo \
+ charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \
+ tls2.lo tls_o.lo tls_g.lo tls_m.lo \
+- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \
++ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \
+ assertion.lo deref.lo ldif.lo fetch.lo
+
+ LDAP_INCDIR= ../../include
+Index: trunk/libraries/libldap_r/Makefile.in
+===================================================================
+--- trunk.orig/libraries/libldap_r/Makefile.in
++++ trunk/libraries/libldap_r/Makefile.in
+@@ -29,7 +29,7 @@
+ init.c options.c print.c string.c util-int.c schema.c \
+ charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \
+ tls2.c tls_o.c tls_g.c tls_m.c \
+- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \
++ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \
+ assertion.c deref.c ldif.c fetch.c
+ SRCS = threads.c rdwr.c rmutex.c tpool.c rq.c \
+ thr_posix.c thr_cthreads.c thr_thr.c thr_lwp.c thr_nt.c \
+@@ -47,7 +47,7 @@
+ init.lo options.lo print.lo string.lo util-int.lo schema.lo \
+ charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \
+ tls2.lo tls_o.lo tls_g.lo tls_m.lo \
+- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \
++ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \
+ assertion.lo deref.lo ldif.lo fetch.lo
+
+ LDAP_INCDIR= ../../include
diff --git a/testing/openldap/openldap.install b/testing/openldap/openldap.install
new file mode 100644
index 000000000..cf3cb9f25
--- /dev/null
+++ b/testing/openldap/openldap.install
@@ -0,0 +1,20 @@
+post_install(){
+ groupadd -g 439 ldap &>/dev/null
+ useradd -u 439 -g ldap -d /var/lib/openldap -s /bin/false ldap &>/dev/null
+ chown -R ldap:ldap var/lib/openldap &>/dev/null
+}
+
+post_upgrade(){
+ getent group ldap >/dev/null 2>&1 || groupadd -g 439 ldap &>/dev/null
+ getent passwd ldap >/dev/null 2>&1 || useradd -u 439 -g ldap -d /var/lib/openldap -s /bin/false ldap &>/dev/null
+ chown -R ldap:ldap var/lib/openldap &>/dev/null
+}
+
+post_remove(){
+ if getent passwd ldap >/dev/null 2>&1; then
+ userdel ldap
+ fi
+ if getent group ldap >/dev/null 2>&1; then
+ groupdel ldap
+ fi
+}
diff --git a/testing/openldap/slapd b/testing/openldap/slapd
new file mode 100755
index 000000000..4f212da66
--- /dev/null
+++ b/testing/openldap/slapd
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+[ -f "/etc/conf.d/slapd" ] && . /etc/conf.d/slapd
+
+PID=`pidof -o %PPID /usr/sbin/slapd`
+case "$1" in
+ start)
+ stat_busy "Starting OpenLDAP"
+ [ ! -d /run/openldap ] && install -d -m755 -o ldap -g ldap /run/openldap
+ if [ -z "$PID" ]; then
+ if [ -z "$SLAPD_SERVICES" ]; then
+ /usr/sbin/slapd -u ldap -g ldap $SLAPD_OPTIONS
+ else
+ /usr/sbin/slapd -u ldap -g ldap -h "$SLAPD_SERVICES" $SLAPD_OPTIONS
+ fi
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ add_daemon slapd
+ else
+ stat_fail
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping OpenLDAP"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm -f /run/openldap/slapd.pid
+ rm -f /run/openldap/slapd.args
+ rm_daemon slapd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/openldap/slapd.default b/testing/openldap/slapd.default
new file mode 100644
index 000000000..72ae2a6a7
--- /dev/null
+++ b/testing/openldap/slapd.default
@@ -0,0 +1,6 @@
+# slapd normally serves ldap only on all TCP-ports 389. slapd can also
+# service requests on TCP-port 636 (ldaps) and requests via unix
+# sockets.
+# Example usage:
+#SLAPD_SERVICES="ldap://127.0.0.1:389/ ldaps:/// ldapi:///"
+SLAPD_OPTIONS=""
diff --git a/testing/openldap/slapd.service b/testing/openldap/slapd.service
new file mode 100644
index 000000000..d8baa57b5
--- /dev/null
+++ b/testing/openldap/slapd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=OpenLDAP server daemon
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/slapd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/openssh/PKGBUILD b/testing/openssh/PKGBUILD
new file mode 100644
index 000000000..dd9ad59bf
--- /dev/null
+++ b/testing/openssh/PKGBUILD
@@ -0,0 +1,96 @@
+# $Id: PKGBUILD 161935 2012-06-16 17:16:33Z dreisner $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Aaron Griffin <aaron@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=openssh
+pkgver=6.0p1
+pkgrel=3
+pkgdesc='Free version of the SSH connectivity tools'
+url='http://www.openssh.org/portable.html'
+license=('custom:BSD')
+arch=('i686' 'x86_64')
+depends=('krb5' 'openssl' 'libedit' 'ldns')
+optdepends=('xorg-xauth: X11 forwarding'
+ 'x11-ssh-askpass: input passphrase in X')
+source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"
+ 'sshd.close-sessions'
+ 'sshdgenkeys.service'
+ 'sshd@.service'
+ 'sshd.service'
+ 'sshd.socket'
+ 'tmpfiles.d'
+ 'sshd.confd'
+ 'sshd.pam'
+ 'sshd')
+sha1sums=('f691e53ef83417031a2854b8b1b661c9c08e4422'
+ '954bf1660aa32620c37034320877f4511b767ccb'
+ '6c71de2c2ca9622aa8e863acd94b135555e11125'
+ 'bd6eae36c7ef9efb7147778baad7858b81f2d660'
+ '83a257b8f6a62237383262cb0e2583e5609ddac0'
+ 'a30fb5fda6d0143345bae47684edaffb8d0a92a7'
+ 'b5cf44205e8f4365c00bfbee110d7c0e563627aa'
+ 'ec102deb69cad7d14f406289d2fc11fee6eddbdd'
+ '659e3ee95c269014783ff8b318c6f50bf7496fbd'
+ 'ed36e3a522f619ff6b13e253526596e4cca11e9f')
+
+backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd' 'etc/conf.d/sshd')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/ssh \
+ --sysconfdir=/etc/ssh \
+ --with-ldns \
+ --with-libedit \
+ --with-ssl-engine \
+ --with-pam \
+ --with-privsep-user=nobody \
+ --with-kerberos5=/usr \
+ --with-xauth=/usr/bin/xauth \
+ --with-mantype=man \
+ --with-md5-passwords \
+ --with-pid-dir=/run \
+
+ make
+}
+
+check() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ # The connect.sh test must be run by a user with a decent login shell;
+ # chroot builds use nobody with /bin/false.
+ make tests || true
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ rm "${pkgdir}"/usr/share/man/man1/slogin.1
+ ln -sf ssh.1.gz "${pkgdir}"/usr/share/man/man1/slogin.1.gz
+
+ install -Dm644 LICENCE "${pkgdir}/usr/share/licenses/${pkgname}/LICENCE"
+
+ install -Dm644 ../sshdgenkeys.service "${pkgdir}"/usr/lib/systemd/system/sshdgenkeys.service
+ install -Dm644 ../sshd@.service "${pkgdir}"/usr/lib/systemd/system/sshd@.service
+ install -Dm644 ../sshd.service "${pkgdir}"/usr/lib/systemd/system/sshd.service
+ install -Dm644 ../sshd.socket "${pkgdir}"/usr/lib/systemd/system/sshd.socket
+ install -Dm644 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/openssh.conf
+
+ install -Dm755 ../sshd.close-sessions "${pkgdir}/etc/rc.d/functions.d/sshd-close-sessions" # FS#17389
+ install -Dm644 ../sshd.confd "${pkgdir}"/etc/conf.d/sshd
+ install -Dm644 ../sshd.pam "${pkgdir}"/etc/pam.d/sshd
+ install -Dm755 ../sshd "${pkgdir}"/etc/rc.d/sshd
+
+ install -Dm755 contrib/findssl.sh "${pkgdir}"/usr/bin/findssl.sh
+ install -Dm755 contrib/ssh-copy-id "${pkgdir}"/usr/bin/ssh-copy-id
+ install -Dm644 contrib/ssh-copy-id.1 "${pkgdir}"/usr/share/man/man1/ssh-copy-id.1
+
+ sed \
+ -e '/^#ChallengeResponseAuthentication yes$/c ChallengeResponseAuthentication no' \
+ -e '/^#UsePAM no$/c UsePAM yes' \
+ -i "${pkgdir}"/etc/ssh/sshd_config
+}
diff --git a/testing/openssh/sshd b/testing/openssh/sshd
new file mode 100755
index 000000000..4bf4780f5
--- /dev/null
+++ b/testing/openssh/sshd
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/sshd
+
+PIDFILE=/run/sshd.pid
+PID=$(cat $PIDFILE 2>/dev/null)
+if ! readlink -q /proc/$PID/exe | grep -q '^/usr/sbin/sshd'; then
+ PID=
+ rm $PIDFILE 2>/dev/null
+fi
+
+case "$1" in
+ start)
+ stat_busy 'Starting Secure Shell Daemon'
+ /usr/bin/ssh-keygen -A
+ [[ -d /var/empty ]] || mkdir -p /var/empty
+ [[ -z $PID ]] && /usr/sbin/sshd $SSHD_ARGS
+ if [[ $? -gt 0 ]]; then
+ stat_fail
+ else
+ add_daemon sshd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy 'Stopping Secure Shell Daemon'
+ [[ ! -z $PID ]] && kill $PID &> /dev/null
+ if [[ $? -gt 0 ]]; then
+ stat_fail
+ else
+ rm_daemon sshd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/openssh/sshd.close-sessions b/testing/openssh/sshd.close-sessions
new file mode 100644
index 000000000..be2a709fc
--- /dev/null
+++ b/testing/openssh/sshd.close-sessions
@@ -0,0 +1,17 @@
+# Close sshd sessions before shutting down the network; see FS#17389.
+
+sshd_close_sessions () {
+ if ck_daemon sshd; then
+ return
+ fi
+ /etc/rc.d/sshd stop
+ stat_busy "Stopping Secure Shell Sessions"
+ for i in $(pgrep sshd); do
+ if readlink -q /proc/$i/exe | grep -q '^/usr/sbin/sshd'; then
+ kill $i
+ fi
+ done &>/dev/null
+ stat_done
+}
+
+add_hook shutdown_start sshd_close_sessions
diff --git a/testing/openssh/sshd.confd b/testing/openssh/sshd.confd
new file mode 100644
index 000000000..5ce7c0079
--- /dev/null
+++ b/testing/openssh/sshd.confd
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to sshd
+#
+SSHD_ARGS=""
diff --git a/testing/openssh/sshd.pam b/testing/openssh/sshd.pam
new file mode 100644
index 000000000..aeef8be27
--- /dev/null
+++ b/testing/openssh/sshd.pam
@@ -0,0 +1,13 @@
+#%PAM-1.0
+#auth required pam_securetty.so #Disable remote root
+auth required pam_unix.so
+auth required pam_env.so
+account required pam_nologin.so
+account required pam_unix.so
+account required pam_time.so
+password required pam_unix.so
+session required pam_unix_session.so
+session required pam_limits.so
+session optional pam_loginuid.so
+-session optional pam_ck_connector.so nox11
+-session optional pam_systemd.so
diff --git a/testing/openssh/sshd.service b/testing/openssh/sshd.service
new file mode 100644
index 000000000..7c8f88372
--- /dev/null
+++ b/testing/openssh/sshd.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=OpenSSH Daemon
+After=sshdgenkeys.service
+
+[Service]
+ExecStart=/usr/sbin/sshd -D
+ExecReload=/bin/kill -HUP $MAINPID
+KillMode=process
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
+Also=sshdgenkeys.service
+
+# Note that this is the service file for running a single SSH server for all
+# incoming connections, suitable only for systems with a large amount of SSH
+# traffic. In almost all other cases it is a better idea to use sshd.socket +
+# sshd@.service (i.e. the on-demand spawning version for one instance per
+# connection).
diff --git a/testing/openssh/sshd.socket b/testing/openssh/sshd.socket
new file mode 100644
index 000000000..6a67bfe86
--- /dev/null
+++ b/testing/openssh/sshd.socket
@@ -0,0 +1,10 @@
+[Unit]
+Conflicts=sshd.service
+
+[Socket]
+ListenStream=22
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
+Also=sshdgenkeys.service
diff --git a/testing/openssh/sshdgenkeys.service b/testing/openssh/sshdgenkeys.service
new file mode 100644
index 000000000..47c1c3fd6
--- /dev/null
+++ b/testing/openssh/sshdgenkeys.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=SSH Key Generation
+ConditionPathExists=|!/etc/ssh/ssh_host_key
+ConditionPathExists=|!/etc/ssh/ssh_host_key.pub
+ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key
+ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key.pub
+ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key
+ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key.pub
+ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key
+ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key.pub
+
+[Service]
+ExecStart=/usr/bin/ssh-keygen -A
+Type=oneshot
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/openssh/tmpfiles.d b/testing/openssh/tmpfiles.d
new file mode 100644
index 000000000..7c5b26100
--- /dev/null
+++ b/testing/openssh/tmpfiles.d
@@ -0,0 +1 @@
+d /var/empty 0755 root root -
diff --git a/testing/sane/PKGBUILD b/testing/sane/PKGBUILD
new file mode 100644
index 000000000..a72581f79
--- /dev/null
+++ b/testing/sane/PKGBUILD
@@ -0,0 +1,72 @@
+# $Id: PKGBUILD 161936 2012-06-16 17:16:49Z dreisner $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
+# Contributor: Simo L. <neotuli@yahoo.com>
+# Contributor: eric <eric@archlinux.org>
+
+pkgname=sane
+pkgver=1.0.22
+pkgrel=9
+pkgdesc="Scanner Access Now Easy"
+url="http://www.sane-project.org/"
+arch=('i686' 'x86_64')
+license=('GPL')
+depends=('libtiff>=4.0.0' 'libgphoto2>=2.4.7-2' 'libjpeg>=8' 'libusb-compat' 'libieee1284' 'v4l-utils' 'avahi' 'bash' 'net-snmp')
+makedepends=('texlive-latexextra')
+install=$pkgname.install
+backup=(etc/sane.d/{abaton.conf,agfafocus.conf,apple.conf,artec.conf,artec_eplus48u.conf,avision.conf,bh.conf,canon.conf,canon630u.conf,canon_dr.conf,canon_pp.conf,cardscan.conf,coolscan2.conf,coolscan3.conf,coolscan.conf,dc25.conf,dc210.conf,dc240.conf,dell1600n_net.conf,dll.conf,dmc.conf,epjitsu.conf,epson.conf,epson2.conf,fujitsu.conf,genesys.conf,gphoto2.conf,gt68xx.conf,hp.conf,hp3900.conf,hp4200.conf,hp5400.conf,hpsj5s.conf,hs2p.conf,ibm.conf,kodak.conf,leo.conf,lexmark.conf,ma1509.conf,magicolor.conf,matsushita.conf,microtek.conf,microtek2.conf,mustek.conf,mustek_pp.conf,mustek_usb.conf,mustek_usb2.conf,nec.conf,net.conf,p5.conf,pie.conf,pixma.conf,plustek.conf,plustek_pp.conf,qcam.conf,ricoh.conf,rts8891.conf,s9036.conf,saned.conf,sceptre.conf,sharp.conf,sm3840.conf,snapscan.conf,sp15c.conf,st400.conf,stv680.conf,tamarack.conf,teco1.conf,teco2.conf,teco3.conf,test.conf,u12.conf,umax.conf,umax1220u.conf,umax_pp.conf,xerox_mfp.conf,v4l.conf} etc/xinetd.d/sane)
+source=(ftp://ftp2.sane-project.org/pub/sane/$pkgname-backends-$pkgver/$pkgname-backends-$pkgver.tar.gz
+ 'sane.xinetd'
+ 'libv4l-0.8.3.patch'
+ 'xerox_mfp_fix_usb_devices.patch'
+ 'saned.socket'
+ 'saned.service')
+options=(!libtool)
+md5sums=('fadf56a60f4776bfb24491f66b617cf5'
+ 'da946cc36fb83612162cf9505986d4b2'
+ 'e645a8921cff9f18ffbdabb2ed885060'
+ 'cfef73e7db7c28308914d3db6767d852'
+ 'e57e9e15528f47f5f1b3f1411135ed5d'
+ 'e44bd4c994a52d6f472463d1eb0a03be')
+
+build() {
+ cd "${srcdir}/${pkgname}-backends-${pkgver}"
+
+ patch -p1 -i "${srcdir}"/libv4l-0.8.3.patch
+ # fix https://bugs.archlinux.org/task/26114
+ patch -Np1 -i "${srcdir}"/xerox_mfp_fix_usb_devices.patch
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-docdir=/usr/share/doc/sane \
+ --enable-avahi \
+ --enable-pthread \
+ --disable-rpath \
+ --disable-locking
+ make
+}
+
+package () {
+ cd "${srcdir}/${pkgname}-backends-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ # fix hp officejets
+ echo "#hpaio" >> "${pkgdir}/etc/sane.d/dll.conf"
+ # install udev files
+ install -D -m0644 tools/udev/libsane.rules \
+ "${pkgdir}/usr/lib/udev/rules.d/53-sane.rules"
+ # fix udev rules
+ sed -i 's|NAME="%k", ||g' "${pkgdir}/usr/lib/udev/rules.d/53-sane.rules"
+
+ # install xinetd file
+ install -D -m644 "${srcdir}/sane.xinetd" "${pkgdir}/etc/xinetd.d/sane"
+
+ # Install the pkg-config file
+ install -D -m644 tools/sane-backends.pc \
+ "${pkgdir}/usr/lib/pkgconfig/sane-backends.pc"
+ # install systemd files
+ install -D -m644 ${srcdir}/saned.socket \
+ "${pkgdir}/usr/lib/systemd/system/saned.socket"
+ install -D -m644 ${srcdir}/saned.service \
+ "${pkgdir}/usr/lib/systemd/system/saned@.service"
+}
diff --git a/testing/sane/libv4l-0.8.3.patch b/testing/sane/libv4l-0.8.3.patch
new file mode 100644
index 000000000..4e240e0cf
--- /dev/null
+++ b/testing/sane/libv4l-0.8.3.patch
@@ -0,0 +1,64 @@
+From 26c69b228b29f612faf4b0cc85db969ee7cc4ea6 Mon Sep 17 00:00:00 2001
+From: Nils Philippsen <nils@redhat.com>
+Date: Mon, 14 Mar 2011 13:35:05 +0100
+Subject: [PATCH] patch: v4l
+
+Squashed commit of the following:
+
+commit 23381932c76846191b42a48e505b37cd74711265
+Author: Julien BLACHE <jb@jblache.org>
+Date: Wed Feb 16 19:37:43 2011 +0100
+
+ Fix v4l build with libv4l 0.8.3+
+
+ (cherry picked from commit c5ca46c2d1be78c651afb843cc834cf2b5b24953)
+
+ Conflicts:
+
+ ChangeLog
+
+ Signed-off-by: Nils Philippsen <nils@redhat.com>
+---
+ backend/v4l.c | 3 +--
+ backend/v4l.h | 3 ++-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/backend/v4l.c b/backend/v4l.c
+index 6510ef0..38595ed 100644
+--- a/backend/v4l.c
++++ b/backend/v4l.c
+@@ -84,9 +84,8 @@
+ #include "../include/sane/sanei_config.h"
+ #define V4L_CONFIG_FILE "v4l.conf"
+
+-#include "v4l.h"
+-
+ #include <libv4l1.h>
++#include "v4l.h"
+
+ static const SANE_Device **devlist = NULL;
+ static int num_devices;
+diff --git a/backend/v4l.h b/backend/v4l.h
+index 588b96e..6aee586 100644
+--- a/backend/v4l.h
++++ b/backend/v4l.h
+@@ -29,6 +29,7 @@
+ #ifndef v4l_h
+ #define v4l_h
+
++#ifndef __LINUX_VIDEODEV_H
+ /* Kernel interface */
+ /* Only the stuff we need. For more features, more defines are needed */
+
+@@ -165,7 +166,7 @@ struct video_channel
+
+
+ /* end of kernel interface */
+-
++#endif /* !__LINUX_VIDEODEV_H */
+
+ #include <../include/sane/sane.h>
+
+--
+1.7.4
+
diff --git a/testing/sane/sane.install b/testing/sane/sane.install
new file mode 100644
index 000000000..5ec361eea
--- /dev/null
+++ b/testing/sane/sane.install
@@ -0,0 +1,7 @@
+post_install() {
+ /bin/cat <<THEEND
+NOTE
+----
+Add your user to group 'scanner' to use scanner devices.
+THEEND
+}
diff --git a/testing/sane/sane.xinetd b/testing/sane/sane.xinetd
new file mode 100644
index 000000000..b035664b4
--- /dev/null
+++ b/testing/sane/sane.xinetd
@@ -0,0 +1,11 @@
+service sane-port
+{
+ port = 6566
+ socket_type = stream
+ wait = no
+ user = root
+ group = scanner
+ server = /usr/sbin/saned
+ # disabled by default!
+ disable = yes
+ }
diff --git a/testing/sane/saned.service b/testing/sane/saned.service
new file mode 100644
index 000000000..69e833e7e
--- /dev/null
+++ b/testing/sane/saned.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Scanner Service
+
+[Service]
+Group=scanner
+ExecStart=/usr/sbin/saned
+StandardInput=socket
+StandardError=syslog
diff --git a/testing/sane/saned.socket b/testing/sane/saned.socket
new file mode 100644
index 000000000..66ef9c9c8
--- /dev/null
+++ b/testing/sane/saned.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=saned incoming socket
+
+[Socket]
+ListenStream=6566
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/testing/sane/xerox_mfp_fix_usb_devices.patch b/testing/sane/xerox_mfp_fix_usb_devices.patch
new file mode 100644
index 000000000..5ed29b974
--- /dev/null
+++ b/testing/sane/xerox_mfp_fix_usb_devices.patch
@@ -0,0 +1,67 @@
+commit 5ea227caeacd504b64eef301e83fa63e0a25b3f7
+Author: Alex Belkin <abc@telekom.ru>
+Date: Tue Mar 8 17:57:19 2011 +0300
+
+ keep usb device by default (correct for bug introduced by tcp sub-backend
+
+diff --git a/backend/xerox_mfp.c b/backend/xerox_mfp.c
+index e08b50f..d4672a7 100644
+--- a/backend/xerox_mfp.c
++++ b/backend/xerox_mfp.c
+@@ -37,10 +37,10 @@
+ static const SANE_Device **devlist = NULL; /* sane_get_devices array */
+ static struct device *devices_head = NULL; /* sane_get_devices list */
+
+-transport available_transports[] = {
++enum { TRANSPORT_USB, TRANSPORT_TCP, TRANSPORTS_MAX };
++transport available_transports[TRANSPORTS_MAX] = {
+ { "usb", usb_dev_request, usb_dev_open, usb_dev_close, usb_configure_device },
+ { "tcp", tcp_dev_request, tcp_dev_open, tcp_dev_close, tcp_configure_device },
+- { 0 }
+ };
+
+ static int resolv_state(int state)
+@@ -824,7 +824,13 @@ free_devices (void)
+ devices_head = NULL;
+ }
+
+-/* SANE API ignores return code of this callback */
++static transport *tr_from_devname(SANE_String_Const devname)
++{
++ if (strncmp("tcp", devname, 3) == 0)
++ return &available_transports[TRANSPORT_TCP];
++ return &available_transports[TRANSPORT_USB];
++}
++
+ static SANE_Status
+ list_one_device (SANE_String_Const devname)
+ {
+@@ -839,12 +845,7 @@ list_one_device (SANE_String_Const devname)
+ return SANE_STATUS_GOOD;
+ }
+
+- for (tr = available_transports; tr->ttype; tr++) {
+- if (!strncmp (devname, tr->ttype, strlen(tr->ttype)))
+- break;
+- }
+- if (!tr->ttype)
+- return SANE_STATUS_INVAL;
++ tr = tr_from_devname(devname);
+
+ dev = calloc (1, sizeof (struct device));
+ if (dev == NULL)
+@@ -878,13 +879,7 @@ list_one_device (SANE_String_Const devname)
+ static SANE_Status
+ list_conf_devices (UNUSED (SANEI_Config * config), const char *devname)
+ {
+- transport *tr;
+-
+- for (tr = available_transports; tr->ttype; tr++) {
+- if (!strncmp (devname, tr->ttype, strlen(tr->ttype)))
+- return tr->configure_device(devname, list_one_device);
+- }
+- return SANE_STATUS_INVAL;
++ return tr_from_devname(devname)->configure_device(devname, list_one_device);
+ }
+
+ SANE_Status
diff --git a/testing/smartmontools/PKGBUILD b/testing/smartmontools/PKGBUILD
new file mode 100644
index 000000000..1cb08bd73
--- /dev/null
+++ b/testing/smartmontools/PKGBUILD
@@ -0,0 +1,46 @@
+# $Id: PKGBUILD 161937 2012-06-16 17:16:57Z dreisner $
+# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
+# Contributor: Jeff Mickey <jeff@archlinux.org>
+# Contributor: Jani Talikka <jani.talikka@gmail.com>
+# Contributor: Ralf Barth <archlinux.org@haggy.org>
+
+pkgname=smartmontools
+pkgver=5.42
+pkgrel=4
+pkgdesc="Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives"
+url="http://smartmontools.sourceforge.net"
+license=('GPL')
+arch=('i686' 'x86_64')
+depends=('gcc-libs' 'libcap-ng' 'bash')
+backup=('etc/smartd.conf'
+ 'etc/conf.d/smartd')
+source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pkgver}.tar.gz"
+ 'smartd.conf'
+ 'smartd.rc')
+md5sums=('4460bf9a79a1252ff5c00ba52cf76b2a'
+ '28c1b80c41dac52d433961dcfb4f70e0'
+ 'fb30e07f87f2c1d99532e018291ad3e8')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-drivedb \
+ --with-libcap-ng=yes \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ sed -i -e "s:sysconfig/smartmontools:conf.d/smartd:g" smartd.service
+ sed -i -e "s:smartd_opts:SMARTD_ARGS:g" smartd.service
+
+ make DESTDIR="${pkgdir}" install
+
+ rm -rf ${pkgdir}/etc/rc.d
+ install -Dm755 ${srcdir}/smartd.rc "${pkgdir}/etc/rc.d/smartd"
+ install -Dm644 ${srcdir}/smartd.conf "${pkgdir}/etc/conf.d/smartd"
+}
diff --git a/testing/smartmontools/smartd.conf b/testing/smartmontools/smartd.conf
new file mode 100644
index 000000000..f14870abf
--- /dev/null
+++ b/testing/smartmontools/smartd.conf
@@ -0,0 +1 @@
+SMARTD_ARGS=""
diff --git a/testing/smartmontools/smartd.rc b/testing/smartmontools/smartd.rc
new file mode 100755
index 000000000..16920db12
--- /dev/null
+++ b/testing/smartmontools/smartd.rc
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+# source application-specific settings
+SMARTD_ARGS=
+[ -f /etc/conf.d/smartd ] && . /etc/conf.d/smartd
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+
+ start)
+ stat_busy "Starting smartd"
+ /usr/sbin/smartd ${SMARTD_ARGS} &>/dev/null
+ if [ $? -ne 0 ]; then
+ stat_fail
+ else
+ add_daemon smartd
+ stat_done
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping smartd"
+ kill -9 `pidof /usr/sbin/smartd` &>/dev/null
+ rm_daemon smartd
+ stat_done
+ ;;
+
+ restart)
+ stat_busy "Restarting smartd ..."
+ $0 stop
+ $0 start
+ stat_done
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/testing/squid/PKGBUILD b/testing/squid/PKGBUILD
new file mode 100644
index 000000000..6620d2ffd
--- /dev/null
+++ b/testing/squid/PKGBUILD
@@ -0,0 +1,94 @@
+# $Id: PKGBUILD 161938 2012-06-16 17:17:12Z dreisner $
+# Maintainer: Kevin Piche <kevin@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=squid
+pkgver=3.1.20
+pkgrel=2
+pkgdesc="A full-featured Web proxy cache server."
+arch=('i686' 'x86_64')
+url="http://www.squid-cache.org"
+depends=('openssl' 'pam' 'cron' 'perl' 'libltdl')
+makedepends=('libcap')
+license=('GPL')
+backup=('etc/squid/squid.conf'
+ 'etc/squid/mime.conf'
+ 'etc/conf.d/squid')
+install=squid.install
+source=("http://www.squid-cache.org/Versions/v3/3.1/$pkgname-$pkgver.tar.bz2"
+ 'squid'
+ 'squid.conf.d'
+ 'squid.pam'
+ 'squid.cron'
+ 'squid.service')
+md5sums=('c4d733a383c0508fd0746d64a2d7278a'
+ '02f7b5bd793f778e40834fd6457d2199'
+ '2383772ef94efddc7b920628bc7ac5b0'
+ '270977cdd9b47ef44c0c427ab9034777'
+ 'b499c2b725aefd7bd60bec2f1a9de392'
+ '20e00e1aa1198786795f3da32db3c1d8')
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ # gcc 4.6 doesn't support -fhuge-objects.
+ sed '/^ HUGE_OBJECT_FLAG=/ s/"-fhuge-objects"//' -i configure
+
+ # fix cache_dir, cache_dir size, and effective group.
+ sed '/^DEFAULT_SWAP_DIR/ s@/cache@/cache/squid@' -i src/Makefile.in
+ sed '/^#cache_dir/ s/100/256/
+ /^NAME: cache_effective_group/ {n;n;s/none/proxy/}' -i src/cf.data.pre
+
+ ./configure \
+ --prefix=/usr \
+ --datadir=/usr/share/squid \
+ --sysconfdir=/etc/squid \
+ --libexecdir=/usr/lib/squid \
+ --localstatedir=/var \
+ --with-logdir=/var/log/squid \
+ --with-pidfile=/run/squid.pid \
+ --enable-auth="basic,digest,ntlm" \
+ --enable-removal-policies="lru,heap" \
+ --enable-digest-auth-helpers="password" \
+ --enable-storeio="aufs,ufs,diskd" \
+ --enable-basic-auth-helpers="getpwnam,YP,NCSA,SMB,MSNT,PAM,multi-domain-NTLM" \
+ --enable-external-acl-helpers="ip_user,unix_group,wbinfo_group" \
+ --enable-ntlm-auth-helpers="smb_lm,fakeauth,no_check" \
+ --enable-delay-pools \
+ --enable-arp-acl \
+ --enable-ssl \
+ --enable-snmp \
+ --enable-linux-netfilter \
+ --enable-ident-lookups \
+ --enable-useragent-log \
+ --enable-cache-digests \
+ --enable-referer-log \
+ --enable-arp-acl \
+ --enable-htcp \
+ --enable-carp \
+ --enable-epoll \
+ --with-filedescriptors=4096 \
+ --with-large-files \
+ --enable-arp-acl \
+ --with-default-user=proxy \
+ --enable-async-io \
+ --enable-truncate
+
+ make
+}
+
+package() {
+ make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install
+
+ install -Dm755 "$srcdir"/squid "$pkgdir"/etc/rc.d/squid
+ install -Dm755 "$srcdir"/squid.cron "$pkgdir"/etc/cron.weekly/squid
+ install -Dm644 "$srcdir"/squid.conf.d "$pkgdir"/etc/conf.d/squid
+ install -Dm644 "$srcdir"/squid.pam "$pkgdir"/etc/pam.d/squid
+
+ install -Dm644 "$srcdir/squid.service" "$pkgdir/usr/lib/systemd/system/squid.service"
+
+ # random unneeded empty dir...
+ rmdir "$pkgdir/usr/include"
+}
+
+# vim: ts=2 sw=2 et ft=sh
diff --git a/testing/squid/squid b/testing/squid/squid
new file mode 100644
index 000000000..da5534427
--- /dev/null
+++ b/testing/squid/squid
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+# source application-specific settings
+[[ -f /etc/conf.d/squid ]] && . /etc/conf.d/squid
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+pidfile=/run/squid.pid
+{ read -r PID </run/squid.pid; } 2>/dev/null
+if [[ $pid && ! /proc/$pid/exe -ef /usr/sbin/squid ]]; then
+ rm /run/squid.pid
+fi
+
+case $1 in
+ start)
+ stat_busy "Starting squid"
+ if [[ $PID ]] || ! squid $SQUID_ARGS; then
+ stat_fail
+ else
+ add_daemon squid
+ stat_done
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping squid"
+ if [[ -z $PID ]] || ! squid -k shutdown &>/dev/null; then
+ stat_fail
+ else
+ # squid takes forever to shutdown all its listening FDs
+ while [[ /proc/$PID/exe -ef /usr/sbin/squid ]]; do
+ stat_append "."
+ sleep 3
+ done
+ rm_daemon squid
+ stat_done
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/testing/squid/squid.conf.d b/testing/squid/squid.conf.d
new file mode 100644
index 000000000..ea248b76c
--- /dev/null
+++ b/testing/squid/squid.conf.d
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to squid
+#
+SQUID_ARGS="-sYC"
diff --git a/testing/squid/squid.cron b/testing/squid/squid.cron
new file mode 100644
index 000000000..c78e51105
--- /dev/null
+++ b/testing/squid/squid.cron
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+# exit without error if no pidfile exists
+{ read pid </run/squid.pid; } 2>/dev/null || exit 0
+
+# make sure found PID really is a squid process
+if [ /proc/$pid/exec -ef /usr/sbin/squid ]; then
+ /usr/sbin/squid -k rotate
+fi
diff --git a/testing/squid/squid.install b/testing/squid/squid.install
new file mode 100644
index 000000000..e7aa5ff68
--- /dev/null
+++ b/testing/squid/squid.install
@@ -0,0 +1,26 @@
+post_install() {
+ if [ -z "$(grep ^proxy: /etc/group)" ]; then
+ usr/sbin/groupadd -g 15 proxy &>/dev/null
+ fi
+
+ id proxy &>/dev/null || \
+ usr/sbin/useradd -u 15 -g proxy -d /var/empty proxy
+
+ chown proxy.proxy var/{cache,log}/squid
+
+# cat << EOF
+#Release notes: http://www.squid-cache.org/Versions/v3/3.1/RELEASENOTES.html
+#EOF
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ usr/sbin/userdel proxy &> /dev/null
+ if [ ! -z "$(grep ^proxy: /etc/group)" ]; then
+ usr/sbin/groupdel proxy &>/dev/null
+ fi
+}
+
diff --git a/testing/squid/squid.pam b/testing/squid/squid.pam
new file mode 100644
index 000000000..df8a8104f
--- /dev/null
+++ b/testing/squid/squid.pam
@@ -0,0 +1,4 @@
+#/etc/pam.d/squid
+#
+auth required pam_unix.so
+account required pam_unix.so
diff --git a/testing/squid/squid.service b/testing/squid/squid.service
new file mode 100644
index 000000000..9d41cc243
--- /dev/null
+++ b/testing/squid/squid.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Web Proxy Cache Server
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/squid.pid
+ExecStart=/usr/sbin/squid -sYC
+ExecStop=/usr/sbin/squid -k shutdown
+ExecReload=/usr/sbin/squid -k reconfigure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/yp-tools/PKGBUILD b/testing/yp-tools/PKGBUILD
new file mode 100644
index 000000000..c4214a550
--- /dev/null
+++ b/testing/yp-tools/PKGBUILD
@@ -0,0 +1,31 @@
+# $Id: PKGBUILD 161940 2012-06-16 17:17:17Z dreisner $
+# Mantainer: Tom Gundersen <teg@jklm.no>
+# Contributor: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=yp-tools
+pkgver=2.12
+pkgrel=3
+pkgdesc='Linux NIS Tools'
+arch=('i686' 'x86_64')
+url='http://www.linux-nis.org/nis/yp-tools/'
+license=('GPL2')
+depends=('ypbind-mt')
+#source=("ftp://ftp.kernel.org/pub/linux/utils/net/NIS/$pkgname-$pkgver.tar.gz")
+source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'domainname.service')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir" install
+ install -D -m644 ../domainname.service "${pkgdir}/usr/lib/systemd/service/domainname.service"
+}
+md5sums=('ce1e06d86caa285fa8cd76fdf103f51e'
+ '8d354b76eb0df9a3b06637bfff87453b')
diff --git a/testing/yp-tools/domainname.service b/testing/yp-tools/domainname.service
new file mode 100644
index 000000000..035f767c8
--- /dev/null
+++ b/testing/yp-tools/domainname.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=NIS Domainname
+
+[Service]
+Type=oneshot
+EnvironmentFile=/etc/conf.d/nisdomainname
+ExecStart=/usr/bin/nisdomainname $NISDOMAINNAME
+RemainAfterExit=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/testing/ypbind-mt/PKGBUILD b/testing/ypbind-mt/PKGBUILD
new file mode 100644
index 000000000..99213a1d9
--- /dev/null
+++ b/testing/ypbind-mt/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 161942 2012-06-16 17:17:28Z dreisner $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=ypbind-mt
+pkgver=1.33
+pkgrel=5
+pkgdesc='Linux NIS daemon'
+url='http://www.linux-nis.org/nis/ypbind-mt/'
+license=('GPL2')
+arch=('i686' 'x86_64')
+makedepends=('networkmanager')
+depends=('rpcbind' 'openslp' 'dbus-glib' 'yp-tools')
+backup=('etc/yp.conf' 'etc/conf.d/ypbind' 'etc/conf.d/nisdomainname')
+#source=("ftp://ftp.kernel.org/pub/linux/utils/net/NIS/${pkgname}-${pkgver}.tar.gz"
+source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'nisdomainname.conf'
+ 'ypbind.conf'
+ 'ypbind'
+ 'ypbind.service')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure \
+ --prefix=/usr \
+ --enable-dbus-nm \
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -D -m644 etc/yp.conf "${pkgdir}"/etc/yp.conf
+ install -D -m755 ../ypbind "${pkgdir}"/etc/rc.d/ypbind
+ install -D -m644 ../ypbind.conf "${pkgdir}"/etc/conf.d/ypbind
+ install -D -m644 ../nisdomainname.conf "${pkgdir}"/etc/conf.d/nisdomainname
+ install -D -m644 ../ypbind.service "${pkgdir}"/usr/lib/systemd/system/ypbind.service
+ install -d -m755 "${pkgdir}"/var/yp/binding
+}
+md5sums=('692f68ed0476762be4228ce543a5b791'
+ 'e83a85291ea2ee152a78f2c16b0b1185'
+ '229309a989abad27703ac2e6d07dc7ae'
+ '1f7a4c80414d580c9afb3a08267beed0'
+ '88a721095e334cd442f4649a151ba9be')
diff --git a/testing/ypbind-mt/nisdomainname.conf b/testing/ypbind-mt/nisdomainname.conf
new file mode 100644
index 000000000..bbbbf8fc7
--- /dev/null
+++ b/testing/ypbind-mt/nisdomainname.conf
@@ -0,0 +1,4 @@
+#
+# NIS domain to be set in /etc/rc.d/ypbind
+#
+NISDOMAINNAME=""
diff --git a/testing/ypbind-mt/ypbind b/testing/ypbind-mt/ypbind
new file mode 100755
index 000000000..6a5ef11e3
--- /dev/null
+++ b/testing/ypbind-mt/ypbind
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+. /etc/conf.d/ypbind
+. /etc/conf.d/nisdomainname
+
+name=ypbind
+PID=$(pidof -o %PPID /usr/sbin/ypbind)
+
+case "$1" in
+start)
+ stat_busy "Starting $name daemon"
+ [[ -n $NISDOMAINNAME ]] && /usr/bin/domainname "$NISDOMAINNAME" &>/dev/null
+ [[ -z "$PID" ]] && /usr/sbin/ypbind $YPBIND_ARGS &>/dev/null \
+ && { 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 1
+ $0 start
+ ;;
+*)
+ echo "usage: $0 {start|stop|restart}"
+ exit 1
+ ;;
+esac
diff --git a/testing/ypbind-mt/ypbind.conf b/testing/ypbind-mt/ypbind.conf
new file mode 100644
index 000000000..fd0ebd491
--- /dev/null
+++ b/testing/ypbind-mt/ypbind.conf
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to ypbind
+#
+YPBIND_ARGS=""
diff --git a/testing/ypbind-mt/ypbind.service b/testing/ypbind-mt/ypbind.service
new file mode 100644
index 000000000..c59231000
--- /dev/null
+++ b/testing/ypbind-mt/ypbind.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=YP Bind
+Requires=rpcbind.service domainname.service
+After=rpcbind.service domainname.service network.target
+Before=systemd-user-sessions.service
+
+[Service]
+Type=forking
+PIDFile=/run/ypbind.pid
+ExecStart=/usr/sbin/ypbind
+
+[Install]
+WantedBy=multi-user.target