summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-06-18 00:01:40 +0000
committerroot <root@rshg054.dnsready.net>2012-06-18 00:01:40 +0000
commit0838a7ed482f29ddf71cf05e7ec6cf7c2728ce34 (patch)
treec7eab7aecb6ae497d23cfa7074bffd060d5eb8fe
parent61f450a3578b7e51c337e1a687c0cef2bc07ff35 (diff)
Mon Jun 18 00:01:40 UTC 2012
-rw-r--r--community-staging/lxdm/PKGBUILD62
-rw-r--r--community-staging/lxdm/Xsession.patch11
-rw-r--r--community-staging/lxdm/glib2-2.32.0.patch21
-rw-r--r--community-staging/lxdm/greeter-session.patch13
-rw-r--r--community-staging/lxdm/lxdm-pam8
-rw-r--r--community-staging/lxdm/lxdm.conf.patch11
-rw-r--r--community-staging/lxdm/lxdm.install24
-rw-r--r--community-staging/lxdm/lxdm.patch26
-rw-r--r--community-staging/lxdm/rc.d36
-rw-r--r--community-staging/lxdm/service9
-rw-r--r--community-testing/chrony/PKGBUILD39
-rw-r--r--community-testing/chrony/rc.d37
-rw-r--r--community-testing/chrony/service10
-rw-r--r--community-testing/dcron/PKGBUILD49
-rw-r--r--community-testing/dcron/dcron.install6
-rw-r--r--community-testing/dcron/service10
-rw-r--r--community-testing/exim/PKGBUILD88
-rw-r--r--community-testing/exim/aliases35
-rw-r--r--community-testing/exim/exim42
-rw-r--r--community-testing/exim/exim-submission.socket10
-rw-r--r--community-testing/exim/exim-submission@.service11
-rw-r--r--community-testing/exim/exim.Makefile1227
-rw-r--r--community-testing/exim/exim.conf.d1
-rw-r--r--community-testing/exim/exim.install25
-rw-r--r--community-testing/exim/exim.logrotate6
-rw-r--r--community-testing/exim/exim.service10
-rw-r--r--community-testing/exim/exim.socket10
-rw-r--r--community-testing/exim/exim@.service7
-rw-r--r--community-testing/fcron/PKGBUILD80
-rw-r--r--community-testing/fcron/fcron.rc36
-rw-r--r--community-testing/fcron/fcron.service10
-rw-r--r--community-testing/fcron/run-cron14
-rw-r--r--community-testing/fcron/systabbin0 -> 478 bytes
-rw-r--r--community-testing/fcron/systab.orig4
-rw-r--r--community-testing/miredo/PKGBUILD49
-rw-r--r--community-testing/miredo/isatapd.rc.d37
-rw-r--r--community-testing/miredo/miredo-server.rc.d37
-rw-r--r--community-testing/miredo/miredo.install8
-rw-r--r--community-testing/miredo/miredo.rc.d37
-rw-r--r--community-testing/miredo/miredo.service11
-rw-r--r--community-testing/oidentd/PKGBUILD38
-rw-r--r--community-testing/oidentd/conf.d5
-rw-r--r--community-testing/oidentd/rc.d41
-rw-r--r--community-testing/oidentd/service8
-rw-r--r--community-testing/oidentd/socket10
-rw-r--r--community-testing/oss/PKGBUILD98
-rw-r--r--community-testing/oss/oss.install30
-rw-r--r--community-testing/oss/oss.service12
-rw-r--r--community-testing/oss/rc-script30
-rw-r--r--community-testing/oss/remove-hal.patch20
-rw-r--r--community-testing/oss/rm-init-scripts.patch52
-rw-r--r--community-testing/oss/soundon.patch28
-rw-r--r--community-testing/pdnsd/PKGBUILD28
-rw-r--r--community-testing/pdnsd/pdnsd37
-rw-r--r--community-testing/pdnsd/pdnsd.service9
-rw-r--r--community-testing/polipo/PKGBUILD55
-rw-r--r--community-testing/polipo/polipo.conf.d4
-rw-r--r--community-testing/polipo/polipo.cron2
-rw-r--r--community-testing/polipo/polipo.install25
-rw-r--r--community-testing/polipo/polipo.rc.d71
-rw-r--r--community-testing/polipo/polipo.service10
-rw-r--r--community-testing/prosody/ChangeLog398
-rw-r--r--community-testing/prosody/PKGBUILD60
-rw-r--r--community-testing/prosody/fix-config.patch32
-rw-r--r--community-testing/prosody/prosody.install35
-rw-r--r--community-testing/prosody/prosody.logrotated9
-rw-r--r--community-testing/prosody/prosody.rcd93
-rw-r--r--community-testing/prosody/prosody.service13
-rw-r--r--community-testing/prosody/prosody.tmpfile.d1
-rw-r--r--community-testing/tor/PKGBUILD53
-rw-r--r--community-testing/tor/tor44
-rw-r--r--community-testing/tor/tor.conf.d9
-rw-r--r--community-testing/tor/tor.install24
-rw-r--r--community-testing/tor/tor.service13
-rw-r--r--community-testing/tor/torrc143
-rw-r--r--community-testing/uptimed/PKGBUILD48
-rw-r--r--community-testing/uptimed/rc.d39
-rw-r--r--community-testing/uptimed/service11
-rw-r--r--community-testing/uptimed/uptimed.install7
-rw-r--r--community-testing/vnstat/PKGBUILD39
-rw-r--r--community-testing/vnstat/service9
-rw-r--r--community-testing/vsftpd/PKGBUILD59
-rw-r--r--community-testing/vsftpd/vsftpd-ssl.service10
-rw-r--r--community-testing/vsftpd/vsftpd-ssl.socket9
-rw-r--r--community-testing/vsftpd/vsftpd-ssl@.service9
-rw-r--r--community-testing/vsftpd/vsftpd.d67
-rw-r--r--community-testing/vsftpd/vsftpd.install17
-rw-r--r--community-testing/vsftpd/vsftpd.service10
-rw-r--r--community-testing/vsftpd/vsftpd.socket9
-rw-r--r--community-testing/vsftpd/vsftpd.xinetd10
-rw-r--r--community-testing/vsftpd/vsftpd@.service8
-rw-r--r--community/cdrtools/PKGBUILD8
-rw-r--r--community/cdrtools/cdrtools.install10
-rw-r--r--community/conntrack-tools/01-config-file-path.patch11
-rw-r--r--community/conntrack-tools/02-fix-compilation-of-timeout-extension.patch33
-rw-r--r--community/conntrack-tools/PKGBUILD30
-rw-r--r--community/conntrack-tools/conntrack-tools.install9
-rw-r--r--community/conntrack-tools/conntrackd.conf2
-rw-r--r--community/conntrack-tools/conntrackd.rc1
-rw-r--r--community/libnetfilter_cttimeout/PKGBUILD26
-rw-r--r--community/nautilus-actions/PKGBUILD24
-rw-r--r--community/uptimed/PKGBUILD15
-rw-r--r--community/uptimed/rc.d39
-rw-r--r--extra/jade/PKGBUILD8
-rw-r--r--extra/libdrm-old/COPYING48
-rw-r--r--extra/libdrm-old/PKGBUILD54
-rw-r--r--extra/libdrm-old/no-pthread-stubs.patch66
-rw-r--r--extra/libdrm/PKGBUILD34
-rw-r--r--extra/libdrm/no-pthread-stubs.patch56
-rw-r--r--extra/libpng/PKGBUILD16
-rw-r--r--extra/mesa/PKGBUILD9
-rw-r--r--extra/nouveau-dri/LICENSE82
-rw-r--r--extra/nouveau-dri/PKGBUILD56
-rw-r--r--extra/nouveau-dri/mesa-8.0.3-llvm-3.1-fixes.patch46
-rw-r--r--extra/perl-dbd-mysql/PKGBUILD14
-rw-r--r--extra/racket/PKGBUILD13
-rw-r--r--extra/racket/drracket-normal.rkt199
-rw-r--r--extra/xf86-video-ati/PKGBUILD51
-rw-r--r--extra/xf86-video-nouveau/PKGBUILD18
-rw-r--r--libre/grub2/PKGBUILD21
-rw-r--r--libre/icecat-i18n/PKGBUILD182
-rw-r--r--libre/lirc-libre/PKGBUILD112
-rw-r--r--libre/lirc-libre/irexec.conf5
-rw-r--r--libre/lirc-libre/irexecd38
-rw-r--r--libre/lirc-libre/kernel-2.6.39.patch54
-rw-r--r--libre/lirc-libre/lirc.install16
-rw-r--r--libre/lirc-libre/lirc.logrotate5
-rw-r--r--libre/lirc-libre/lirc_atiusb-kfifo.patch31
-rw-r--r--libre/lirc-libre/lirc_wpc8769l.patch88
-rw-r--r--libre/lirc-libre/lircd52
-rw-r--r--libre/lirc-libre/lircd-handle-large-config.patch39
-rw-r--r--libre/lirc-libre/lircd.conf8
-rw-r--r--libre/lirc-libre/lircmd36
-rw-r--r--libre/mozilla-searchplugins/PKGBUILD2
-rw-r--r--multilib-testing/gcc-multilib/PKGBUILD325
-rw-r--r--multilib-testing/gcc-multilib/gcc-4.7.0-cloog-0.17.patch24
-rw-r--r--multilib-testing/gcc-multilib/gcc-4.7.1-libada-pic.patch12
-rw-r--r--multilib-testing/gcc-multilib/gcc-4.7.1-libgo-write.patch13
-rw-r--r--multilib-testing/gcc-multilib/gcc-ada.install20
-rw-r--r--multilib-testing/gcc-multilib/gcc-fortran.install16
-rw-r--r--multilib-testing/gcc-multilib/gcc-go.install20
-rw-r--r--multilib-testing/gcc-multilib/gcc-libs.install16
-rw-r--r--multilib-testing/gcc-multilib/gcc.install20
-rw-r--r--multilib-testing/gcc-multilib/gcc_pure64-multilib.patch22
-rw-r--r--multilib-testing/libtool-multilib/PKGBUILD74
-rw-r--r--multilib-testing/libtool-multilib/libtool.install22
-rw-r--r--multilib/lib32-freetype2/PKGBUILD6
-rw-r--r--multilib/lib32-krb5/PKGBUILD11
-rw-r--r--multilib/lib32-libdrm-old/COPYING48
-rw-r--r--multilib/lib32-libdrm-old/PKGBUILD63
-rw-r--r--multilib/lib32-libdrm-old/no-pthread-stubs.patch66
-rw-r--r--multilib/lib32-libdrm/PKGBUILD13
-rw-r--r--multilib/lib32-libdrm/no-pthread-stubs.patch60
-rw-r--r--multilib/lib32-libpng/PKGBUILD12
-rw-r--r--multilib/lib32-mesa/PKGBUILD10
-rw-r--r--multilib/lib32-nouveau-dri/LICENSE82
-rw-r--r--multilib/lib32-nouveau-dri/PKGBUILD66
-rw-r--r--multilib/lib32-nouveau-dri/mesa-8.0.3-llvm-3.1-fixes.patch46
-rw-r--r--multilib/lib32-pango/PKGBUILD6
-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
277 files changed, 10626 insertions, 340 deletions
diff --git a/community-staging/lxdm/PKGBUILD b/community-staging/lxdm/PKGBUILD
new file mode 100644
index 000000000..a35c35f31
--- /dev/null
+++ b/community-staging/lxdm/PKGBUILD
@@ -0,0 +1,62 @@
+# $Id: PKGBUILD 72524 2012-06-16 08:50:39Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski
+# Contributor: AndyRTR <andyrtr@archlinux.org>
+# Contributor: kiefer <jorgelmadrid@gmail.com>
+
+pkgname=lxdm
+pkgver=0.4.1
+pkgrel=12
+pkgdesc='Lightweight X11 Display Manager'
+arch=('i686' 'x86_64')
+url="http://sourceforge.net/projects/lxdm/"
+license=('GPL')
+groups=('lxde')
+depends=('gtk2' 'xorg-server' 'consolekit')
+makedepends=('intltool')
+install=${pkgname}.install
+backup=('etc/lxdm/lxdm.conf' 'etc/pam.d/lxdm' 'etc/lxdm/Xsession'
+ 'etc/lxdm/PreLogin' 'etc/lxdm/LoginReady' 'etc/lxdm/PostLogin'
+ 'etc/lxdm/PostLogout' 'etc/lxdm/PreReboot' 'etc/lxdm/PreShutdown')
+source=(http://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.gz
+ glib2-2.32.0.patch lxdm.patch lxdm.conf.patch Xsession.patch
+ greeter-session.patch rc.d lxdm-pam service)
+md5sums=('8da1cfc2be6dc9217c85a7cf51e1e821'
+ 'a1e3c46a8bef691bc544028f5b6cfe22'
+ 'baed9055e8825a5511712bc095197519'
+ 'c50dd01b715b0a236407d48066191601'
+ 'd2e4a4a22ee2aa1a986be154c647b6c6'
+ '28475239d0c8b4fd778ec49f5ec72962'
+ '705f394052fdd0dec22e95321d170de0'
+ 'b20fe3c8487a039050986d60e45233a9'
+ '4aaa9a7175cf327d9f7651c2586ef922')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ patch -Np1 -i $srcdir/glib2-2.32.0.patch
+ patch -Np1 -i $srcdir/greeter-session.patch
+
+ ./configure --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib/lxdm
+ make
+
+ patch -Np0 -i $srcdir/lxdm.patch
+ patch -Np0 -i $srcdir/lxdm.conf.patch
+ patch -Np0 -i $srcdir/Xsession.patch
+}
+
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+
+ install -m644 $srcdir/lxdm-pam $pkgdir/etc/pam.d/lxdm
+ install -Dm755 $srcdir/rc.d $pkgdir/etc/rc.d/lxdm
+ install -Dm644 $srcdir/service $pkgdir/usr/lib/systemd/system/lxdm.service
+ install -d $pkgdir/var/{lib,run}/lxdm
+
+ # fix the greeter location
+ sed -i -e 's/local\/libexec/lib\/lxdm/' $pkgdir/etc/lxdm/lxdm.conf
+
+ # avoid conflict with filesystem>=2012.06
+ rm -r $pkgdir/var/run
+}
diff --git a/community-staging/lxdm/Xsession.patch b/community-staging/lxdm/Xsession.patch
new file mode 100644
index 000000000..035ff0383
--- /dev/null
+++ b/community-staging/lxdm/Xsession.patch
@@ -0,0 +1,11 @@
+--- data/Xsession.orig 2011-07-29 15:42:33.000000000 +0200
++++ data/Xsession 2011-12-03 09:09:14.592876087 +0100
+@@ -9,6 +9,8 @@
+ LXSESSION=/usr/bin/startlxde
+ fi
+
++[ -f /etc/profile ] && . /etc/profile
++[ -f ~/.profile ] && . ~/.profile
+ [ -f /etc/xprofile ] && . /etc/xprofile
+ [ -f ~/.xprofile ] && . ~/.xprofile
+
diff --git a/community-staging/lxdm/glib2-2.32.0.patch b/community-staging/lxdm/glib2-2.32.0.patch
new file mode 100644
index 000000000..cebfc6133
--- /dev/null
+++ b/community-staging/lxdm/glib2-2.32.0.patch
@@ -0,0 +1,21 @@
+From: dgod <dgod.osa@gmail.com>
+Date: Sun, 25 Dec 2011 07:23:19 +0000 (+0800)
+Subject: fix event check bug caused cpu 100%
+X-Git-Url: http://lxde.git.sourceforge.net/git/gitweb.cgi?p=lxde%2Flxdm;a=commitdiff_plain;h=d4e41ecb;hp=f0951bdf736026b041001e846d2cb93f7f2852e1
+
+fix event check bug caused cpu 100%
+---
+
+diff --git a/src/lxcom.c b/src/lxcom.c
+index 02763eb..18ee12e 100644
+--- a/src/lxcom.c
++++ b/src/lxcom.c
+@@ -89,7 +89,7 @@ static gboolean lxcom_prepare (GSource *source,gint *timeout)
+
+ static gboolean lxcom_check(GSource *source)
+ {
+- return TRUE;
++ return (((LXComSource*)source)->poll.revents&G_IO_IN)?TRUE:FALSE;
+ }
+
+ static gboolean lxcom_dispatch (GSource *source,GSourceFunc callback,gpointer user_data)
diff --git a/community-staging/lxdm/greeter-session.patch b/community-staging/lxdm/greeter-session.patch
new file mode 100644
index 000000000..f3b94a57a
--- /dev/null
+++ b/community-staging/lxdm/greeter-session.patch
@@ -0,0 +1,13 @@
+diff --git a/src/greeter.c b/src/greeter.c
+index c0c150d..1f6b88e 100644
+--- a/src/greeter.c
++++ b/src/greeter.c
+@@ -114,7 +114,7 @@ static char *get_session_exec(void)
+ GtkTreeModel* model;
+ GtkTreeIter it;
+ gchar *res;
+- if(!lang)
++ if(!sessions)
+ return g_strdup("");
+
+ if(!gtk_combo_box_get_active_iter(GTK_COMBO_BOX(sessions), &it))
diff --git a/community-staging/lxdm/lxdm-pam b/community-staging/lxdm/lxdm-pam
new file mode 100644
index 000000000..3f5df04a7
--- /dev/null
+++ b/community-staging/lxdm/lxdm-pam
@@ -0,0 +1,8 @@
+#%PAM-1.0
+auth requisite pam_nologin.so
+auth required pam_env.so
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_limits.so
+session required pam_unix.so
+password required pam_unix.so
diff --git a/community-staging/lxdm/lxdm.conf.patch b/community-staging/lxdm/lxdm.conf.patch
new file mode 100644
index 000000000..1744e557e
--- /dev/null
+++ b/community-staging/lxdm/lxdm.conf.patch
@@ -0,0 +1,11 @@
+--- data/lxdm.conf.orig 2011-11-01 17:57:59.208757577 +0100
++++ data/lxdm.conf 2011-11-01 18:03:55.608741945 +0100
+@@ -27,7 +27,7 @@
+ gtk_theme=Clearlooks
+
+ ## background of the greeter
+-bg=/usr/share/backgrounds/default.png
++# bg=/usr/share/backgrounds/default.png
+
+ ## if show bottom pane
+ bottom_pane=1
diff --git a/community-staging/lxdm/lxdm.install b/community-staging/lxdm/lxdm.install
new file mode 100644
index 000000000..eaf2339cd
--- /dev/null
+++ b/community-staging/lxdm/lxdm.install
@@ -0,0 +1,24 @@
+pkgname=lxdm
+
+post_install() {
+ if [ -z "`getent group "lxdm" 2> /dev/null`" ]; then
+ groupadd lxdm
+ chown root:lxdm /etc/lxdm/lxdm.conf
+ fi
+ chown -R root:lxdm /var/lib/lxdm > /dev/null
+ chmod +r /etc/lxdm/lxdm.conf
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ getent group "lxdm" &>/dev/null && groupdel lxdm #1>/dev/null
+ return 0
+}
+
+op=$1
+shift
+
+$op "$@"
diff --git a/community-staging/lxdm/lxdm.patch b/community-staging/lxdm/lxdm.patch
new file mode 100644
index 000000000..a703a386d
--- /dev/null
+++ b/community-staging/lxdm/lxdm.patch
@@ -0,0 +1,26 @@
+--- data/lxdm.orig 2010-01-24 16:58:42.262866825 -0200
++++ data/lxdm 2010-01-19 11:56:34.308668692 -0200
+@@ -1,21 +1,13 @@
+ #!/bin/sh
+
+-[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
+-
+-if [ -z "$LANG" -a -e /etc/sysconfig/language ]; then
+- . /etc/sysconfig/language
+- if [ -n "$RC_LANG"]; then
+- LANG=$RC_LANG
+- fi
++if [ -r /etc/profile.d/locale.sh ]; then
++ . /etc/profile.d/locale.sh
+ fi
+
+ if [ -n "$LANG" ]; then
+ export LANG
+ fi
+
+-[ -f /etc/sysconfig/desktop ] && . /etc/sysconfig/desktop
+-[ -f /etc/sysconfig/windowmanager ] && . /etc/sysconfig/windowmanager
+-
+ if [ -n "$DEFAULT_WM" ]; then
+ PREFERRED=$DEFAULT_WM
+ fi
diff --git a/community-staging/lxdm/rc.d b/community-staging/lxdm/rc.d
new file mode 100644
index 000000000..68eb6225d
--- /dev/null
+++ b/community-staging/lxdm/rc.d
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=$(pidof -o %PPID `which lxdm-binary`)
+case "$1" in
+ start)
+ stat_busy "Starting LXDM Display Manager"
+ [ -z "$PID" ] && /usr/sbin/lxdm -d &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon lxdm
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping LXDM Display Manager"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon lxdm
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-staging/lxdm/service b/community-staging/lxdm/service
new file mode 100644
index 000000000..b76e1190e
--- /dev/null
+++ b/community-staging/lxdm/service
@@ -0,0 +1,9 @@
+[Unit]
+Description=LXDE Display Manager
+After=systemd-user-sessions.service
+
+[Service]
+ExecStart=/usr/sbin/lxdm
+
+[Install]
+WantedBy=graphical.target
diff --git a/community-testing/chrony/PKGBUILD b/community-testing/chrony/PKGBUILD
new file mode 100644
index 000000000..d066a606e
--- /dev/null
+++ b/community-testing/chrony/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 72549 2012-06-16 17:08:48Z dreisner $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Patrick Leslie Polzer <leslie.polzer@gmx.net>
+# Contributor: cdhotfire <cdhotfire@gmail.com>
+# Contributor: Shinlun Hsieh <yngwiexx@yahoo.com.tw>
+# Contributor: Elisamuel Resto <ryuji@simplysam.us>
+
+pkgname=chrony
+pkgver=1.26
+pkgrel=3
+pkgdesc='Lightweight NTP client and server'
+arch=('i686' 'x86_64')
+url="http://chrony.tuxfamily.org/"
+options=('strip')
+license=('GPL')
+depends=('readline' 'libcap')
+backup=('etc/chrony.conf')
+source=(http://download.tuxfamily.org/chrony/${pkgname}-${pkgver}.tar.gz
+ rc.d
+ service)
+md5sums=('ad6dd619ff1986e4ff780363c64e2246'
+ 'd8b653c8bcc76cef00aa10fbd3eeb4f7'
+ 'd78e6189c6f51a2af30a65bdedcdb2eb')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+
+ install -Dm0644 $srcdir/$pkgname-$pkgver/examples/chrony.conf.example $pkgdir/etc/chrony.conf
+ install -Dm0755 $srcdir/rc.d $pkgdir/etc/rc.d/chrony
+ install -Dm644 $srcdir/service $pkgdir/usr/lib/systemd/system/chrony.service
+}
diff --git a/community-testing/chrony/rc.d b/community-testing/chrony/rc.d
new file mode 100644
index 000000000..ec042d798
--- /dev/null
+++ b/community-testing/chrony/rc.d
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/chronyd`
+case "$1" in
+ start)
+ stat_busy "Starting chrony Daemon"
+ if [ -z "$PID" ]; then
+ /usr/sbin/chronyd $NTPD_ARGS &
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon chrony
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping chrony Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon chrony
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/community-testing/chrony/service b/community-testing/chrony/service
new file mode 100644
index 000000000..8bc8da9d2
--- /dev/null
+++ b/community-testing/chrony/service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Chrony Network Time Daemon
+
+[Service]
+Type=forking
+ExecStart=/usr/sbin/chronyd
+PIDFile=/var/run/chronyd.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/dcron/PKGBUILD b/community-testing/dcron/PKGBUILD
new file mode 100644
index 000000000..709124059
--- /dev/null
+++ b/community-testing/dcron/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 72550 2012-06-16 17:08:55Z dreisner $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Paul Mattal <paul.archlinux.org>
+
+pkgname=dcron
+pkgver=4.5
+pkgrel=3
+pkgdesc="dillon's lightweight cron daemon"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://www.jimpryor.net/linux/dcron.html"
+backup=('var/spool/cron/root' 'etc/conf.d/crond')
+depends=('bash')
+provides=('cron')
+conflicts=('cron')
+optdepends=('smtp-server: sending cron job output via email')
+install=$pkgname.install
+source=(http://www.jimpryor.net/linux/releases/${pkgname}-${pkgver}.tar.gz
+ service)
+md5sums=('078833f3281f96944fc30392b1888326'
+ '5a68a7aee883738e7f7f8549481bb297')
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+
+ # by default, any member of group "users" can edit their own crontab
+ make \
+ PREFIX=/usr \
+ CRONTAB_GROUP=users \
+ CRONTABS=/var/spool/cron \
+ CRONSTAMPS=/var/spool/cronstamps
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ make DESTDIR="$pkgdir" install
+
+ # install standard configuration and scripts
+ install -d -m755 "$pkgdir/etc/cron."{hourly,daily,weekly,monthly}
+
+ install -D -m755 extra/run-cron "$pkgdir/usr/sbin/run-cron"
+ install -D -m0600 extra/root.crontab "$pkgdir/var/spool/cron/root"
+ install -D -m755 extra/crond.rc "$pkgdir/etc/rc.d/crond"
+ install -D -m0644 extra/crond.conf "$pkgdir/etc/conf.d/crond"
+ install -D -m644 extra/crontab.vim "$pkgdir/usr/share/vim/vimfiles/ftplugin/crontab.vim"
+ sed -i -e 's=/var/spool/cron/cronstamps=/var/spool/cronstamps=' extra/prune-cronstamps
+ install -D -m755 extra/prune-cronstamps "$pkgdir/etc/cron.d/prune-cronstamps"
+ install -Dm644 $srcdir/service $pkgdir/usr/lib/systemd/system/dcron.service
+}
diff --git a/community-testing/dcron/dcron.install b/community-testing/dcron/dcron.install
new file mode 100644
index 000000000..df23d0224
--- /dev/null
+++ b/community-testing/dcron/dcron.install
@@ -0,0 +1,6 @@
+post_upgrade() {
+ if [ $(vercmp $2 4.0) -lt 0 ]
+ then
+ echo "Restart crond, since you're upgrading to the dcron 4.x series."
+ fi
+}
diff --git a/community-testing/dcron/service b/community-testing/dcron/service
new file mode 100644
index 000000000..59fc64b80
--- /dev/null
+++ b/community-testing/dcron/service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Periodic Command Scheduler
+
+[Service]
+Type=forking
+EnvironmentFile=/etc/conf.d/crond
+ExecStart=/usr/sbin/crond $CROND_ARGS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/exim/PKGBUILD b/community-testing/exim/PKGBUILD
new file mode 100644
index 000000000..3016b5224
--- /dev/null
+++ b/community-testing/exim/PKGBUILD
@@ -0,0 +1,88 @@
+# $Id: PKGBUILD 72552 2012-06-16 17:09:24Z dreisner $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: Angel Velasquez <angvp@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=exim
+pkgver=4.80
+pkgrel=2
+pkgdesc="Message Transfer Agent"
+arch=('x86_64' 'i686')
+url='http://www.exim.org/'
+license=('GPL')
+backup=(etc/mail/aliases etc/mail/exim.conf etc/logrotate.d/exim etc/conf.d/exim)
+install=exim.install
+depends=('db' 'pcre' 'pam' 'openssl' 'libldap')
+provides=('smtp-server')
+conflicts=('smtp-server')
+options=('!makeflags')
+source=("http://mirror.switch.ch/ftp/mirror/exim/exim/exim4/exim-$pkgver.tar.bz2"
+ aliases
+ exim
+ exim.logrotate
+ exim.conf.d
+ exim.Makefile
+ exim-submission@.service
+ exim.service
+ exim@.service
+ exim.socket
+ exim-submission.socket)
+sha256sums=('787b6defd37fa75311737bcfc42e9e2b2cc62c5d027eed35bb7d800b2d9a0984'
+ '932c9149b6809c70e94c1256e28325d197bbf80d27322793e217d4b692d49c5a'
+ '48457622b22de9721efe9f143a88e5f5ce833b792d2e757237b6cdb74a1708e6'
+ '7f1408f9c5d905968e665941f5c5efcf9da53e7a0bbef6c66220343bc2ae994b'
+ '0209c701f8696a9628d43c1684105eadd35d1caba199b94e3a54a4d26cecff01'
+ '7d1e062c907a06293eee40a3139f70c74a055374b234fb8c431ea68362bdda55'
+ '32def7387aaa040b994c0d399c6053dc42d9da4c8c8f0a34d33da653be27e324'
+ '99aaf3c960396fc08ec918fdca1cf73850960f6c519982d1a653f2e673754445'
+ '0436411932d6b6268db54a84e4ffc209bde0fa7567442d8e3d138557eeccbad4'
+ '3e3d8b6be2741d2587a496196c08b3f2ffa05b5803b2bf9fb49359cef3a98d26'
+ 'd3bb58f0fbeaaa33c812a823708664bbcd828da7d24e2a098f84a15aee443fee')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ cp "$srcdir/$pkgname.Makefile" Local/Makefile
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ install -Dm0644 $srcdir/exim.logrotate "${pkgdir}/etc/logrotate.d/exim"
+ install -Dm0644 $srcdir/exim.conf.d "${pkgdir}/etc/conf.d/exim"
+ install -Dm0644 doc/exim.8 "${pkgdir}/usr/share/man/man8/exim.8"
+ install -Dm0755 $srcdir/exim "${pkgdir}/etc/rc.d/exim"
+
+ mkdir -p "${pkgdir}/var/spool/exim/db" "${pkgdir}/etc/mail" \
+ "${pkgdir}/var/log/exim" "${pkgdir}/usr"/{lib,sbin}
+
+ chmod 770 "${pkgdir}/var/spool/exim" "${pkgdir}/var/spool/exim/db" "${pkgdir}/var/log/exim"
+
+ cd build-Linux-*
+ for i in exicyclog exim_checkaccess exim_dumpdb exim_lock exim_tidydb exipick exiqsumm exigrep \
+ exim_dbmbuild exim exim_fixdb eximstats exinext exiqgrep exiwhat; do
+ install -m0755 "$i" "$pkgdir/usr/sbin"
+ done
+
+ cd "$srcdir/exim-$pkgver/src"
+ sed -e "s|/etc/aliases|/etc/mail/aliases|g" -e "s|SYSTEM_ALIASES_FILE|/etc/mail/aliases|g" \
+ configure.default > "$pkgdir/etc/mail/exim.conf"
+
+ cp "$srcdir/aliases" "$pkgdir/etc/mail"
+
+ cd "$pkgdir/usr/sbin"
+ for i in mailq rmail rsmtp runq sendmail; do
+ ln -s exim "$i"
+ done
+ # fhs compliancy
+ ln -s ../sbin/exim ../lib/sendmail
+
+ install -Dm0644 "$srcdir/exim-submission@.service" \
+ "${pkgdir}/usr/lib/systemd/system/exim-submission@.service"
+ install -Dm0644 "$srcdir/exim.service" "${pkgdir}/usr/lib/systemd/system/exim.service"
+ install -Dm0644 "$srcdir/exim@.service" "${pkgdir}/usr/lib/systemd/system/exim@.service"
+ install -Dm0644 "$srcdir/exim.socket" "${pkgdir}/usr/lib/systemd/system/exim.socket"
+ install -Dm0644 "$srcdir/exim-submission.socket" \
+ "${pkgdir}/usr/lib/systemd/system/exim-submission.socket"
+}
diff --git a/community-testing/exim/aliases b/community-testing/exim/aliases
new file mode 100644
index 000000000..5a76ff7d5
--- /dev/null
+++ b/community-testing/exim/aliases
@@ -0,0 +1,35 @@
+#
+# /etc/mail/aliases
+#
+# NOTE: Make sure you run 'newaliases' after modifying this file
+#
+
+# Basic system aliases -- these MUST be present.
+MAILER-DAEMON: postmaster
+postmaster: root
+hostmaster: root
+webmaster: hostmaster
+ftpmaster: hostmaster
+admin: hostmaster
+administrator: hostmaster
+
+# General redirections for pseudo accounts.
+bin: root
+daemon: root
+games: root
+ingres: root
+nobody: root
+system: root
+toor: root
+uucp: root
+
+# Well-known aliases.
+manager: root
+dumper: root
+operator: root
+
+# trap decode to catch security attacks
+decode: root
+
+# Person who should get root's mail
+#root:
diff --git a/community-testing/exim/exim b/community-testing/exim/exim
new file mode 100644
index 000000000..8e9640b32
--- /dev/null
+++ b/community-testing/exim/exim
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+# source application-specific settings
+[ -f /etc/conf.d/exim ] && . /etc/conf.d/exim
+
+# general config
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/exim`
+
+case "$1" in
+ start)
+ stat_busy "Starting Exim"
+ [ -z "$PID" ] && /usr/sbin/exim $EXIM_ARGS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon exim
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Exim"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm /var/run/exim.pid
+ rm_daemon exim
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-testing/exim/exim-submission.socket b/community-testing/exim/exim-submission.socket
new file mode 100644
index 000000000..b9593e2ef
--- /dev/null
+++ b/community-testing/exim/exim-submission.socket
@@ -0,0 +1,10 @@
+[Unit]
+Description=Exim Mail Transfer Agent (message submission)
+Conflicts=exim.service
+
+[Socket]
+ListenStream=587
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/community-testing/exim/exim-submission@.service b/community-testing/exim/exim-submission@.service
new file mode 100644
index 000000000..8b1d056a8
--- /dev/null
+++ b/community-testing/exim/exim-submission@.service
@@ -0,0 +1,11 @@
+# It doesn't make sense for this to be separate from exim@.service
+# However, I couldn't think of a way to have two .socket files point
+# to it ([Socket] Service= is rejected if Accept=yes is set).
+
+[Unit]
+Description=Exim Mail Daemon per-connection server (message submission)
+
+[Service]
+ExecStart=-/usr/sbin/exim -bs
+StandardInput=socket
+StandardError=syslog
diff --git a/community-testing/exim/exim.Makefile b/community-testing/exim/exim.Makefile
new file mode 100644
index 000000000..a304ce829
--- /dev/null
+++ b/community-testing/exim/exim.Makefile
@@ -0,0 +1,1227 @@
+# $Cambridge: exim/src/src/EDITME,v 1.27 2010/06/12 15:21:25 jetmore Exp $
+
+##################################################
+# The Exim mail transport agent #
+##################################################
+
+# This is the template for Exim's main build-time configuration file. It
+# contains settings that are independent of any operating system. These are
+# things that are mostly sysadmin choices. The items below are divided into
+# those you must specify, those you probably want to specify, those you might
+# often want to specify, and those that you almost never need to mention.
+
+# Edit this file and save the result to a file called Local/Makefile within the
+# Exim distribution directory before running the "make" command.
+
+# Things that depend on the operating system have default settings in
+# OS/Makefile-Default, but these are overridden for some OS by files called
+# called OS/Makefile-<osname>. You can further override these by creating files
+# called Local/Makefile-<osname>, where "<osname>" stands for the name of your
+# operating system - look at the names in the OS directory to see which names
+# are recognized.
+
+# However, if you are building Exim for a single OS only, you don't need to
+# worry about setting up Local/Makefile-<osname>. Any build-time configuration
+# settings you require can in fact be placed in the one file called
+# Local/Makefile. It is only if you are building for several OS from the same
+# source files that you need to worry about splitting off your own OS-dependent
+# settings into separate files. (There's more explanation about how this all
+# works in the toplevel README file, under "Modifying the building process", as
+# well as in the Exim specification.)
+
+# One OS-specific thing that may need to be changed is the command for running
+# the C compiler; the overall default is gcc, but some OS Makefiles specify cc.
+# You can override anything that is set by putting CC=whatever in your
+# Local/Makefile.
+
+# NOTE: You should never need to edit any of the distributed Makefiles; all
+# overriding can be done in your Local/Makefile(s). This will make it easier
+# for you when the next release comes along.
+
+# The location of the X11 libraries is something else that is quite variable
+# even between different versions of the same operating system (and indeed
+# there are different versions of X11 as well, of course). The four settings
+# concerned here are X11, XINCLUDE, XLFLAGS (linking flags) and X11_LD_LIB
+# (dynamic run-time library). You need not worry about X11 unless you want to
+# compile the Exim monitor utility. Exim itself does not use X11.
+
+# Another area of variability between systems is the type and location of the
+# DBM library package. Exim has support for ndbm, gdbm, tdb, and Berkeley DB.
+# By default the code assumes ndbm; this often works with gdbm or DB, provided
+# they are correctly installed, via their compatibility interfaces. However,
+# Exim can also be configured to use the native calls for Berkeley DB (obsolete
+# versions 1.85, 2.x, 3.x, or the current 4.x version) and also for gdbm.
+
+# For some operating systems, a default DBM library (other than ndbm) is
+# selected by a setting in the OS-specific Makefile. Most modern OS now have
+# a DBM library installed as standard, and in many cases this will be selected
+# for you by the OS-specific configuration. If Exim compiles without any
+# problems, you probably do not have to worry about the DBM library. If you
+# do want or need to change it, you should first read the discussion in the
+# file doc/dbm.discuss.txt, which also contains instructions for testing Exim's
+# interface to the DBM library.
+
+# In Local/Makefiles blank lines and lines starting with # are ignored. It is
+# also permitted to use the # character to add a comment to a setting, for
+# example
+#
+# EXIM_GID=42 # the "mail" group
+#
+# However, with some versions of "make" this works only if there is no white
+# space between the end of the setting and the #, so perhaps it is best
+# avoided. A consequence of this facility is that it is not possible to have
+# the # character present in any setting, but I can't think of any cases where
+# this would be wanted.
+###############################################################################
+
+
+
+###############################################################################
+# THESE ARE THINGS YOU MUST SPECIFY #
+###############################################################################
+
+# Exim will not build unless you specify BIN_DIRECTORY, CONFIGURE_FILE, and
+# EXIM_USER. You also need EXIM_GROUP if EXIM_USER specifies a uid by number.
+
+# If you don't specify SPOOL_DIRECTORY, Exim won't fail to build. However, it
+# really is a very good idea to specify it here rather than at run time. This
+# is particularly true if you let the logs go to their default location in the
+# spool directory, because it means that the location of the logs is known
+# before Exim has read the run time configuration file.
+
+#------------------------------------------------------------------------------
+# BIN_DIRECTORY defines where the exim binary will be installed by "make
+# install". The path is also used internally by Exim when it needs to re-invoke
+# itself, either to send an error message, or to recover root privilege. Exim's
+# utility binaries and scripts are also installed in this directory. There is
+# no "standard" place for the binary directory. Some people like to keep all
+# the Exim files under one directory such as /usr/exim; others just let the
+# Exim binaries go into an existing directory such as /usr/sbin or
+# /usr/local/sbin. The installation script will try to create this directory,
+# and any superior directories, if they do not exist.
+
+BIN_DIRECTORY=/usr/sbin
+
+
+#------------------------------------------------------------------------------
+# CONFIGURE_FILE defines where Exim's run time configuration file is to be
+# found. It is the complete pathname for the file, not just a directory. The
+# location of all other run time files and directories can be changed in the
+# run time configuration file. There is a lot of variety in the choice of
+# location in different OS, and in the preferences of different sysadmins. Some
+# common locations are in /etc or /etc/mail or /usr/local/etc or
+# /usr/local/etc/mail. Another possibility is to keep all the Exim files under
+# a single directory such as /usr/exim. Whatever you choose, the installation
+# script will try to make the directory and any superior directories if they
+# don't exist. It will also install a default runtime configuration if this
+# file does not exist.
+
+CONFIGURE_FILE=/etc/mail/exim.conf
+
+# It is possible to specify a colon-separated list of files for CONFIGURE_FILE.
+# In this case, Exim will use the first of them that exists when it is run.
+# However, if a list is specified, the installation script no longer tries to
+# make superior directories or to install a default runtime configuration.
+
+
+#------------------------------------------------------------------------------
+# The Exim binary must normally be setuid root, so that it starts executing as
+# root, but (depending on the options with which it is called) it does not
+# always need to retain the root privilege. These settings define the user and
+# group that is used for Exim processes when they no longer need to be root. In
+# particular, this applies when receiving messages and when doing remote
+# deliveries. (Local deliveries run as various non-root users, typically as the
+# owner of a local mailbox.) Specifying these values as root is not supported.
+
+EXIM_USER=ref:exim
+
+# If you specify EXIM_USER as a name, this is looked up at build time, and the
+# uid number is built into the binary. However, you can specify that this
+# lookup is deferred until runtime. In this case, it is the name that is built
+# into the binary. You can do this by a setting of the form:
+
+# EXIM_USER=ref:exim
+
+# In other words, put "ref:" in front of the user name. If you set EXIM_USER
+# like this, any value specified for EXIM_GROUP is also passed "by reference".
+# Although this costs a bit of resource at runtime, it is convenient to use
+# this feature when building binaries that are to be run on multiple systems
+# where the name may refer to different uids. It also allows you to build Exim
+# on a system where there is no Exim user defined.
+
+# If the setting of EXIM_USER is numeric (e.g. EXIM_USER=42), there must
+# also be a setting of EXIM_GROUP. If, on the other hand, you use a name
+# for EXIM_USER (e.g. EXIM_USER=exim), you don't need to set EXIM_GROUP unless
+# you want to use a group other than the default group for the given user.
+
+# EXIM_GROUP=
+
+# Many sites define a user called "exim", with an appropriate default group,
+# and use
+#
+# EXIM_USER=exim
+#
+# while leaving EXIM_GROUP unspecified (commented out).
+
+
+#------------------------------------------------------------------------------
+# SPOOL_DIRECTORY defines the directory where all the data for messages in
+# transit is kept. It is strongly recommended that you define it here, though
+# it is possible to leave this till the run time configuration.
+
+# Exim creates the spool directory if it does not exist. The owner and group
+# will be those defined by EXIM_USER and EXIM_GROUP, and this also applies to
+# all the files and directories that are created in the spool directory.
+
+# Almost all installations choose this:
+
+SPOOL_DIRECTORY=/var/spool/exim
+
+
+
+###############################################################################
+# THESE ARE THINGS YOU PROBABLY WANT TO SPECIFY #
+###############################################################################
+
+# If you need extra header file search paths on all compiles, put the -I
+# options in INCLUDE. If you want the extra searches only for certain
+# parts of the build, see more specific xxx_INCLUDE variables below.
+
+# INCLUDE=-I/example/include
+
+# You need to specify some routers and transports if you want the Exim that you
+# are building to be capable of delivering mail. You almost certainly need at
+# least one type of lookup. You should consider whether you want to build
+# the Exim monitor or not.
+
+
+#------------------------------------------------------------------------------
+# These settings determine which individual router drivers are included in the
+# Exim binary. There are no defaults in the code; those routers that are wanted
+# must be defined here by setting the appropriate variables to the value "yes".
+# Including a router in the binary does not cause it to be used automatically.
+# It has also to be configured in the run time configuration file. By
+# commenting out those you know you don't want to use, you can make the binary
+# a bit smaller. If you are unsure, leave all of these included for now.
+
+ROUTER_ACCEPT=yes
+ROUTER_DNSLOOKUP=yes
+ROUTER_IPLITERAL=yes
+ROUTER_MANUALROUTE=yes
+ROUTER_QUERYPROGRAM=yes
+ROUTER_REDIRECT=yes
+
+# This one is very special-purpose, so is not included by default.
+
+# ROUTER_IPLOOKUP=yes
+
+
+#------------------------------------------------------------------------------
+# These settings determine which individual transport drivers are included in
+# the Exim binary. There are no defaults; those transports that are wanted must
+# be defined here by setting the appropriate variables to the value "yes".
+# Including a transport in the binary does not cause it to be used
+# automatically. It has also to be configured in the run time configuration
+# file. By commenting out those you know you don't want to use, you can make
+# the binary a bit smaller. If you are unsure, leave all of these included for
+# now.
+
+TRANSPORT_APPENDFILE=yes
+TRANSPORT_AUTOREPLY=yes
+TRANSPORT_PIPE=yes
+TRANSPORT_SMTP=yes
+
+# This one is special-purpose, and commonly not required, so it is not
+# included by default.
+
+TRANSPORT_LMTP=yes
+
+
+#------------------------------------------------------------------------------
+# The appendfile transport can write messages to local mailboxes in a number
+# of formats. The code for three specialist formats, maildir, mailstore, and
+# MBX, is included only when requested. If you do not know what this is about,
+# leave these settings commented out.
+
+SUPPORT_MAILDIR=yes
+# SUPPORT_MAILSTORE=yes
+# SUPPORT_MBX=yes
+
+
+#------------------------------------------------------------------------------
+# See below for dynamic lookup modules.
+# LOOKUP_MODULE_DIR=/usr/lib/exim/lookups/
+# If not using package management but using this anyway, then think about how
+# you perform upgrades and revert them. You should consider the benefit of
+# embedding the Exim version number into LOOKUP_MODULE_DIR, so that you can
+# maintain two concurrent sets of modules.
+
+# To build a module dynamically, you'll need to define CFLAGS_DYNAMIC for
+# your platform. Eg:
+# CFLAGS_DYNAMIC=-shared -rdynamic
+# CFLAGS_DYNAMIC=-shared -rdynamic -fPIC
+
+#------------------------------------------------------------------------------
+# These settings determine which file and database lookup methods are included
+# in the binary. See the manual chapter entitled "File and database lookups"
+# for discussion. DBM and lsearch (linear search) are included by default. If
+# you are unsure about the others, leave them commented out for now.
+# LOOKUP_DNSDB does *not* refer to general mail routing using the DNS. It is
+# for the specialist case of using the DNS as a general database facility (not
+# common).
+# If set to "2" instead of "yes" then the corresponding lookup will be
+# built as a module and must be installed into LOOKUP_MODULE_DIR. You need to
+# add -export-dynamic -rdynamic to EXTRALIBS. You may also need to add -ldl to
+# EXTRALIBS so that dlopen() is available to Exim. You need to define
+# LOOKUP_MODULE_DIR above so the exim binary actually loads dynamic lookup
+# modules.
+# Also, instead of adding all the libraries/includes to LOOKUP_INCLUDE and
+# LOOKUP_LIBS, add them to the respective LOOKUP_*_INCLUDE and LOOKUP_*_LIBS
+# (where * is the name as given here in this list). That ensures that only
+# the dynamic library and not the exim binary will be linked against the
+# library.
+# NOTE: LDAP cannot be built as a module!
+
+LOOKUP_DBM=yes
+LOOKUP_LSEARCH=yes
+LOOKUP_DNSDB=yes
+
+# LOOKUP_CDB=yes
+LOOKUP_DSEARCH=yes
+# LOOKUP_IBASE=yes
+LOOKUP_LDAP=yes
+# LOOKUP_MYSQL=yes
+# LOOKUP_NIS=yes
+# LOOKUP_NISPLUS=yes
+# LOOKUP_ORACLE=yes
+# LOOKUP_PASSWD=yes
+# LOOKUP_PGSQL=yes
+# LOOKUP_SQLITE=yes
+# LOOKUP_WHOSON=yes
+
+# These two settings are obsolete; all three lookups are compiled when
+# LOOKUP_LSEARCH is enabled. However, we retain these for backward
+# compatibility. Setting one forces LOOKUP_LSEARCH if it is not set.
+
+# LOOKUP_WILDLSEARCH=yes
+# LOOKUP_NWILDLSEARCH=yes
+
+
+#------------------------------------------------------------------------------
+# If you have set LOOKUP_LDAP=yes, you should set LDAP_LIB_TYPE to indicate
+# which LDAP library you have. Unfortunately, though most of their functions
+# are the same, there are minor differences. Currently Exim knows about four
+# LDAP libraries: the one from the University of Michigan (also known as
+# OpenLDAP 1), OpenLDAP 2, the Netscape SDK library, and the library that comes
+# with Solaris 7 onwards. Uncomment whichever of these you are using.
+
+# LDAP_LIB_TYPE=OPENLDAP1
+LDAP_LIB_TYPE=OPENLDAP2
+# LDAP_LIB_TYPE=NETSCAPE
+# LDAP_LIB_TYPE=SOLARIS
+
+# If you don't set any of these, Exim assumes the original University of
+# Michigan (OpenLDAP 1) library.
+
+
+#------------------------------------------------------------------------------
+# The PCRE library is required for exim. There is no longer an embedded
+# version of the PCRE library included with the source code, instead you
+# must use a system library or build your own copy of PCRE.
+# In either case you must specify the library link info here. If the
+# PCRE header files are not in the standard search path you must also
+# modify the INCLUDE path (above)
+# The default setting of PCRE_LIBS should work on the vast majority of
+# systems
+
+PCRE_LIBS=-lpcre
+
+
+#------------------------------------------------------------------------------
+# Additional libraries and include directories may be required for some
+# lookup styles (e.g. LDAP, MYSQL or PGSQL). LOOKUP_LIBS is included only on
+# the command for linking Exim itself, not on any auxiliary programs. You
+# don't need to set LOOKUP_INCLUDE if the relevant directories are already
+# specified in INCLUDE. The settings below are just examples; -lpq is for
+# PostgreSQL, -lgds is for Interbase, -lsqlite3 is for SQLite.
+
+# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include
+# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds -lsqlite3
+
+
+#------------------------------------------------------------------------------
+# Compiling the Exim monitor: If you want to compile the Exim monitor, a
+# program that requires an X11 display, then EXIM_MONITOR should be set to the
+# value "eximon.bin". Comment out this setting to disable compilation of the
+# monitor. The locations of various X11 directories for libraries and include
+# files are defaulted in the OS/Makefile-Default file, but can be overridden in
+# local OS-specific make files.
+
+
+
+
+#------------------------------------------------------------------------------
+# Compiling Exim with content scanning support: If you want to compile Exim
+# with support for message body content scanning, set WITH_CONTENT_SCAN to
+# the value "yes". This will give you malware and spam scanning in the DATA ACL,
+# and the MIME ACL. Please read the documentation to learn more about these
+# features.
+
+WITH_CONTENT_SCAN=yes
+
+# If you want to use the deprecated "demime" condition in the DATA ACL,
+# uncomment the line below. Doing so will also explicitly turn on the
+# WITH_CONTENT_SCAN option. If possible, use the MIME ACL instead of
+# the "demime" condition.
+
+WITH_OLD_DEMIME=yes
+
+# If you're using ClamAV and are backporting fixes to an old version, instead
+# of staying current (which is the more usual approach) then you may need to
+# use an older API which uses a STREAM command, now deprecated, instead of
+# zINSTREAM. If you need to set this, please let the Exim developers know, as
+# if nobody reports a need for it, we'll remove this option and clean up the
+# code. zINSTREAM was introduced with ClamAV 0.95.
+#
+# WITH_OLD_CLAMAV_STREAM=yes
+
+#------------------------------------------------------------------------------
+# By default Exim includes code to support DKIM (DomainKeys Identified
+# Mail, RFC4871) signing and verification. Verification of signatures is
+# turned on by default. See the spec for information on conditionally
+# disabling it. To disable the inclusion of the entire feature, set
+# DISABLE_DKIM to "yes"
+
+# DISABLE_DKIM=yes
+
+
+#------------------------------------------------------------------------------
+# Compiling Exim with experimental features. These are documented in
+# experimental-spec.txt. "Experimental" means that the way these features are
+# implemented may still change. Backward compatibility is not guaranteed.
+
+# Uncomment the following lines to add SPF support. You need to have libspf2
+# installed on your system (www.libspf2.org). Depending on where it is installed
+# you may have to edit the CFLAGS and LDFLAGS lines.
+
+# EXPERIMENTAL_SPF=yes
+# CFLAGS += -I/usr/local/include
+# LDFLAGS += -lspf2
+
+# Uncomment the following lines to add SRS (Sender rewriting scheme) support.
+# You need to have libsrs_alt installed on your system (srs.mirtol.com).
+# Depending on where it is installed you may have to edit the CFLAGS and
+# LDFLAGS lines.
+
+# EXPERIMENTAL_SRS=yes
+# CFLAGS += -I/usr/local/include
+# LDFLAGS += -lsrs_alt
+
+# Uncomment the following lines to add Brightmail AntiSpam support. You need
+# to have the Brightmail client SDK installed. Please check the experimental
+# documentation for implementation details. You need to edit the CFLAGS and
+# LDFLAGS lines.
+
+# EXPERIMENTAL_BRIGHTMAIL=yes
+# CFLAGS += -I/opt/brightmail/bsdk-6.0/include
+# LDFLAGS += -lxml2_single -lbmiclient_single -L/opt/brightmail/bsdk-6.0/lib
+
+
+
+###############################################################################
+# THESE ARE THINGS YOU MIGHT WANT TO SPECIFY #
+###############################################################################
+
+# The items in this section are those that are commonly changed according to
+# the sysadmin's preferences, but whose defaults are often acceptable. The
+# first five are concerned with security issues, where differing levels of
+# paranoia are appropriate in different environments. Sysadmins also vary in
+# their views on appropriate levels of defence in these areas. If you do not
+# understand these issues, go with the defaults, which are used by many sites.
+
+
+#------------------------------------------------------------------------------
+# Although Exim is normally a setuid program, owned by root, it refuses to run
+# local deliveries as root by default. There is a runtime option called
+# "never_users" which lists the users that must never be used for local
+# deliveries. There is also the setting below, which provides a list that
+# cannot be overridden at runtime. This guards against problems caused by
+# unauthorized changes to the runtime configuration. You are advised not to
+# remove "root" from this option, but you can add other users if you want. The
+# list is colon-separated. It must NOT contain any spaces.
+
+# FIXED_NEVER_USERS=root:bin:daemon
+FIXED_NEVER_USERS=root
+
+
+#------------------------------------------------------------------------------
+# By default, Exim insists that its configuration file be owned by root. You
+# can specify one additional permitted owner here.
+
+# CONFIGURE_OWNER=
+
+# If the configuration file is group-writeable, Exim insists by default that it
+# is owned by root. You can specify one additional permitted group owner here.
+
+# CONFIGURE_GROUP=
+
+# If you specify CONFIGURE_OWNER or CONFIGURE_GROUP as a name, this is looked
+# up at build time, and the uid or gid number is built into the binary.
+# However, you can specify that the lookup is deferred until runtime. In this
+# case, it is the name that is built into the binary. You can do this by a
+# setting of the form:
+
+# CONFIGURE_OWNER=ref:mail
+# CONFIGURE_GROUP=ref:sysadmin
+
+# In other words, put "ref:" in front of the user or group name. Although this
+# costs a bit of resource at runtime, it is convenient to use this feature when
+# building binaries that are to be run on multiple systems where the names may
+# refer to different uids or gids. It also allows you to build Exim on a system
+# where the relevant user or group is not defined.
+
+
+#------------------------------------------------------------------------------
+# The -C option allows Exim to be run with an alternate runtime configuration
+# file. When this is used by root, root privilege is retained by the binary
+# (for any other caller including the Exim user, it is dropped). You can
+# restrict the location of alternate configurations by defining a prefix below.
+# Any file used with -C must then start with this prefix (except that /dev/null
+# is also permitted if the caller is root, because that is used in the install
+# script). If the prefix specifies a directory that is owned by root, a
+# compromise of the Exim account does not permit arbitrary alternate
+# configurations to be used. The prefix can be more restrictive than just a
+# directory (the second example).
+
+# ALT_CONFIG_PREFIX=/some/directory/
+# ALT_CONFIG_PREFIX=/some/directory/exim.conf-
+
+
+#------------------------------------------------------------------------------
+# When a user other than root uses the -C option to override the configuration
+# file (including the Exim user when re-executing Exim to regain root
+# privileges for local message delivery), this will normally cause Exim to
+# drop root privileges. The TRUSTED_CONFIG_LIST option, specifies a file which
+# contains a list of trusted configuration filenames, one per line. If the -C
+# option is used by the Exim user or by the user specified in the
+# CONFIGURE_OWNER setting, to specify a configuration file which is listed in
+# the TRUSTED_CONFIG_LIST file, then root privileges are not dropped by Exim.
+
+# TRUSTED_CONFIG_LIST=/usr/exim/trusted_configs
+
+
+#------------------------------------------------------------------------------
+# Uncommenting this option disables the use of the -D command line option,
+# which changes the values of macros in the runtime configuration file.
+# This is another protection against somebody breaking into the Exim account.
+
+# DISABLE_D_OPTION=yes
+
+
+#------------------------------------------------------------------------------
+# By contrast, you might be maintaining a system which relies upon the ability
+# to override values with -D and assumes that these will be passed through to
+# the delivery processes. As of Exim 4.73, this is no longer the case by
+# default. Going forward, we strongly recommend that you use a shim Exim
+# configuration file owned by root stored under TRUSTED_CONFIG_LIST.
+# That shim can set macros before .include'ing your main configuration file.
+#
+# As a strictly transient measure to ease migration to 4.73, the
+# WHITELIST_D_MACROS value definies a colon-separated list of macro-names
+# which are permitted to be overridden from the command-line which will be
+# honoured by the Exim user. So these are macros that can persist to delivery
+# time.
+# Examples might be -DTLS or -DSPOOL=/some/dir. The values on the
+# command-line are filtered to only permit: [A-Za-z0-9_/.-]*
+#
+# This option is highly likely to be removed in a future release. It exists
+# only to make 4.73 as easy as possible to migrate to. If you use it, we
+# encourage you to schedule time to rework your configuration to not depend
+# upon it. Most people should not need to use this.
+#
+# By default, no macros are whitelisted for -D usage.
+
+# WHITELIST_D_MACROS=TLS:SPOOL
+
+#------------------------------------------------------------------------------
+# Exim has support for the AUTH (authentication) extension of the SMTP
+# protocol, as defined by RFC 2554. If you don't know what SMTP authentication
+# is, you probably won't want to include this code, so you should leave these
+# settings commented out. If you do want to make use of SMTP authentication,
+# you must uncomment at least one of the following, so that appropriate code is
+# included in the Exim binary. You will then need to set up the run time
+# configuration to make use of the mechanism(s) selected.
+
+AUTH_CRAM_MD5=yes
+# AUTH_CYRUS_SASL=yes
+AUTH_DOVECOT=yes
+AUTH_PLAINTEXT=yes
+AUTH_SPA=yes
+
+
+#------------------------------------------------------------------------------
+# If you specified AUTH_CYRUS_SASL above, you should ensure that you have the
+# Cyrus SASL library installed before trying to build Exim, and you probably
+# want to uncomment the following line:
+
+# AUTH_LIBS=-lsasl2
+
+
+#------------------------------------------------------------------------------
+# When Exim is decoding MIME "words" in header lines, most commonly for use
+# in the $header_xxx expansion, it converts any foreign character sets to the
+# one that is set in the headers_charset option. The default setting is
+# defined by this setting:
+
+HEADERS_CHARSET="ISO-8859-1"
+
+# If you are going to make use of $header_xxx expansions in your configuration
+# file, or if your users are going to use them in filter files, and the normal
+# character set on your host is something other than ISO-8859-1, you might
+# like to specify a different default here. This value can be overridden in
+# the runtime configuration, and it can also be overridden in individual filter
+# files.
+#
+# IMPORTANT NOTE: The iconv() function is needed for character code
+# conversions. Please see the next item...
+
+
+#------------------------------------------------------------------------------
+# Character code conversions are possible only if the iconv() function is
+# installed on your operating system. There are two places in Exim where this
+# is relevant: (a) The $header_xxx expansion (see the previous item), and (b)
+# the Sieve filter support. For those OS where iconv() is known to be installed
+# as standard, the file in OS/Makefile-xxxx contains
+#
+# HAVE_ICONV=yes
+#
+# If you are not using one of those systems, but have installed iconv(), you
+# need to uncomment that line above. In some cases, you may find that iconv()
+# and its header file are not in the default places. You might need to use
+# something like this:
+#
+# HAVE_ICONV=yes
+# CFLAGS=-O -I/usr/local/include
+# EXTRALIBS_EXIM=-L/usr/local/lib -liconv
+#
+# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM
+# as well.
+
+
+#------------------------------------------------------------------------------
+# The passwords for user accounts are normally encrypted with the crypt()
+# function. Comparisons with encrypted passwords can be done using Exim's
+# "crypteq" expansion operator. (This is commonly used as part of the
+# configuration of an authenticator for use with SMTP AUTH.) At least one
+# operating system has an extended function called crypt16(), which uses up to
+# 16 characters of a password (the normal crypt() uses only the first 8). Exim
+# supports the use of crypt16() as well as crypt() but note the warning below.
+
+# You can always indicate a crypt16-encrypted password by preceding it with
+# "{crypt16}". If you want the default handling (without any preceding
+# indicator) to use crypt16(), uncomment the following line:
+
+# DEFAULT_CRYPT=crypt16
+
+# If you do that, you can still access the basic crypt() function by preceding
+# an encrypted password with "{crypt}". For more details, see the description
+# of the "crypteq" condition in the manual chapter on string expansions.
+
+# Some operating systems do not include a crypt16() function, so Exim has one
+# of its own, which it uses unless HAVE_CRYPT16 is defined. Normally, that will
+# be set in an OS-specific Makefile for the OS that have such a function, so
+# you should not need to bother with it.
+
+# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
+# It turns out that the above is not entirely accurate. As well as crypt16()
+# there is a function called bigcrypt() that some operating systems have. This
+# may or may not use the same algorithm, and both of them may be different to
+# Exim's built-in crypt16() that is used unless HAVE_CRYPT16 is defined.
+#
+# However, since there is now a move away from the traditional crypt()
+# functions towards using SHA1 and other algorithms, tidying up this area of
+# Exim is seen as very low priority. In practice, if you need to, you can
+# define DEFAULT_CRYPT to the name of any function that has the same interface
+# as the traditional crypt() function.
+# *** WARNING *** WARNING *** WARNING *** WARNING *** WARNING ***
+
+
+#------------------------------------------------------------------------------
+# Exim can be built to support the SMTP STARTTLS command, which implements
+# Transport Layer Security using SSL (Secure Sockets Layer). To do this, you
+# must install the OpenSSL library package or the GnuTLS library. Exim contains
+# no cryptographic code of its own. Uncomment the following lines if you want
+# to build Exim with TLS support. If you don't know what this is all about,
+# leave these settings commented out.
+
+# This setting is required for any TLS support (either OpenSSL or GnuTLS)
+SUPPORT_TLS=yes
+
+# Uncomment this setting if you are using OpenSSL
+TLS_LIBS=-lssl -lcrypto
+
+# Uncomment these settings if you are using GnuTLS
+# USE_GNUTLS=yes
+# TLS_LIBS=-lgnutls -ltasn1 -lgcrypt
+
+# If you are running Exim as a server, note that just building it with TLS
+# support is not all you need to do. You also need to set up a suitable
+# certificate, and tell Exim about it by means of the tls_certificate
+# and tls_privatekey run time options. You also need to set tls_advertise_hosts
+# to specify the hosts to which Exim advertises TLS support. On the other hand,
+# if you are running Exim only as a client, building it with TLS support
+# is all you need to do.
+
+# Additional libraries and include files are required for both OpenSSL and
+# GnuTLS. The TLS_LIBS settings above assume that the libraries are installed
+# with all your other libraries. If they are in a special directory, you may
+# need something like
+
+# TLS_LIBS=-L/usr/local/openssl/lib -lssl -lcrypto
+# or
+# TLS_LIBS=-L/opt/gnu/lib -lgnutls -ltasn1 -lgcrypt
+
+# TLS_LIBS is included only on the command for linking Exim itself, not on any
+# auxiliary programs. If the include files are not in a standard place, you can
+# set TLS_INCLUDE to specify where they are, for example:
+
+# TLS_INCLUDE=-I/usr/local/openssl/include/
+# or
+# TLS_INCLUDE=-I/opt/gnu/include
+
+# You don't need to set TLS_INCLUDE if the relevant directories are already
+# specified in INCLUDE.
+
+
+#------------------------------------------------------------------------------
+# The default distribution of Exim contains only the plain text form of the
+# documentation. Other forms are available separately. If you want to install
+# the documentation in "info" format, first fetch the Texinfo documentation
+# sources from the ftp directory and unpack them, which should create files
+# with the extension "texinfo" in the doc directory. You may find that the
+# version number of the texinfo files is different to your Exim version number,
+# because the main documentation isn't updated as often as the code. For
+# example, if you have Exim version 4.43, the source tarball upacks into a
+# directory called exim-4.43, but the texinfo tarball unpacks into exim-4.40.
+# In this case, move the contents of exim-4.40/doc into exim-4.43/doc after you
+# have unpacked them. Then set INFO_DIRECTORY to the location of your info
+# directory. This varies from system to system, but is often /usr/share/info.
+# Once you have done this, "make install" will build the info files and
+# install them in the directory you have defined.
+
+# INFO_DIRECTORY=/usr/share/info
+
+
+#------------------------------------------------------------------------------
+# Exim log directory and files: Exim creates several log files inside a
+# single log directory. You can define the directory and the form of the
+# log file name here. If you do not set anything, Exim creates a directory
+# called "log" inside its spool directory (see SPOOL_DIRECTORY above) and uses
+# the filenames "mainlog", "paniclog", and "rejectlog". If you want to change
+# this, you can set LOG_FILE_PATH to a path name containing one occurrence of
+# %s. This will be replaced by one of the strings "main", "panic", or "reject"
+# to form the final file names. Some installations may want something like this:
+
+LOG_FILE_PATH=/var/log/exim/%slog
+
+# which results in files with names /var/log/exim_mainlog, etc. The directory
+# in which the log files are placed must exist; Exim does not try to create
+# it for itself. It is also your responsibility to ensure that Exim is capable
+# of writing files using this path name. The Exim user (see EXIM_USER above)
+# must be able to create and update files in the directory you have specified.
+
+# You can also configure Exim to use syslog, instead of or as well as log
+# files, by settings such as these
+
+# LOG_FILE_PATH=syslog
+# LOG_FILE_PATH=syslog:/var/log/exim_%slog
+
+# The first of these uses only syslog; the second uses syslog and also writes
+# to log files. Do not include white space in such a setting as it messes up
+# the building process.
+
+
+#------------------------------------------------------------------------------
+# When logging to syslog, the following option caters for syslog replacements
+# that are able to accept log entries longer than the 1024 characters allowed
+# by RFC 3164. It is up to you to make sure your syslog daemon can handle this.
+# Non-printable characters are usually unacceptable regardless, so log entries
+# are still split on newline characters.
+
+# SYSLOG_LONG_LINES=yes
+
+# If you are not interested in the process identifier (pid) of the Exim that is
+# making the call to syslog, then comment out the following line.
+
+SYSLOG_LOG_PID=yes
+
+
+#------------------------------------------------------------------------------
+# Cycling log files: this variable specifies the maximum number of old
+# log files that are kept by the exicyclog log-cycling script. You don't have
+# to use exicyclog. If your operating system has other ways of cycling log
+# files, you can use them instead. The exicyclog script isn't run by default;
+# you have to set up a cron job for it if you want it.
+
+EXICYCLOG_MAX=10
+
+
+#------------------------------------------------------------------------------
+# The compress command is used by the exicyclog script to compress old log
+# files. Both the name of the command and the suffix that it adds to files
+# need to be defined here. See also the EXICYCLOG_MAX configuration.
+
+COMPRESS_COMMAND=/bin/gzip
+COMPRESS_SUFFIX=gz
+
+
+#------------------------------------------------------------------------------
+# If the exigrep utility is fed compressed log files, it tries to uncompress
+# them using this command.
+
+ZCAT_COMMAND=/bin/zcat
+
+
+#------------------------------------------------------------------------------
+# Compiling in support for embedded Perl: If you want to be able to
+# use Perl code in Exim's string manipulation language and you have Perl
+# (version 5.004 or later) installed, set EXIM_PERL to perl.o. Using embedded
+# Perl costs quite a lot of resources. Only do this if you really need it.
+
+# EXIM_PERL=perl.o
+
+
+#------------------------------------------------------------------------------
+# Support for dynamically-loaded string expansion functions via ${dlfunc. If
+# you are using gcc the dynamically-loaded object must be compiled with the
+# -shared option, and you will need to add -export-dynamic to EXTRALIBS so
+# that the local_scan API is made available by the linker. You may also need
+# to add -ldl to EXTRALIBS so that dlopen() is available to Exim.
+
+# EXPAND_DLFUNC=yes
+
+
+#------------------------------------------------------------------------------
+# Exim has support for PAM (Pluggable Authentication Modules), a facility
+# which is available in the latest releases of Solaris and in some GNU/Linux
+# distributions (see http://ftp.kernel.org/pub/linux/libs/pam/). The Exim
+# support, which is intended for use in conjunction with the SMTP AUTH
+# facilities, is included only when requested by the following setting:
+
+SUPPORT_PAM=yes
+
+# You probably need to add -lpam to EXTRALIBS, and in some releases of
+# GNU/Linux -ldl is also needed.
+
+
+#------------------------------------------------------------------------------
+# Support for authentication via Radius is also available. The Exim support,
+# which is intended for use in conjunction with the SMTP AUTH facilities,
+# is included only when requested by setting the following parameter to the
+# location of your Radius configuration file:
+
+# RADIUS_CONFIG_FILE=/etc/radiusclient/radiusclient.conf
+# RADIUS_CONFIG_FILE=/etc/radius.conf
+
+# If you have set RADIUS_CONFIG_FILE, you should also set one of these to
+# indicate which RADIUS library is used:
+
+# RADIUS_LIB_TYPE=RADIUSCLIENT
+# RADIUS_LIB_TYPE=RADIUSCLIENTNEW
+# RADIUS_LIB_TYPE=RADLIB
+
+# RADIUSCLIENT is the radiusclient library; you probably need to add
+# -lradiusclient to EXTRALIBS.
+#
+# The API for the radiusclient library was changed at release 0.4.0.
+# Unfortunately, the header file does not define a version number that clients
+# can use to support both the old and new APIs. If you are using version 0.4.0
+# or later of the radiusclient library, you should use RADIUSCLIENTNEW.
+#
+# RADLIB is the Radius library that comes with FreeBSD (the header file is
+# called radlib.h); you probably need to add -lradius to EXTRALIBS.
+#
+# If you do not set RADIUS_LIB_TYPE, Exim assumes the radiusclient library,
+# using the original API.
+
+
+#------------------------------------------------------------------------------
+# Support for authentication via the Cyrus SASL pwcheck daemon is available.
+# Note, however, that pwcheck is now deprecated in favour of saslauthd (see
+# next item). The Exim support for pwcheck, which is intented for use in
+# conjunction with the SMTP AUTH facilities, is included only when requested by
+# setting the following parameter to the location of the pwcheck daemon's
+# socket.
+#
+# There is no need to install all of SASL on your system. You just need to run
+# ./configure --with-pwcheck, cd to the pwcheck directory within the sources,
+# make and make install. You must create the socket directory (default
+# /var/pwcheck) and chown it to exim's user and group. Once you have installed
+# pwcheck, you should arrange for it to be started by root at boot time.
+
+# CYRUS_PWCHECK_SOCKET=/var/pwcheck/pwcheck
+
+
+#------------------------------------------------------------------------------
+# Support for authentication via the Cyrus SASL saslauthd daemon is available.
+# The Exim support, which is intented for use in conjunction with the SMTP AUTH
+# facilities, is included only when requested by setting the following
+# parameter to the location of the saslauthd daemon's socket.
+#
+# There is no need to install all of SASL on your system. You just need to run
+# ./configure --with-saslauthd (and any other options you need, for example, to
+# select or deselect authentication mechanisms), cd to the saslauthd directory
+# within the sources, make and make install. You must create the socket
+# directory (default /var/state/saslauthd) and chown it to exim's user and
+# group. Once you have installed saslauthd, you should arrange for it to be
+# started by root at boot time.
+
+# CYRUS_SASLAUTHD_SOCKET=/var/state/saslauthd/mux
+
+
+#------------------------------------------------------------------------------
+# TCP wrappers: If you want to use tcpwrappers from within Exim, uncomment
+# this setting. See the manual section entitled "Use of tcpwrappers" in the
+# chapter on building and installing Exim.
+#
+# USE_TCP_WRAPPERS=yes
+#
+# You may well also have to specify a local "include" file and an additional
+# library for TCP wrappers, so you probably need something like this:
+#
+# USE_TCP_WRAPPERS=yes
+# CFLAGS=-O -I/usr/local/include
+# EXTRALIBS_EXIM=-L/usr/local/lib -lwrap
+#
+# but of course there may need to be other things in CFLAGS and EXTRALIBS_EXIM
+# as well.
+#
+# To use a name other than exim in the tcpwrappers config file,
+# e.g. if you're running multiple daemons with different access lists,
+# or multiple MTAs with the same access list, define
+# TCP_WRAPPERS_DAEMON_NAME accordingly
+#
+# TCP_WRAPPERS_DAEMON_NAME="exim"
+
+
+#------------------------------------------------------------------------------
+# The default action of the exim_install script (which is run by "make
+# install") is to install the Exim binary with a unique name such as
+# exim-4.43-1, and then set up a symbolic link called "exim" to reference it,
+# moving the symbolic link from any previous version. If you define NO_SYMLINK
+# (the value doesn't matter), the symbolic link is not created or moved. You
+# will then have to "turn Exim on" by setting up the link manually.
+
+# NO_SYMLINK=yes
+
+
+#------------------------------------------------------------------------------
+# Another default action of the install script is to install a default runtime
+# configuration file if one does not exist. This configuration has a router for
+# expanding system aliases. The default assumes that these aliases are kept
+# in the traditional file called /etc/aliases. If such a file does not exist,
+# the installation script creates one that contains just comments (no actual
+# aliases). The following setting can be changed to specify a different
+# location for the system alias file.
+
+SYSTEM_ALIASES_FILE=/etc/mail/aliases
+
+
+#------------------------------------------------------------------------------
+# There are some testing options (-be, -bt, -bv) that read data from the
+# standard input when no arguments are supplied. By default, the input lines
+# are read using the standard fgets() function. This does not support line
+# editing during interactive input (though the terminal's "erase" character
+# works as normal). If your operating system has the readline() function, and
+# in addition supports dynamic loading of library functions, you can cause
+# Exim to use readline() for the -be testing option (only) by uncommenting the
+# following setting. Dynamic loading is used so that the library is loaded only
+# when the -be testing option is given; by the time the loading occurs,
+# Exim has given up its root privilege and is running as the calling user. This
+# is the reason why readline() is NOT supported for -bt and -bv, because Exim
+# runs as root or as exim, respectively, for those options. When USE_READLINE
+# is "yes", as well as supporting line editing, a history of input lines in the
+# current run is maintained.
+
+# USE_READLINE=yes
+
+# You may need to add -ldl to EXTRALIBS when you set USE_READLINE=yes.
+# Note that this option adds to the size of the Exim binary, because the
+# dynamic loading library is not otherwise included.
+
+
+
+###############################################################################
+# THINGS YOU ALMOST NEVER NEED TO MENTION #
+###############################################################################
+
+# The settings in this section are available for use in special circumstances.
+# In the vast majority of installations you need not change anything below.
+
+
+#------------------------------------------------------------------------------
+# The following commands live in different places in some OS. Either the
+# ultimate default settings, or the OS-specific files should already point to
+# the right place, but they can be overridden here if necessary. These settings
+# are used when building various scripts to ensure that the correct paths are
+# used when the scripts are run. They are not used in the Makefile itself. Perl
+# is not necessary for running Exim unless you set EXIM_PERL (see above) to get
+# it embedded, but there are some utilities that are Perl scripts. If you
+# haven't got Perl, Exim will still build and run; you just won't be able to
+# use those utilities.
+
+# CHOWN_COMMAND=/usr/bin/chown
+# CHGRP_COMMAND=/usr/bin/chgrp
+# CHMOD_COMMAND=/usr/bin/chmod
+# MV_COMMAND=/bin/mv
+# RM_COMMAND=/bin/rm
+# TOUCH_COMMAND=/usr/bin/touch
+# PERL_COMMAND=/usr/bin/perl
+
+
+#------------------------------------------------------------------------------
+# The following macro can be used to change the command for building a library
+# of functions. By default the "ar" command is used, with options "cq".
+# Only in rare circumstances should you need to change this.
+
+# AR=ar cq
+
+
+#------------------------------------------------------------------------------
+# In some operating systems, the value of the TMPDIR environment variable
+# controls where temporary files are created. Exim does not make use of
+# temporary files, except when delivering to MBX mailboxes. However, if Exim
+# calls any external libraries (e.g. DBM libraries), they may use temporary
+# files, and thus be influenced by the value of TMPDIR. For this reason, when
+# Exim starts, it checks the environment for TMPDIR, and if it finds it is set,
+# it replaces the value with what is defined here. Commenting this setting
+# suppresses the check altogether.
+
+TMPDIR="/tmp"
+
+
+#------------------------------------------------------------------------------
+# The following macros can be used to change the default modes that are used
+# by the appendfile transport. In most installations the defaults are just
+# fine, and in any case, you can change particular instances of the transport
+# at run time if you want.
+
+# APPENDFILE_MODE=0600
+# APPENDFILE_DIRECTORY_MODE=0700
+# APPENDFILE_LOCKFILE_MODE=0600
+
+
+#------------------------------------------------------------------------------
+# In some installations there may be multiple machines sharing file systems,
+# where a different configuration file is required for Exim on the different
+# machines. If CONFIGURE_FILE_USE_NODE is defined, then Exim will first look
+# for a configuration file whose name is that defined by CONFIGURE_FILE,
+# with the node name obtained by uname() tacked on the end, separated by a
+# period (for example, /usr/exim/configure.host.in.some.domain). If this file
+# does not exist, then the bare configuration file name is tried.
+
+# CONFIGURE_FILE_USE_NODE=yes
+
+
+#------------------------------------------------------------------------------
+# In some esoteric configurations two different versions of Exim are run,
+# with different setuid values, and different configuration files are required
+# to handle the different cases. If CONFIGURE_FILE_USE_EUID is defined, then
+# Exim will first look for a configuration file whose name is that defined
+# by CONFIGURE_FILE, with the effective uid tacked on the end, separated by
+# a period (for eximple, /usr/exim/configure.0). If this file does not exist,
+# then the bare configuration file name is tried. In the case when both
+# CONFIGURE_FILE_USE_EUID and CONFIGURE_FILE_USE_NODE are set, four files
+# are tried: <name>.<euid>.<node>, <name>.<node>, <name>.<euid>, and <name>.
+
+# CONFIGURE_FILE_USE_EUID=yes
+
+
+#------------------------------------------------------------------------------
+# The size of the delivery buffers: These specify the sizes (in bytes) of
+# the buffers that are used when copying a message from the spool to a
+# destination. There is rarely any need to change these values.
+
+# DELIVER_IN_BUFFER_SIZE=8192
+# DELIVER_OUT_BUFFER_SIZE=8192
+
+
+#------------------------------------------------------------------------------
+# The mode of the database directory: Exim creates a directory called "db"
+# in its spool directory, to hold its databases of hints. This variable
+# determines the mode of the created directory. The default value in the
+# source is 0750.
+
+# EXIMDB_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# Database file mode: The mode of files created in the "db" directory defaults
+# to 0640 in the source, and can be changed here.
+
+# EXIMDB_MODE=0640
+
+
+#------------------------------------------------------------------------------
+# Database lock file mode: The mode of zero-length files created in the "db"
+# directory to use for locking purposes defaults to 0640 in the source, and
+# can be changed here.
+
+# EXIMDB_LOCKFILE_MODE=0640
+
+
+#------------------------------------------------------------------------------
+# This parameter sets the maximum length of the header portion of a message
+# that Exim is prepared to process. The default setting is one megabyte. The
+# limit exists in order to catch rogue mailers that might connect to your SMTP
+# port, start off a header line, and then just pump junk at it for ever. The
+# message_size_limit option would also catch this, but it may not be set.
+# The value set here is the default; it can be changed at runtime.
+
+# HEADER_MAXSIZE="(1024*1024)"
+
+
+#------------------------------------------------------------------------------
+# The mode of the input directory: The input directory is where messages are
+# kept while awaiting delivery. Exim creates it if necessary, using a mode
+# which can be defined here (default 0750).
+
+# INPUT_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# The mode of Exim's log directory, when it is created by Exim inside the spool
+# directory, defaults to 0750 but can be changed here.
+
+# LOG_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# The log files themselves are created as required, with a mode that defaults
+# to 0640, but which can be changed here.
+
+# LOG_MODE=0640
+
+
+#------------------------------------------------------------------------------
+# The TESTDB lookup is for performing tests on the handling of lookup results,
+# and is not useful for general running. It should be included only when
+# debugging the code of Exim.
+
+# LOOKUP_TESTDB=yes
+
+
+#------------------------------------------------------------------------------
+# /bin/sh is used by default as the shell in which to run commands that are
+# defined in the makefiles. This can be changed if necessary, by uncommenting
+# this line and specifying another shell, but note that a Bourne-compatible
+# shell is expected.
+
+# MAKE_SHELL=/bin/sh
+
+
+#------------------------------------------------------------------------------
+# The maximum number of named lists of each type (address, domain, host, and
+# local part) can be increased by changing this value. It should be set to
+# a multiple of 16.
+
+MAX_NAMED_LIST=16
+
+
+#------------------------------------------------------------------------------
+# Network interfaces: Unless you set the local_interfaces option in the runtime
+# configuration file to restrict Exim to certain interfaces only, it will run
+# code to find all the interfaces there are on your host. Unfortunately,
+# the call to the OS that does this requires a buffer large enough to hold
+# data for all the interfaces - it was designed in the days when a host rarely
+# had more than three or four interfaces. Nowadays hosts can have very many
+# virtual interfaces running on the same hardware. If you have more than 250
+# virtual interfaces, you will need to uncomment this setting and increase the
+# value.
+
+# MAXINTERFACES=250
+
+
+#------------------------------------------------------------------------------
+# Per-message logs: While a message is in the process of being delivered,
+# comments on its progress are written to a message log, for the benefit of
+# human administrators. These logs are held in a directory called "msglog"
+# in the spool directory. Its mode defaults to 0750, but can be changed here.
+# The message log directory is also used for storing files that are used by
+# transports for returning data to a message's sender (see the "return_output"
+# option for transports).
+
+# MSGLOG_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# There are three options which are used when compiling the Perl interface and
+# when linking with Perl. The default values for these are placed automatically
+# at the head of the Makefile by the script which builds it. However, if you
+# want to override them, you can do so here.
+
+# PERL_CC=
+# PERL_CCOPTS=
+# PERL_LIBS=
+
+
+#------------------------------------------------------------------------------
+# Identifying the daemon: When an Exim daemon starts up, it writes its pid
+# (process id) to a file so that it can easily be identified. The path of the
+# file can be specified here. Some installations may want something like this:
+
+PID_FILE_PATH=/var/run/exim.pid
+
+# If PID_FILE_PATH is not defined, Exim writes a file in its spool directory
+# using the name "exim-daemon.pid".
+
+# If you start up a daemon without the -bd option (for example, with just
+# the -q15m option), a pid file is not written. Also, if you override the
+# configuration file with the -oX option, no pid file is written. In other
+# words, the pid file is written only for a "standard" daemon.
+
+
+#------------------------------------------------------------------------------
+# If Exim creates the spool directory, it is given this mode, defaulting in the
+# source to 0750.
+
+# SPOOL_DIRECTORY_MODE=0750
+
+
+#------------------------------------------------------------------------------
+# The mode of files on the input spool which hold the contents of messages can
+# be changed here. The default is 0640 so that information from the spool is
+# available to anyone who is a member of the Exim group.
+
+# SPOOL_MODE=0640
+
+
+#------------------------------------------------------------------------------
+# Moving frozen messages: If the following is uncommented, Exim is compiled
+# with support for automatically moving frozen messages out of the main spool
+# directory, a facility that is found useful by some large installations. A
+# run time option is required to cause the moving actually to occur. Such
+# messages become "invisible" to the normal management tools.
+
+# SUPPORT_MOVE_FROZEN_MESSAGES=yes
+
+
+#------------------------------------------------------------------------------
+# Disabling the use of fsync(): DO NOT UNCOMMENT THE FOLLOWING LINE unless you
+# really, really, really know what you are doing. And even then, think again.
+# You should never uncomment this when compiling a binary for distribution.
+# Use it only when compiling Exim for your own use.
+#
+# Uncommenting this line enables the use of a runtime option called
+# disable_fsync, which can be used to stop Exim using fsync() to ensure that
+# files are written to disc before proceeding. When this is disabled, crashes
+# and hardware problems such as power outages can cause data to be lost. This
+# feature should only be used in very exceptional circumstances. YOU HAVE BEEN
+# WARNED.
+
+# ENABLE_DISABLE_FSYNC=yes
+
+HAVE_IPV6=YES
+LOOKUP_LIBS=-lldap -llber
+EXTRALIBS_EXIM=-lpam
+# End of EDITME for Exim 4.
diff --git a/community-testing/exim/exim.conf.d b/community-testing/exim/exim.conf.d
new file mode 100644
index 000000000..b9bec4335
--- /dev/null
+++ b/community-testing/exim/exim.conf.d
@@ -0,0 +1 @@
+EXIM_ARGS="-bd -q15m"
diff --git a/community-testing/exim/exim.install b/community-testing/exim/exim.install
new file mode 100644
index 000000000..8ed329559
--- /dev/null
+++ b/community-testing/exim/exim.install
@@ -0,0 +1,25 @@
+# arg 1: the new package version
+post_install() {
+ getent group exim >/dev/null 2>&1 || groupadd -g 79 exim
+ if getent passwd exim > /dev/null 2>&1; then
+ usr/sbin/usermod -d /var/spool/exim -c 'Exim MTA' -s /sbin/nologin exim > /dev/null 2>&1
+ else
+ usr/sbin/useradd -c 'Exim MTA' -u 79 -g exim -d /var/spool/exim -s /sbin/nologin exim
+ fi
+ passwd -l exim > /dev/null
+ chown root.exim /var/spool/exim /var/log/exim
+ chown exim.exim /var/spool/exim/db
+ chmod u+s /usr/sbin/exim
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+# arg 1: the old package version
+pre_remove() {
+ getent passwd exim >/dev/null 2>&1 && userdel exim
+}
+
diff --git a/community-testing/exim/exim.logrotate b/community-testing/exim/exim.logrotate
new file mode 100644
index 000000000..070ba4747
--- /dev/null
+++ b/community-testing/exim/exim.logrotate
@@ -0,0 +1,6 @@
+/var/log/exim/*log {
+ su exim exim
+ missingok
+ notifempty
+ delaycompress
+}
diff --git a/community-testing/exim/exim.service b/community-testing/exim/exim.service
new file mode 100644
index 000000000..de52fd14f
--- /dev/null
+++ b/community-testing/exim/exim.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Exim Mail Daemon
+
+[Service]
+PIDFile=/var/run/exim.pid
+ExecStart=/usr/sbin/exim -bdf -q30m
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/exim/exim.socket b/community-testing/exim/exim.socket
new file mode 100644
index 000000000..36d28684f
--- /dev/null
+++ b/community-testing/exim/exim.socket
@@ -0,0 +1,10 @@
+[Unit]
+Description=Exim Mail Transfer Agent
+Conflicts=exim.service
+
+[Socket]
+ListenStream=25
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/community-testing/exim/exim@.service b/community-testing/exim/exim@.service
new file mode 100644
index 000000000..120485b8b
--- /dev/null
+++ b/community-testing/exim/exim@.service
@@ -0,0 +1,7 @@
+[Unit]
+Description=Exim Mail Daemon per-connection server
+
+[Service]
+ExecStart=-/usr/sbin/exim -bs
+StandardInput=socket
+StandardError=syslog
diff --git a/community-testing/fcron/PKGBUILD b/community-testing/fcron/PKGBUILD
new file mode 100644
index 000000000..a8a579cb5
--- /dev/null
+++ b/community-testing/fcron/PKGBUILD
@@ -0,0 +1,80 @@
+# $Id: PKGBUILD 72553 2012-06-16 17:09:37Z dreisner $
+# Contributor: Giorgio Lando <lando at imap dot cc>
+# Contributor: Sergej Pupykin
+# Contributor: Thomas Bächler
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+
+pkgname=fcron
+pkgver=3.0.6
+pkgrel=7
+pkgdesc="feature-rich cron implementation"
+arch=(i686 x86_64)
+url="http://fcron.free.fr"
+license=('GPL')
+depends=('pam')
+makedepends=('smtp-server')
+optdepends=('smtp-server: to receive mails from cron jobs')
+provides=('cron')
+conflicts=('dcron')
+backup=(etc/fcron/fcron.conf etc/fcron/fcron.allow etc/fcron/fcron.deny \
+ var/spool/fcron/systab var/spool/fcron/systab.orig)
+options=('emptydirs' '!makeflags')
+source=(http://fcron.free.fr/archives/$pkgname-$pkgver.src.tar.gz fcron.rc \
+ systab systab.orig run-cron fcron.service)
+md5sums=('69ebcb41921e2a282f41ebecb3a27053'
+ 'e0c3f0bdc3c98fbbe46eff19001c18f2'
+ '938722c6654ef7b07f4aa10001905ba1'
+ 'bfb7daa22ebe22b9917e455c1ca4a382'
+ '5ff0cdcb9ec99778938ac6ef26800327'
+ 'ab589cc6813ec32b5e96bf05c2b51c4c')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/fcron \
+ --with-answer-all=no \
+ --with-boot-install=no \
+ --with-username=root \
+ --with-groupname=root \
+ --datarootdir=/usr/share \
+ --datadir=/usr/share \
+ --with-docdir=/usr/share/doc \
+ --localstatedir=/var \
+ --with-editor=/usr/bin/vi \
+ --with-sendmail=/usr/sbin/sendmail
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir/" install
+ install -D -m755 "$srcdir/fcron.rc" "$pkgdir/etc/rc.d/fcron"
+ install -D -m644 "$srcdir/$pkgname-$pkgver/files/fcron.pam" "$pkgdir/etc/pam.d/fcron"
+
+ install -D -m644 "$srcdir/$pkgname-$pkgver/files/fcrontab.pam" "$pkgdir/etc/pam.d/fcrontab"
+ # Install default fcrontab so that fcron can completely replace dcron
+
+ install -D -m600 "$srcdir/systab" "$pkgdir/var/spool/fcron/systab"
+ # In order to preserve the systab crontab in any case it is better to have
+ # it in non-binary form too
+ install -D -m600 "$srcdir/systab.orig" "$pkgdir/var/spool/fcron/systab.orig"
+
+ # Add cron.* directories
+ install -d -m755 "$pkgdir/etc/cron.daily"
+ install -d -m755 "$pkgdir/etc/cron.hourly"
+ install -d -m755 "$pkgdir/etc/cron.monthly"
+ install -d -m755 "$pkgdir/etc/cron.weekly"
+
+ # Install run-cron script to make fcron run without dcron
+ install -D -m755 "$srcdir/run-cron" "$pkgdir/usr/sbin/run-cron"
+
+ # Install systemd service
+ install -D -m644 "$srcdir/fcron.service" \
+ "$pkgdir/usr/lib/systemd/system/fcron.service"
+
+ # avoid conflict with filesystem>=2012.06
+ rmdir "$pkgdir/var/run"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/fcron/fcron.rc b/community-testing/fcron/fcron.rc
new file mode 100644
index 000000000..880439a1d
--- /dev/null
+++ b/community-testing/fcron/fcron.rc
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/fcron`
+case "$1" in
+ start)
+ stat_busy "Starting Fcron Daemon"
+ [ -z "$PID" ] && /usr/sbin/fcron -b
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon fcron
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Fcron Daemon"
+ [ -n "$PID" ] && kill $PID >/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon fcron
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-testing/fcron/fcron.service b/community-testing/fcron/fcron.service
new file mode 100644
index 000000000..a47b4f19b
--- /dev/null
+++ b/community-testing/fcron/fcron.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Cron Daemon
+
+[Service]
+Type=forking
+PIDFile=/run/fcron.pid
+ExecStart=/usr/sbin/fcron
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/fcron/run-cron b/community-testing/fcron/run-cron
new file mode 100644
index 000000000..51007a15a
--- /dev/null
+++ b/community-testing/fcron/run-cron
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+
+if [ -z $1 ]; then
+ echo "Usage: $0 crondir"
+ exit 1
+fi
+
+for cron in $1/* ; do
+ if [ -x $cron ]; then
+ $cron
+ fi
+done
+unset cron
diff --git a/community-testing/fcron/systab b/community-testing/fcron/systab
new file mode 100644
index 000000000..11c7e2fd0
--- /dev/null
+++ b/community-testing/fcron/systab
Binary files differ
diff --git a/community-testing/fcron/systab.orig b/community-testing/fcron/systab.orig
new file mode 100644
index 000000000..5b0045626
--- /dev/null
+++ b/community-testing/fcron/systab.orig
@@ -0,0 +1,4 @@
+&bootrun 01 * * * * /usr/sbin/run-cron /etc/cron.hourly
+&bootrun 02 00 * * * /usr/sbin/run-cron /etc/cron.daily
+&bootrun 22 00 * * 0 /usr/sbin/run-cron /etc/cron.weekly
+&bootrun 42 00 1 * * /usr/sbin/run-cron /etc/cron.monthly
diff --git a/community-testing/miredo/PKGBUILD b/community-testing/miredo/PKGBUILD
new file mode 100644
index 000000000..4825572df
--- /dev/null
+++ b/community-testing/miredo/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 72555 2012-06-16 17:09:54Z dreisner $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=miredo
+pkgver=1.2.5
+pkgrel=2
+pkgdesc="Teredo client and server."
+arch=('i686' 'x86_64')
+url="http://www.remlab.net/miredo/"
+license=('GPL')
+depends=('judy' 'iproute2' 'libcap')
+backup=('etc/miredo/miredo.conf'
+ 'etc/miredo/client-hook')
+options=('!libtool')
+source=(http://www.remlab.net/files/${pkgname}/${pkgname}-${pkgver}.tar.xz
+ isatapd.rc.d
+ miredo.install
+ miredo.rc.d
+ miredo-server.rc.d
+ miredo.service)
+md5sums=('5114debbf9fcab5d292176e4548f8cd1'
+ '51ab6d091192605ee9206944869cb2ab'
+ 'd1b655d7a851cdb46c91c3418ed1962f'
+ 'c5a9be5c3175fecec387f1710bfd2788'
+ '319aba1ae06349b76cb25fda0dba60a9'
+ '3216d47d5aa979706b17b72d8b6e19b0')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib \
+ --with-Judy
+ make
+ make DESTDIR="$pkgdir" install
+
+ install -D -m755 $srcdir/miredo.rc.d $pkgdir/etc/rc.d/miredo
+ install -D -m755 $srcdir/miredo-server.rc.d $pkgdir/etc/rc.d/miredo-server
+ install -D -m755 $srcdir/isatapd.rc.d $pkgdir/etc/rc.d/isatapd
+ sed -i 's#/sbin/ip#/usr/sbin/ip#' $pkgdir/etc/miredo/client-hook
+
+ # avoid conflict with filesystem>=2012.06
+ rmdir "$pkgdir/var/run" "$pkgdir/var"
+
+ install -Dm644 "$srcdir/miredo.service" "$pkgdir/usr/lib/systemd/system/miredo.service"
+}
diff --git a/community-testing/miredo/isatapd.rc.d b/community-testing/miredo/isatapd.rc.d
new file mode 100644
index 000000000..fa7bbd708
--- /dev/null
+++ b/community-testing/miredo/isatapd.rc.d
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/isatapd`
+case "$1" in
+ start)
+ stat_busy "Starting userspace ISATAP client"
+ if [ -z "$PID" ]; then
+ /usr/sbin/isatapd
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon isatapd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping userspace ISATAP client"
+ [ ! -z "$PID" ] && kill $PID &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon isatapd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/community-testing/miredo/miredo-server.rc.d b/community-testing/miredo/miredo-server.rc.d
new file mode 100644
index 000000000..d05513b23
--- /dev/null
+++ b/community-testing/miredo/miredo-server.rc.d
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/miredo-server`
+case "$1" in
+ start)
+ stat_busy "Starting teredo protocol server"
+ if [ -z "$PID" ]; then
+ /usr/sbin/miredo-server
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon miredo-server
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping teredo protocol server"
+ [ ! -z "$PID" ] && kill $PID &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon miredo-server
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/community-testing/miredo/miredo.install b/community-testing/miredo/miredo.install
new file mode 100644
index 000000000..338459fb3
--- /dev/null
+++ b/community-testing/miredo/miredo.install
@@ -0,0 +1,8 @@
+post_remove() {
+
+ # clean up just in case
+ rm -f /var/run/miredo.pid
+ rm -f /var/run/miredo-server.pid
+ rm -f /var/run/isatapd.pid
+}
+
diff --git a/community-testing/miredo/miredo.rc.d b/community-testing/miredo/miredo.rc.d
new file mode 100644
index 000000000..500374b12
--- /dev/null
+++ b/community-testing/miredo/miredo.rc.d
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/miredo`
+case "$1" in
+ start)
+ stat_busy "Starting teredo protocol client"
+ if [ -z "$PID" ]; then
+ /usr/sbin/miredo
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon miredo
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping teredo protocol client"
+ [ ! -z "$PID" ] && kill $PID &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon miredo
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/community-testing/miredo/miredo.service b/community-testing/miredo/miredo.service
new file mode 100644
index 000000000..299a887de
--- /dev/null
+++ b/community-testing/miredo/miredo.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Teredo IPv6 Tunneling Daemon
+After=network.target
+
+[Service]
+ExecStartPre=/usr/sbin/miredo-checkconf /etc/miredo/miredo.conf
+ExecStart=/usr/sbin/miredo -f
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target \ No newline at end of file
diff --git a/community-testing/oidentd/PKGBUILD b/community-testing/oidentd/PKGBUILD
new file mode 100644
index 000000000..0de9d33c6
--- /dev/null
+++ b/community-testing/oidentd/PKGBUILD
@@ -0,0 +1,38 @@
+# $Id: PKGBUILD 72556 2012-06-16 17:10:05Z dreisner $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: simo <simo@archlinux.org>
+# Contributor: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=oidentd
+pkgver=2.0.8
+pkgrel=6
+pkgdesc='An RFC1413 compliant ident daemon'
+arch=('i686' 'x86_64')
+url="http://dev.ojnk.net/"
+license=('GPL')
+depends=('glibc' 'bash')
+source=(http://downloads.sourceforge.net/sourceforge/ojnk/$pkgname-$pkgver.tar.gz
+ rc.d conf.d service socket)
+md5sums=('c3d9a56255819ef8904b867284386911'
+ '93cbf742cdd0b053f67482273d715f25'
+ '603307525771724b0f55a2c34fbc3f3e'
+ 'b215bee5764cdecb0939f44d5d2dccbe'
+ '651c2ef45d1d345d95056ef0787e29e6')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make prefix=$pkgdir/usr mandir=$pkgdir/usr/share/man install
+
+ install -D -m644 $srcdir/conf.d $pkgdir/etc/conf.d/oidentd
+ install -D -m755 $srcdir/rc.d $pkgdir/etc/rc.d/oidentd
+ install -D -m644 $srcdir/service $pkgdir/usr/lib/systemd/system/oidentd@.service
+ install -D -m644 $srcdir/socket $pkgdir/usr/lib/systemd/system/oidentd.socket
+}
+
diff --git a/community-testing/oidentd/conf.d b/community-testing/oidentd/conf.d
new file mode 100644
index 000000000..5eefa80e2
--- /dev/null
+++ b/community-testing/oidentd/conf.d
@@ -0,0 +1,5 @@
+USER=nobody
+GROUP=nobody
+OPTS=""
+# You will need this, when you want oidentd listen both on IPv4 and IPv6
+# OPTS="-a ::"
diff --git a/community-testing/oidentd/rc.d b/community-testing/oidentd/rc.d
new file mode 100644
index 000000000..8b3c04c45
--- /dev/null
+++ b/community-testing/oidentd/rc.d
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/oidentd
+
+# no daemon check needed for oidentd, and no pid nesecary.
+case "$1" in
+ start)
+ stat_busy "Starting oidentd Daemon..."
+ # oidentd is smart enough to only run one copy of
+ # itsself, no check nesecary, and no pidfile
+ /usr/sbin/oidentd -u ${USER} -g ${GROUP} ${OPTS}
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon oidentd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping oidentd Daemon..."
+ # kill the process by it's full name, or the init script
+ # will terminate as well, wreaking havok.
+ killall /usr/sbin/oidentd
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon oidentd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-testing/oidentd/service b/community-testing/oidentd/service
new file mode 100644
index 000000000..3688298c1
--- /dev/null
+++ b/community-testing/oidentd/service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Ident (RFC 1413) per-connection server
+
+[Service]
+ExecStart=/usr/sbin/oidentd -I -u nobody -g nobody
+ExecReload=/bin/kill -HUP $MAINPID
+StandardInput=socket
+StandardError=syslog
diff --git a/community-testing/oidentd/socket b/community-testing/oidentd/socket
new file mode 100644
index 000000000..63df7036e
--- /dev/null
+++ b/community-testing/oidentd/socket
@@ -0,0 +1,10 @@
+[Unit]
+Description=Ident (RFC 1413) socket
+Conflicts=oidentd.service
+
+[Socket]
+ListenStream=113
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/community-testing/oss/PKGBUILD b/community-testing/oss/PKGBUILD
new file mode 100644
index 000000000..82dec44a5
--- /dev/null
+++ b/community-testing/oss/PKGBUILD
@@ -0,0 +1,98 @@
+# $Id: PKGBUILD 72557 2012-06-16 17:10:20Z dreisner $
+# Maintainer: Florian Pritz <bluewind@xinu.at>
+# Contributor: Paulo Matias <matiasΘarchlinux-br·org>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
+
+pkgbase=oss
+pkgname=(oss libflashsupport-oss)
+pkgver=4.2_2006
+pkgrel=2
+arch=('i686' 'x86_64')
+url="http://developer.opensound.com/"
+license=('GPL2')
+makedepends=('gtk2')
+source=("http://www.4front-tech.com/developer/sources/stable/gpl/oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl.tar.bz2"
+ "rm-init-scripts.patch"
+ "rc-script"
+ "soundon.patch"
+ "remove-hal.patch"
+ "oss.service"
+ )
+md5sums=('ca25c06bb7d0c6495e1b6f55d1bad96c'
+ 'b9a380a0ac8896390d71ac13676f27e1'
+ 'cbcbce5c03b127df5eafa8faa091492c'
+ '65f07fe241bfbf912f76d8b6d8f276b5'
+ 'cd7f1dc6166bba8c94d96f3a28e948a5'
+ '8db0255b380dc6672993e627d1cd8ca6')
+_dir=oss-v${pkgver/_*}-build${pkgver/*_}-src-gpl
+
+build() {
+ cd "${srcdir}/${_dir}"
+
+ # Avoid these flags conflicting with OSS build system.
+ unset CFLAGS
+ unset LDFLAGS
+ unset OSFLAGS
+ unset LIBRARIES
+ export NO_WARNING_CHECKS=yes
+
+ # Compile libflashsupport.so only in packaging time, so we avoid
+ # conflicts with other packages and ease package management.
+ msg "Building libflashsupport.so."
+ cd oss/lib
+ gcc -shared -fPIC -O2 -Wall -Werror flashsupport.c -o libflashsupport.so
+
+ msg "Preparing the build environment."
+ cd "${srcdir}"
+
+ # Create build directory and configure
+ rm -rf build
+ mkdir build && cd build
+ "${srcdir}/${_dir}/configure" --enable-libsalsa=NO --regparm
+
+ msg "Building OSS."
+ make build
+
+ msg "Patching init scripts."
+ cd "${srcdir}/build/prototype"
+ rm usr/lib/oss/etc/S89oss
+ patch -p0 -i "${srcdir}/rm-init-scripts.patch"
+ patch -p0 -i "${srcdir}/soundon.patch"
+ # remove hal dependency
+ patch -p0 -i "${srcdir}/remove-hal.patch"
+ rm -rf usr/lib/oss/scripts/oss_usb-create-devices usr/lib/oss/scripts/90-oss_usb-create-device.fdi
+
+ sed -i 's#/lib/modules/$KERNEL_VERSION/kernel/#/lib/modules/$KERNEL_VERSION/extramodules/kernel/#g' usr/sbin/soundon
+ sed -i 's#/lib/modules/$UNAME/kernel/#/lib/modules/$UNAME/extramodules/kernel/#g' usr/lib/oss/build/install.sh
+ sed -i 's#mkdir /lib/modules#mkdir -p /lib/modules#' usr/lib/oss/build/install.sh
+}
+
+package_oss() {
+ pkgdesc="Open Sound System UNIX audio architecture"
+ depends=('gcc' 'make' 'linux-headers' 'libtool' 'sed')
+ optdepends=('gtk2: for graphical mixer (ossxmix)'
+ 'libflashsupport-oss: Adobe flash plugin support')
+ conflicts=('oss-linux' 'oss-linux-free' 'oss-testing')
+ backup=('usr/lib/oss/soundon.user')
+ install=oss.install
+
+ cd "${srcdir}/build/prototype"
+ cp -a * "${pkgdir}"
+
+ chmod -R a+r "${pkgdir}" # All files can have read permission (FS#13815)
+ find "${pkgdir}" -type d -exec chmod a+x '{}' \; # Make namcap happy
+ install -Dm755 "${srcdir}/rc-script" "${pkgdir}/etc/rc.d/oss"
+ install -Dm644 "$srcdir/oss.service" "$pkgdir/usr/lib/systemd/system"
+}
+
+package_libflashsupport-oss() {
+ pkgdesc="Adobe flash plugin support lib (OSSv4)"
+ conflicts=('libflashsupport' 'libflashsupport-pulse' 'libflashsupport-oss')
+ depends=('oss')
+
+ cd "${srcdir}/${_dir}"
+
+ install -dm755 "$pkgdir/usr/lib"
+ ln -s oss/lib/libflashsupport.so "$pkgdir/usr/lib/libflashsupport.so"
+}
+
diff --git a/community-testing/oss/oss.install b/community-testing/oss/oss.install
new file mode 100644
index 000000000..672d63644
--- /dev/null
+++ b/community-testing/oss/oss.install
@@ -0,0 +1,30 @@
+post_install() {
+ echo "Running OSS install script..."
+ sh /usr/lib/oss/build/install.sh &>/dev/null
+ echo
+ echo " Note that OSS can't currently work together with kernel"
+ echo " ALSA modules, so they were moved out by the OSS install"
+ echo " scripts. If you want the ALSA kernel modules back, you can"
+ echo " just remove this package using pacman."
+}
+
+post_upgrade() {
+ echo "Running OSS update script..."
+ sh /usr/lib/oss/build/install.sh &>/dev/null
+
+ if [[ $(vercmp $2 4.2_2006) == "-1" ]]; then
+ echo "libflashsupport.so has been split into a seperate package."
+ echo "If you want flash to use oss, please install libflashsupport-oss"
+ fi
+}
+
+pre_remove() {
+ # Restore any replaced ALSA drivers.
+ sh /usr/lib/oss/scripts/restore_drv.sh
+}
+
+post_remove() {
+ echo " Open Sound System was now removed, and the ALSA kernel"
+ echo " modules were restored."
+}
+
diff --git a/community-testing/oss/oss.service b/community-testing/oss/oss.service
new file mode 100644
index 000000000..107c9bf3f
--- /dev/null
+++ b/community-testing/oss/oss.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Open Sound System v4
+Before=sound.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/sbin/soundon
+ExecStop=/usr/sbin/soundoff
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/oss/rc-script b/community-testing/oss/rc-script
new file mode 100644
index 000000000..5c930107c
--- /dev/null
+++ b/community-testing/oss/rc-script
@@ -0,0 +1,30 @@
+#!/bin/bash
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy 'Starting Open Sound System'
+ if /usr/sbin/soundon; then
+ add_daemon oss
+ stat_done
+ else
+ stat_fail
+ fi
+ ;;
+ stop)
+ stat_busy 'Stopping Open Sound System'
+ if /usr/sbin/soundoff; then
+ rm_daemon oss
+ stat_done
+ else
+ stat_fail
+ fi
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+esac
diff --git a/community-testing/oss/remove-hal.patch b/community-testing/oss/remove-hal.patch
new file mode 100644
index 000000000..27e2ef2de
--- /dev/null
+++ b/community-testing/oss/remove-hal.patch
@@ -0,0 +1,20 @@
+Date: Tue Aug 2 16:37:31 CEST 2011
+Author: Florian Pritz <bluewind@xinu.at>
+This removes all hal dependencies
+
+References:
+http://www.archlinux.org/todo/92/
+
+--- usr/lib/oss/build/install_2011-08-02_162647.sh 2011-08-02 16:26:47.000000000 +0200
++++ usr/lib/oss/build/install.sh 2011-08-02 16:27:13.000000000 +0200
+@@ -336,10 +336,4 @@
+ echo "autosave_mixer yes" > $OSSLIBDIR/etc/userdefs
+ fi
+
+-# Hal 0.5.0+ hotplug
+-mkdir -p /usr/lib/hal/scripts
+-ln -sf $OSSLIBDIR/scripts/oss_usb-create-devices /usr/lib/hal/scripts/
+-mkdir -p /usr/share/hal/fdi/policy/20thirdparty/
+-ln -sf $OSSLIBDIR/scripts/90-oss_usb-create-device.fdi /usr/share/hal/fdi/policy/20thirdparty/
+-
+ exit 0
diff --git a/community-testing/oss/rm-init-scripts.patch b/community-testing/oss/rm-init-scripts.patch
new file mode 100644
index 000000000..981ff605f
--- /dev/null
+++ b/community-testing/oss/rm-init-scripts.patch
@@ -0,0 +1,52 @@
+--- usr/lib/oss/build/install.sh.orig 2008-09-25 11:41:47.180167692 -0300
++++ usr/lib/oss/build/install.sh 2008-09-25 11:41:47.180167692 -0300
+@@ -290,38 +290,6 @@
+ echo
+ fi
+
+-if ! test -d /etc/init.d
+-then
+- mkdir /etc/init.d
+-fi
+-
+-rm -f /etc/init.d/oss /etc/rc.d/rc3.d/S89oss /etc/rc3.d/S89oss
+-cp -f $OSSLIBDIR/etc/S89oss /etc/init.d/oss
+-
+-chmod 744 /etc/init.d/oss
+-
+-if test -x /sbin/chkconfig
+-then
+- /sbin/chkconfig oss on > /dev/null 2>&1
+-else
+- if test -x /usr/sbin/update-rc.d
+- then
+- /usr/sbin/update-rc.d oss defaults > /dev/null 2>&1
+- else
+- if test -d etc/rc.d/rc3.d
+- then
+- rm -f /etc/rc.d/rc3.d/S89oss
+- ln -s /etc/init.d/oss /etc/rc.d/rc3.d/S89oss
+- else
+- if test -d /etc/rc3.d
+- then
+- rm -f /etc/rc3.d/S89oss
+- ln -s /etc/init.d/oss /etc/rc3.d/S89oss
+- fi
+- fi
+- fi
+-fi
+-
+ # Install ALSA interface module (Cuckoo)
+ #(cd $OSSLIBDIR/cuckoo && make clean) > /dev/null 2>&1
+ #if (cd $OSSLIBDIR/cuckoo && make install) > /var/log/cuckoo.log 2>&1
+--- usr/lib/oss/scripts/restore_drv.sh.orig 2008-09-25 11:41:47.210168487 -0300
++++ usr/lib/oss/scripts/restore_drv.sh 2008-09-25 11:41:47.210168487 -0300
+@@ -18,8 +18,6 @@
+ fi
+ fi
+
+-rm -f /etc/init.d/oss
+-
+ if ! test -d /lib/modules/`uname -r`/kernel/sound
+ then
+ if test -f /lib/modules/`uname -r`/sound-preoss.tar.bz2
diff --git a/community-testing/oss/soundon.patch b/community-testing/oss/soundon.patch
new file mode 100644
index 000000000..4702b8680
--- /dev/null
+++ b/community-testing/oss/soundon.patch
@@ -0,0 +1,28 @@
+--- usr/sbin/soundon.old 2009-09-04 06:35:26.000000000 +0100
++++ usr/sbin/soundon 2009-11-15 13:59:53.000000000 +0000
+@@ -255,7 +255,10 @@
+ then
+ if test "`uname -m` " = "x86_64 "
+ then
+- ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib64/libasound.so.2
++ # Fix for compatibility with Arch's directory structure
++ # Not that we use it, there is no $OSSLIBDIR/.libsalsa_installed
++ ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib/libasound.so.2
++ #ln -sf $OSSLIBDIR/lib/libsalsa.so.2.0.0 /usr/lib64/libasound.so.2
+ #ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64
+ else
+ if test -s /lib/libasound.so.2
+@@ -278,8 +281,11 @@
+ then
+ if test "`uname -m` " = "x86_64 "
+ then
+- ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64
+- ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib64
++ # Fix for compatibility with Arch's directory structure
++ ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib
++ ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib
++ #ln -sf $OSSLIBDIR/lib/libOSSlib.so /usr/lib64
++ #ln -sf $OSSLIBDIR/lib/libossmix.so /usr/lib64
+ else
+ if test -s /lib/libasound.so.2
+ then
diff --git a/community-testing/pdnsd/PKGBUILD b/community-testing/pdnsd/PKGBUILD
new file mode 100644
index 000000000..77ae37700
--- /dev/null
+++ b/community-testing/pdnsd/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 72558 2012-06-16 17:10:27Z dreisner $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Henrik Nymann Jensen <h@henriknj.dk>
+
+pkgname=pdnsd
+pkgver=1.2.9
+pkgrel=2
+pkgdesc="Is a proxy DNS server with permanent caching"
+arch=(i686 x86_64)
+url="http://members.home.nl/p.a.rombouts/pdnsd/"
+license=('GPL')
+depends=('glibc')
+#backup=('etc/pdnsd.conf')
+source=(http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-$pkgver-par.tar.gz
+ pdnsd
+ pdnsd.service)
+md5sums=('037f79d191b98974ffc2c9649727bf66'
+ '3670bd47c9303fbb655d9216715512de'
+ 'fad5e518d126b29fc947941d57a0a494')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+ make DESTDIR=$pkgdir install
+ install -Dm0755 $srcdir/pdnsd $pkgdir/etc/rc.d/pdnsd
+ install -Dm0644 $srcdir/pdnsd.service $pkgdir/usr/lib/systemd/system/pdnsd.service
+}
diff --git a/community-testing/pdnsd/pdnsd b/community-testing/pdnsd/pdnsd
new file mode 100644
index 000000000..34a541d18
--- /dev/null
+++ b/community-testing/pdnsd/pdnsd
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/pdnsd`
+case "$1" in
+ start)
+ stat_busy "Starting pdnsd Daemon"
+ if [ -z "$PID" ]; then
+ /usr/sbin/pdnsd -d
+ fi
+ if [ ! -z "$PID" -o $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon pdnsd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping pdnsd Daemon"
+ [ ! -z "$PID" ] && kill -TERM $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon pdnsd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
diff --git a/community-testing/pdnsd/pdnsd.service b/community-testing/pdnsd/pdnsd.service
new file mode 100644
index 000000000..5821dbcb2
--- /dev/null
+++ b/community-testing/pdnsd/pdnsd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=proxy name server
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/pdnsd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/polipo/PKGBUILD b/community-testing/polipo/PKGBUILD
new file mode 100644
index 000000000..c6ccd1300
--- /dev/null
+++ b/community-testing/polipo/PKGBUILD
@@ -0,0 +1,55 @@
+# $Id: PKGBUILD 72559 2012-06-16 17:10:40Z dreisner $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Contributor: Jelle van der Waa <jelle vdwaa nl>
+# Contributor: Thomas Holmquist <thomas@vorget.com>
+# Contributor: Jan Boehringer <ja(a)bm-boehringer.de>
+# Contributor: Alex Griffin <griffin.aj(a)gmail.com>
+
+pkgname=polipo
+pkgver=1.0.4.1
+pkgrel=3
+pkgdesc="A small and fast caching web proxy."
+arch=('i686' 'x86_64')
+url="http://www.pps.jussieu.fr/~jch/software/polipo/"
+license=('GPL')
+depends=('bash')
+makedepends=('texinfo')
+install=polipo.install
+source=("http://freehaven.net/~chrisd/polipo/polipo-$pkgver.tar.gz"
+ "polipo.cron" "polipo.rc.d" "polipo.conf.d" "polipo.service")
+md5sums=('bfc5c85289519658280e093a270d6703'
+ 'bac0e1a871964c931eb5f7a369b3243c'
+ '8f096b7d77a71e0772ce71a8c8b1b3e3'
+ '685aa0c6070dee11c701932d23afcc6a'
+ '109d0e8c15d669281ff14f8991ad0ed8')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make PREFIX="$pkgdir/usr" \
+ MANDIR="$pkgdir/usr/share/man" \
+ INFODIR="$pkgdir/usr/share/info" \
+ LOCAL_ROOT="$pkgdir/usr/share/polipo/www" \
+ DISK_CACHE_ROOT="$pkgdir/var/cache/polipo" \
+ install
+
+
+ # install config files
+ install -Dm 644 config.sample $pkgdir/etc/polipo/config.sample
+ install -Dm 644 forbidden.sample $pkgdir/etc/polipo/forbidden.sample
+
+ # install license
+ install -Dm644 COPYING $pkgdir/usr/share/licenses/polipo/LICENSE
+
+ # install daemon scripts / cron
+ install -Dm 755 $srcdir/polipo.rc.d $pkgdir/etc/rc.d/polipo
+ install -Dm 755 $srcdir/polipo.cron $pkgdir/usr/share/polipo/polipo.cron
+ install -Dm 644 $srcdir/polipo.service $pkgdir/usr/lib/systemd/system/polipo.service
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/polipo/polipo.conf.d b/community-testing/polipo/polipo.conf.d
new file mode 100644
index 000000000..dc879d32b
--- /dev/null
+++ b/community-testing/polipo/polipo.conf.d
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to polipo
+#
+POLIPO_ARGS="daemonise=true logFile=\"/var/log/polipo.log\""
diff --git a/community-testing/polipo/polipo.cron b/community-testing/polipo/polipo.cron
new file mode 100644
index 000000000..8270d0a05
--- /dev/null
+++ b/community-testing/polipo/polipo.cron
@@ -0,0 +1,2 @@
+#!/bin/bash
+/etc/rc.d/polipo purge >/dev/null 2>&1
diff --git a/community-testing/polipo/polipo.install b/community-testing/polipo/polipo.install
new file mode 100644
index 000000000..bacc46377
--- /dev/null
+++ b/community-testing/polipo/polipo.install
@@ -0,0 +1,25 @@
+infodir=/usr/share/info
+filelist=(polipo.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info $infodir/$file $infodir/dir 2> /dev/null
+ done
+ install -d /var/cache/polipo 2> /dev/null
+ touch /var/log/polipo.log 2> /dev/null
+ chown -R nobody:nobody /var/cache/polipo /var/log/polipo.log 2> /dev/null
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ install-info --delete $infodir/$file $infodir/dir 2> /dev/null
+ done
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/polipo/polipo.rc.d b/community-testing/polipo/polipo.rc.d
new file mode 100644
index 000000000..260fab050
--- /dev/null
+++ b/community-testing/polipo/polipo.rc.d
@@ -0,0 +1,71 @@
+#!/bin/bash
+
+daemon_name=polipo
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/$daemon_name.conf
+
+get_pid() {
+ pidof -o %PPID $daemon_name
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name daemon"
+
+ PID=$(get_pid)
+ if [[ -z $PID ]]; then
+ [[ -f /run/$daemon_name.pid ]] &&
+ rm -f /run/$daemon_name.pid
+ # RUN
+ sudo -u nobody /usr/bin/$daemon_name ${POLIPO_ARGS}
+ #
+ if [[ $? -gt 0 ]]; then
+ stat_fail
+ exit 1
+ else
+ echo $(get_pid) > /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)
+ # KILL
+ [[ -n $PID ]] && kill $PID &> /dev/null
+ #
+ if [[ $? -gt 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
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/polipo/polipo.service b/community-testing/polipo/polipo.service
new file mode 100644
index 000000000..a1bdd9aa2
--- /dev/null
+++ b/community-testing/polipo/polipo.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Polipo Proxy Server
+
+[Service]
+ExecStart=/usr/bin/polipo
+User=nobody
+ExecReload=/bin/kill -USR1 $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/prosody/ChangeLog b/community-testing/prosody/ChangeLog
new file mode 100644
index 000000000..45f3a05fd
--- /dev/null
+++ b/community-testing/prosody/ChangeLog
@@ -0,0 +1,398 @@
+2009-11-23 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.6.0-1 for changeset 6c5b7e66bee4
+ [d573d1d7a403] [tip]
+
+ * .hgtags:
+ Removed tag v0.6.0-1
+ [6c5b7e66bee4] [v0.6.0-1]
+
+ * PKGBUILD:
+ Use correct package name and version
+ [1e65e6a877d3]
+
+ * .hgtags:
+ Added tag v0.6.0-1 for changeset ad52fee15148
+ [8196689dd4c4]
+
+ * PKGBUILD, prosody.cfg.lua:
+ Included mod_compression in example configuration file
+ [ad52fee15148]
+
+ * ChangeLog:
+ Updated ChangeLog
+ [34b6046aca14]
+
+ * PKGBUILD:
+ Updated checksums
+ [3b4c28f28321]
+
+ * PKGBUILD, prosody.cfg.lua:
+ New upstream version
+ [9d201755b63d]
+
+2009-10-22 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.6.0rc1-1 for changeset c0a99ab935a8
+ [a0e2015435b6]
+
+ * ChangeLog, PKGBUILD:
+ New upstream version
+ [c0a99ab935a8] [v0.6.0rc1-1]
+
+ * PKGBUILD:
+ Removed conflicts
+ [0f0560190a81]
+
+ * PKGBUILD:
+ Removed makedepends for gcc, the base-devel group is assumed to
+ exist
+ [4160ed469fa4]
+
+ * PKGBUILD:
+ Fix typo in PKGBUILD
+ [85d988c7e4a5]
+
+2009-09-28 Dwayne Bent <dbb.0@liqd.org>
+
+ * ChangeLog, PKGBUILD:
+ New upstream version
+ [3e4ffcdc887a]
+
+2009-07-29 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.5.1-1 for changeset 1be51884e580
+ [74f32914279c]
+
+ * ChangeLog, PKGBUILD:
+ New upstream version
+ [1be51884e580] [v0.5.1-1]
+
+2009-07-20 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Corrected tag name
+ [d9662df69ab4]
+
+ * .hgtags:
+ Added tag v0.5.0 for changeset d228983b5873
+ [a350368643eb]
+
+ * PKGBUILD:
+ New upstream version
+ [d228983b5873] [v0.5.0-1]
+
+ * ChangeLog:
+ Updated ChangeLog
+ [111cf16bfc8b]
+
+2009-07-14 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.5.0rc2-1 for changeset 701e6c5ed639
+ [828bb0fc4e5e]
+
+ * PKGBUILD:
+ New upstream version
+ [701e6c5ed639] [v0.5.0rc2-1]
+
+ * ChangeLog:
+ Updated ChangeLog
+ [7616eaf8b835]
+
+ * prosody.cfg.lua:
+ Enabled PEP in default configuration
+ [c8a7c4d15e38]
+
+2009-07-11 Dwayne Bent <dbb.0@liqd.org>
+
+ * prosody.cfg.lua:
+ Cleaned up and added new modules to default configuration file
+ [07fdc8fd8ff9]
+
+ * PKGBUILD:
+ Added luasec back as hard dependency
+ [9506bff48c77]
+
+ * .hgtags:
+ Added tag v0.5.0rc1-2 for changeset a252809a03a3
+ [803ace20879a]
+
+ * ChangeLog, PKGBUILD:
+ New release version
+ [a252809a03a3] [v0.5.0rc1-2]
+
+ * PKGBUILD:
+ Added make before make install
+
+ This should fix Prosody not correctly reporting version.
+ [881eca5b8e0e]
+
+ * .hgtags:
+ Added tag v0.5.0rc1-1 for changeset f1d918d4779e
+ [1fc8dbc498d5]
+
+ * ChangeLog:
+ New upstream version
+ [f1d918d4779e] [v0.5.0rc1-1]
+
+ * PKGBUILD, prosody.rcd:
+ Redid indent alignment and silenced successful output of prosodyctl
+ [de9bdd756bd8]
+
+ * PKGBUILD, prosody-datadir.diff:
+ Converted to prosody-devel package
+ [92e5e98529dd]
+
+2009-06-30 Dwayne Bent <dbb.0@liqd.org>
+
+ * PKGBUILD, prosody.cfg.lua:
+ Moved luasec from depends to optdepends
+
+ Since luasec is not strictly required for Prosody to operate it is
+ now an optional dependency.
+ [7079ec87eef5]
+
+2009-06-27 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.4.2-4 for changeset 0345a59e8495
+ [1e488e1c03eb]
+
+ * PKGBUILD:
+ New release version
+ [0345a59e8495] [v0.4.2-4]
+
+ * prosody.install:
+ Added note about ChangeLog to install script
+ [c683ef309b6a]
+
+ * PKGBUILD, prosody.rcd:
+ Use prosodyctl to start/stop daemon
+ [eaf4c26bb29f]
+
+ * PKGBUILD, prosody.rcd:
+ Refactored start, stop, reload in rc.d script
+
+ Start, stop, reload will not display a friendly error message if
+ Prosody is not running when you attempt to stop or reload, or if
+ Prosody is already running when you attempt to start. Reload also
+ now utilizes the get_pid function.
+ [9873d5256a42]
+
+ * PKGBUILD, prosody.logrotated:
+ Use explicit log filenames in logrotate script
+
+ This fixes an issue where if you do not have olddir enabled, rotated
+ logs will be rotated again.
+ [38ea11efacb9]
+
+2009-06-22 Dwayne Bent <dbb.0@liqd.org>
+
+ * PKGBUILD, prosody.rcd:
+ Added status command to rc.d usage
+ [1b31e88d992d]
+
+ * PKGBUILD, prosody.rcd:
+ Added reload command
+ [62e3cbdff1d5]
+
+ * prosody.install:
+ Updated leftover olddir path
+ [e91b3fc2a9ee]
+
+ * PKGBUILD, prosody.rcd:
+ Use explicit source command
+ [b790c098d519]
+
+ * prosody.install:
+ Removed tab characters
+ [870316274137]
+
+2009-06-20 Dwayne Bent <dbb.0@liqd.org>
+
+ * PKGBUILD:
+ Updated md5 sums
+ [74ce2ab8a96b]
+
+ * prosody.logrotated:
+ Changed default olddir path
+ [cef8226473c2]
+
+ * prosody.rcd:
+ Removed sleep delay in restart
+ [a94167e59091]
+
+2009-06-10 Dwayne Bent <dbb.0@liqd.org>
+
+ * prosody.cfg.lua:
+ Removed per-host certificate entry in example configuration
+
+ Until Issue #30
+ [http://code.google.com/p/lxmppd/issues/detail?id=30] is fixed per-
+ host certificates have no effect.
+ [d00e35979450]
+
+2009-06-05 Dwayne Bent <dbb.0@liqd.org>
+
+ * ChangeLog:
+ Added ChangeLog
+ [7298c4da135a]
+
+2009-06-03 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.4.2-3 for changeset 028183ffeba8
+ [7dbfd040e908]
+
+ * PKGBUILD:
+ New release version
+ [028183ffeba8] [v0.4.2-3]
+
+ * PKGBUILD:
+ Removed superfluous make command
+ [3d96c98bac26]
+
+ * PKGBUILD:
+ More consistent use of quote marks
+ [f6bd5b595b2d]
+
+ * PKGBUILD, prosody.logrotated:
+ Correct PID file location in logrotate script
+ [cec60904c739]
+
+2009-05-30 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.4.2-2 for changeset 37268dd0d4fd
+ [a8a197635bb6]
+
+ * PKGBUILD:
+ New release version
+ [37268dd0d4fd] [v0.4.2-2]
+
+ * PKGBUILD:
+ Use install instead of mkdir in PKGBUILD
+ [8e48108bbe9a]
+
+ * PKGBUILD, prosody-datadir.diff:
+ Apply patch to fix world-readable data directory
+ [2c706dda941c]
+
+2009-05-23 Dwayne Bent <dbb.0@liqd.org>
+
+ * .hgtags:
+ Added tag v0.4.2-1 for changeset 1d29ea2dc519
+ [e2d2962de3f7]
+
+ * PKGBUILD:
+ New upstream release
+ [1d29ea2dc519] [v0.4.2-1]
+
+ * prosody.cfg.lua:
+ Aesthetic changes to the configuration file
+ [d5d848a58965]
+
+2009-05-22 Dwayne Bent <dbb.0@liqd.org>
+
+ * prosody.cfg.lua:
+ Removed extraneous semicolon in configuration file
+ [9a002c74edc2]
+
+ * PKGBUILD:
+ Cleaned up PKGBUILD license
+ [82cb66a84de8]
+
+2009-05-21 Dwayne Bent <dbb.0@liqd.org>
+
+ * prosody.install:
+ Changed formatting of leftover path messages.
+ [ac6069de93c9]
+
+ * prosody.install:
+ Moved prosody user removal to post_remove.
+ [2c60e27d0c13]
+
+ * PKGBUILD, prosody.cfg.lua:
+ Added comment about pidfile in prosody configuration file.
+ [8b9fa4da48ca]
+
+ * .hgtags:
+ Added tag v0.4.1-5 for changeset 69962178bcae
+ [01812099521b]
+
+ * PKGBUILD:
+ New release version.
+ [69962178bcae] [v0.4.1-5]
+
+ * PKGBUILD, prosody.cfg.lua, prosody.install, prosody.rcd:
+ Refactored rc.d daemon script.
+
+ Prosody now writes its own PID file to /var/run/prosody/prosody.pid.
+ rc.d script now uses '/bin/kill -0' to check for running process
+ instead of awkward combination of 'ps' and 'awk'.
+ [4f0e937c5148]
+
+ * prosody.install:
+ Added post_install message with link to Arch Wiki documentation.
+ [88d99267ad19]
+
+2009-05-19 Dwayne Bent <dbb.0@liqd.org>
+
+ * PKGBUILD:
+ Add logrotate script to backup array.
+ [d4f5445707f7]
+
+2009-05-11 Dwayne Bent <dbb.0@liqd.org>
+
+ * prosody.install:
+ Fixed install script attempting to add prosody group when it already
+ exists.
+ [7d7807aa5d30]
+
+ * .hgtags:
+ Added tag v0.4.1-4 for changeset 442f62077f30
+ [389c885a35c5]
+
+ * PKGBUILD:
+ New release version.
+ [442f62077f30] [v0.4.1-4]
+
+ * PKGBUILD:
+ Generated correct checksums for source files.
+ [162859c9e287]
+
+ * .hgtags:
+ Added tag v0.4.1-3 for changeset b629392e4716
+ [f3d11fbd0b45]
+
+ * PKGBUILD:
+ New release version.
+ [b629392e4716] [v0.4.1-3]
+
+ * prosody.logrotated:
+ Fixed wrong PID file path in logrotate script.
+ [0871a4a12392]
+
+2009-05-07 Dwayne Bent <dbb.0@liqd.org>
+
+ * prosody.cfg.lua, prosody.rcd:
+ Removed trailing whitespace.
+ [7c86c073650e]
+
+ * prosody.cfg.lua:
+ Added logging timestamps to default configuration.
+ [46f9111d47ce]
+
+ * .hgtags:
+ Added tag v0.4.1-2 for changeset 24b9dee19e65
+ [5240b39d76d7]
+
+ * PKGBUILD, prosody.cfg.lua, prosody.install, prosody.logrotated,
+ prosody.rcd:
+ Initial commit.
+ [24b9dee19e65] [v0.4.1-2]
+
diff --git a/community-testing/prosody/PKGBUILD b/community-testing/prosody/PKGBUILD
new file mode 100644
index 000000000..3e4947701
--- /dev/null
+++ b/community-testing/prosody/PKGBUILD
@@ -0,0 +1,60 @@
+# $Id: PKGBUILD 72560 2012-06-16 17:10:57Z dreisner $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Dwayne Bent <dbb.0@liqd.org>
+# Contributor: Paul-Sebastian Manole <brokenthorn@gmail.com>
+
+pkgname=prosody
+pkgver=0.8.2
+pkgrel=4
+pkgdesc="Lightweight and extensible Jabber/XMPP server written in Lua."
+arch=('i686' 'x86_64')
+url="http://prosody.im/"
+license=('MIT')
+depends=('lua>=5.1' 'luasocket' 'luaexpat' 'luafilesystem' 'libidn>=0.5.18' 'openssl')
+optdepends=('luasec: TLS encryption support'
+ 'lua-zlib: compression support'
+ 'luadbi: SQL storage support')
+install=prosody.install
+backup=('etc/logrotate.d/prosody'
+ 'etc/prosody/prosody.cfg.lua')
+source=("http://prosody.im/depot/${pkgver}/prosody-${pkgver}.tar.gz"
+ 'prosody.rcd'
+ 'prosody.logrotated'
+ 'fix-config.patch'
+ 'prosody.tmpfile.d'
+ 'prosody.service')
+md5sums=('6e907bf0d0acf24f1011083020ba6ffb'
+ 'd2b5f9c8e42bb31819e715eb1756ee53'
+ '26466fdbea87963a3ca6f48f76fe4a29'
+ '59a1bf2dfd0bd386cef6fa646e2a3752'
+ 'e2f5a1df410b05696a30dcb058841084'
+ 'e74045f27cb60908d535969906781f75')
+
+build() {
+ cd "$srcdir/prosody-$pkgver"
+ patch -p1 <$srcdir/fix-config.patch
+ ./configure --prefix=/usr --sysconfdir=/etc/prosody \
+ --datadir=/var/lib/prosody
+ make
+}
+
+package() {
+ cd "$srcdir/prosody-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ rm $pkgdir/etc/prosody/certs/*
+
+ install -d "$pkgdir/etc/rc.d"
+ install -d "$pkgdir/etc/logrotate.d"
+ install -d "$pkgdir/var/log/prosody"
+
+ install -o root -g root -m 755 "$srcdir/prosody.rcd" \
+ "$pkgdir/etc/rc.d/prosody"
+ install -o root -g root -m 644 "$srcdir/prosody.logrotated" \
+ "$pkgdir/etc/logrotate.d/prosody"
+
+ install -Dm0644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING
+ install -Dm0644 $srcdir/prosody.tmpfile.d $pkgdir//usr/lib/tmpfiles.d/prosody.conf
+ install -Dm0644 $srcdir/prosody.service $pkgdir/usr/lib/systemd/system/prosody.service
+}
diff --git a/community-testing/prosody/fix-config.patch b/community-testing/prosody/fix-config.patch
new file mode 100644
index 000000000..8856bfb92
--- /dev/null
+++ b/community-testing/prosody/fix-config.patch
@@ -0,0 +1,32 @@
+diff -wbBur prosody-0.8.0/prosody.cfg.lua.dist prosody-0.8.0.my/prosody.cfg.lua.dist
+--- prosody-0.8.0/prosody.cfg.lua.dist 2011-04-05 13:47:06.000000000 +0000
++++ prosody-0.8.0.my/prosody.cfg.lua.dist 2011-04-07 16:03:42.000000000 +0000
+@@ -21,6 +21,8 @@
+ -- (see http://prosody.im/doc/creating_accounts for info)
+ -- Example: admins = { "user1@example.com", "user2@example.net" }
+ admins = { }
++daemonize = true
++pidfile = "/var/run/prosody/prosody.pid"
+
+ -- Enable use of libevent for better performance under high load
+ -- For more information see: http://prosody.im/doc/libevent
+@@ -59,7 +61,7 @@
+ --"admin_telnet"; -- Opens telnet console interface on localhost port 5582
+
+ -- Other specific functionality
+- --"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
++ "posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
+ --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
+ --"httpserver"; -- Serve static files from a directory over HTTP
+ --"groups"; -- Shared roster support
+@@ -123,8 +125,8 @@
+ -- Logging configuration
+ -- For advanced logging see http://prosody.im/doc/logging
+ log = {
+- info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging
+- error = "prosody.err";
++ info = "/var/log/prosody/prosody.log"; -- Change 'info' to 'debug' for verbose logging
++ error = "/var/log/prosody/prosody.err";
+ -- "*syslog"; -- Uncomment this for logging to syslog
+ -- "*console"; -- Log to the console, useful for debugging with daemonize=false
+ }
diff --git a/community-testing/prosody/prosody.install b/community-testing/prosody/prosody.install
new file mode 100644
index 000000000..f935e3d63
--- /dev/null
+++ b/community-testing/prosody/prosody.install
@@ -0,0 +1,35 @@
+post_install() {
+ if [ -z "`grep '^prosody:' /etc/group`" ]; then
+ groupadd -g 412 prosody
+ fi
+ if [ -z "`grep '^prosody:' /etc/passwd`" ]; then
+ useradd -u 412 -d /var/lib/prosody -g prosody -s /bin/false prosody
+ fi
+
+ chown prosody:prosody var/lib/prosody
+ chown prosody:prosody var/log/prosody
+
+ echo ">> Documentation: http://wiki.archlinux.org/index.php/Prosody"
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ userdel prosody
+
+ paths=(/etc/prosody /var/lib/prosody /var/log/prosody
+ /var/log/old/prosody)
+
+ first=true
+ for path in ${paths[@]}; do
+ if [ -d $path ]; then
+ if $first; then
+ first=false
+ echo "==> Leftover Paths:"
+ fi
+ echo "==> $path"
+ fi
+ done
+}
diff --git a/community-testing/prosody/prosody.logrotated b/community-testing/prosody/prosody.logrotated
new file mode 100644
index 000000000..5659ba01f
--- /dev/null
+++ b/community-testing/prosody/prosody.logrotated
@@ -0,0 +1,9 @@
+/var/log/prosody/prosody.log /var/log/prosody/prosody.err {
+ # olddir /var/log/old/prosody
+ create 644 prosody prosody
+ sharedscripts
+ missingok
+ postrotate
+ /bin/kill -HUP `cat /var/run/prosody/prosody.pid 2> /dev/null` 2> /dev/null || true
+ endscript
+}
diff --git a/community-testing/prosody/prosody.rcd b/community-testing/prosody/prosody.rcd
new file mode 100644
index 000000000..afaf77903
--- /dev/null
+++ b/community-testing/prosody/prosody.rcd
@@ -0,0 +1,93 @@
+#!/bin/bash
+
+daemon_name=prosody
+pid_file=/var/run/$daemon_name/$daemon_name.pid
+
+source /etc/rc.conf
+source /etc/rc.d/functions
+
+get_pid() {
+ if [ -f $pid_file ]; then
+ /bin/kill -0 $(cat $pid_file)
+ if [ $? == 0 ]; then
+ cat $pid_file
+ fi
+ fi
+}
+
+case "$1" in
+ start)
+ stat_busy "Starting $daemon_name daemon"
+
+ [ -d /var/run/$daemon_name ] || { mkdir -p /var/run/$daemon_name ; chown prosody:prosody /var/run/prosody; }
+ PID=$(get_pid)
+ if [ -z "$PID" ]; then
+ [ -f $pid_file ] && rm -f $pid_file
+ mkdir -p `dirname $pid_file`
+ prosodyctl start 1>/dev/null 2>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ add_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ printhl "$daemon_name is already running"
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping $daemon_name daemon"
+ PID=$(get_pid)
+ if [ ! -z "$PID" ]; then
+ prosodyctl stop 1>/dev/null 2>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f $pid_file &> /dev/null
+ rm_daemon $daemon_name
+ stat_done
+ fi
+ else
+ stat_fail
+ printhl "$daemon_name is not running"
+ exit 1
+ fi
+ ;;
+
+ restart)
+ $0 stop
+ $0 start
+ ;;
+
+ reload)
+ stat_busy "Reloading $daemon_name"
+ PID=$(get_pid)
+ if [ ! -z "$PID" ]; then
+ /bin/kill -HUP $PID 2> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ stat_done
+ fi
+ else
+ stat_fail
+ printhl "$daemon_name is not running"
+ fi
+ ;;
+
+ status)
+ stat_busy "Checking $daemon_name status";
+ ck_status $daemon_name
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|restart|reload|status}"
+ esac
+
+exit 0
diff --git a/community-testing/prosody/prosody.service b/community-testing/prosody/prosody.service
new file mode 100644
index 000000000..f54159f55
--- /dev/null
+++ b/community-testing/prosody/prosody.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=XMPP (Jabber) Server
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/run/prosody/prosody.pid
+ExecStart=/usr/bin/prosodyctl start
+ExecStop=/usr/bin/prosodyctl stop
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/community-testing/prosody/prosody.tmpfile.d b/community-testing/prosody/prosody.tmpfile.d
new file mode 100644
index 000000000..5f6de657d
--- /dev/null
+++ b/community-testing/prosody/prosody.tmpfile.d
@@ -0,0 +1 @@
+d /run/prosody 0755 412 412
diff --git a/community-testing/tor/PKGBUILD b/community-testing/tor/PKGBUILD
new file mode 100644
index 000000000..b0ab616ac
--- /dev/null
+++ b/community-testing/tor/PKGBUILD
@@ -0,0 +1,53 @@
+# $Id: PKGBUILD 72561 2012-06-16 17:11:10Z dreisner $
+# Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de>
+# Contributor: simo <simo@archlinux.org>
+
+pkgname=tor
+pkgver=0.2.2.36
+pkgrel=2
+pkgdesc='Anonymizing overlay network.'
+arch=('i686' 'x86_64')
+url='http://www.torproject.org/'
+license=('BSD')
+depends=('openssl' 'libevent' 'tsocks' 'bash')
+makedepends=('ca-certificates')
+backup=('etc/tor/torrc'
+ 'etc/tor/torrc-dist'
+ 'etc/tor/tor-tsocks.conf'
+ 'etc/conf.d/tor')
+install='tor.install'
+source=("http://www.torproject.org/dist/${pkgname}-${pkgver}.tar.gz"{,.asc}
+ 'torrc'
+ 'tor'
+ 'tor.conf.d'
+ 'tor.service')
+md5sums=('620b2110086aba01236b57f1d5aba416'
+ '0401cf01ad0bcc9aba4f9c1bb5e8e810'
+ '56c75d4e8a66f34167d31e38c43793dd'
+ 'f8e6868a389877346e7eebaacd1078bb'
+ '5c7c6834064b3530c442def6079ac3aa'
+ 'cf23b97a1da09670214da6229a3ecb09')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ install -dm0700 "${pkgdir}/var/lib/tor"
+
+ mv "${pkgdir}/etc/tor/torrc.sample" "${pkgdir}/etc/tor/torrc-dist"
+ install -Dm0644 "${srcdir}/torrc" "${pkgdir}/etc/tor/torrc"
+ install -Dm0755 "${srcdir}/tor" "${pkgdir}/etc/rc.d/tor"
+ install -Dm0644 "${srcdir}/tor.conf.d" "${pkgdir}/etc/conf.d/tor"
+
+ install -Dm0644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ install -Dm0644 "${srcdir}/tor.service" "${pkgdir}/usr/lib/systemd/system/tor.service"
+}
diff --git a/community-testing/tor/tor b/community-testing/tor/tor
new file mode 100644
index 000000000..522c498ce
--- /dev/null
+++ b/community-testing/tor/tor
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+# source application-specific settings
+[ -f /etc/conf.d/tor ] && . /etc/conf.d/tor
+
+PID=`pidof -o %PPID /usr/bin/tor`
+case "$1" in
+ start)
+ stat_busy "Starting Tor Daemon"
+ if [ -z "${TOR_MAX_FD}" ] || ulimit -n "${TOR_MAX_FD}"; then
+ [ -z "$PID" ] && /usr/bin/tor -f ${TOR_CONF} ${TOR_ARGS} &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon tor
+ stat_done
+ fi
+ else
+ stat_fail
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Tor Daemon"
+ [ ! -z "$PID" ] && kill -INT $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon tor
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
+# vim: ft=sh ts=2 sw=2
diff --git a/community-testing/tor/tor.conf.d b/community-testing/tor/tor.conf.d
new file mode 100644
index 000000000..e9fa098e0
--- /dev/null
+++ b/community-testing/tor/tor.conf.d
@@ -0,0 +1,9 @@
+# Location of the config file.
+TOR_CONF='/etc/tor/torrc'
+
+# Custom ulimit for maximum number of open files.
+TOR_MAX_FD=
+
+# Additional arguments.
+TOR_ARGS="--quiet"
+
diff --git a/community-testing/tor/tor.install b/community-testing/tor/tor.install
new file mode 100644
index 000000000..2c448d28e
--- /dev/null
+++ b/community-testing/tor/tor.install
@@ -0,0 +1,24 @@
+post_install() {
+ echo "-> Tor has been preconfigured to run as a client only."
+ echo "-> Tor is experimental software. Do not rely on it for strong anonymity."
+ echo '-> '
+ echo '-> You can set custom file descriptor ulimits for Tor in'
+ echo '-> "/etc/conf.d/tor" using the "TOR_MAX_FD" variable.'
+ groupadd -g 43 tor &>/dev/null
+ useradd -u 43 -g tor -d /var/lib/tor -s /bin/false tor &> /dev/null
+ chown tor:tor var/lib/tor &> /dev/null
+ chmod 700 var/lib/tor &> /dev/null
+}
+
+post_upgrade() {
+ echo '-> You can now set custom file descriptor ulimits for Tor in'
+ echo '-> "/etc/conf.d/tor" using the "TOR_MAX_FD" variable.'
+ getent group tor &>/dev/null || groupadd -g 43 tor &>/dev/null
+ getent passwd tor &>/dev/null || useradd -u 43 -g tor -d /var/lib/tor -s /bin/false tor &> /dev/null
+ chown tor:tor var/lib/tor &> /dev/null
+}
+
+pre_remove() {
+ getent passwd tor &>/dev/null && userdel tor &> /dev/null
+ getent group tor &>/dev/null && groupdel tor &> /dev/null
+}
diff --git a/community-testing/tor/tor.service b/community-testing/tor/tor.service
new file mode 100644
index 000000000..eb9b556b5
--- /dev/null
+++ b/community-testing/tor/tor.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Anonymizing Overlay Network
+
+[Service]
+Type=forking
+GuessMainPID=yes
+EnvironmentFile=/etc/conf.d/tor
+ExecStart=/usr/bin/tor -f $TOR_CONF $TOR_ARGS
+ExecReload=/bin/kill -HUP $MAINPID
+KillSignal=SIGINT
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/tor/torrc b/community-testing/tor/torrc
new file mode 100644
index 000000000..3505653ab
--- /dev/null
+++ b/community-testing/tor/torrc
@@ -0,0 +1,143 @@
+## CONFIGURED FOR ARCHLINUX
+
+## Last updated 22 July 2005 for Tor 0.1.0.13.
+## (May or may not work for older or newer versions of Tor.)
+#
+## See the man page, or http://tor.eff.org/tor-manual.html, for more
+## options you can use in this file.
+#
+# On Unix, Tor will look for this file in someplace like "~/.tor/torrc" or
+# "/etc/torrc"
+#
+# On Windows, Tor will look for the configuration file in someplace like
+# "Application Data\tor\torrc" or "Application Data\<username>\tor\torrc"
+#
+# With the default Mac OS X installer, Tor will look in ~/.tor/torrc or
+# /Library/Tor/torrc
+
+
+## Replace this with "SocksPort 0" if you plan to run Tor only as a
+## server, and not make any local application connections yourself.
+SocksPort 9050 # what port to open for local application connections
+SocksBindAddress 127.0.0.1 # accept connections only from localhost
+#SocksBindAddress 192.168.0.1:9100 # listen on a chosen IP/port too
+
+## Entry policies to allow/deny SOCKS requests based on IP address.
+## First entry that matches wins. If no SocksPolicy is set, we accept
+## all (and only) requests from SocksBindAddress.
+#SocksPolicy accept 192.168.0.1/16
+#SocksPolicy reject *
+
+## Allow no-name routers (ones that the dirserver operators don't
+## know anything about) in only these positions in your circuits.
+## Other choices (not advised) are entry,exit,introduction.
+AllowUnverifiedNodes middle,rendezvous
+
+## Logs go to stdout at level "notice" unless redirected by something
+## else, like one of the below lines. You can have as many log lines as
+## you want.
+##
+## Send all messages of level 'notice' or higher to /var/log/tor/notices.log
+#Log notice file /var/log/tor/notices.log
+## Send only debug and info messages to /var/log/tor/debug.log
+#Log debug-info file /var/log/tor/debug.log
+## Send ONLY debug messages to /var/log/tor/debug.log
+#Log debug-debug file /var/log/tor/debug.log
+## To use the system log instead of Tor's logfiles, uncomment these lines:
+Log notice syslog
+## To send all messages to stderr:
+#Log debug stderr
+
+## Uncomment this to start the process in the background... or use
+## --runasdaemon 1 on the command line.
+RunAsDaemon 1
+User tor
+Group tor
+
+## Tor only trusts directories signed with one of these keys, and
+## uses the given addresses to connect to the trusted directory
+## servers. If no DirServer lines are specified, Tor uses the built-in
+## defaults (moria1, moria2, tor26), so you can leave this alone unless
+## you need to change it.
+#DirServer 18.244.0.188:9031 FFCB 46DB 1339 DA84 674C 70D7 CB58 6434 C437 0441
+#DirServer 18.244.0.114:80 719B E45D E224 B607 C537 07D0 E214 3E2D 423E 74CF
+#DirServer 86.59.21.38:80 847B 1F85 0344 D787 6491 A548 92F9 0493 4E4E B85D
+
+## The directory for keeping all the keys/etc. By default, we store
+## things in $HOME/.tor on Unix, and in Application Data\tor on Windows.
+DataDirectory /var/lib/tor
+
+## The port on which Tor will listen for local connections from Tor controller
+## applications, as documented in control-spec.txt. NB: this feature is
+## currently experimental.
+#ControlPort 9051
+
+############### This section is just for location-hidden services ###
+
+## Look in .../hidden_service/hostname for the address to tell people.
+## HiddenServicePort x y:z says to redirect a port x request from the
+## client to y:z.
+
+#HiddenServiceDir /var/lib/tor/hidden_service/
+#HiddenServicePort 80 127.0.0.1:80
+
+#HiddenServiceDir /var/lib/tor/other_hidden_service/
+#HiddenServicePort 80 127.0.0.1:80
+#HiddenServicePort 22 127.0.0.1:22
+#HiddenServiceNodes moria1,moria2
+#HiddenServiceExcludeNodes bad,otherbad
+
+################ This section is just for servers #####################
+
+## NOTE: If you enable these, you should consider mailing your identity
+## key fingerprint to the tor-ops, so we can add you to the list of
+## servers that clients will trust. See
+## http://tor.eff.org/doc/tor-doc.html#server for details.
+
+## Required: A unique handle for this server
+#Nickname ididnteditheconfig
+
+## The IP or fqdn for this server. Leave commented out and Tor will guess.
+#Address noname.example.com
+
+## Contact info that will be published in the directory, so we can
+## contact you if you need to upgrade or if something goes wrong.
+## This is optional but recommended.
+#ContactInfo Random Person <nobody AT example dot com>
+## You might also include your PGP or GPG fingerprint if you have one:
+#ContactInfo 1234D/FFFFFFFF Random Person <nobody AT example dot com>
+
+## Required: what port to advertise for tor connections
+#ORPort 9001
+## If you want to listen on a port other than the one advertised
+## in ORPort (e.g. to advertise 443 but bind to 9090), uncomment
+## the line below. You'll need to do ipchains or other port forwarding
+## yourself to make this work.
+#ORBindAddress 0.0.0.0:9090
+
+## Uncomment this to mirror the directory for others (please do)
+#DirPort 9030 # what port to advertise for directory connections
+## If you want to listen on a port other than the one advertised
+## in DirPort (e.g. to advertise 80 but bind 9091), uncomment the line
+## below. You'll need to do ipchains or other port forwarding yourself
+## to make this work.
+#DirBindAddress 0.0.0.0:9091
+
+## A comma-separated list of exit policies. They're considered first
+## to last, and the first match wins. If you want to *replace*
+## the default exit policy, end this with either a reject *:* or an
+## accept *:*. Otherwise, you're *augmenting* (prepending to) the
+## default exit policy. Leave commented to just use the default, which is
+## available in the man page or at http://tor.eff.org/documentation.html
+##
+## Look at http://tor.eff.org/faq-abuse.html#TypicalAbuses
+## for issues you might encounter if you use the default exit policy.
+##
+## If certain IPs and ports are blocked externally, e.g. by your firewall,
+## you should update your exit policy to reflect this -- otherwise Tor
+## users will be told that those destinations are down.
+##
+#ExitPolicy accept *:6660-6667,reject *:* # allow irc ports but no more
+#ExitPolicy accept *:119 # accept nntp as well as default exit policy
+#ExitPolicy reject *:* # middleman only -- no exits allowed
+
diff --git a/community-testing/uptimed/PKGBUILD b/community-testing/uptimed/PKGBUILD
new file mode 100644
index 000000000..a1b63299e
--- /dev/null
+++ b/community-testing/uptimed/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 72563 2012-06-16 17:11:23Z dreisner $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Tom Killian <tomk@runbox.com>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+
+pkgname=uptimed
+pkgver=0.3.17
+pkgrel=2
+pkgdesc="A system uptime record daemon"
+arch=(i686 x86_64)
+url="http://podgorny.cz/uptimed/"
+license=('GPL')
+depends=('glibc' 'bash')
+backup=(etc/uptimed.conf)
+options=('!libtool')
+install=$pkgname.install
+source=(http://podgorny.cz/$pkgname/releases/$pkgname-$pkgver.tar.bz2
+ rc.d
+ service)
+md5sums=('528b62c33454b33537c3bf2366977bdb'
+ '4ae90bee9fc78014a889a5072effb735'
+ '657102b06613ddb9811427bee1973c6b')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # Change log path to Arch standard
+ for M in `ls M*`; do
+ sed -i "s|/var/spool/uptimed|$pkgdir/var/log/uptimed|" $M
+ done
+ sed -i 's|spool|log|' libuptimed/urec.h
+
+ autoreconf
+ libtoolize --force
+
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make prefix=$pkgdir/usr sysconfdir=$pkgdir/etc install
+
+ mv $pkgdir/etc/uptimed.conf-dist $pkgdir/etc/uptimed.conf
+ install -Dm755 $srcdir/rc.d $pkgdir/etc/rc.d/uptimed
+ install -Dm644 $srcdir/service $pkgdir/usr/lib/systemd/system/uptimed.service
+}
diff --git a/community-testing/uptimed/rc.d b/community-testing/uptimed/rc.d
new file mode 100644
index 000000000..6fe9ec3e3
--- /dev/null
+++ b/community-testing/uptimed/rc.d
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/uptimed`
+case "$1" in
+ start)
+ stat_busy "Starting Uptimed Daemon"
+ [ -z "$PID" ] && /usr/sbin/uptimed -b # create the boot record
+ if [ $? -gt 0 ] ; then
+ stat_fail
+ else
+ add_daemon uptimed # create the 'state' dir
+ /usr/sbin/uptimed # fire up the daemon
+ if [ $? -gt 0 ]; then
+ stat_fail
+ fi
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Uptimed Daemon"
+ [ "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon uptimed # remove the 'state' dir
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community-testing/uptimed/service b/community-testing/uptimed/service
new file mode 100644
index 000000000..2fd785318
--- /dev/null
+++ b/community-testing/uptimed/service
@@ -0,0 +1,11 @@
+[Unit]
+Description=System uptime record daemon
+
+[Service]
+Type=forking
+PIDFile=/var/run/uptimed
+ExecStartPre=/usr/sbin/uptimed -b
+ExecStart=/usr/sbin/uptimed
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/uptimed/uptimed.install b/community-testing/uptimed/uptimed.install
new file mode 100644
index 000000000..178061706
--- /dev/null
+++ b/community-testing/uptimed/uptimed.install
@@ -0,0 +1,7 @@
+# arg 1: the old package version
+pre_remove() {
+ # clean up after ourselves
+ #
+ /bin/rm -rf /var/log/uptimed
+}
+
diff --git a/community-testing/vnstat/PKGBUILD b/community-testing/vnstat/PKGBUILD
new file mode 100644
index 000000000..773763a24
--- /dev/null
+++ b/community-testing/vnstat/PKGBUILD
@@ -0,0 +1,39 @@
+# $Id: PKGBUILD 72564 2012-06-16 17:11:28Z dreisner $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Thorsten Töpper <atsutane-tu@freethoughts.de>
+
+pkgname=vnstat
+pkgver=1.11
+pkgrel=3
+pkgdesc="A console-based network traffic monitor"
+arch=('i686' 'x86_64')
+url="http://humdi.net/vnstat/"
+license=('GPL')
+depends=('bash')
+makedepends=('gd')
+optdepends=('gd: image output')
+backup=(etc/vnstat.conf)
+source=(http://humdi.net/vnstat/$pkgname-$pkgver.tar.gz
+ http://humdi.net/vnstat/init.d/arch/vnstat
+ service)
+md5sums=('a5a113f9176cd61fb954f2ba297f5fdb'
+ 'e89a566dd7514ff0d2d3fc77b2d4ca7e'
+ 'fcc189e3dee616ff414dac72637c1a19')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ make all
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+
+ install -D -m0755 $srcdir/vnstat $pkgdir/etc/rc.d/vnstat
+ install -Dm644 $srcdir/service $pkgdir/usr/lib/systemd/system/vnstat.service
+
+ install -D -m0644 examples/vnstat.cron $pkgdir/usr/share/doc/vnstat/examples/vnstat.cron
+ install -D -m0755 examples/vnstat.cgi $pkgdir/usr/share/doc/vnstat/examples/vnstat.cgi
+ sed -i 's#root##' $pkgdir/usr/share/doc/vnstat/examples/vnstat.cron
+}
diff --git a/community-testing/vnstat/service b/community-testing/vnstat/service
new file mode 100644
index 000000000..f312351ea
--- /dev/null
+++ b/community-testing/vnstat/service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Network traffic monitor
+
+[Service]
+ExecStart=/usr/sbin/vnstatd -n
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/vsftpd/PKGBUILD b/community-testing/vsftpd/PKGBUILD
new file mode 100644
index 000000000..c4208743b
--- /dev/null
+++ b/community-testing/vsftpd/PKGBUILD
@@ -0,0 +1,59 @@
+# $Id: PKGBUILD 72565 2012-06-16 17:11:45Z dreisner $
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# Contributor: Andreas Radke <andyrtr@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=vsftpd
+pkgver=3.0.0
+pkgrel=3
+pkgdesc="Very Secure FTP daemon"
+arch=('i686' 'x86_64')
+url="https://security.appspot.com/vsftpd.html"
+license=('GPL2')
+depends=('openssl')
+backup=('etc/vsftpd.conf' 'etc/xinetd.d/vsftpd')
+install=vsftpd.install
+source=(https://security.appspot.com/downloads/${pkgname}-${pkgver}.tar.gz{,.asc}
+ vsftpd.xinetd vsftpd.d vsftpd-ssl.socket vsftpd.socket
+ vsftpd.service vsftpd@.service vsftpd-ssl.service vsftpd-ssl@.service)
+sha1sums=('436da30cefa33e22a0266077ab95397e9432e297'
+ '2142ac8a84f18ecc1ebac21b9ac07858c35ae6af'
+ 'c87b4ce56dac15223694a6e86c01ea813b877596'
+ '24f268956c24e78be0c234c6d31f41487922eafe'
+ 'f81dab50243f7e82dc9722ca79b2b24de0882eb2'
+ '5b7a7a1e0c04acfcc2dba1346557f1193b9905ba'
+ 'f1fa8cfaab1541c1ce3bb4dab4f4b302e5c44b03'
+ '3a040a18893a5103a1d4a22e631ee247bde8c8d3'
+ '08b2938dc81ee200b6d733a32f5565b9dbe170a3'
+ 'e5bd183664008bb0cc0353d4efb2e8e92a365798')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # build-time config
+ sed \
+ -e 's|^#undef VSF_BUILD_SSL$|#define VSF_BUILD_SSL|' \
+ -i builddefs.h
+
+ CFLAGS+=' -fPIE' LINK='' LDFLAGS="-fPIE -pie ${LDFLAGS} -Wl,-z,now" make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
+ install -D -m755 vsftpd $pkgdir/usr/sbin/vsftpd
+ install -D -m644 vsftpd.conf $pkgdir/etc/vsftpd.conf
+ install -D -m644 vsftpd.8 $pkgdir/usr/share/man/man8/vsftpd.8
+ install -D -m644 vsftpd.conf.5 $pkgdir/usr/share/man/man5/vsftpd.conf.5
+ install -D -m644 $srcdir/vsftpd.xinetd $pkgdir/etc/xinetd.d/vsftpd
+ install -D -m755 $srcdir/vsftpd.d $pkgdir/etc/rc.d/vsftpd
+
+ install -D -m644 $srcdir/vsftpd.service $pkgdir/usr/lib/systemd/system/vsftpd.service
+ install -D -m644 $srcdir/vsftpd@.service $pkgdir/usr/lib/systemd/system/vsftpd@.service
+ install -D -m644 $srcdir/vsftpd-ssl.service $pkgdir/usr/lib/systemd/system/vsftpd-ssl.service
+ install -D -m644 $srcdir/vsftpd-ssl@.service $pkgdir/usr/lib/systemd/system/vsftpd-ssl@.service
+ install -D -m644 $srcdir/vsftpd.socket $pkgdir/usr/lib/systemd/system/vsftpd.socket
+ install -D -m644 $srcdir/vsftpd-ssl.socket $pkgdir/usr/lib/systemd/system/vsftpd-ssl.socket
+
+ install -d -m755 $pkgdir/usr/share/empty
+}
diff --git a/community-testing/vsftpd/vsftpd-ssl.service b/community-testing/vsftpd/vsftpd-ssl.service
new file mode 100644
index 000000000..f46b05fcd
--- /dev/null
+++ b/community-testing/vsftpd/vsftpd-ssl.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=vsftpd daemon (legacy implicit SSL)
+
+[Service]
+ExecStart=/usr/sbin/vsftpd -olisten_ipv6=yes -oimplicit_ssl=yes
+ExecReload=/bin/kill -HUP $MAINPID
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/vsftpd/vsftpd-ssl.socket b/community-testing/vsftpd/vsftpd-ssl.socket
new file mode 100644
index 000000000..b18b639c1
--- /dev/null
+++ b/community-testing/vsftpd/vsftpd-ssl.socket
@@ -0,0 +1,9 @@
+[Unit]
+Conflicts=vsftpd.service
+
+[Socket]
+ListenStream=990
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/community-testing/vsftpd/vsftpd-ssl@.service b/community-testing/vsftpd/vsftpd-ssl@.service
new file mode 100644
index 000000000..e53fad324
--- /dev/null
+++ b/community-testing/vsftpd/vsftpd-ssl@.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=vsftpd per-connection server (legacy implicit SSL)
+
+[Service]
+ExecStart=-/usr/sbin/vsftpd -oimplicit_ssl=yes
+ExecReload=/bin/kill -HUP $MAINPID
+StandardInput=socket
+StandardOutput=socket
+StandardError=syslog
diff --git a/community-testing/vsftpd/vsftpd.d b/community-testing/vsftpd/vsftpd.d
new file mode 100644
index 000000000..27310855c
--- /dev/null
+++ b/community-testing/vsftpd/vsftpd.d
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+daemon_name=vsftpd
+
+. /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
+ [ -f /var/run/$daemon_name.pid ] && rm -f /var/run/$daemon_name.pid
+ # RUN
+ $daemon_name &
+ #
+ if [ $? -gt 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)
+ # KILL
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ #
+ if [ $? -gt 0 ]; then
+ stat_fail
+ exit 1
+ else
+ rm -f /var/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/community-testing/vsftpd/vsftpd.install b/community-testing/vsftpd/vsftpd.install
new file mode 100644
index 000000000..48f134e24
--- /dev/null
+++ b/community-testing/vsftpd/vsftpd.install
@@ -0,0 +1,17 @@
+# arg 1: the new package version
+post_install() {
+ if [ -f lib/modules/`uname -r`/kernel/security/capability.ko ]; then
+ echo ">>> It appears that your current kernel has linux security"
+ echo ">>> capabilities built as a module. vsftpd requires this"
+ echo ">>> functionality to operate."
+ echo ">>>"
+ echo ">>> To activate the module, please load it now (modprobe capability)."
+ echo ">>> Also, you should add it to your MODULES array in rc.conf, so"
+ echo ">>> it will be activated automatically at boot-up."
+ fi
+}
+
+post_upgrade() {
+ post_install $1
+}
+
diff --git a/community-testing/vsftpd/vsftpd.service b/community-testing/vsftpd/vsftpd.service
new file mode 100644
index 000000000..d4f7251ba
--- /dev/null
+++ b/community-testing/vsftpd/vsftpd.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=vsftpd daemon
+
+[Service]
+ExecStart=/usr/sbin/vsftpd -olisten_ipv6=yes
+ExecReload=/bin/kill -HUP $MAINPID
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community-testing/vsftpd/vsftpd.socket b/community-testing/vsftpd/vsftpd.socket
new file mode 100644
index 000000000..cdc0d337e
--- /dev/null
+++ b/community-testing/vsftpd/vsftpd.socket
@@ -0,0 +1,9 @@
+[Unit]
+Conflicts=vsftpd.service
+
+[Socket]
+ListenStream=21
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/community-testing/vsftpd/vsftpd.xinetd b/community-testing/vsftpd/vsftpd.xinetd
new file mode 100644
index 000000000..eff2eb3db
--- /dev/null
+++ b/community-testing/vsftpd/vsftpd.xinetd
@@ -0,0 +1,10 @@
+service ftp
+{
+ socket_type = stream
+ wait = no
+ user = root
+ server = /usr/sbin/vsftpd
+ log_on_success += HOST DURATION
+ log_on_failure += HOST
+ disable = yes
+}
diff --git a/community-testing/vsftpd/vsftpd@.service b/community-testing/vsftpd/vsftpd@.service
new file mode 100644
index 000000000..353f95f82
--- /dev/null
+++ b/community-testing/vsftpd/vsftpd@.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=vsftpd per-connection server
+
+[Service]
+ExecStart=-/usr/sbin/vsftpd
+ExecReload=/bin/kill -HUP $MAINPID
+StandardInput=socket
+StandardError=syslog
diff --git a/community/cdrtools/PKGBUILD b/community/cdrtools/PKGBUILD
index 66e433311..dbe53d8f6 100644
--- a/community/cdrtools/PKGBUILD
+++ b/community/cdrtools/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 68938 2012-04-06 10:10:47Z stativ $
+# $Id: PKGBUILD 72573 2012-06-16 18:43:00Z stativ $
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
pkgname=cdrtools
pkgver=3.01a07
-pkgrel=3
+pkgrel=4
pkgdesc="Original cdrtools supporting CD, DVD and BluRay burning"
arch=('i686' 'x86_64')
url="http://cdrecord.berlios.de/private/cdrecord.html"
@@ -32,6 +32,10 @@ package() {
make INS_BASE=/usr INS_RBASE=/ DESTDIR="$pkgdir" install
rm -rf "$pkgdir"/usr/include
rm -rf "$pkgdir"/usr/lib/{*.a,profiled}
+
+ # autoload 'sg' module needed by cdrecord
+ install -d -m755 "$pkgdir"/usr/lib/modules-load.d/
+ echo sg > "$pkgdir"/usr/lib/modules-load.d/cdrecord.conf
}
# vim:set ts=2 sw=2 et:
diff --git a/community/cdrtools/cdrtools.install b/community/cdrtools/cdrtools.install
index af3800716..3f49eb1bb 100644
--- a/community/cdrtools/cdrtools.install
+++ b/community/cdrtools/cdrtools.install
@@ -3,8 +3,12 @@ post_install() {
echo "To allow other users than root execute rscsi add an entry"
echo "to /etc/default/rscsi or use an \"rscsi\" user"
echo ""
- echo "If you get folowing error while executing \"cdrecord --scanbus\":"
- echo " No such file or directory. Cannot open '/dev/pg*'. Cannot open or use SCSI driver."
- echo "you may need to load the sg module manually using \"modprobe sg\"."
+ post_upgrade
+}
+
+post_upgrade() {
+ echo "The manual loading (or loading using rc.conf)"
+ echo "of the 'sg' module is no longer necessary."
+ echo "It is automatically loaded during boot by systemd-tools (udev 185)."
}
diff --git a/community/conntrack-tools/01-config-file-path.patch b/community/conntrack-tools/01-config-file-path.patch
new file mode 100644
index 000000000..8512cc9ab
--- /dev/null
+++ b/community/conntrack-tools/01-config-file-path.patch
@@ -0,0 +1,11 @@
+--- a/include/conntrackd.h 2012-05-26 15:29:15.630027223 +0200
++++ b/include/conntrackd.h 2012-05-27 02:26:59.426811589 +0200
+@@ -50,7 +50,7 @@
+ #define EXP_DUMP_INT_XML 47 /* dump internal cache in XML */
+ #define EXP_DUMP_EXT_XML 48 /* dump external cache in XML */
+
+-#define DEFAULT_CONFIGFILE "/etc/conntrackd/conntrackd.conf"
++#define DEFAULT_CONFIGFILE "/etc/conntrackd.conf"
+ #define DEFAULT_LOCKFILE "/var/lock/conntrackd.lock"
+ #define DEFAULT_LOGFILE "/var/log/conntrackd.log"
+ #define DEFAULT_STATS_LOGFILE "/var/log/conntrackd-stats.log"
diff --git a/community/conntrack-tools/02-fix-compilation-of-timeout-extension.patch b/community/conntrack-tools/02-fix-compilation-of-timeout-extension.patch
new file mode 100644
index 000000000..746934994
--- /dev/null
+++ b/community/conntrack-tools/02-fix-compilation-of-timeout-extension.patch
@@ -0,0 +1,33 @@
+From 18efbc802479ce042378dc0cccc7577e1c6afa41 Mon Sep 17 00:00:00 2001
+From: Pablo Neira Ayuso <pablo@netfilter.org>
+Date: Sat, 26 May 2012 20:58:16 +0200
+Subject: [PATCH] nfct: fix compilation of timeout extension
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf8
+Content-Transfer-Encoding: 8bit
+
+nfct-extensions/timeout.c: In function ‘nfct_timeout_cb’:
+nfct-extensions/timeout.c:99:2: warning: passing argument 4 of ‘nfct_timeout_snprintf’ makes integer from pointer without a cast [enabled by default]
+/usr/include/libnetfilter_cttimeout/libnetfilter_cttimeout.h:114:5: note: expected ‘unsigned int’ but argument is of type ‘struct nfct_timeout *’
+
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+---
+ src/nfct-extensions/timeout.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/nfct-extensions/timeout.c b/src/nfct-extensions/timeout.c
+index a1a5c52..5b32023 100644
+--- a/src/nfct-extensions/timeout.c
++++ b/src/nfct-extensions/timeout.c
+@@ -96,7 +96,7 @@ static int nfct_timeout_cb(const struct nlmsghdr *nlh, void *data)
+ goto err_free;
+ }
+
+- nfct_timeout_snprintf(buf, sizeof(buf), t, 0);
++ nfct_timeout_snprintf(buf, sizeof(buf), t, NFCT_TIMEOUT_O_DEFAULT, 0);
+ printf("%s\n", buf);
+
+ err_free:
+--
+1.7.2.5
+
diff --git a/community/conntrack-tools/PKGBUILD b/community/conntrack-tools/PKGBUILD
index 006e17429..541456cd8 100644
--- a/community/conntrack-tools/PKGBUILD
+++ b/community/conntrack-tools/PKGBUILD
@@ -1,29 +1,37 @@
-# $Id: PKGBUILD 71212 2012-05-25 00:16:39Z seblu $
+# $Id: PKGBUILD 72534 2012-06-16 14:02:03Z seblu $
# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
# Contributor: Valere Monseur <valere_monseur@hotmail.com>
# Contributor: Alessandro Sagratini <ale_sagra@hotmail.com>
# Contributor: Kevin Edmonds <edmondskevin@hotmail.com>
pkgname=conntrack-tools
-pkgver=1.0.1
-pkgrel=2
+pkgver=1.2.0
+pkgrel=1
pkgdesc='Userspace tools to interact with the Netfilter connection tracking system'
arch=('i686' 'x86_64')
url='http://www.netfilter.org/projects/conntrack-tools'
license=('GPL2')
-depends=('libnetfilter_conntrack')
-backup=('etc/conntrackd/conntrackd.conf')
+depends=('libnetfilter_conntrack' 'libnetfilter_cttimeout')
+backup=('etc/conntrackd.conf' 'etc/conf.d/conntrackd')
+install=$pkgname.install
source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2"
'conntrackd.rc'
'conntrackd.conf'
- 'conntrackd.service')
-md5sums=('8a60f02a177fc31fe40cc992c4de90e2'
- '977dfb8fc58df0c74120c8ac92026a6a'
- '92a7fc6ab5cba5e48cde4cac0ac403b1'
- 'bd135eaefb47923bb8e8d26f084d3e9d')
+ 'conntrackd.service'
+ '01-config-file-path.patch'
+ '02-fix-compilation-of-timeout-extension.patch')
+md5sums=('8e20330d6ca3a3f23552aa900b1d467c'
+ '478fe76da0202fcb5249bf65968d1c26'
+ 'd3e73e81b54e3e8166d357d434680684'
+ 'bd135eaefb47923bb8e8d26f084d3e9d'
+ '411fc0eb97c02595aab69b14c26c1d00'
+ '0144021bbec4d5b496ddd86a7ff7a257')
build() {
cd $pkgname-$pkgver
+ for i in "$srcdir"/*.patch; do
+ patch -p1 -i "$i"
+ done
./configure --prefix=/usr --sysconfdir=/etc
make
}
@@ -39,7 +47,7 @@ package() {
install -D -m 644 conntrackd.service \
"$pkgdir/usr/lib/systemd/system/conntrackd.service"
# install empty configuration files
- install -D -m 644 /dev/null "$pkgdir/etc/conntrackd/conntrackd.conf"
+ install -D -m 644 /dev/null "$pkgdir/etc/conntrackd.conf"
}
# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/conntrack-tools/conntrack-tools.install b/community/conntrack-tools/conntrack-tools.install
new file mode 100644
index 000000000..d21a5f92c
--- /dev/null
+++ b/community/conntrack-tools/conntrack-tools.install
@@ -0,0 +1,9 @@
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ [ $(vercmp "$2" '1.0.1-2') -gt 0 ] || cat <<EOF
+Config file have been moved from /etc/conntrackd/conntrackd.conf to /etc/conntrackd.conf.
+EOF
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/conntrack-tools/conntrackd.conf b/community/conntrack-tools/conntrackd.conf
index b90427a49..285f566d2 100644
--- a/community/conntrack-tools/conntrackd.conf
+++ b/community/conntrack-tools/conntrackd.conf
@@ -1,3 +1,3 @@
# vim:set ts=2 sw=2 ft=sh noet:
-DAEMON_OPTIONS='-d'
+#DAEMON_OPTIONS=''
diff --git a/community/conntrack-tools/conntrackd.rc b/community/conntrack-tools/conntrackd.rc
index a7040c633..4300a7041 100644
--- a/community/conntrack-tools/conntrackd.rc
+++ b/community/conntrack-tools/conntrackd.rc
@@ -6,6 +6,7 @@
DAEMON=/usr/sbin/conntrackd
PID=$(pidof -o %PPID $DAEMON)
+DAEMON_OPTIONS="-d $DAEMON_OPTIONS"
case "$1" in
start)
diff --git a/community/libnetfilter_cttimeout/PKGBUILD b/community/libnetfilter_cttimeout/PKGBUILD
new file mode 100644
index 000000000..1c3211c32
--- /dev/null
+++ b/community/libnetfilter_cttimeout/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 72544 2012-06-16 15:53:38Z seblu $
+# Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org>
+
+pkgname=libnetfilter_cttimeout
+pkgver=1.0.0
+pkgrel=3
+pkgdesc='Library for the connection tracking timeout infrastructure'
+arch=('i686' 'x86_64')
+url='http://www.netfilter.org/projects/libnetfilter_cttimeout/'
+license=('GPL2')
+depends=('libmnl')
+options=('!libtool')
+source=("http://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2")
+md5sums=('7697437fc9ebb6f6b83df56a633db7f9')
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure --prefix=/usr
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/community/nautilus-actions/PKGBUILD b/community/nautilus-actions/PKGBUILD
index 429204815..28b0d8f71 100644
--- a/community/nautilus-actions/PKGBUILD
+++ b/community/nautilus-actions/PKGBUILD
@@ -1,34 +1,34 @@
-# $Id: PKGBUILD 60313 2011-12-10 09:56:53Z ibiru $
+# $Id: PKGBUILD 72506 2012-06-16 07:11:54Z ebelanger $
# Maintainer : Ionut Biru <ibiru@archlinux.org>
# Contributor: Roman Kyrylych <roman@archlinux.org>
# Contributor: Tor Krill <tor@krill.nu>
pkgname=nautilus-actions
-pkgver=3.1.5
+pkgver=3.2.2
pkgrel=1
pkgdesc="Configures programs to be launched when files are selected in Nautilus"
arch=('i686' 'x86_64')
-url="http://gnome.org"
+url="http://www.nautilus-actions.org/"
license=('GPL')
depends=('nautilus' 'libunique3' 'libgtop' 'gconf' 'libsm')
makedepends=('intltool' 'gnome-doc-utils')
install=nautilus-actions.install
options=('!libtool')
-source=(http://ftp.gnome.org/pub/GNOME/sources/nautilus-actions/3.1/$pkgname-$pkgver.tar.xz)
-sha256sums=('dc6b7522d04e1ed1505d6cb2e3be7888ffbac3f094ba6204da81a19c92cb230a')
+source=(http://ftp.gnome.org/pub/GNOME/sources/nautilus-actions/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('214af9fd2a7f561366bf88446f9b79182e696a303da8e15c7a8a1ffaeaca11c4')
build() {
- cd $srcdir/$pkgname-$pkgver
+ cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--libexecdir=/usr/lib/nautilus-actions
make
}
package(){
- cd $srcdir/$pkgname-$pkgver
- make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR=$pkgdir install
- mkdir -p $pkgdir/usr/share/gconf/schemas
- gconf-merge-schema $pkgdir/usr/share/gconf/schemas/$pkgname.schemas --domain nautilus-actions \
- $pkgdir/etc/gconf/schemas/*.schemas
- rm -rf $pkgdir/etc/gconf/schemas/
+ cd "$srcdir/$pkgname-$pkgver"
+ make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install
+ mkdir -p "$pkgdir/usr/share/gconf/schemas"
+ gconf-merge-schema "$pkgdir/usr/share/gconf/schemas/$pkgname.schemas" --domain nautilus-actions \
+ "$pkgdir"/etc/gconf/schemas/*.schemas
+ rm -rf "$pkgdir/etc/gconf/schemas/"
}
diff --git a/community/uptimed/PKGBUILD b/community/uptimed/PKGBUILD
index e8ae9f9c0..3ec4f440a 100644
--- a/community/uptimed/PKGBUILD
+++ b/community/uptimed/PKGBUILD
@@ -1,11 +1,12 @@
-# $Id: PKGBUILD 65353 2012-02-21 02:18:04Z spupykin $
-# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# $Id: PKGBUILD 72514 2012-06-16 08:04:35Z bpiotrowski $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
# Contributor: Tom Killian <tomk@runbox.com>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=uptimed
-pkgver=0.3.16
-pkgrel=4
+pkgver=0.3.17
+pkgrel=1
pkgdesc="A system uptime record daemon"
arch=(i686 x86_64)
url="http://podgorny.cz/uptimed/"
@@ -15,8 +16,8 @@ backup=(etc/uptimed.conf)
options=('!libtool')
install=$pkgname.install
source=(http://podgorny.cz/$pkgname/releases/$pkgname-$pkgver.tar.bz2
- uptimed)
-md5sums=('f87ec2cc39039239004afa542cf99c59'
+ rc.d)
+md5sums=('528b62c33454b33537c3bf2366977bdb'
'4ae90bee9fc78014a889a5072effb735')
build() {
@@ -40,5 +41,5 @@ package() {
make prefix=$pkgdir/usr sysconfdir=$pkgdir/etc install
mv $pkgdir/etc/uptimed.conf-dist $pkgdir/etc/uptimed.conf
- install -D $srcdir/uptimed $pkgdir/etc/rc.d/uptimed
+ install -D $srcdir/rc.d $pkgdir/etc/rc.d/uptimed
}
diff --git a/community/uptimed/rc.d b/community/uptimed/rc.d
new file mode 100644
index 000000000..6fe9ec3e3
--- /dev/null
+++ b/community/uptimed/rc.d
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/uptimed`
+case "$1" in
+ start)
+ stat_busy "Starting Uptimed Daemon"
+ [ -z "$PID" ] && /usr/sbin/uptimed -b # create the boot record
+ if [ $? -gt 0 ] ; then
+ stat_fail
+ else
+ add_daemon uptimed # create the 'state' dir
+ /usr/sbin/uptimed # fire up the daemon
+ if [ $? -gt 0 ]; then
+ stat_fail
+ fi
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Uptimed Daemon"
+ [ "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon uptimed # remove the 'state' dir
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/extra/jade/PKGBUILD b/extra/jade/PKGBUILD
index 61c446a3e..1fa51e196 100644
--- a/extra/jade/PKGBUILD
+++ b/extra/jade/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id: PKGBUILD 150527 2012-02-18 12:08:07Z pierre $
+# $Id: PKGBUILD 161891 2012-06-16 05:10:30Z eric $
# Maintainer:
# Contributor: dorphell <dorphell@archlinux.org>
# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
pkgname=jade
pkgver=1.2.1
-pkgrel=7
-_debpatch=47
+pkgrel=8
+_debpatch=47.1
pkgdesc="James Clark's DSSSL Engine"
url='http://www.jclark.com/jade/'
arch=('i686' 'x86_64')
@@ -17,7 +17,7 @@ options=('!libtool' '!makeflags')
source=("ftp://ftp.jclark.com/pub/${pkgname}/${pkgname}-${pkgver}.tar.gz"
"http://ftp.debian.org/debian/pool/main/j/jade/jade_${pkgver}-${_debpatch}.diff.gz")
md5sums=('4239670ca6b578bff68b8c2e7cd1225f'
- 'feb3889e2a5fa86ac6bdb742a25d0001')
+ '6c9c0109e3b6d283cb7a18ec8a672575')
build() {
cd "${srcdir}"/${pkgname}-${pkgver}
diff --git a/extra/libdrm-old/COPYING b/extra/libdrm-old/COPYING
new file mode 100644
index 000000000..6e74c337c
--- /dev/null
+++ b/extra/libdrm-old/COPYING
@@ -0,0 +1,48 @@
+ Copyright 2005 Adam Jackson.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation on the rights to use, copy, modify, merge,
+ publish, distribute, sub license, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the
+ next paragraph) shall be included in all copies or substantial
+ portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NON-INFRINGEMENT. IN NO EVENT SHALL ADAM JACKSON BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+------------------------------------------------------------------------
+
+ Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
+ Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
+ All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice (including the
+ next paragraph) shall be included in all copies or substantial
+ portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS
+ SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
diff --git a/extra/libdrm-old/PKGBUILD b/extra/libdrm-old/PKGBUILD
new file mode 100644
index 000000000..f72b03e5c
--- /dev/null
+++ b/extra/libdrm-old/PKGBUILD
@@ -0,0 +1,54 @@
+#Id$
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=libdrm-old
+pkgname=(libdrm-old libdrm-nouveau1)
+pkgver=2.4.33
+pkgrel=1
+pkgdesc="Userspace interface to kernel DRM services"
+arch=(i686 x86_64)
+license=('custom')
+depends=('glibc' 'libpciaccess')
+makedepends=('cairo' 'valgrind')
+options=('!libtool' '!emptydirs')
+url="http://dri.freedesktop.org/"
+source=(http://dri.freedesktop.org/libdrm/libdrm-$pkgver.tar.bz2
+ no-pthread-stubs.patch
+ COPYING
+)
+sha1sums=('4da2c635491724e44326871e6a49ccfec0b6b5a6'
+ '825ff5e0c4238b31bdea52f104bfec8949270e25'
+ 'ba3dcd636997ee0d30df14b03dae05c24ae5d094')
+
+build() {
+ cd "libdrm-$pkgver"
+ patch -Np1 -i "$srcdir/no-pthread-stubs.patch"
+
+ #libtoolize --force
+ autoreconf --force --install
+ ./configure --prefix=/usr \
+ --disable-libkms \
+ --disable-intel \
+ --disable-radeon \
+ --enable-nouveau-experimental-api
+ make
+}
+
+package_libdrm-old() {
+ pkgdesc="Userspace interface to kernel DRM services - used as makedepends for nouveau-dri"
+ conflicts=('libdrm')
+ provides=("libdrm=$pkgver")
+ cd "libdrm-$pkgver"
+ make DESTDIR="$pkgdir" install
+ rm "$pkgdir"/usr/lib/libdrm_nouveau.so.1*
+}
+
+package_libdrm-nouveau1() {
+ pkgdesc="Userspace interface to kernel DRM services for nouveau - used as depends for nouveau-dri"
+ depends=(libdrm)
+ cd "libdrm-$pkgver"
+ make DESTDIR="$pkgdir" install-libdrm_laLTLIBRARIES
+ make -C nouveau DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" uninstall-libdrm_laLTLIBRARIES
+ rm -rf "$pkgdir"/usr/include/ "$pkgdir"/usr/lib/pkgconfig/libdrm_nouveau.pc "$pkgdir"/usr/lib/libdrm_nouveau.so
+}
diff --git a/extra/libdrm-old/no-pthread-stubs.patch b/extra/libdrm-old/no-pthread-stubs.patch
new file mode 100644
index 000000000..5430244f9
--- /dev/null
+++ b/extra/libdrm-old/no-pthread-stubs.patch
@@ -0,0 +1,66 @@
+diff -ru libdrm-2.4.0/configure.ac libdrm-2.4.0-nostubs/configure.ac
+--- libdrm-2.4.0/configure.ac 2008-10-09 21:57:09.000000000 +0200
++++ libdrm-2.4.0-nostubs/configure.ac 2008-10-21 10:48:24.000000000 +0200
+@@ -47,10 +47,6 @@
+ LT_INIT([disable-static])
+
+
+-PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs)
+-AC_SUBST(PTHREADSTUBS_CFLAGS)
+-AC_SUBST(PTHREADSTUBS_LIBS)
+-
+ pkgconfigdir=${libdir}/pkgconfig
+ AC_SUBST(pkgconfigdir)
+ AC_ARG_ENABLE([udev],
+--- libdrm-2.4.16/intel/Makefile.am 2009-11-20 23:54:36.000000000 +0000
++++ libdrm-2.4.16/intel/Makefile.am.new 2009-12-07 08:11:32.235748069 +0000
+@@ -26,7 +26,6 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/intel \
+- $(PTHREADSTUBS_CFLAGS) \
+ $(PCIACCESS_CFLAGS) \
+ -I$(top_srcdir)/include/drm
+
+@@ -34,7 +33,6 @@
+ libdrm_intel_ladir = $(libdir)
+ libdrm_intel_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+ libdrm_intel_la_LIBADD = ../libdrm.la \
+- @PTHREADSTUBS_LIBS@ \
+ @PCIACCESS_LIBS@ \
+ @CLOCK_LIB@
+
+--- libdrm-2.4.16/radeon/Makefile.am 2009-11-20 23:54:36.000000000 +0000
++++ libdrm-2.4.16/radeon/Makefile.am.new 2009-12-07 08:12:31.889075388 +0000
+@@ -26,13 +26,12 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/radeon \
+- $(PTHREADSTUBS_CFLAGS) \
+ -I$(top_srcdir)/include/drm
+
+ libdrm_radeon_la_LTLIBRARIES = libdrm_radeon.la
+ libdrm_radeon_ladir = $(libdir)
+ libdrm_radeon_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+-libdrm_radeon_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
++libdrm_radeon_la_LIBADD = ../libdrm.la
+
+ libdrm_radeon_la_SOURCES = \
+ radeon_bo_gem.c \
+--- libdrm-2.4.16/nouveau/Makefile.am 2009-11-20 23:54:36.000000000 +0000
++++ libdrm-2.4.16/nouveau/Makefile.am.new 2009-12-07 08:13:01.489072320 +0000
+@@ -2,13 +2,12 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/nouveau \
+- $(PTHREADSTUBS_CFLAGS) \
+ -I$(top_srcdir)/include/drm
+
+ libdrm_nouveau_la_LTLIBRARIES = libdrm_nouveau.la
+ libdrm_nouveau_ladir = $(libdir)
+ libdrm_nouveau_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+-libdrm_nouveau_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
++libdrm_nouveau_la_LIBADD = ../libdrm.la
+
+ libdrm_nouveau_la_SOURCES = \
+ nouveau_device.c \
diff --git a/extra/libdrm/PKGBUILD b/extra/libdrm/PKGBUILD
index 52be2e1bf..e34832a29 100644
--- a/extra/libdrm/PKGBUILD
+++ b/extra/libdrm/PKGBUILD
@@ -1,51 +1,45 @@
-# $Id: PKGBUILD 154508 2012-03-29 17:30:54Z andyrtr $
+# $Id: PKGBUILD 161901 2012-06-16 12:11:13Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=libdrm
-pkgver=2.4.33
+pkgver=2.4.35
pkgrel=1
pkgdesc="Userspace interface to kernel DRM services"
arch=(i686 x86_64)
license=('custom')
depends=('glibc' 'libpciaccess')
makedepends=('cairo' 'valgrind')
+replaces=('libdrm-new' 'libdrm-nouveau')
options=('!libtool')
url="http://dri.freedesktop.org/"
-source=(http://dri.freedesktop.org/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+source=(http://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2
no-pthread-stubs.patch
COPYING
-# git_fixes.diff
)
-sha1sums=('4da2c635491724e44326871e6a49ccfec0b6b5a6'
- '825ff5e0c4238b31bdea52f104bfec8949270e25'
+sha1sums=('a1d8d4945f782371d7855dbd693db885bd7e3d83'
+ '2a5410baa3e6e078f9378ce486a88f41d22fd838'
'ba3dcd636997ee0d30df14b03dae05c24ae5d094')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- patch -Np1 -i "${srcdir}/no-pthread-stubs.patch"
+ cd $pkgname-$pkgver
+ patch -Np1 -i ../no-pthread-stubs.patch
- # git fixes - currently none
-# patch -Np1 -i ${srcdir}/git_fixes.diff
-
#libtoolize --force
autoreconf --force --install
./configure --prefix=/usr \
--enable-udev \
- --enable-intel \
- --enable-radeon \
- --enable-vmwgfx-experimental-api \
- --enable-nouveau-experimental-api
+ --enable-vmwgfx-experimental-api
make
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd $pkgname-$pkgver
make -k check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
- install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 "${srcdir}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/"
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+ install -m755 -d "$pkgdir/usr/share/licenses/$pkgname"
+ install -m644 ../COPYING "$pkgdir/usr/share/licenses/$pkgname/"
}
diff --git a/extra/libdrm/no-pthread-stubs.patch b/extra/libdrm/no-pthread-stubs.patch
index 5430244f9..6745f4bc4 100644
--- a/extra/libdrm/no-pthread-stubs.patch
+++ b/extra/libdrm/no-pthread-stubs.patch
@@ -1,6 +1,6 @@
-diff -ru libdrm-2.4.0/configure.ac libdrm-2.4.0-nostubs/configure.ac
---- libdrm-2.4.0/configure.ac 2008-10-09 21:57:09.000000000 +0200
-+++ libdrm-2.4.0-nostubs/configure.ac 2008-10-21 10:48:24.000000000 +0200
+diff -Nur libdrm-2.4.34.orig/configure.ac libdrm-2.4.34/configure.ac
+--- libdrm-2.4.34.orig/configure.ac 2012-05-12 14:54:06.375335490 +0000
++++ libdrm-2.4.34/configure.ac 2012-05-12 14:54:32.075142065 +0000
@@ -47,10 +47,6 @@
LT_INIT([disable-static])
@@ -12,17 +12,18 @@ diff -ru libdrm-2.4.0/configure.ac libdrm-2.4.0-nostubs/configure.ac
pkgconfigdir=${libdir}/pkgconfig
AC_SUBST(pkgconfigdir)
AC_ARG_ENABLE([udev],
---- libdrm-2.4.16/intel/Makefile.am 2009-11-20 23:54:36.000000000 +0000
-+++ libdrm-2.4.16/intel/Makefile.am.new 2009-12-07 08:11:32.235748069 +0000
+diff -Nur libdrm-2.4.34.orig/intel/Makefile.am libdrm-2.4.34/intel/Makefile.am
+--- libdrm-2.4.34.orig/intel/Makefile.am 2012-05-12 14:54:06.372001955 +0000
++++ libdrm-2.4.34/intel/Makefile.am 2012-05-12 14:55:24.164745055 +0000
@@ -26,7 +26,6 @@
$(WARN_CFLAGS) \
-I$(top_srcdir) \
-I$(top_srcdir)/intel \
- $(PTHREADSTUBS_CFLAGS) \
$(PCIACCESS_CFLAGS) \
+ $(VALGRIND_CFLAGS) \
-I$(top_srcdir)/include/drm
-
-@@ -34,7 +33,6 @@
+@@ -35,7 +34,6 @@
libdrm_intel_ladir = $(libdir)
libdrm_intel_la_LDFLAGS = -version-number 1:0:0 -no-undefined
libdrm_intel_la_LIBADD = ../libdrm.la \
@@ -30,8 +31,28 @@ diff -ru libdrm-2.4.0/configure.ac libdrm-2.4.0-nostubs/configure.ac
@PCIACCESS_LIBS@ \
@CLOCK_LIB@
---- libdrm-2.4.16/radeon/Makefile.am 2009-11-20 23:54:36.000000000 +0000
-+++ libdrm-2.4.16/radeon/Makefile.am.new 2009-12-07 08:12:31.889075388 +0000
+diff -Nur libdrm-2.4.34.orig/nouveau/Makefile.am libdrm-2.4.34/nouveau/Makefile.am
+--- libdrm-2.4.34.orig/nouveau/Makefile.am 2012-05-12 14:54:06.331998148 +0000
++++ libdrm-2.4.34/nouveau/Makefile.am 2012-05-12 14:56:00.941132085 +0000
+@@ -2,14 +2,13 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/nouveau \
+- $(PTHREADSTUBS_CFLAGS) \
+ -I$(top_srcdir)/include/drm \
+ -DDEBUG
+
+ libdrm_nouveau_la_LTLIBRARIES = libdrm_nouveau.la
+ libdrm_nouveau_ladir = $(libdir)
+ libdrm_nouveau_la_LDFLAGS = -version-number 2:0:0 -no-undefined
+-libdrm_nouveau_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
++libdrm_nouveau_la_LIBADD = ../libdrm.la
+
+ libdrm_nouveau_la_SOURCES = nouveau.c \
+ pushbuf.c \
+diff -Nur libdrm-2.4.34.orig/radeon/Makefile.am libdrm-2.4.34/radeon/Makefile.am
+--- libdrm-2.4.34.orig/radeon/Makefile.am 2012-05-12 14:54:06.365334765 +0000
++++ libdrm-2.4.34/radeon/Makefile.am 2012-05-12 14:55:48.084557437 +0000
@@ -26,13 +26,12 @@
$(WARN_CFLAGS) \
-I$(top_srcdir) \
@@ -47,20 +68,3 @@ diff -ru libdrm-2.4.0/configure.ac libdrm-2.4.0-nostubs/configure.ac
libdrm_radeon_la_SOURCES = \
radeon_bo_gem.c \
---- libdrm-2.4.16/nouveau/Makefile.am 2009-11-20 23:54:36.000000000 +0000
-+++ libdrm-2.4.16/nouveau/Makefile.am.new 2009-12-07 08:13:01.489072320 +0000
-@@ -2,13 +2,12 @@
- $(WARN_CFLAGS) \
- -I$(top_srcdir) \
- -I$(top_srcdir)/nouveau \
-- $(PTHREADSTUBS_CFLAGS) \
- -I$(top_srcdir)/include/drm
-
- libdrm_nouveau_la_LTLIBRARIES = libdrm_nouveau.la
- libdrm_nouveau_ladir = $(libdir)
- libdrm_nouveau_la_LDFLAGS = -version-number 1:0:0 -no-undefined
--libdrm_nouveau_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
-+libdrm_nouveau_la_LIBADD = ../libdrm.la
-
- libdrm_nouveau_la_SOURCES = \
- nouveau_device.c \
diff --git a/extra/libpng/PKGBUILD b/extra/libpng/PKGBUILD
index 7563f5316..f37b138c5 100644
--- a/extra/libpng/PKGBUILD
+++ b/extra/libpng/PKGBUILD
@@ -1,12 +1,12 @@
-# $Id: PKGBUILD 155695 2012-04-05 07:31:28Z ibiru $
+# $Id: PKGBUILD 161912 2012-06-16 14:11:51Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: dorphell <dorphell@archlinux.org>
# Contributor: Travis Willard <travis@archlinux.org>
# Contributor: Douglas Soares de Andrade <douglas@archlinux.org>
pkgname=libpng
-pkgver=1.5.10
-_apngver=1.5.10
+pkgver=1.5.11
+_apngver=1.5.11
pkgrel=1
pkgdesc="A collection of routines used to create PNG format graphics files"
arch=('i686' 'x86_64')
@@ -16,22 +16,22 @@ depends=('zlib' 'sh')
options=('!libtool')
source=("http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.xz"
"http://downloads.sourceforge.net/sourceforge/libpng-apng/libpng-$_apngver-apng.patch.gz")
-md5sums=('9c2ac3c3a31de2ab867875718f8de18e'
- '88517ab0e9c0be2590800116e2b50c8d')
+md5sums=('57f838299e701b6db9e8389c5602dc18'
+ 'e9ddf7670e78ad93f4cc189c884d4f26')
build() {
- cd "$pkgname-$pkgver"
+ cd $pkgname-$pkgver
# Add animated PNG (apng) support
# see http://sourceforge.net/projects/libpng-apng/
- patch -p1 -i "$srcdir/libpng-$_apngver-apng.patch"
+ patch -p1 -i ../libpng-$_apngver-apng.patch
./configure --prefix=/usr
make
}
package() {
- cd "$pkgname-$pkgver"
+ cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
cd contrib/pngminus
diff --git a/extra/mesa/PKGBUILD b/extra/mesa/PKGBUILD
index ada897178..9dad0740b 100644
--- a/extra/mesa/PKGBUILD
+++ b/extra/mesa/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 160367 2012-06-01 12:58:38Z dreisner $
+# $Id: PKGBUILD 161903 2012-06-16 12:11:28Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgbase=mesa
-pkgname=('mesa' 'libgl' 'osmesa' 'libglapi' 'libgbm' 'libgles' 'libegl' 'khrplatform-devel' 'ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri')
+pkgname=('mesa' 'libgl' 'osmesa' 'libglapi' 'libgbm' 'libgles' 'libegl' 'khrplatform-devel' 'ati-dri' 'intel-dri' 'svga-dri') #'nouveau-dri')
#_git=true
_gitdate=20111031
@@ -15,7 +15,7 @@ if [ "${_git}" = "true" ]; then
else
pkgver=8.0.3
fi
-pkgrel=2
+pkgrel=3
arch=('i686' 'x86_64')
makedepends=('glproto>=1.4.15' 'libdrm>=2.4.30' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libx11>=1.4.99.1' 'libxt>=1.1.1'
'gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'imake' 'llvm' 'udev>=183')
@@ -68,7 +68,8 @@ if [ "${_git}" = "true" ]; then
autoreconf -vfi
./configure --prefix=/usr \
--with-dri-driverdir=/usr/lib/xorg/modules/dri \
- --with-gallium-drivers=r300,r600,nouveau,svga,swrast \
+ --with-gallium-drivers=r300,r600,svga,swrast \
+ --with-dri-drivers=i915,i965,r200,radeon,swrast \
--enable-gallium-llvm \
--enable-gallium-egl \
--enable-shared-glapi \
diff --git a/extra/nouveau-dri/LICENSE b/extra/nouveau-dri/LICENSE
new file mode 100644
index 000000000..ae33d2709
--- /dev/null
+++ b/extra/nouveau-dri/LICENSE
@@ -0,0 +1,82 @@
+Disclaimer
+
+Mesa is a 3-D graphics library with an API which is very similar to
+that of OpenGL*
+To the extent that Mesa utilizes the OpenGL command syntax or state
+machine, it is being used with authorization from Silicon Graphics,
+Inc.(SGI). However, the author does not possess an OpenGL license
+from SGI, and makes no claim that Mesa is in any way a compatible
+replacement for OpenGL or associated with SGI. Those who want a
+licensed implementation of OpenGL should contact a licensed
+vendor.
+
+Please do not refer to the library as MesaGL (for legal
+reasons). It's just Mesa or The Mesa 3-D graphics
+library
+
+* OpenGL is a trademark of Silicon Graphics Incorporated.
+
+License / Copyright Information
+
+The Mesa distribution consists of several components. Different copyrights
+and licenses apply to different components. For example, GLUT is copyrighted
+by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa
+device drivers are copyrighted by their authors. See below for a list of
+Mesa's main components and the license for each.
+
+The core Mesa library is licensed according to the terms of the MIT license.
+This allows integration with the XFree86, Xorg and DRI projects.
+
+The default Mesa license is as follows:
+
+Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Attention, Contributors
+
+When contributing to the Mesa project you must agree to the licensing terms
+of the component to which you're contributing.
+The following section lists the primary components of the Mesa distribution
+and their respective licenses.
+
+
+Mesa Component Licenses
+
+Component Location Primary Author License
+----------------------------------------------------------------------------
+Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
+
+Device drivers src/mesa/drivers/* See drivers See drivers
+
+Ext headers include/GL/glext.h SGI SGI Free B
+ include/GL/glxext.h
+
+GLUT src/glut/ Mark Kilgard Mark's copyright
+
+Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
+
+SGI GLU library src/glu/sgi/ SGI SGI Free B
+
+demo programs progs/demos/ various see source files
+
+X demos progs/xdemos/ Brian Paul see source files
+
+SGI demos progs/samples/ SGI SGI copyright
+
+RedBook demos progs/redbook/ SGI SGI copyright
diff --git a/extra/nouveau-dri/PKGBUILD b/extra/nouveau-dri/PKGBUILD
new file mode 100644
index 000000000..e4066e945
--- /dev/null
+++ b/extra/nouveau-dri/PKGBUILD
@@ -0,0 +1,56 @@
+# $Id: PKGBUILD 161906 2012-06-16 12:11:45Z ibiru $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname=nouveau-dri
+pkgver=8.0.3
+pkgrel=3
+arch=('i686' 'x86_64')
+makedepends=('glproto>=1.4.15' 'libdrm-old' 'libdrm-nouveau1' 'libxxf86vm>=1.1.1' 'libxdamage>=1.1.3' 'expat>=2.0.1' 'libx11>=1.4.99.1' 'libxt>=1.1.1'
+ 'gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'imake' 'llvm' 'udev>=183')
+url="http://mesa3d.sourceforge.net"
+license=('custom')
+source=(LICENSE
+ mesa-8.0.3-llvm-3.1-fixes.patch
+ ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2
+)
+md5sums=('5c65a0fe315dd347e09b1f2826a1df5a'
+ 'c452ed3392468170726c004c2f4e02ca'
+ 'cc5ee15e306b8c15da6a478923797171')
+
+build() {
+ cd ${srcdir}/?esa-*
+
+ patch -Np1 -i "${srcdir}/mesa-8.0.3-llvm-3.1-fixes.patch"
+
+ autoreconf -vfi
+ ./configure --prefix=/usr \
+ --with-dri-driverdir=/usr/lib/xorg/modules/dri \
+ --with-gallium-drivers=nouveau \
+ --with-dri-drivers=nouveau \
+ --enable-gallium-llvm \
+ --enable-gallium-egl \
+ --enable-shared-glapi \
+ --enable-gbm \
+ --enable-glx-tls \
+ --enable-dri \
+ --enable-glx \
+ --enable-osmesa \
+ --enable-gles1 \
+ --enable-gles2 \
+ --enable-egl \
+ --enable-texture-float \
+ --enable-xa \
+ --enable-shared-dricore
+ make
+}
+
+package() {
+ depends=("libgl=${pkgver}" 'libdrm-nouveau1')
+ pkgdesc="Mesa classic DRI + Gallium3D drivers for Nouveau"
+
+ # classic mesa driver for nv10 , nv20 nouveau_vieux_dri.so
+ make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/nouveau DESTDIR="${pkgdir}" install
+ # gallium3D driver for nv30 - nv40 - nv50 nouveau_dri.so
+ make -C ${srcdir}/?esa-*/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install
+}
diff --git a/extra/nouveau-dri/mesa-8.0.3-llvm-3.1-fixes.patch b/extra/nouveau-dri/mesa-8.0.3-llvm-3.1-fixes.patch
new file mode 100644
index 000000000..a567b5926
--- /dev/null
+++ b/extra/nouveau-dri/mesa-8.0.3-llvm-3.1-fixes.patch
@@ -0,0 +1,46 @@
+diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+index a50a51d..f1bb4d9 100644
+--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
++++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+@@ -235,7 +235,24 @@ lp_disassemble(const void* func)
+ int AsmPrinterVariant = AsmInfo->getAssemblerDialect();
+ #endif
+
+-#if HAVE_LLVM >= 0x0300
++#if HAVE_LLVM >= 0x0301
++ OwningPtr<const MCRegisterInfo> MRI(T->createMCRegInfo(Triple));
++ if (!MRI) {
++ debug_printf("error: no register info for target %s\n", Triple.c_str());
++ return;
++ }
++
++ OwningPtr<const MCInstrInfo> MII(T->createMCInstrInfo());
++ if (!MII) {
++ debug_printf("error: no instruction info for target %s\n", Triple.c_str());
++ return;
++ }
++#endif
++
++#if HAVE_LLVM >= 0x0301
++ OwningPtr<MCInstPrinter> Printer(
++ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MII, *MRI, *STI));
++#elif HAVE_LLVM == 0x0300
+ OwningPtr<MCInstPrinter> Printer(
+ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI));
+ #elif HAVE_LLVM >= 0x0208
+diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
+index fe7616b..68f8808 100644
+--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
++++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
+@@ -62,7 +62,11 @@
+ extern "C" void
+ lp_register_oprofile_jit_event_listener(LLVMExecutionEngineRef EE)
+ {
++#if HAVE_LLVM >= 0x0301
++ llvm::unwrap(EE)->RegisterJITEventListener(llvm::JITEventListener::createOProfileJITEventListener());
++#else
+ llvm::unwrap(EE)->RegisterJITEventListener(llvm::createOProfileJITEventListener());
++#endif
+ }
+
+
diff --git a/extra/perl-dbd-mysql/PKGBUILD b/extra/perl-dbd-mysql/PKGBUILD
index 33f9e418a..889f627e0 100644
--- a/extra/perl-dbd-mysql/PKGBUILD
+++ b/extra/perl-dbd-mysql/PKGBUILD
@@ -1,20 +1,20 @@
-# $Id: PKGBUILD 160517 2012-06-02 10:27:16Z bluewind $
+# $Id: PKGBUILD 161944 2012-06-16 19:18:00Z eric $
# Maintainer: kevin <kevin@archlinux.org>
# Contributor: Eric Johnson <eric@coding-zone.com>
pkgname=perl-dbd-mysql
_realname=DBD-mysql
-pkgver=4.020
-pkgrel=3
+pkgver=4.021
+pkgrel=1
pkgdesc="Perl/CPAN DBD::mysql module for interacting with MySQL via DBD"
-arch=(i686 x86_64)
+arch=('i686' 'x86_64')
license=('GPL' 'PerlArtistic')
url="http://search.cpan.org/dist/${_realname}/"
-depends=('libmysqlclient' 'perl-dbi' 'perl>=5.14.0')
+depends=('libmysqlclient' 'perl-dbi')
makedepends=('mysql')
-options=(!emptydirs)
+options=('!emptydirs')
source=(http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/${_realname}-${pkgver}.tar.gz)
-md5sums=('a2bf8808bbd45298e84dde06afbd58e9')
+md5sums=('35653efca4bbe6e49ef31d237b4a50b7')
build() {
cd "${srcdir}/${_realname}-${pkgver}"
diff --git a/extra/racket/PKGBUILD b/extra/racket/PKGBUILD
index a5e0d0116..1a74a6ab4 100644
--- a/extra/racket/PKGBUILD
+++ b/extra/racket/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 157415 2012-04-28 09:27:18Z allan $
+# $Id: PKGBUILD 161957 2012-06-17 01:21:57Z eric $
# Maintainer: Eric Bélanger <eric@archlinux.org>
pkgname=racket
pkgver=5.2.1
-pkgrel=2
+pkgrel=3
pkgdesc="A programming language environment (formerly known as PLT Scheme) suitable for tasks ranging from scripting to application development"
arch=('i686' 'x86_64')
url="http://racket-lang.org/"
@@ -13,9 +13,10 @@ makedepends=('gsfonts')
options=('!libtool' '!strip')
install=racket.install
source=(http://download.racket-lang.org/installers/${pkgver}/racket/${pkgname}-${pkgver}-src-unix.tgz \
- drracket.desktop)
+ drracket.desktop drracket-normal.rkt)
sha1sums=('b51cdd8b9825edb60e5c2c80472cec8220918cd1'
- 'a20808f6b250225704856f82a544681a962a299d')
+ 'a20808f6b250225704856f82a544681a962a299d'
+ '6699e80e424479d45f427ba341003235e0d475cf')
build() {
cd "${srcdir}/${pkgname}-${pkgver}/src"
@@ -27,6 +28,10 @@ build() {
package() {
cd "${srcdir}/${pkgname}-${pkgver}/src"
make DESTDIR="${pkgdir}" install
+
+ # FS#30245
+ install -D -m644 "${srcdir}/drracket-normal.rkt" "${pkgdir}/usr/lib/racket/collects/drracket/private/drracket-normal.rkt"
+
install -D -m644 ../collects/icons/plt.xpm "${pkgdir}/usr/share/pixmaps/drracket.xpm"
install -D -m644 "${srcdir}/drracket.desktop" "${pkgdir}/usr/share/applications/drracket.desktop"
}
diff --git a/extra/racket/drracket-normal.rkt b/extra/racket/drracket-normal.rkt
new file mode 100644
index 000000000..5ed11c21c
--- /dev/null
+++ b/extra/racket/drracket-normal.rkt
@@ -0,0 +1,199 @@
+#lang racket/base
+
+(require mred
+ racket/class
+ racket/cmdline
+ racket/list
+ framework/private/bday
+ framework/splash
+ racket/runtime-path
+ racket/file
+ "frame-icon.rkt"
+ "eb.rkt")
+
+(define-runtime-path doc-icon.rkt "dock-icon.rkt")
+
+(define files-to-open (command-line #:args filenames filenames))
+
+;; updates the command-line-arguments with only the files
+;; to open. See also main.rkt.
+(current-command-line-arguments (apply vector files-to-open))
+
+(define (currently-the-weekend?)
+ (define date (seconds->date (current-seconds)))
+ (define dow (date-week-day date))
+ (or (= dow 6) (= dow 0)))
+
+(define (valentines-day?)
+ (define date (seconds->date (current-seconds)))
+ (and (= 2 (date-month date))
+ (= 14 (date-day date))))
+
+(define (current-icon-state)
+ (cond
+ [(valentines-day?) 'valentines]
+ [(currently-the-weekend?) 'weekend]
+ [else 'normal]))
+
+(define-values (texas-independence-day? prince-kuhio-day? kamehameha-day? halloween?)
+ (let* ([date (seconds->date (current-seconds))]
+ [month (date-month date)]
+ [day (date-day date)]
+ [dow (date-week-day date)])
+ (values (and (= 3 month) (= 2 day))
+ #f
+ (and (= 6 month) (= 11 day))
+ (and (= 10 month) (= 31 day)))))
+
+
+(define special-state #f)
+
+(define (icons-bitmap name)
+ (make-object bitmap% (collection-file-path name "icons")))
+
+(define-struct magic-image (chars filename [bitmap #:mutable]))
+
+(define (magic-img str img)
+ (make-magic-image (reverse (string->list str)) img #f))
+
+;; magic strings and their associated images. There should not be a string
+;; in this list that is a prefix of another.
+(define magic-images
+ (list #;(magic-img "larval" "PLT-206-larval.png")
+ (magic-img "mars" "PLT-206-mars.jpg")))
+
+(define (load-magic-images)
+ (set! load-magic-images void) ; run only once
+ (for-each (λ (magic-image)
+ (unless (magic-image-bitmap magic-image)
+ (set-magic-image-bitmap!
+ magic-image
+ (icons-bitmap (magic-image-filename magic-image)))))
+ magic-images))
+
+(define longest-magic-string
+ (apply max (map (λ (s) (length (magic-image-chars s))) magic-images)))
+
+(define key-codes null)
+
+(define (find-magic-image)
+ (define (prefix? l1 l2)
+ (or (null? l1)
+ (and (pair? l2)
+ (eq? (car l1) (car l2))
+ (prefix? (cdr l1) (cdr l2)))))
+ (ormap (λ (i) (and (prefix? (magic-image-chars i) key-codes) i))
+ magic-images))
+
+(define (add-key-code new-code)
+ (set! key-codes (cons new-code key-codes))
+ (when ((length key-codes) . > . longest-magic-string)
+ (set! key-codes (take key-codes longest-magic-string))))
+
+(define (drracket-splash-char-observer evt)
+ (let ([ch (send evt get-key-code)])
+ (when (and (eq? ch #\q)
+ (send evt get-control-down))
+ (exit))
+ (when (char? ch)
+ ;; as soon as something is typed, load the bitmaps
+ (load-magic-images)
+ (add-key-code ch)
+ (let ([match (find-magic-image)])
+ (when match
+ (set! key-codes null)
+ (set-splash-bitmap
+ (if (eq? special-state match)
+ (begin (set! special-state #f) the-splash-bitmap)
+ (begin (set! special-state match)
+ (magic-image-bitmap match))))
+ (refresh-splash))))))
+
+(when (eb-bday?) (install-eb))
+
+(define weekend-bitmap-spec (collection-file-path "plt-logo-red-shiny.png" "icons"))
+(define normal-bitmap-spec (collection-file-path "plt-logo-red-diffuse.png" "icons"))
+(define valentines-days-spec (collection-file-path "heart.png" "icons"))
+
+(define the-bitmap-spec
+ (cond
+ [(valentines-day?)
+ valentines-days-spec]
+ [(or prince-kuhio-day? kamehameha-day?)
+ (set-splash-progress-bar?! #f)
+ (let ([size ((dynamic-require 'drracket/private/palaka 'palaka-pattern-size) 4)])
+ (vector (dynamic-require 'drracket/private/honu-logo 'draw-honu)
+ size
+ size))]
+ [texas-independence-day?
+ (collection-file-path "texas-plt-bw.gif" "icons")]
+ [halloween?
+ (collection-file-path "PLT-pumpkin.png" "icons")]
+ [(currently-the-weekend?)
+ weekend-bitmap-spec]
+ [else normal-bitmap-spec]))
+(define the-splash-bitmap (read-bitmap the-bitmap-spec))
+(set-splash-char-observer drracket-splash-char-observer)
+
+(when (eq? (system-type) 'macosx)
+ (define initial-state (current-icon-state))
+ (define weekend-bitmap (if (equal? the-bitmap-spec weekend-bitmap-spec)
+ the-splash-bitmap
+ #f))
+ (define weekday-bitmap (if (equal? the-bitmap-spec normal-bitmap-spec)
+ the-splash-bitmap
+ #f))
+ (define valentines-bitmap (if (equal? the-bitmap-spec valentines-days-spec)
+ the-splash-bitmap
+ #f))
+ (define set-doc-tile-bitmap (dynamic-require doc-icon.rkt 'set-dock-tile-bitmap))
+ (define (set-icon state)
+ (case state
+ [(valentines)
+ (unless valentines-bitmap (set! valentines-bitmap (read-bitmap valentines-days-spec)))
+ (set-doc-tile-bitmap valentines-bitmap)]
+ [(weekend)
+ (unless weekend-bitmap (set! weekend-bitmap (read-bitmap weekend-bitmap-spec)))
+ (set-doc-tile-bitmap weekend-bitmap)]
+ [(normal)
+ (unless weekday-bitmap (set! weekday-bitmap (read-bitmap normal-bitmap-spec)))
+ (set-doc-tile-bitmap weekday-bitmap)]))
+ (set-icon initial-state)
+ (void
+ (thread
+ (λ ()
+ (let loop ([last-state initial-state])
+ (sleep 10)
+ (define next-state (current-icon-state))
+ (unless (equal? last-state next-state)
+ (set-icon next-state))
+ (loop next-state))))))
+
+(start-splash the-splash-bitmap
+ "DrRacket"
+ 700
+ #:allow-funny? #t
+ #:frame-icon todays-icon)
+
+(when (getenv "PLTDRBREAK")
+ (printf "PLTDRBREAK: creating break frame\n") (flush-output)
+ (let ([to-break (eventspace-handler-thread (current-eventspace))])
+ (parameterize ([current-eventspace (make-eventspace)])
+ (let* ([f (new frame% (label "Break DrRacket"))]
+ [b (new button%
+ (label "Break Main Thread")
+ (callback
+ (λ (x y)
+ (break-thread to-break)))
+ (parent f))]
+ [b (new button%
+ (label "Break All Threads")
+ (callback
+ (λ (x y)
+ ((dynamic-require 'drracket/private/key 'break-threads))))
+ (parent f))])
+ (send f show #t)))))
+
+(dynamic-require 'drracket/tool-lib #f)
+(shutdown-splash)
+(close-splash)
diff --git a/extra/xf86-video-ati/PKGBUILD b/extra/xf86-video-ati/PKGBUILD
index 5735fc350..5ba47825e 100644
--- a/extra/xf86-video-ati/PKGBUILD
+++ b/extra/xf86-video-ati/PKGBUILD
@@ -1,60 +1,31 @@
-# $Id: PKGBUILD 160377 2012-06-01 12:58:56Z dreisner $
+# $Id: PKGBUILD 161905 2012-06-16 12:11:37Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
pkgname=xf86-video-ati
-pkgver=6.14.99
-_gitdate=20120517
-pkgrel=1.${_gitdate} # UMS/EXA: Add reminder for potential solid picture performance issue.
+pkgver=6.14.5
+epoch=1
+pkgrel=1
pkgdesc="X.org ati video driver"
arch=('i686' 'x86_64')
url="http://xorg.freedesktop.org/"
license=('custom')
-depends=('libpciaccess' 'libdrm>=2.4.33' 'udev>=183' 'pixman' 'ati-dri')
-makedepends=('xorg-server-devel>=1.11.99.902' 'xf86driproto' 'mesa' 'glproto')
+depends=('libdrm>=2.4.35' 'systemd-tools' 'ati-dri')
+makedepends=('xorg-server-devel>=1.11.99.902' 'xf86driproto' 'mesa')
conflicts=('xorg-server<1.11.99.902')
groups=('xorg-drivers' 'xorg')
options=('!libtool')
-source=(#${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- ${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2::http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/snapshot/xf86-video-ati-3fb694b308ebadd1b849836059b6b56bb19385f7.tar.gz
- git_fixes.diff
- 0000-poor-man-s-solid-picture-support-for-r300-r600.patch
- 0001-poor-man-s-solid-picture-support-for-evergreen.patch
- 0002-poor-man-s-solid-picture-support-for-r100.patch
- 0003-poor-man-s-solid-picture-support-for-r200.patch)
-sha1sums=('75ad000bc00599e1797134f2d20d3094cba6af92'
- '8b774e2f0310075cff2b7d874b0bed38d6245769'
- '787f88c428f56ca6e96ba5eaf043a30bddfd0e23'
- '69359a6623fe0f2214790c8ad40cac1a680a3825'
- 'c0709ab82728e34838a8aeead7d1b79b7faf09bd'
- '77a519e250c27a9fb94eeb52da655eed7c5f2eca')
-sha1sums=('80c12b88e193354af204b13689b2fae922922c6c'
- '8b774e2f0310075cff2b7d874b0bed38d6245769'
- '787f88c428f56ca6e96ba5eaf043a30bddfd0e23'
- '69359a6623fe0f2214790c8ad40cac1a680a3825'
- 'c0709ab82728e34838a8aeead7d1b79b7faf09bd'
- '77a519e250c27a9fb94eeb52da655eed7c5f2eca')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2)
+sha256sums=('ef879d2845de50cec1aa98e37185271e1d535c0009efd6713ec88206b7197d53')
build() {
- #cd ${srcdir}/${pkgname}-${pkgver}
- cd ${srcdir}/${pkgname}*
- #patch -Np1 -i ${srcdir}/git_fixes.diff
-
- # fix rendering issues with recent cairo - testing attemp taken from https://bugs.freedesktop.org/show_bug.cgi?id=47266
- # and http://lists.x.org/archives/xorg-driver-ati/2012-April/022724.html
-# patch -Np1 -i ${srcdir}/0000-poor-man-s-solid-picture-support-for-r300-r600.patch
-# patch -Np1 -i ${srcdir}/0001-poor-man-s-solid-picture-support-for-evergreen.patch
-# patch -Np1 -i ${srcdir}/0002-poor-man-s-solid-picture-support-for-r100.patch
-# patch -Np1 -i ${srcdir}/0003-poor-man-s-solid-picture-support-for-r200.patch
-
- ./autogen.sh --prefix=/usr --enable-dri
-# ./configure --prefix=/usr --enable-dri
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr #--enable-dri --help
make
}
package() {
- #cd "${srcdir}/${pkgname}-${pkgver}"
- cd ${srcdir}/${pkgname}*
+ cd "${srcdir}/${pkgname}-${pkgver}"
make "DESTDIR=${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
diff --git a/extra/xf86-video-nouveau/PKGBUILD b/extra/xf86-video-nouveau/PKGBUILD
index a9fc10cbd..9c58482b4 100644
--- a/extra/xf86-video-nouveau/PKGBUILD
+++ b/extra/xf86-video-nouveau/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 160381 2012-06-01 12:59:04Z dreisner $
+# $Id: PKGBUILD 161904 2012-06-16 12:11:34Z ibiru $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: buddabrod <buddabrod@gmail.com>
pkgname=xf86-video-nouveau
-_gitdate=20120512
+_gitdate=20120615
pkgver=0.0.16_git${_gitdate} # see configure.ac
-pkgrel=2
+pkgrel=1
pkgdesc="Open Source 2D acceleration driver for nVidia cards (experimental)"
arch=('i686' 'x86_64')
url="http://nouveau.freedesktop.org/wiki/"
license=('GPL') #and MIT, not yet a license file, see http://nouveau.freedesktop.org/wiki/FAQ#head-09f75d03eb30011c754038a3893119a70745de4e
-depends=('libdrm-nouveau' 'udev')
+depends=('libdrm' 'udev')
optdepends=('nouveau-dri: experimental gallium3d features')
-makedepends=('xorg-server-devel' 'libdrm-new' 'xf86driproto')
+makedepends=('xorg-server-devel' 'xf86driproto')
conflicts=('xorg-server<1.11.99.902')
options=('!libtool')
install=$pkgname.install
source=(ftp://ftp.archlinux.org/other/$pkgname/xf86-video-nouveau-${_gitdate}.tar.bz2)
-md5sums=('3e27e283219936d64c194eca24cd81cd')
+md5sums=('9ceb49ff436c9a00536490fb1c8bf6d1')
# source PKGBUILD && mksource
mksource() {
@@ -30,12 +30,12 @@ mksource() {
}
build() {
- cd $srcdir/xf86-video-nouveau-${_gitdate}
+ cd xf86-video-nouveau-${_gitdate}
./autogen.sh --prefix=/usr
make
}
package() {
- cd $srcdir/xf86-video-nouveau-${_gitdate}
- make DESTDIR=$pkgdir install
+ cd xf86-video-nouveau-${_gitdate}
+ make DESTDIR="$pkgdir" install
}
diff --git a/libre/grub2/PKGBUILD b/libre/grub2/PKGBUILD
index a5051900f..1ef7c3934 100644
--- a/libre/grub2/PKGBUILD
+++ b/libre/grub2/PKGBUILD
@@ -1,9 +1,9 @@
# Maintainer: Ronald van Haren <ronald.archlinux.org>
# Contributor: Keshav P R <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)>
-# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_grub_bzr_rev="4232"
-_pkgver="2.00~beta4"
+_pkgver="2.00~beta6"
_grub_lua_ver=24
_grub_gpxe_ver=12
@@ -12,7 +12,7 @@ _grub_915_ver=9
pkgname=('grub2-common' 'grub2-bios' 'grub2-efi-i386')
pkgbase=grub2
-pkgver=2.00beta4
+pkgver=2.00beta6
pkgrel=1
url="http://www.gnu.org/software/grub/"
arch=('i686' 'x86_64')
@@ -30,15 +30,14 @@ source=("http://alpha.gnu.org/gnu/grub/grub-${_pkgver}".tar.xz
'parabola_grub_mkconfig_fixes.patch'
'grub.default'
'grub.cfg'
- '20_memtest86+'
- 'grub-install.fix')
+ '20_memtest86+')
noextract=("grub2_extras_lua_r${_grub_lua_ver}.tar.xz"
"grub2_extras_gpxe_r${_grub_gpxe_ver}.tar.xz"
"grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz"
"grub2_extras_915resolution_r${_grub_915_ver}.tar.xz")
-sha1sums=('72d7f46a67dd7e958105e7faac72e646ef6e9f11'
+sha1sums=('0ba5ccf6e6761911f9bf236e21f8f77a2d29ebdb'
'89290031b974780c6df76893836d2477d4add895'
'b04994c005910b4bf123f034b30109d5c8d6fd86'
'eb4b35b4c36b64f9405cbcbc538cb205171c1c0a'
@@ -46,8 +45,8 @@ sha1sums=('72d7f46a67dd7e958105e7faac72e646ef6e9f11'
'31aa740fc225b3f3ed4917843038f9e8658a71be'
'348b148d5183825f31a3d24a7ebf2d6a709f4e6a'
'9735043d518e16f147f64ef283eceb2549fed860'
- 'ce35d7ae75cd1b5b677e894e528f96add40e77b9'
- '4ff0e12e65fb1d4d3f2a16e82eaaa43940b7dde7')
+ 'ce35d7ae75cd1b5b677e894e528f96add40e77b9')
+
_build_grub2-common_and_bios() {
## copy the source for building the common/bios package
@@ -58,10 +57,6 @@ _build_grub2-common_and_bios() {
patch -Np1 -i "${srcdir}/parabola_grub_mkconfig_fixes.patch"
echo
- ## upstream grub-install fix
- ## http://lists.gnu.org/archive/html/help-grub/2012-04/msg00096.html
- patch -Np0 -i "${srcdir}/grub-install.fix"
-
## add the grub-extra sources
export GRUB_CONTRIB="${srcdir}/grub_bios-${_pkgver}/grub-extras/"
install -d "${srcdir}/grub_bios-${_pkgver}/grub-extras"
@@ -204,7 +199,7 @@ package_grub2-common() {
options=('strip' 'purge' 'docs' 'zipman' '!emptydirs')
cd "${srcdir}/grub_bios-${_pkgver}"
- make DESTDIR="${pkgdir}/" install
+ make bashcompletiondir=/usr/share/bash-completion/completions DESTDIR="${pkgdir}/" install
## install extra /etc/grub.d/ files
install -D -m0755 "${srcdir}/20_memtest86+" "${pkgdir}/etc/grub.d/20_memtest86+"
diff --git a/libre/icecat-i18n/PKGBUILD b/libre/icecat-i18n/PKGBUILD
index f995939da..e6f2e82b8 100644
--- a/libre/icecat-i18n/PKGBUILD
+++ b/libre/icecat-i18n/PKGBUILD
@@ -2,6 +2,7 @@
# Contributor: fauno <fauno@kiwwwi.com.ar>
# Contributor: Figue <ffigue@gmail.com>
# Contributor: emulatorman <andre.paulista@adinet.com.uy>
+
# Based on firefox-i18n package
# When updating to a newer upstream release:
@@ -9,22 +10,22 @@
# - (optionally) edit PKGBUILD.in
# - Run 'make'. It will take care of everything else for you.
-_langpacks=(af ak ar ast be bg bn-BD bn-IN br bs ca cs cy da de el en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gd gl gu-IN he hi-IN hr hu hy-AM id is it ja kk kn ko ku lg lt lv mai mk ml mr nb-NO nl nn-NO nso or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta-LK ta te th tr uk vi zh-CN zh-TW zu)
+_langpacks=(af ak ar as ast be bg bn-BD bn-IN br bs ca cs csb cy da de el en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gd gl gu-IN he hi-IN hr hu hy-AM id is it ja kk kn ko ku lg lij lt lv mai mk ml mr nb-NO nl nn-NO nso or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta-LK ta te th tr uk vi zh-CN zh-TW zu)
pkgbase='icecat-i18n'
pkgname=($(for lang in ${_langpacks[@]}
do echo icecat-i18n-$lang | tr A-Z a-z
done))
-_pkgver=10.0
-pkgver=10.0
-pkgrel=1
+_pkgver=12.0
+pkgver=12.0
+pkgrel=2
pkgdesc="Language packs for GNUzilla IceCat."
arch=('any')
license=('MPL')
url="http://www.gnu.org/software/gnuzilla/"
depends=("icecat=${pkgver}")
source=($(for lang in ${_langpacks[@]}
- do echo http://gnuzilla.gnu.org/download/langpacks/$pkgver/$lang.xpi
+ do echo http://ftp.gnu.org/gnu/gnuzilla/lang/$pkgver/$lang.xpi
done))
noextract=($(for lang in ${_langpacks[@]}
do echo $lang.xpi
@@ -34,7 +35,7 @@ build() {
cd "${srcdir}"
}
-_path="/usr/lib/icecat-$_pkgver/extensions/"
+_path="/usr/lib/icecat/extensions/"
for lang in ${_langpacks[@]}
do
@@ -45,86 +46,89 @@ package_icecat-i18n-$(echo $lang | tr A-Z a-z) () {
"
done
-md5sums=('6d4c69921bbdfe92c0fd31873983d426'
- '4e994c70c93e4d266d273d2358f7acf3'
- 'd783c592edfa96d6abecd1efa1aa1b5e'
- '70b8badcddb6d5cf6b226c0f0141b463'
- 'bcfe52114b1c0f5346594452117bec5d'
- '7d8900839fcf5972a91c4ce1a1bdd7c6'
- 'd9720bf726a8f6fde0dc94e6e73863a9'
- 'ce61734ab226dc041b55e95c9b6f9d92'
- '965c2ec576ac41e7351e159f516ec65f'
- '4feb78e0dd79606f416b8ab46432ad41'
- '61989146fe89320c847e4de6261a06ff'
- '260f3abb8612248493060e2dec6f0a22'
- '6b49d830c47717001250236c9cc933a5'
- '338137d425c8e6ae98796f3cc9a0550f'
- '4ddf33cc1af9d3ad483d8fc47609aee3'
- 'e04918865a21260b8eaf27b3dc84ade5'
- '59961e347c4fe3816f809f456bc9a2b8'
- '262ad46f6c6e8a89eb29b590cc092eb9'
- 'e9452d83d914605f06c055c00325bf6b'
- 'ae652d7db9b3cd3cba85306d16a7a599'
- '04fec5cd927a57ac6c9780a9f42444e1'
- '70ba3ec972f01e75b144e106afacd8ac'
- 'f1ee7deccf3c73083b51c5741722b120'
- 'ca5566a24ee4fd38a3a907bfb5d72975'
- 'd4717e5c3e44fbaebe4eaf99f0195120'
- '907c42bdaa3af02c39bef5d83198f8a9'
- '7afa1ac8645657722cdf3415244e4686'
- 'd3d780b6c8d179c68065d9bec19dce48'
- '09fae6ea53f5435ccfdbf41f660378ee'
- '043306182ec497280b3ea78dcbd7b7d3'
- '8a481d0d41f22d5bc65ed7844a0d7c27'
- '2a8648998f2aafd307511e043cd8564d'
- 'e7fbc4b7364d151edac9840b90949f56'
- 'e2ea49277375825f612bcfb225dcb0a0'
- '9fb2a20a2222a0d814a3f48d7208d820'
- '88976bac6b9e647f4d17ab1638f12601'
- 'a6a39406914459deaefb3403e94dfa39'
- 'd3acecff63909d946fb549520785ef99'
- 'a8327a1a525330ca9ef8e3f9d50ca5f8'
- 'ba3ad9e8843b0de408a72896183985d6'
- '3dfb48ecea5eda9f0e3e05295eb3c82b'
- '95a1e7e2ec604409b54f1ded4ee7accf'
- '69ebeb59c7ff4e0452c9f0998db65ef0'
- '7bdf97288cef0d14ff1521db063cd20c'
- '8f50cfa1e8c788b7b839273848dc2834'
- '3aa0631dc6a53581cf53d559b27a0ee3'
- '45e7238e0d0e427df04d3ba91ca045cd'
- 'b992cfa2b0440486cd70fd6ab9e32deb'
- '3a9fac821e039556f7d009080daec643'
- '6872abed4f4d4b81cf5f0b7b656846c7'
- 'eb44e902c6a6186c85dca8aff1d5b95f'
- '21f5aeacbb233167218ab7f1b34efdce'
- 'b97e29d866ae1ed422d0a1c4327cfd49'
- '5cce41015e73c36944224f827ac5a8d1'
- 'a13ac7293acc75015f0034d77ddb0f30'
- '38c84e214af65ed6f059ad524c923dc9'
- '66c8d82875f55f67167048e3d6888d8f'
- '4ec423b8e34a4de058b115fd5918e0b2'
- '0026e20db1bad1eaf692bd0b2043c038'
- '31f029a6665ccae9b4c8cac9eda06c6f'
- 'e72ffe020543ca0ad4f8be2aad9e90a9'
- '7b75e8fb1cd8ae34023b312d2214029a'
- '88b1a96268e08f65579b2fe6d7677b73'
- '4418d687e4dcb313fd59247844eab93c'
- 'b200a045163b7c09cde85b82013fec98'
- '263f6ff19491b68865bcab4309dff0a8'
- '80d0fb352eb1f252c355d3b8388d3513'
- 'dd79b0c4d959f46852e1e23b0cc984af'
- 'db51a6767331bb3a8c0a1e0f5f35d968'
- '3155d4cafe5f90ec83336ddd07183629'
- 'b9246693498e1ec3c5b4dffa8145d04e'
- '770bf78f2a0c6522e641e61e44617b40'
- 'aadf3a6f9517c76e2b37867cb1a654c6'
- '3530c75b3c2311d8127f20df7bd724da'
- 'ef3bfc5db8197edb095da10390d8e058'
- '46b701b2db7415b30b82023bb707e1dc'
- '24da3bee4042e31da5781b02dc089499'
- 'b3faadcabfd6d738a41ee4c12696adcd'
- '9938f231ce13202d040c24783c95c35b'
- '04894f460b81525d29367f1ed1504f5e'
- 'c6049613b48eaaa71c45df2e44db1087'
- '7e7e81ca9c6d44913d37159b4627967c'
- '1a80a20da9cc26e2edd942d77a35c824')
+md5sums=('334d06cd9e32b2c3df5129dba4f0f474'
+ '99954e582ddb9bbd8965e6468e7d9799'
+ 'a2b777edb9a595b4c427716458ffdeb6'
+ '2d1796a37f2e927b5939de257dddab4e'
+ '17589c7d8994d4f62fd95fddc2c0c796'
+ '27f9d4029dbab73d9f5c6a7c169c1811'
+ '5d13f0aeb780e4d3693bf62be21e6e11'
+ 'c47f6aaa0b33261e7277f6d807e88396'
+ '0d87bb53f0b71634c189eeb3f3d64bc5'
+ '2ada422bef681cee2bd7e667a9090d6a'
+ 'fc8bc018c6d41c2fcb883734e37b518a'
+ '5e9b488cd52a42e235169de3a4b4cea2'
+ '0b781ce69f571797d3dc1fd5b70d882c'
+ '5ae943ee2293fd427a0072f1c95dd2e9'
+ '15d2a2076008efefdb7d031f4d0b1663'
+ '71a45cefe3b5f45de4ff784ca1a4fe1e'
+ '98e6f6de8c0184f339cc1b88e31e285b'
+ '43f9c2a3e9580b6a2adcc36dba4c0755'
+ 'a12665f7c8e6121e82c6c0be91da3f2a'
+ '7268181e8190cb62685c365fb99d9102'
+ '6f60912c53bd21acd99ee11abd5862d9'
+ '25f2c8a6665f6aef75204b1bcd0c0ff1'
+ '6e3516383f6eaad4bc1abe5fdd212d26'
+ 'c76f8a91086735c8252eab0d90e163e6'
+ '85cf430e36e70713b715fca4e1ac3410'
+ '60f3573882bbd1dc0ed0f16518660bf9'
+ '6c51beefb2da7add8c8c635efc2fc565'
+ 'e2d4d8182716b329249619d227d449f1'
+ '28facbc470554488b0a722cb0c3d53d3'
+ '3b167b50c188ef190fbad18077aacc0d'
+ 'f8edd8921fb8fa24099d1725fc478a2b'
+ '5b90202d9288d073e5f401b498355c13'
+ 'ec8478b6e0420484de8d7332bafafac2'
+ '9d932bc91062a58b0509b5395403c708'
+ 'bba6d905218c4a2b3d6e289e3ef35186'
+ 'b32d1ad6e5c8ed52cde0ea351290fd17'
+ 'd0d1d307c87ec8c8102527944f05887e'
+ '2605d5226c23205f3c7cd5466059b802'
+ '2b800c1c729d3b65ae38050bd4c06af1'
+ '8744ce05e573acefa9f802e53da2aea4'
+ 'edd3e216b37ee32fd517c2b49e85439a'
+ 'd9786706c058b1e4acac62f07deac285'
+ '6377004ddaa6731734696509be6dda53'
+ 'c73bd01ab8c5a25e234e51082978f7f5'
+ 'b44a3df07e663803234c72f359d06422'
+ '81c646a84b4f56d4721bec4013c123bf'
+ '9b678f5dbb7243b9e5751d04b988b640'
+ 'c237afb9ed6819a6219383590a8ee448'
+ 'b27c9236866dd55ee01a6e3929752767'
+ '8d527119a84f22840a919bc35ed612c0'
+ '1b51158c8c218544654245c418943c3a'
+ '1314bbc8cde2babcf6e807f7f958152c'
+ '59eb9146f16189932d9d5eea536cd8af'
+ 'a427b45282c6f8f4f1646050e9a93f71'
+ '618771f03f807603b2efed2760f6004c'
+ '56ca63d8c797d47fd3b6c094390990d7'
+ '24bde56465d7ab923fed3e23eca59d42'
+ 'ff9858a371df54c25f77ea4a5d1091f9'
+ '6135b885b12ccc64d5c93f385d5c62ad'
+ 'f98347a6ae9db6faef247373fd5092df'
+ 'e58f094448b085636c9e9435ef22fb53'
+ 'ed073cd4a1f3bbdcec1ee56334d8b9d3'
+ '988a1c279f94941bd4ab3b90cfad0bbe'
+ 'd8bc3ee80be944051f975a2534651ce1'
+ 'bd94ef18efe11eeee93a0ff1dc602301'
+ '20a8381c88b1735c558316936469c1a9'
+ '064d6f05f7b4c1ce8c5e0f083eccef15'
+ 'c22c4fb9da7cdee2cb29119e7c4f3696'
+ '50071d48b92f373713f6f8ee483b6f7d'
+ '518fbbf3838332da2e561565d29281bf'
+ '2a5a42ad2110e7e24c967233fdc0dc2c'
+ 'd21424a551ff625034b6e015f0eddcc4'
+ '829a1e6fe575e761f97564f68a1859ec'
+ 'd1047468370b7cbb766ed688107ca879'
+ '27f3609a99c3be8e59cfc700e251a5d7'
+ 'c7eb3ef0bedc610065713da9a55e2bf9'
+ '9125fcb792da1e58f00c43ec5b7bce97'
+ '5b9dd2a8ac84aace97a6095042ea537b'
+ '13be748a3331f2a9fac691dec7173aa8'
+ '0b694233f5385e0e5898d4b64a683bbc'
+ 'ad037272aabcc3b58fd2141447113905'
+ '347f53738950c9927b19ec3462840696'
+ '4fc25f81dd0b744aaaea5705dd36d943'
+ '5c96e79fc7463907b1c635586c910a71'
+ '50b1dcbd0eaf9d62b3f9050598298933'
+ 'c40de39f9502a8789f8301581cad25b4')
diff --git a/libre/lirc-libre/PKGBUILD b/libre/lirc-libre/PKGBUILD
new file mode 100644
index 000000000..d6a294fe6
--- /dev/null
+++ b/libre/lirc-libre/PKGBUILD
@@ -0,0 +1,112 @@
+# $Id$
+# Maintainer: Paul Mattal <paul@archlinux.org>
+# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
+
+_pkgbase=lirc
+pkgbase=lirc-libre
+pkgname=('lirc-libre' 'lirc-utils-libre')
+pkgver=0.9.0
+pkgrel=18
+epoch=1
+_extramodules=extramodules-3.4-LIBRE
+arch=('i686' 'x86_64' 'mips64el')
+url="http://www.lirc.org/"
+license=('GPL')
+### NOTICE don't forget to bump version in depends in package_lirc
+makedepends=('help2man' 'linux-libre-headers>=3.4' 'linux-libre-headers<3.5' 'alsa-lib' 'libx11' 'libftdi' 'libirman' 'python2')
+options=('!makeflags' '!strip')
+source=(http://prdownloads.sourceforge.net/${_pkgbase}/${_pkgbase}-${pkgver}.tar.bz2
+ lirc_wpc8769l.patch
+ lircd-handle-large-config.patch
+ lirc_atiusb-kfifo.patch
+ kernel-2.6.39.patch
+ lircd lircmd lirc.logrotate lircd.conf irexec.conf irexecd)
+md5sums=('b232aef26f23fe33ea8305d276637086'
+ '1cce37e18e3f6f46044abab29016d18f'
+ 'b70cc9640505205446ec47b7d4779f38'
+ '1f8b104a2365d9f93404b143f499059b'
+ '087a7d102e1c96bf1179f38db2b0b237'
+ '8d0e238dc0eda95e340fe570605da492'
+ '85f7fdac55e5256967241864049bf5e9'
+ '3deb02604b37811d41816e9b4385fcc3'
+ '5b1f8c9cd788a39a6283f93302ce5c6e'
+ 'f0c0ac930326168035f0c8e24357ae55'
+ '69d099e6deedfa3c1ee2b6e82d9b8bfb')
+
+build() {
+ _kernver="$(cat /lib/modules/${_extramodules}/version)"
+ cd "${srcdir}/lirc-${pkgver}"
+ patch -Np1 -i "${srcdir}/lirc_wpc8769l.patch"
+ patch -Np1 -i "${srcdir}/lircd-handle-large-config.patch"
+ patch -Np1 -i "${srcdir}/lirc_atiusb-kfifo.patch"
+ patch -Np1 -i "${srcdir}/kernel-2.6.39.patch"
+
+ sed -i '/AC_PATH_XTRA/d' configure.ac
+ sed -e 's/@X_CFLAGS@//g' \
+ -e 's/@X_LIBS@//g' \
+ -e 's/@X_PRE_LIBS@//g' \
+ -e 's/@X_EXTRA_LIBS@//g' -i Makefile.am tools/Makefile.am
+ libtoolize
+ autoreconf
+
+ PYTHON=python2 ./configure --enable-sandboxed --prefix=/usr \
+ --with-driver=all --with-kerneldir=/usr/src/linux-${_kernver}/ \
+ --with-moduledir=/lib/modules/${_kernver}/kernel/drivers/misc \
+ --with-transmitter
+
+ # Remove drivers already in kernel
+ sed -e "s:lirc_dev::" -e "s:lirc_bt829::" -e "s:lirc_igorplugusb::" \
+ -e "s:lirc_imon::" -e "s:lirc_parallel::" -e "s:lirc_sasem::" \
+ -e "s:lirc_serial::" -e "s:lirc_sir::" -e "s:lirc_ttusbir::" \
+ -i Makefile drivers/Makefile drivers/*/Makefile tools/Makefile
+ make
+}
+
+package_lirc-libre() {
+ pkgdesc="Linux-libre Infrared Remote Control kernel modules for stock libre kernel"
+ depends=('lirc-utils-libre' 'linux-libre>=3.4' 'linux-libre<3.5')
+ replaces=('lirc' 'lirc+pctv')
+ conflicts=('lirc')
+ provides=("lirc=$pkgver")
+ install=lirc.install
+
+ cd "${srcdir}/lirc-${pkgver}/drivers"
+ make DESTDIR="${pkgdir}" moduledir="/lib/modules/${_extramodules}" install
+
+ # set the kernel we've built for inside the install script
+ sed -i -e "s/EXTRAMODULES=.*/EXTRAMODULES=${_extramodules}/g" "${startdir}/lirc.install"
+ # gzip -9 modules
+ find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
+}
+
+package_lirc-utils-libre() {
+ pkgdesc="Linux-libre Infrared Remote Control utils"
+ depends=('alsa-lib' 'libx11' 'libftdi' 'libirman')
+ optdepends=('python2: pronto2lirc utility')
+ options=('strip' '!libtool')
+ replaces=('lirc-utils')
+ conflicts=('lirc-utils')
+ provides=("lirc-utils=$pkgver")
+ backup=('etc/conf.d/lircd.conf' 'etc/conf.d/irexec.conf')
+
+ cd "${srcdir}/lirc-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -d "${pkgdir}/usr/share/lirc" "${pkgdir}/etc/rc.d"
+ cp "${srcdir}"/{lircd,lircmd,irexecd} "${pkgdir}/etc/rc.d"
+ cp -rp remotes "${pkgdir}/usr/share/lirc"
+ chmod -R go-w "${pkgdir}/usr/share/lirc/"
+
+ # install the logrotate config
+ install -Dm644 "${srcdir}/lirc.logrotate" "${pkgdir}/etc/logrotate.d/lirc"
+
+ # install conf.d file
+ install -Dm644 "${srcdir}/lircd.conf" "${pkgdir}/etc/conf.d/lircd.conf"
+
+ # install conf.d file
+ install -Dm644 "${srcdir}/irexec.conf" "${pkgdir}/etc/conf.d/irexec.conf"
+
+ install -d "${pkgdir}/etc/lirc"
+
+ # remove built modules
+ rm -r "${pkgdir}/lib/"
+}
diff --git a/libre/lirc-libre/irexec.conf b/libre/lirc-libre/irexec.conf
new file mode 100644
index 000000000..f911c7515
--- /dev/null
+++ b/libre/lirc-libre/irexec.conf
@@ -0,0 +1,5 @@
+#
+# Parameters for irexec daemon (path to lircrc)
+#
+
+IREXEC_OPTS="" \ No newline at end of file
diff --git a/libre/lirc-libre/irexecd b/libre/lirc-libre/irexecd
new file mode 100644
index 000000000..a64b033a5
--- /dev/null
+++ b/libre/lirc-libre/irexecd
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/irexec.conf
+
+PID=`pidof -o %PPID /usr/bin/irexec`
+case "$1" in
+ start)
+ stat_busy "Starting IREXEC Daemon"
+ [ -z "$PID" ] && /usr/bin/irexec --daemon $IREXEC_OPTS
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon irexecd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping IREXEC Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon irexecd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
+
diff --git a/libre/lirc-libre/kernel-2.6.39.patch b/libre/lirc-libre/kernel-2.6.39.patch
new file mode 100644
index 000000000..7353d61ca
--- /dev/null
+++ b/libre/lirc-libre/kernel-2.6.39.patch
@@ -0,0 +1,54 @@
+diff -ru lirc-0.9.0/drivers//lirc_atiusb/lirc_atiusb.c lirc-0.9.0.new/drivers//lirc_atiusb/lirc_atiusb.c
+--- lirc-0.9.0/drivers//lirc_atiusb/lirc_atiusb.c 2011-03-25 23:28:18.000000000 +0100
++++ lirc-0.9.0.new/drivers//lirc_atiusb/lirc_atiusb.c 2011-06-07 17:02:20.356580306 +0200
+@@ -48,7 +48,6 @@
+ #include <linux/slab.h>
+ #include <linux/module.h>
+ #include <linux/kmod.h>
+-#include <linux/smp_lock.h>
+ #include <linux/completion.h>
+ #include <linux/uaccess.h>
+ #include <linux/usb.h>
+diff -ru lirc-0.9.0/drivers//lirc_i2c/lirc_i2c.c lirc-0.9.0.new/drivers//lirc_i2c/lirc_i2c.c
+--- lirc-0.9.0/drivers//lirc_i2c/lirc_i2c.c 2011-03-25 23:28:18.000000000 +0100
++++ lirc-0.9.0.new/drivers//lirc_i2c/lirc_i2c.c 2011-06-07 17:04:19.725933627 +0200
+@@ -555,8 +555,8 @@
+ kfree(ir);
+ return -EINVAL;
+ }
+- printk(KERN_INFO "lirc_i2c: chip 0x%x found @ 0x%02x (%s)\n",
+- adap->id, addr, ir->c.name);
++ printk(KERN_INFO "lirc_i2c: chip found @ 0x%02x (%s)\n",
++ addr, ir->c.name);
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31)
+ /* register device */
+diff -ru lirc-0.9.0/drivers//lirc_wpc8769l/lirc_wpc8769l.c lirc-0.9.0.new/drivers//lirc_wpc8769l/lirc_wpc8769l.c
+--- lirc-0.9.0/drivers//lirc_wpc8769l/lirc_wpc8769l.c 2011-03-25 23:28:18.000000000 +0100
++++ lirc-0.9.0.new/drivers//lirc_wpc8769l/lirc_wpc8769l.c 2011-06-07 17:07:23.984935411 +0200
+@@ -361,14 +361,14 @@
+ size = count << 3;
+
+ ldata = (unsigned long *) data_buf;
+- next_one = generic_find_next_le_bit(ldata, size, 0);
++ next_one = find_next_zero_bit_le(ldata, size, 0);
+
+ if (next_one > 0)
+ put_pulse_bit(next_one
+ * WPC8769L_USECS_PER_BIT);
+
+ while (next_one < size) {
+- next_zero = generic_find_next_zero_le_bit(ldata,
++ next_zero = find_next_zero_bit_le(ldata,
+ size, next_one + 1);
+
+ put_space_bit(
+@@ -376,7 +376,7 @@
+ * WPC8769L_USECS_PER_BIT);
+
+ if (next_zero < size) {
+- next_one = generic_find_next_le_bit(ldata,
++ next_one = find_next_bit_le(ldata,
+ size, next_zero + 1);
+
+ put_pulse_bit(
diff --git a/libre/lirc-libre/lirc.install b/libre/lirc-libre/lirc.install
new file mode 100644
index 000000000..d6b9e5ff2
--- /dev/null
+++ b/libre/lirc-libre/lirc.install
@@ -0,0 +1,16 @@
+EXTRAMODULES=extramodules-3.4-LIBRE
+
+post_install() {
+ # updating module dependencies
+ echo ">>> Updating module dependencies. Please wait ..."
+ depmod $(cat /lib/modules/$EXTRAMODULES/version) > /dev/null 2>&1
+}
+
+post_upgrade() {
+ post_install
+}
+
+# arg 1: the old package version
+post_remove() {
+ post_install
+}
diff --git a/libre/lirc-libre/lirc.logrotate b/libre/lirc-libre/lirc.logrotate
new file mode 100644
index 000000000..623c4f328
--- /dev/null
+++ b/libre/lirc-libre/lirc.logrotate
@@ -0,0 +1,5 @@
+/var/log/lircd {
+ missingok
+ notifempty
+ delaycompress
+}
diff --git a/libre/lirc-libre/lirc_atiusb-kfifo.patch b/libre/lirc-libre/lirc_atiusb-kfifo.patch
new file mode 100644
index 000000000..a64984dce
--- /dev/null
+++ b/libre/lirc-libre/lirc_atiusb-kfifo.patch
@@ -0,0 +1,31 @@
+From ec3c5660e67c122e2d5eb9cfa838c9709fccf8e0 Mon Sep 17 00:00:00 2001
+From: Jason Martin <publicmsu@gmail.com>
+Date: Fri, 3 Jun 2011 00:12:51 -0400
+Subject: [PATCH] lirc_atiusb: fix buffer alloc to work with new kfifo
+
+I came across posts with regards to lirc_atiusb and its compatibility
+with newer kernels, and their use of kfifo.I spent a little bit of time
+this evening, and was able to correct the issues with the driver, and
+now have a functioning lirc_atiusb device under the 2.6.38 kernel.
+
+Signed-off-by: Jarod Wilson <jarod@redhat.com>
+---
+ drivers/lirc_atiusb/lirc_atiusb.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/lirc_atiusb/lirc_atiusb.c b/drivers/lirc_atiusb/lirc_atiusb.c
+index 52080de..bf2b631 100644
+--- a/drivers/lirc_atiusb/lirc_atiusb.c
++++ b/drivers/lirc_atiusb/lirc_atiusb.c
+@@ -1048,7 +1048,7 @@ static struct atirf_dev *new_irctl(struct usb_interface *intf)
+ goto new_irctl_failure_check;
+ }
+
+- if (lirc_buffer_init(driver->rbuf, dclen, 1)) {
++ if (lirc_buffer_init(driver->rbuf, dclen, 2)) {
+ mem_failure = 4;
+ goto new_irctl_failure_check;
+ }
+--
+1.7.0.1
+
diff --git a/libre/lirc-libre/lirc_wpc8769l.patch b/libre/lirc-libre/lirc_wpc8769l.patch
new file mode 100644
index 000000000..e4e2a049b
--- /dev/null
+++ b/libre/lirc-libre/lirc_wpc8769l.patch
@@ -0,0 +1,88 @@
+From 413e83bf504fe9a9a177f27742220cfcb184b034 Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Juan=20Jes=C3=BAs=20Garc=C3=ADa=20de=20Soria=20Lucena?= <skandalfo@gmail.com>
+Date: Wed, 30 Mar 2011 16:46:35 -0400
+Subject: [PATCH] Make lirc_wpc8769l functional again
+
+Signed-off-by: Jarod Wilson <jarod@redhat.com>
+---
+ drivers/lirc_wpc8769l/lirc_wpc8769l.c | 28 +++++++++++++++++-----------
+ 1 files changed, 17 insertions(+), 11 deletions(-)
+
+diff --git a/drivers/lirc_wpc8769l/lirc_wpc8769l.c b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+index f820d11..4d04063 100644
+--- a/drivers/lirc_wpc8769l/lirc_wpc8769l.c
++++ b/drivers/lirc_wpc8769l/lirc_wpc8769l.c
+@@ -816,10 +816,6 @@ static int set_use_inc(void *data)
+ /* Reset last timeout value. */
+ lastus = 0;
+
+- /* Init the read buffer. */
+- if (lirc_buffer_init(&rbuf, sizeof(lirc_t), RBUF_LEN) < 0)
+- return -ENOMEM;
+-
+ /* Acquire the IRQ. */
+ result = request_irq(irq, irq_handler,
+ IRQF_DISABLED | IRQF_SHARED,
+@@ -863,9 +859,6 @@ static void set_use_dec(void *data)
+ /* Free the IRQ. */
+ free_irq(irq, THIS_MODULE);
+ dprintk("Freed IRQ %d\n", irq);
+-
+- /* Free the RX buffer. */
+- lirc_buffer_free(&rbuf);
+ }
+
+ static struct lirc_driver driver = {
+@@ -1065,19 +1058,29 @@ static int __init lirc_wpc8769l_module_init(void)
+ /* Do load-time checks. */
+ wpc8769l_power_up_and_check_if_we_woke_us_up();
+
++ /* Init the read buffer. */
++ if (lirc_buffer_init(&rbuf, sizeof(lirc_t), RBUF_LEN) < 0) {
++ rc = -ENOMEM;
++ goto exit_platform_exit;
++ }
++
+ /* Configure the driver hooks. */
+ driver.features = LIRC_CAN_REC_MODE2;
++ driver.dev = &lirc_wpc8769l_platform_dev->dev;
+ driver.minor = lirc_register_driver(&driver);
+ if (driver.minor < 0) {
+ eprintk("lirc_register_driver failed!\n");
+ rc = -EIO;
+- goto exit_platform_exit;
++ goto exit_release_buffer;
+ }
+
+ iprintk("Driver loaded.\n");
+
+ return 0; /* Everything OK. */
+
++exit_release_buffer:
++ lirc_buffer_free(&rbuf);
++
+ exit_platform_exit:
+ lirc_wpc8769l_platform_exit();
+
+@@ -1095,12 +1098,15 @@ module_init(lirc_wpc8769l_module_init);
+
+ static void __exit lirc_wpc8769l_module_exit(void)
+ {
+- /* Unregister the platform driver and device. */
+- lirc_wpc8769l_platform_exit();
+-
+ /* Unregister the LIRC driver. */
+ lirc_unregister_driver(driver.minor);
+
++ /* Free the buffer. */
++ lirc_buffer_free(&rbuf);
++
++ /* Unregister the platform driver and device. */
++ lirc_wpc8769l_platform_exit();
++
+ /* Release the second range. */
+ if (baseport2)
+ release_region(baseport2, WPC8769L_IO_REGION_2_SIZE);
+--
+1.7.0.1
+
diff --git a/libre/lirc-libre/lircd b/libre/lirc-libre/lircd
new file mode 100644
index 000000000..e9739b36e
--- /dev/null
+++ b/libre/lirc-libre/lircd
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/lircd.conf
+
+PID=$(pidof -o %PPID /usr/sbin/lircd)
+LIRCD_SYMLINKFILE=/dev/lircd
+LIRCD_SOCKET=/var/run/lirc/lircd
+case "$1" in
+ start)
+ stat_busy "Starting LIRC Daemon"
+ [ ! -d /var/run/lirc ] && install -d /var/run/lirc &>/dev/null
+ rm -f $LIRCD_SOCKET && ln -s $LIRCD_SOCKET $LIRCD_SYMLINKFILE
+ if [ $? -ne 0 ]; then
+ stat_fail
+ exit 0
+ fi
+ [ -n "$LIRC_DRIVER" ] && LIRC_EXTRAOPTS="-H $LIRC_DRIVER $LIRC_EXTRAOPTS"
+ [ -z "$PID" ] &&
+ if [ -n "$LIRC_DEVICE" ] ; then
+ eval /usr/sbin/lircd -d "$LIRC_DEVICE" $LIRC_EXTRAOPTS $LIRC_CONFIGFILE
+ else
+ /usr/sbin/lircd $LIRC_EXTRAOPTS $LIRC_CONFIGFILE
+ fi
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon lircd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping LIRC Daemon"
+ rm -f $LIRCD_SYMLINKFILE
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon lircd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 start|stop|restart"
+esac
+exit 0
diff --git a/libre/lirc-libre/lircd-handle-large-config.patch b/libre/lirc-libre/lircd-handle-large-config.patch
new file mode 100644
index 000000000..85bc20518
--- /dev/null
+++ b/libre/lirc-libre/lircd-handle-large-config.patch
@@ -0,0 +1,39 @@
+From 5efb56bf22a5077db564c766ba7cc37bc269231d Mon Sep 17 00:00:00 2001
+From: Jarod Wilson <jarod@redhat.com>
+Date: Wed, 6 Apr 2011 11:04:12 -0400
+Subject: [PATCH] lircd: handle larger config files in write_socket better
+
+Pointed out by Michael Zanetti on list, irsend LIST has issues with long
+config files, which didn't exist in maintainer mode, as we were using a
+do while loop to make sure we spit out everything. Just use that loop
+all the time.
+
+Signed-off-by: Jarod Wilson <jarod@redhat.com>
+---
+ daemons/lircd.c | 8 ++------
+ 1 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/daemons/lircd.c b/daemons/lircd.c
+index 6c21a3a..ddcca05 100644
+--- a/daemons/lircd.c
++++ b/daemons/lircd.c
+@@ -231,14 +231,10 @@ inline int write_socket(int fd, const char *buf, int len)
+ int done, todo = len;
+
+ while (todo) {
+-#ifdef SIM_REC
+ do {
+ done = write(fd, buf, todo);
+- }
+- while (done < 0 && errno == EAGAIN);
+-#else
+- done = write(fd, buf, todo);
+-#endif
++ } while (done < 0 && errno == EAGAIN);
++
+ if (done <= 0)
+ return (done);
+ buf += done;
+--
+1.7.0.1
+
diff --git a/libre/lirc-libre/lircd.conf b/libre/lirc-libre/lircd.conf
new file mode 100644
index 000000000..760dab065
--- /dev/null
+++ b/libre/lirc-libre/lircd.conf
@@ -0,0 +1,8 @@
+#
+# Parameters for lirc daemon
+#
+
+LIRC_DEVICE="/dev/lirc0"
+LIRC_DRIVER=""
+LIRC_EXTRAOPTS=""
+LIRC_CONFIGFILE=""
diff --git a/libre/lirc-libre/lircmd b/libre/lirc-libre/lircmd
new file mode 100644
index 000000000..220c47c9c
--- /dev/null
+++ b/libre/lirc-libre/lircmd
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/lircmd`
+case "$1" in
+ start)
+ stat_busy "Starting lircmd Daemon"
+ [ -z "$PID" ] && /usr/sbin/lircmd
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon lircmd
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping lircmd Daemon"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon lircmd
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/libre/mozilla-searchplugins/PKGBUILD b/libre/mozilla-searchplugins/PKGBUILD
index 50b4d65d2..288ce698d 100644
--- a/libre/mozilla-searchplugins/PKGBUILD
+++ b/libre/mozilla-searchplugins/PKGBUILD
@@ -10,7 +10,7 @@
pkgname=mozilla-searchplugins
pkgver=1.2
-pkgrel=2
+pkgrel=3
pkgdesc="System-wide OpenSearch plugins common for Mozilla based browsers."
arch=('any')
license=('MPL' 'GPL' 'LGPL')
diff --git a/multilib-testing/gcc-multilib/PKGBUILD b/multilib-testing/gcc-multilib/PKGBUILD
new file mode 100644
index 000000000..9553b5df6
--- /dev/null
+++ b/multilib-testing/gcc-multilib/PKGBUILD
@@ -0,0 +1,325 @@
+# $Id: PKGBUILD 72541 2012-06-16 14:54:45Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: 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
+
+pkgbase='gcc-multilib'
+pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib')
+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 for multilib"
+arch=('x86_64')
+license=('GPL' 'LGPL' 'FDL' 'custom')
+url="http://gcc.gnu.org"
+makedepends=('binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl' 'gcc-ada-multilib'
+ 'lib32-glibc>=2.14')
+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-multilib.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'
+ 'ec24c32d3d1030c2bc8cb2ad2d1dc629'
+ '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
+
+ patch -p1 -i ${srcdir}/gcc_pure64-multilib.patch
+
+ # 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 \
+ --enable-multilib --disable-libssp \
+ --disable-build-with-cxx --disable-build-poststage1-with-cxx \
+ --enable-checking=release --with-fpmath=sse
+ 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-multilib()
+{
+ pkgdesc="Runtime libraries shipped by GCC for multilib"
+ depends=('glibc>=2.15' "lib32-gcc-libs=$pkgver-$pkgrel")
+ provides=("gcc-libs=$pkgver-$pkgrel")
+ conflicts=('gcc-libs')
+ 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 stuff in lib32-gcc-libs
+ rm -r ${pkgdir}/usr/lib32
+
+ # remove static libraries
+ find ${pkgdir} -name *.a -delete
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-libs-multilib/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_lib32-gcc-libs()
+{
+ pkgdesc="Runtime libraries shipped by GCC (32-bit)"
+ depends=('lib32-glibc>=2.15' "gcc-libs>=$pkgver")
+
+ cd gcc-build
+ make -j1 -C $CHOST/32/libgcc DESTDIR=${pkgdir} install-shared
+ for lib in libmudflap libgomp libstdc++-v3/src libitm; do
+ make -j1 -C $CHOST/32/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES
+ done
+
+ 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 ${pkgdir}/usr/lib32/libgfortran.spec
+
+ # remove stuff in gcc-libs-multilib
+ rm -r ${pkgdir}/usr/lib
+ rm -r ${pkgdir}/usr/share/info
+
+ # remove static libraries
+ find ${pkgdir} -name *.a -delete
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-multilib()
+{
+ pkgdesc="The GNU Compiler Collection - C and C++ frontends for multilib"
+ depends=("gcc-libs-multilib=$pkgver-$pkgrel" 'binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl')
+ groups=('multilib-devel')
+ provides=("gcc=$pkgver-$pkgrel")
+ conflicts=('gcc')
+ 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{,32}/*.so*
+ rm $pkgdir/usr/lib{,32}/lib{ffi,gfortran,go{,begin},objc,quadmath}.a
+ rm $pkgdir/usr/lib{,32}/libgfortran.spec
+ rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{{,32/}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}/{,32/}{libcaf_single,libgfortranbegin}.a
+ rm -r $pkgdir/usr/lib{,32}/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-multilib/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-fortran-multilib()
+{
+ pkgdesc="Fortran front-end for GCC for multilib"
+ depends=("gcc-multilib=$pkgver-$pkgrel")
+ provides=("gcc-fortran=$pkgver-$pkgrel")
+ conflicts=('gcc-fortran')
+ 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{,32}/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-multilib/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-objc-multilib()
+{
+ pkgdesc="Objective-C front-end for GCC for multilib"
+ depends=("gcc-multilib=$pkgver-$pkgrel")
+ provides=("gcc-objc=$pkgver-$pkgrel")
+ conflicts=('gcc-objc')
+
+ 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{,32}/libobjc.so*
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-objc-multilib/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-ada-multilib()
+{
+ pkgdesc="Ada front-end for GCC (GNAT) for multilib"
+ depends=("gcc-multilib=$pkgver-$pkgrel")
+ provides=("gcc-ada=$pkgver-$pkgrel")
+ conflicts=('gcc-ada')
+ 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
+
+ cd ../$CHOST/32/libada
+ make -j1 DESTDIR=${pkgdir} INSTALL="install" \
+ INSTALL_DATA="install -m644" install-gnatlib
+
+ ln -s gcc ${pkgdir}/usr/bin/gnatgcc
+
+ # Install Runtime Library Exception
+ install -Dm644 ${_basedir}/COPYING.RUNTIME \
+ ${pkgdir}/usr/share/licenses/gcc-ada-multilib/RUNTIME.LIBRARY.EXCEPTION
+}
+
+package_gcc-go-multilib()
+{
+ pkgdesc="Go front-end for GCC for multilib"
+ depends=("gcc-multilib=$pkgver-$pkgrel")
+ provides=("gcc-go=$pkgver-$pkgrel")
+ conflicts=('gcc-go')
+ 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/multilib-testing/gcc-multilib/gcc-4.7.0-cloog-0.17.patch b/multilib-testing/gcc-multilib/gcc-4.7.0-cloog-0.17.patch
new file mode 100644
index 000000000..c7146fa04
--- /dev/null
+++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc-4.7.1-libada-pic.patch b/multilib-testing/gcc-multilib/gcc-4.7.1-libada-pic.patch
new file mode 100644
index 000000000..591da1e4a
--- /dev/null
+++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc-4.7.1-libgo-write.patch b/multilib-testing/gcc-multilib/gcc-4.7.1-libgo-write.patch
new file mode 100644
index 000000000..a7be83fda
--- /dev/null
+++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc-ada.install b/multilib-testing/gcc-multilib/gcc-ada.install
new file mode 100644
index 000000000..df0553a4f
--- /dev/null
+++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc-fortran.install b/multilib-testing/gcc-multilib/gcc-fortran.install
new file mode 100644
index 000000000..b15d89a97
--- /dev/null
+++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc-go.install b/multilib-testing/gcc-multilib/gcc-go.install
new file mode 100644
index 000000000..7dc50dee5
--- /dev/null
+++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc-libs.install b/multilib-testing/gcc-multilib/gcc-libs.install
new file mode 100644
index 000000000..23553b8f0
--- /dev/null
+++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc.install b/multilib-testing/gcc-multilib/gcc.install
new file mode 100644
index 000000000..3407a5e1f
--- /dev/null
+++ b/multilib-testing/gcc-multilib/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/multilib-testing/gcc-multilib/gcc_pure64-multilib.patch b/multilib-testing/gcc-multilib/gcc_pure64-multilib.patch
new file mode 100644
index 000000000..b5576ae0e
--- /dev/null
+++ b/multilib-testing/gcc-multilib/gcc_pure64-multilib.patch
@@ -0,0 +1,22 @@
+diff -u -r gcc-4.7.0/gcc/config/i386/linux64.h gcc-4.7.0-pure64/gcc/config/i386/linux64.h
+--- gcc-4.7.0/gcc/config/i386/linux64.h 2011-07-07 17:38:34.000000000 +0200
++++ gcc-4.7.0-pure64/gcc/config/i386/linux64.h 2012-03-24 11:52:58.926204014 +0100
+@@ -29,5 +29,5 @@
+ #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_LINKER64 "/lib/ld-linux-x86-64.so.2"
+ #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
+diff -u -r gcc-4.7.0/gcc/config/i386/t-linux64 gcc-4.7.0-pure64/gcc/config/i386/t-linux64
+--- gcc-4.7.0/gcc/config/i386/t-linux64 2011-11-02 16:23:48.000000000 +0100
++++ gcc-4.7.0-pure64/gcc/config/i386/t-linux64 2012-03-24 11:52:44.119651885 +0100
+@@ -34,6 +34,6 @@
+ 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
diff --git a/multilib-testing/libtool-multilib/PKGBUILD b/multilib-testing/libtool-multilib/PKGBUILD
new file mode 100644
index 000000000..152e29f53
--- /dev/null
+++ b/multilib-testing/libtool-multilib/PKGBUILD
@@ -0,0 +1,74 @@
+# $Id: PKGBUILD 72542 2012-06-16 14:54:48Z heftig $
+# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor: Allan McRae <allan@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+# NOTE: requires rebuild with each new gcc version
+
+pkgbase=libtool-multilib
+pkgname=(libtool-multilib lib32-libltdl)
+pkgver=2.4.2
+pkgrel=6
+pkgdesc="A generic library support script for multilib"
+arch=('x86_64')
+url="http://www.gnu.org/software/libtool"
+license=('GPL')
+_gccver=4.7.1
+makedepends=("gcc-multilib=$_gccver")
+options=('!libtool')
+source=(ftp://ftp.gnu.org/pub/gnu/libtool/libtool-${pkgver}.tar.xz{,.sig})
+md5sums=('2ec8997e0c07249eb4cbd072417d70fe'
+ '1e6ba57420c82c663c85e745d11c7eed')
+
+build() {
+ cd "$srcdir"
+
+ rm -rf libtool-64 libtool-32
+ mv libtool-$pkgver libtool-64
+ cp -a libtool-64 libtool-32
+
+ msg2 "Building libtool-64..."
+ cd "$srcdir/libtool-64"
+ ./configure --prefix=/usr
+ make
+
+ msg2 "Building libtool-32..."
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+
+ cd "$srcdir/libtool-32"
+ ./configure --prefix=/usr --libdir=/usr/lib32
+ make
+}
+
+check() {
+ cd "$srcdir/libtool-64"
+ make check
+ cd "$srcdir/libtool-32"
+ make check
+}
+
+package_libtool-multilib() {
+ depends=('sh' "libltdl=$pkgver" 'tar' "gcc-multilib=$_gccver" "lib32-libltdl=$pkgver")
+ groups=('multilib-devel')
+ install=libtool.install
+ provides=("libtool=$pkgver-$pkgrel")
+ conflicts=(libtool)
+
+ cd "$srcdir/libtool-64"
+
+ make DESTDIR=${pkgdir} install-binSCRIPTS install-man install-info \
+ install-data-local
+ rm -rf ${pkgdir}/usr/share/libtool/libltdl/
+}
+
+package_lib32-libltdl() {
+ pkgdesc="A system independent dlopen wrapper for GNU libtool (32-bit)"
+ depends=(lib32-glibc libltdl)
+ replaces=(lib32-libtool)
+ provides=("lib32-libtool=$pkgver-$pkgrel")
+ conflicts=(lib32-libtool)
+
+ cd "$srcdir/libtool-32"
+ make DESTDIR="$pkgdir" install-libLTLIBRARIES
+}
diff --git a/multilib-testing/libtool-multilib/libtool.install b/multilib-testing/libtool-multilib/libtool.install
new file mode 100644
index 000000000..f4f700705
--- /dev/null
+++ b/multilib-testing/libtool-multilib/libtool.install
@@ -0,0 +1,22 @@
+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
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/multilib/lib32-freetype2/PKGBUILD b/multilib/lib32-freetype2/PKGBUILD
index 224ecea80..05b152d39 100644
--- a/multilib/lib32-freetype2/PKGBUILD
+++ b/multilib/lib32-freetype2/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 68499 2012-03-26 09:32:41Z pschmitz $
+# $Id: PKGBUILD 72526 2012-06-16 10:07:26Z bluewind $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
_pkgbasename=freetype2
pkgname=lib32-$_pkgbasename
-pkgver=2.4.9
+pkgver=2.4.10
pkgrel=1
pkgdesc="TrueType font rendering library (32-bit)"
arch=(x86_64)
@@ -16,7 +16,7 @@ options=('!libtool')
source=(http://downloads.sourceforge.net/sourceforge/freetype/freetype-${pkgver}.tar.bz2
freetype-2.3.0-enable-spr.patch
freetype-2.2.1-enable-valid.patch)
-md5sums=('77a893dae81fd5b896632715ca041179'
+md5sums=('13286702e9390a91661f980608adaff1'
'816dc8619a6904a7385769433c0a8653'
'214119610444c9b02766ccee5e220680')
diff --git a/multilib/lib32-krb5/PKGBUILD b/multilib/lib32-krb5/PKGBUILD
index 234758af2..e186c35ba 100644
--- a/multilib/lib32-krb5/PKGBUILD
+++ b/multilib/lib32-krb5/PKGBUILD
@@ -1,23 +1,20 @@
-# $Id: PKGBUILD 68503 2012-03-26 09:52:05Z pschmitz $
+# $Id: PKGBUILD 72528 2012-06-16 10:15:32Z bluewind $
# Maintainer: Florian Pritz <flo@xinu.at>
# Contributor: Stéphane Gaudreault <stephane@archlinux.org>
_pkgbasename=krb5
pkgname=lib32-$_pkgbasename
-pkgver=1.10.1
-pkgrel=2
+pkgver=1.10.2
+pkgrel=1
pkgdesc="The Kerberos network authentication system (32-bit)"
arch=('x86_64')
url="http://web.mit.edu/kerberos/"
license=('custom')
depends=('lib32-e2fsprogs' 'lib32-libldap' 'lib32-keyutils' "$_pkgbasename")
makedepends=('perl' 'gcc-multilib')
-provides=('lib32-heimdal')
-replaces=('lib32-heimdal')
-conflicts=('lib32-heimdal')
source=("http://web.mit.edu/kerberos/dist/${_pkgbasename}/1.10/${_pkgbasename}-${pkgver}-signed.tar"
'krb5-1.10.1-gcc47.patch')
-sha1sums=('f9f3b77173f68b268b43e4f9c29bf7c9f3fd1f0e'
+sha1sums=('8b6e2c5bf0c65aacd368b3698add7888f2a7332d'
'78b759d566b1fdefd9bbcd06df14f07f12effe96')
options=('!emptydirs')
diff --git a/multilib/lib32-libdrm-old/COPYING b/multilib/lib32-libdrm-old/COPYING
new file mode 100644
index 000000000..6e74c337c
--- /dev/null
+++ b/multilib/lib32-libdrm-old/COPYING
@@ -0,0 +1,48 @@
+ Copyright 2005 Adam Jackson.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation on the rights to use, copy, modify, merge,
+ publish, distribute, sub license, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the
+ next paragraph) shall be included in all copies or substantial
+ portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NON-INFRINGEMENT. IN NO EVENT SHALL ADAM JACKSON BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+------------------------------------------------------------------------
+
+ Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
+ Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
+ All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice (including the
+ next paragraph) shall be included in all copies or substantial
+ portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS
+ SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
diff --git a/multilib/lib32-libdrm-old/PKGBUILD b/multilib/lib32-libdrm-old/PKGBUILD
new file mode 100644
index 000000000..3524bf0c6
--- /dev/null
+++ b/multilib/lib32-libdrm-old/PKGBUILD
@@ -0,0 +1,63 @@
+# $Id: PKGBUILD 72575 2012-06-16 19:14:42Z lcarlier $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgbase=lib32-libdrm-old
+pkgname=(lib32-libdrm-old lib32-libdrm-nouveau1)
+pkgver=2.4.33
+pkgrel=1
+pkgdesc="Userspace interface to kernel DRM services (32 bits)"
+arch=('x86_64')
+license=('custom')
+depends=('lib32-libpciaccess' 'lib32-glibc')
+makedepends=('gcc-multilib')
+options=('!libtool' '!emptydirs')
+url="http://dri.freedesktop.org/"
+source=(http://dri.freedesktop.org/libdrm/libdrm-$pkgver.tar.bz2
+ no-pthread-stubs.patch
+ COPYING
+)
+sha1sums=('4da2c635491724e44326871e6a49ccfec0b6b5a6'
+ '825ff5e0c4238b31bdea52f104bfec8949270e25'
+ 'ba3dcd636997ee0d30df14b03dae05c24ae5d094')
+
+build() {
+ cd "libdrm-$pkgver"
+
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ patch -Np1 -i "$srcdir/no-pthread-stubs.patch"
+
+ #libtoolize --force
+ autoreconf --force --install
+ ./configure --prefix=/usr --libdir=/usr/lib32 \
+ --disable-libkms \
+ --disable-intel \
+ --disable-radeon \
+ --enable-nouveau-experimental-api
+ make
+}
+
+package_lib32-libdrm-old() {
+ pkgdesc="Userspace interface to kernel DRM services - used as makedepends for nouveau-dri (32 bits)"
+ conflicts=('lib32-libdrm')
+ provides=("lib32-libdrm=$pkgver")
+
+ cd "libdrm-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ rm "$pkgdir"/usr/lib32/libdrm_nouveau.so.1*
+}
+
+package_lib32-libdrm-nouveau1() {
+ pkgdesc="Userspace interface to kernel DRM services for nouveau - used as depends for nouveau-dri (32 bits)"
+ depends=('lib32-libdrm')
+
+ cd "libdrm-$pkgver"
+
+ make DESTDIR="$pkgdir" install-libdrm_laLTLIBRARIES
+ make -C nouveau DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" uninstall-libdrm_laLTLIBRARIES
+ rm -rf "$pkgdir"/usr/include/ "$pkgdir"/usr/lib32/pkgconfig/libdrm_nouveau.pc "$pkgdir"/usr/lib32/libdrm_nouveau.so
+}
diff --git a/multilib/lib32-libdrm-old/no-pthread-stubs.patch b/multilib/lib32-libdrm-old/no-pthread-stubs.patch
new file mode 100644
index 000000000..5430244f9
--- /dev/null
+++ b/multilib/lib32-libdrm-old/no-pthread-stubs.patch
@@ -0,0 +1,66 @@
+diff -ru libdrm-2.4.0/configure.ac libdrm-2.4.0-nostubs/configure.ac
+--- libdrm-2.4.0/configure.ac 2008-10-09 21:57:09.000000000 +0200
++++ libdrm-2.4.0-nostubs/configure.ac 2008-10-21 10:48:24.000000000 +0200
+@@ -47,10 +47,6 @@
+ LT_INIT([disable-static])
+
+
+-PKG_CHECK_MODULES(PTHREADSTUBS, pthread-stubs)
+-AC_SUBST(PTHREADSTUBS_CFLAGS)
+-AC_SUBST(PTHREADSTUBS_LIBS)
+-
+ pkgconfigdir=${libdir}/pkgconfig
+ AC_SUBST(pkgconfigdir)
+ AC_ARG_ENABLE([udev],
+--- libdrm-2.4.16/intel/Makefile.am 2009-11-20 23:54:36.000000000 +0000
++++ libdrm-2.4.16/intel/Makefile.am.new 2009-12-07 08:11:32.235748069 +0000
+@@ -26,7 +26,6 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/intel \
+- $(PTHREADSTUBS_CFLAGS) \
+ $(PCIACCESS_CFLAGS) \
+ -I$(top_srcdir)/include/drm
+
+@@ -34,7 +33,6 @@
+ libdrm_intel_ladir = $(libdir)
+ libdrm_intel_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+ libdrm_intel_la_LIBADD = ../libdrm.la \
+- @PTHREADSTUBS_LIBS@ \
+ @PCIACCESS_LIBS@ \
+ @CLOCK_LIB@
+
+--- libdrm-2.4.16/radeon/Makefile.am 2009-11-20 23:54:36.000000000 +0000
++++ libdrm-2.4.16/radeon/Makefile.am.new 2009-12-07 08:12:31.889075388 +0000
+@@ -26,13 +26,12 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/radeon \
+- $(PTHREADSTUBS_CFLAGS) \
+ -I$(top_srcdir)/include/drm
+
+ libdrm_radeon_la_LTLIBRARIES = libdrm_radeon.la
+ libdrm_radeon_ladir = $(libdir)
+ libdrm_radeon_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+-libdrm_radeon_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
++libdrm_radeon_la_LIBADD = ../libdrm.la
+
+ libdrm_radeon_la_SOURCES = \
+ radeon_bo_gem.c \
+--- libdrm-2.4.16/nouveau/Makefile.am 2009-11-20 23:54:36.000000000 +0000
++++ libdrm-2.4.16/nouveau/Makefile.am.new 2009-12-07 08:13:01.489072320 +0000
+@@ -2,13 +2,12 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/nouveau \
+- $(PTHREADSTUBS_CFLAGS) \
+ -I$(top_srcdir)/include/drm
+
+ libdrm_nouveau_la_LTLIBRARIES = libdrm_nouveau.la
+ libdrm_nouveau_ladir = $(libdir)
+ libdrm_nouveau_la_LDFLAGS = -version-number 1:0:0 -no-undefined
+-libdrm_nouveau_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
++libdrm_nouveau_la_LIBADD = ../libdrm.la
+
+ libdrm_nouveau_la_SOURCES = \
+ nouveau_device.c \
diff --git a/multilib/lib32-libdrm/PKGBUILD b/multilib/lib32-libdrm/PKGBUILD
index 3ce77c229..286be376b 100644
--- a/multilib/lib32-libdrm/PKGBUILD
+++ b/multilib/lib32-libdrm/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 68628 2012-03-30 13:45:16Z lcarlier $
+# $Id: PKGBUILD 72579 2012-06-16 20:19:50Z lcarlier $
# Maintainer: Laurent Carlier <lordheavym@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
_pkgbasename=libdrm
pkgname=lib32-$_pkgbasename
-pkgver=2.4.33
+pkgver=2.4.35
pkgrel=1
pkgdesc="Userspace interface to kernel DRM services (32-bit)"
arch=(x86_64)
@@ -16,8 +16,8 @@ url="http://dri.freedesktop.org/"
source=(http://dri.freedesktop.org/${_pkgbasename}/${_pkgbasename}-${pkgver}.tar.bz2
no-pthread-stubs.patch)
# git_fixes.diff)
-sha1sums=('4da2c635491724e44326871e6a49ccfec0b6b5a6'
- '1a9000f4c94d5bd13555e13e6e51716bf92a0eb8')
+sha1sums=('a1d8d4945f782371d7855dbd693db885bd7e3d83'
+ '2a5410baa3e6e078f9378ce486a88f41d22fd838')
build() {
cd "${srcdir}/${_pkgbasename}-${pkgver}"
@@ -35,10 +35,7 @@ build() {
autoreconf --force --install
./configure --prefix=/usr --libdir=/usr/lib32 \
--enable-udev \
- --enable-intel \
- --enable-radeon \
- --enable-vmwgfx-experimental-api \
- --enable-nouveau-experimental-api
+ --enable-vmwgfx-experimental-api
make
}
diff --git a/multilib/lib32-libdrm/no-pthread-stubs.patch b/multilib/lib32-libdrm/no-pthread-stubs.patch
index 721626c0a..6745f4bc4 100644
--- a/multilib/lib32-libdrm/no-pthread-stubs.patch
+++ b/multilib/lib32-libdrm/no-pthread-stubs.patch
@@ -1,6 +1,6 @@
-diff -ru libdrm-2.4.0/configure.ac libdrm-2.4.0-nostubs/configure.ac
---- libdrm-2.4.0/configure.ac 2008-10-09 21:57:09.000000000 +0200
-+++ libdrm-2.4.0-nostubs/configure.ac 2008-10-21 10:48:24.000000000 +0200
+diff -Nur libdrm-2.4.34.orig/configure.ac libdrm-2.4.34/configure.ac
+--- libdrm-2.4.34.orig/configure.ac 2012-05-12 14:54:06.375335490 +0000
++++ libdrm-2.4.34/configure.ac 2012-05-12 14:54:32.075142065 +0000
@@ -47,10 +47,6 @@
LT_INIT([disable-static])
@@ -12,26 +12,47 @@ diff -ru libdrm-2.4.0/configure.ac libdrm-2.4.0-nostubs/configure.ac
pkgconfigdir=${libdir}/pkgconfig
AC_SUBST(pkgconfigdir)
AC_ARG_ENABLE([udev],
---- libdrm-2.4.16/intel/Makefile.am 2009-11-20 23:54:36.000000000 +0000
-+++ libdrm-2.4.16/intel/Makefile.am.new 2009-12-07 08:11:32.235748069 +0000
+diff -Nur libdrm-2.4.34.orig/intel/Makefile.am libdrm-2.4.34/intel/Makefile.am
+--- libdrm-2.4.34.orig/intel/Makefile.am 2012-05-12 14:54:06.372001955 +0000
++++ libdrm-2.4.34/intel/Makefile.am 2012-05-12 14:55:24.164745055 +0000
@@ -26,7 +26,6 @@
$(WARN_CFLAGS) \
-I$(top_srcdir) \
-I$(top_srcdir)/intel \
- $(PTHREADSTUBS_CFLAGS) \
$(PCIACCESS_CFLAGS) \
+ $(VALGRIND_CFLAGS) \
-I$(top_srcdir)/include/drm
-
-@@ -34,7 +33,6 @@
+@@ -35,7 +34,6 @@
libdrm_intel_ladir = $(libdir)
libdrm_intel_la_LDFLAGS = -version-number 1:0:0 -no-undefined
libdrm_intel_la_LIBADD = ../libdrm.la \
- @PTHREADSTUBS_LIBS@ \
- @PCIACCESS_LIBS@ \
- @CLOCK_LIB@
+ @PCIACCESS_LIBS@ \
+ @CLOCK_LIB@
+
+diff -Nur libdrm-2.4.34.orig/nouveau/Makefile.am libdrm-2.4.34/nouveau/Makefile.am
+--- libdrm-2.4.34.orig/nouveau/Makefile.am 2012-05-12 14:54:06.331998148 +0000
++++ libdrm-2.4.34/nouveau/Makefile.am 2012-05-12 14:56:00.941132085 +0000
+@@ -2,14 +2,13 @@
+ $(WARN_CFLAGS) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/nouveau \
+- $(PTHREADSTUBS_CFLAGS) \
+ -I$(top_srcdir)/include/drm \
+ -DDEBUG
+
+ libdrm_nouveau_la_LTLIBRARIES = libdrm_nouveau.la
+ libdrm_nouveau_ladir = $(libdir)
+ libdrm_nouveau_la_LDFLAGS = -version-number 2:0:0 -no-undefined
+-libdrm_nouveau_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
++libdrm_nouveau_la_LIBADD = ../libdrm.la
---- libdrm-2.4.16/radeon/Makefile.am 2009-11-20 23:54:36.000000000 +0000
-+++ libdrm-2.4.16/radeon/Makefile.am.new 2009-12-07 08:12:31.889075388 +0000
+ libdrm_nouveau_la_SOURCES = nouveau.c \
+ pushbuf.c \
+diff -Nur libdrm-2.4.34.orig/radeon/Makefile.am libdrm-2.4.34/radeon/Makefile.am
+--- libdrm-2.4.34.orig/radeon/Makefile.am 2012-05-12 14:54:06.365334765 +0000
++++ libdrm-2.4.34/radeon/Makefile.am 2012-05-12 14:55:48.084557437 +0000
@@ -26,13 +26,12 @@
$(WARN_CFLAGS) \
-I$(top_srcdir) \
@@ -47,20 +68,3 @@ diff -ru libdrm-2.4.0/configure.ac libdrm-2.4.0-nostubs/configure.ac
libdrm_radeon_la_SOURCES = \
radeon_bo_gem.c \
---- libdrm-2.4.16/nouveau/Makefile.am 2009-11-20 23:54:36.000000000 +0000
-+++ libdrm-2.4.16/nouveau/Makefile.am.new 2009-12-07 08:13:01.489072320 +0000
-@@ -2,13 +2,12 @@
- $(WARN_CFLAGS) \
- -I$(top_srcdir) \
- -I$(top_srcdir)/nouveau \
-- $(PTHREADSTUBS_CFLAGS) \
- -I$(top_srcdir)/include/drm
-
- libdrm_nouveau_la_LTLIBRARIES = libdrm_nouveau.la
- libdrm_nouveau_ladir = $(libdir)
- libdrm_nouveau_la_LDFLAGS = -version-number 1:0:0 -no-undefined
--libdrm_nouveau_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
-+libdrm_nouveau_la_LIBADD = ../libdrm.la
-
- libdrm_nouveau_la_SOURCES = \
- nouveau_device.c \
diff --git a/multilib/lib32-libpng/PKGBUILD b/multilib/lib32-libpng/PKGBUILD
index 49adf8805..8d3e73b77 100644
--- a/multilib/lib32-libpng/PKGBUILD
+++ b/multilib/lib32-libpng/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 68898 2012-04-05 07:36:47Z ibiru $
+# $Id: PKGBUILD 72536 2012-06-16 14:12:42Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: dorphell <dorphell@archlinux.org>
# Contributor: Travis Willard <travis@archlinux.org>
@@ -6,10 +6,10 @@
_pkgbasename=libpng
pkgname=lib32-$_pkgbasename
-pkgver=1.5.10
-_apngver=1.5.10
+pkgver=1.5.11
+_apngver=1.5.11
_libversion=15
-pkgrel=2
+pkgrel=1
pkgdesc="A collection of routines used to create PNG format graphics files (32-bit)"
arch=('x86_64')
url="http://www.libpng.org/pub/png/libpng.html"
@@ -19,8 +19,8 @@ makedepends=(gcc-multilib)
options=('!libtool')
source=("http://downloads.sourceforge.net/sourceforge/${_pkgbasename}/${_pkgbasename}-${pkgver}.tar.xz"
"http://downloads.sourceforge.net/sourceforge/libpng-apng/libpng-${_apngver}-apng.patch.gz")
-md5sums=('9c2ac3c3a31de2ab867875718f8de18e'
- '88517ab0e9c0be2590800116e2b50c8d')
+md5sums=('57f838299e701b6db9e8389c5602dc18'
+ 'e9ddf7670e78ad93f4cc189c884d4f26')
build() {
export CC="gcc -m32"
diff --git a/multilib/lib32-mesa/PKGBUILD b/multilib/lib32-mesa/PKGBUILD
index 3804b7ee1..3328274ca 100644
--- a/multilib/lib32-mesa/PKGBUILD
+++ b/multilib/lib32-mesa/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 71697 2012-06-01 13:11:41Z lcarlier $
+# $Id: PKGBUILD 72580 2012-06-16 20:40:13Z lcarlier $
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Andreas Radke <andyrtr@archlinux.org>
pkgbase=lib32-mesa
-pkgname=('lib32-mesa' 'lib32-libgl' 'lib32-libglapi' 'lib32-libgles' 'lib32-ati-dri' 'lib32-intel-dri' 'lib32-nouveau-dri' 'lib32-libgbm')
+pkgname=('lib32-mesa' 'lib32-libgl' 'lib32-libglapi' 'lib32-libgles' 'lib32-ati-dri' 'lib32-intel-dri' 'lib32-libgbm') # 'lib32-nouveau-dri'
#_git=true
_gitdate=20111031
@@ -16,7 +16,7 @@ if [ "${_git}" = "true" ]; then
pkgver=8.0.3
fi
-pkgrel=3.1
+pkgrel=3.2
arch=('x86_64')
makedepends=('glproto>=1.4.15' 'lib32-libdrm>=2.4.33' 'lib32-libxxf86vm>=1.1.1' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.0.1' 'lib32-libx11>=1.4.99.1'
'lib32-libxt>=1.1.1' 'lib32-gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'gcc-multilib' 'imake' 'lib32-llvm' 'namcap')
@@ -72,7 +72,8 @@ build() {
else
./configure --prefix=/usr \
--with-dri-driverdir=/usr/lib32/xorg/modules/dri \
- --with-gallium-drivers=r300,r600,nouveau,swrast \
+ --with-gallium-drivers=r300,r600,svga,swrast \
+ --with-dri-drivers=i915,i965,r200,radeon,swrast \
--enable-gallium-llvm \
--disable-gallium-egl --enable-shared-glapi \
--enable-glx-tls \
@@ -85,6 +86,7 @@ build() {
--enable-shared-dricore \
--enable-32-bit \
--libdir=/usr/lib32
+# --with-gallium-drivers=r300,r600,nouveau,swrast \ # also without --with-dri-driver
fi
make
diff --git a/multilib/lib32-nouveau-dri/LICENSE b/multilib/lib32-nouveau-dri/LICENSE
new file mode 100644
index 000000000..ae33d2709
--- /dev/null
+++ b/multilib/lib32-nouveau-dri/LICENSE
@@ -0,0 +1,82 @@
+Disclaimer
+
+Mesa is a 3-D graphics library with an API which is very similar to
+that of OpenGL*
+To the extent that Mesa utilizes the OpenGL command syntax or state
+machine, it is being used with authorization from Silicon Graphics,
+Inc.(SGI). However, the author does not possess an OpenGL license
+from SGI, and makes no claim that Mesa is in any way a compatible
+replacement for OpenGL or associated with SGI. Those who want a
+licensed implementation of OpenGL should contact a licensed
+vendor.
+
+Please do not refer to the library as MesaGL (for legal
+reasons). It's just Mesa or The Mesa 3-D graphics
+library
+
+* OpenGL is a trademark of Silicon Graphics Incorporated.
+
+License / Copyright Information
+
+The Mesa distribution consists of several components. Different copyrights
+and licenses apply to different components. For example, GLUT is copyrighted
+by Mark Kilgard, some demo programs are copyrighted by SGI, some of the Mesa
+device drivers are copyrighted by their authors. See below for a list of
+Mesa's main components and the license for each.
+
+The core Mesa library is licensed according to the terms of the MIT license.
+This allows integration with the XFree86, Xorg and DRI projects.
+
+The default Mesa license is as follows:
+
+Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Attention, Contributors
+
+When contributing to the Mesa project you must agree to the licensing terms
+of the component to which you're contributing.
+The following section lists the primary components of the Mesa distribution
+and their respective licenses.
+
+
+Mesa Component Licenses
+
+Component Location Primary Author License
+----------------------------------------------------------------------------
+Main Mesa code src/mesa/ Brian Paul Mesa (MIT)
+
+Device drivers src/mesa/drivers/* See drivers See drivers
+
+Ext headers include/GL/glext.h SGI SGI Free B
+ include/GL/glxext.h
+
+GLUT src/glut/ Mark Kilgard Mark's copyright
+
+Mesa GLU library src/glu/mesa/ Brian Paul GNU-LGPL
+
+SGI GLU library src/glu/sgi/ SGI SGI Free B
+
+demo programs progs/demos/ various see source files
+
+X demos progs/xdemos/ Brian Paul see source files
+
+SGI demos progs/samples/ SGI SGI copyright
+
+RedBook demos progs/redbook/ SGI SGI copyright
diff --git a/multilib/lib32-nouveau-dri/PKGBUILD b/multilib/lib32-nouveau-dri/PKGBUILD
new file mode 100644
index 000000000..b25a8cf65
--- /dev/null
+++ b/multilib/lib32-nouveau-dri/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 72577 2012-06-16 19:28:03Z lcarlier $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+# Maintainer: Andreas Radke <andyrtr@archlinux.org>
+
+pkgname=lib32-nouveau-dri
+pkgver=8.0.3
+pkgrel=3.2
+arch=('x86_64')
+makedepends=('glproto>=1.4.15' 'lib32-libdrm-old' 'lib32-libdrm-nouveau1' 'lib32-libxxf86vm>=1.1.1' 'lib32-libxdamage>=1.1.3' 'lib32-expat>=2.0.1' 'lib32-libx11>=1.4.99.1'
+ 'lib32-libxt>=1.1.1' 'lib32-gcc-libs>=4.6.1' 'dri2proto>=2.6' 'python2' 'libxml2' 'gcc-multilib' 'imake' 'lib32-llvm' 'namcap')
+url="http://mesa3d.sourceforge.net"
+license=('custom')
+source=(LICENSE
+ mesa-8.0.3-llvm-3.1-fixes.patch
+ ftp://ftp.freedesktop.org/pub/mesa/${pkgver}/MesaLib-${pkgver}.tar.bz2
+)
+md5sums=('5c65a0fe315dd347e09b1f2826a1df5a'
+ 'c452ed3392468170726c004c2f4e02ca'
+ 'cc5ee15e306b8c15da6a478923797171')
+
+build() {
+ cd ${srcdir}/?esa-*
+
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+ # for our llvm-config for 32 bit
+ export LLVM_CONFIG=/usr/bin/llvm-config32
+
+ patch -Np1 -i "${srcdir}/mesa-8.0.3-llvm-3.1-fixes.patch"
+
+
+ autoreconf -vfi
+ ./configure --prefix=/usr \
+ --with-dri-driverdir=/usr/lib32/xorg/modules/dri \
+ --with-gallium-drivers=nouveau \
+ --with-dri-drivers=nouveau \
+ --enable-gallium-llvm \
+ --disable-gallium-egl \
+ --enable-shared-glapi \
+ --enable-gbm \
+ --enable-glx-tls \
+ --enable-dri \
+ --enable-glx \
+ --enable-osmesa \
+ --enable-gles1 \
+ --enable-gles2 \
+ --disable-egl \
+ --enable-texture-float \
+ --enable-xa \
+ --enable-shared-dricore \
+ --enable-32-bit \
+ --libdir=/usr/lib32
+
+ make
+}
+
+package() {
+ depends=("lib32-libgl=${pkgver}" 'lib32-libdrm-nouveau1')
+ pkgdesc="Mesa classic DRI + Gallium3D drivers for Nouveau (32-bit)"
+
+ # classic mesa driver for nv10 , nv20 nouveau_vieux_dri.so
+ make -C ${srcdir}/?esa-*/src/mesa/drivers/dri/nouveau DESTDIR="${pkgdir}" install
+ # gallium3D driver for nv30 - nv40 - nv50 nouveau_dri.so
+ make -C ${srcdir}/?esa-*/src/gallium/targets/dri-nouveau DESTDIR="${pkgdir}" install
+}
diff --git a/multilib/lib32-nouveau-dri/mesa-8.0.3-llvm-3.1-fixes.patch b/multilib/lib32-nouveau-dri/mesa-8.0.3-llvm-3.1-fixes.patch
new file mode 100644
index 000000000..a567b5926
--- /dev/null
+++ b/multilib/lib32-nouveau-dri/mesa-8.0.3-llvm-3.1-fixes.patch
@@ -0,0 +1,46 @@
+diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+index a50a51d..f1bb4d9 100644
+--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
++++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+@@ -235,7 +235,24 @@ lp_disassemble(const void* func)
+ int AsmPrinterVariant = AsmInfo->getAssemblerDialect();
+ #endif
+
+-#if HAVE_LLVM >= 0x0300
++#if HAVE_LLVM >= 0x0301
++ OwningPtr<const MCRegisterInfo> MRI(T->createMCRegInfo(Triple));
++ if (!MRI) {
++ debug_printf("error: no register info for target %s\n", Triple.c_str());
++ return;
++ }
++
++ OwningPtr<const MCInstrInfo> MII(T->createMCInstrInfo());
++ if (!MII) {
++ debug_printf("error: no instruction info for target %s\n", Triple.c_str());
++ return;
++ }
++#endif
++
++#if HAVE_LLVM >= 0x0301
++ OwningPtr<MCInstPrinter> Printer(
++ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MII, *MRI, *STI));
++#elif HAVE_LLVM == 0x0300
+ OwningPtr<MCInstPrinter> Printer(
+ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI));
+ #elif HAVE_LLVM >= 0x0208
+diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
+index fe7616b..68f8808 100644
+--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
++++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
+@@ -62,7 +62,11 @@
+ extern "C" void
+ lp_register_oprofile_jit_event_listener(LLVMExecutionEngineRef EE)
+ {
++#if HAVE_LLVM >= 0x0301
++ llvm::unwrap(EE)->RegisterJITEventListener(llvm::JITEventListener::createOProfileJITEventListener());
++#else
+ llvm::unwrap(EE)->RegisterJITEventListener(llvm::createOProfileJITEventListener());
++#endif
+ }
+
+
diff --git a/multilib/lib32-pango/PKGBUILD b/multilib/lib32-pango/PKGBUILD
index 752e80caf..e9636f9d3 100644
--- a/multilib/lib32-pango/PKGBUILD
+++ b/multilib/lib32-pango/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 69850 2012-04-24 19:39:48Z bluewind $
+# $Id: PKGBUILD 72530 2012-06-16 10:19:20Z bluewind $
# Contributor: Pierre Schmitz <pierre@archlinux.de>
# Contributor: Mikko Seppälä <t-r-a-y@mbnet.fi>
# Maintainer: Biru Ionut <ionut@archlinux.ro>
_pkgbasename=pango
pkgname=lib32-$_pkgbasename
-pkgver=1.30.0
+pkgver=1.30.1
pkgrel=1
pkgdesc="A library for layout and rendering of text (32-bit)"
arch=('x86_64')
@@ -17,7 +17,7 @@ install=pango.install
source=(http://ftp.gnome.org/pub/gnome/sources/${_pkgbasename}/${pkgver:0:4}/${_pkgbasename}-${pkgver}.tar.xz
pango-modules-conffile.patch)
url="http://www.pango.org/"
-sha256sums=('7c6d2ab024affaed0e942f9279b818235f9c6a36d9fc50688f48d387f4102dff'
+sha256sums=('3a8c061e143c272ddcd5467b3567e970cfbb64d1d1600a8f8e62435556220cbe'
'4a178b60dd420ae53baeabbecfaaeca4070a4b777b2b3f36d137cd70b5a270c3')
build() {
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