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