diff options
80 files changed, 2342 insertions, 68 deletions
diff --git a/community-testing/r8168-lts/PKGBUILD b/community-testing/r8168-lts/PKGBUILD index f7a332181..62afc9066 100644 --- a/community-testing/r8168-lts/PKGBUILD +++ b/community-testing/r8168-lts/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 74765 2012-08-03 18:03:24Z tpowa $ +# $Id: PKGBUILD 75279 2012-08-17 18:35:26Z tpowa $ # Maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com> pkgname=r8168-lts _pkgname=r8168 pkgver=8.031.00 -pkgrel=4 +pkgrel=5 pkgdesc="A kernel module for Realtek 8168 network cards for linux-lts" url="http://www.realtek.com.tw" license=("GPL") diff --git a/community/fish/PKGBUILD b/community/fish/PKGBUILD index 00ec0ef53..fdfdabd1c 100644 --- a/community/fish/PKGBUILD +++ b/community/fish/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 74993 2012-08-11 09:42:41Z bpiotrowski $ +# $Id: PKGBUILD 75266 2012-08-17 10:28:57Z bpiotrowski $ # Maintainer: Kaiting Chen <kaitocracy@gmail.com> # Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> # Contributor: Abhishek Dasgupta <abhidg@gmail.com> @@ -7,7 +7,7 @@ pkgname=fish pkgver=2.0b2 -pkgrel=2 +pkgrel=3 pkgdesc='Smart and user friendly shell intended mostly for interactive use' arch=('i686' 'x86_64') url='http://ridiculousfish.com/shell/' diff --git a/community/fish/fish.install b/community/fish/fish.install index 765006f95..49a65ad82 100644 --- a/community/fish/fish.install +++ b/community/fish/fish.install @@ -1,5 +1,5 @@ post_install() { - grep -q '/usr/bin/zsh' etc/shells || echo '/usr/bin/zsh' >> etc/shells + grep -q '/usr/bin/fish' etc/shells || echo '/usr/bin/fish' >> etc/shells } post_upgrade() { diff --git a/community/libfm/PKGBUILD b/community/libfm/PKGBUILD index 5f5d0e842..7186b054b 100644 --- a/community/libfm/PKGBUILD +++ b/community/libfm/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 75065 2012-08-13 13:28:06Z bpiotrowski $ +# $Id: PKGBUILD 75270 2012-08-17 10:52:47Z bpiotrowski $ # Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com> # Contributor: Unknown47 <unknown47r@gmail.com> # Contributor: Angel Velasquez <angvp@archlinux.org> @@ -6,7 +6,7 @@ pkgname=libfm pkgver=1.0 -pkgrel=1 +pkgrel=2 pkgdesc="A library for file management" url="http://pcmanfm.sourceforge.net/" arch=('i686' 'x86_64') diff --git a/community/libfm/libfm.install b/community/libfm/libfm.install index 1a6a34b9a..e83eccb55 100644 --- a/community/libfm/libfm.install +++ b/community/libfm/libfm.install @@ -1,7 +1,7 @@ post_install() { update-mime-database /usr/share/mime > /dev/null update-desktop-database -q - [ -d /usr/lib/gio/modules ] && gio-querymodules /usr/lib/gio/modules + #[ -d /usr/lib/gio/modules ] && gio-querymodules /usr/lib/gio/modules } post_upgrade() { diff --git a/community/multipath-tools/PKGBUILD b/community/multipath-tools/PKGBUILD index 658ad75f9..3312fe01f 100644 --- a/community/multipath-tools/PKGBUILD +++ b/community/multipath-tools/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 73313 2012-07-06 07:32:23Z bpiotrowski $ +# $Id: PKGBUILD 75262 2012-08-17 10:00:23Z bpiotrowski $ # Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> # Contributor: Thomas S Hatch <thatch45 ar gmail dot com> # Contributor: Michael P <ptchinster@archlinux.us> @@ -6,7 +6,7 @@ pkgname=multipath-tools pkgver=0.4.9 -pkgrel=9 +pkgrel=10 pkgdesc='Multipath tools for Linux' arch=('i686' 'x86_64') url="http://christophe.varoqui.free.fr/" @@ -16,13 +16,14 @@ backup=('etc/multipath.conf' 'etc/multipath.conf.annotated') install=multipath-tools.install options=(!emptydirs) source=(http://christophe.varoqui.free.fr/multipath-tools/$pkgname-$pkgver.tar.bz2 - multipath.conf multipath.conf.annotated multipathd.rc + rc.d service multipath.conf multipath.conf.annotated fix-build.patch buffer-overflows.patch log_enquery_overflow.patch blacklist-cciss-devices.patch explicitly-include-posix_types.h.patch) md5sums=('a6d4b48afc28f1f50f5ee4b1b06d2765' + '7c04ef96441363b0d43a2ebb13a87659' + '4843e91a83660e4b3acfb2d804fa344e' '9324ff0ba8330dcb21b2fcf64988026f' 'be11462922eeeb9fcd2ba5f3f137b7d9' - '7c04ef96441363b0d43a2ebb13a87659' '885c0ba9c90b73cc93aa3f78005f81d6' 'c5aab36777b0304a3525533cdd31bddc' '00eae05e02f1b85062e998574ab1b833' @@ -45,7 +46,8 @@ build() { package() { make LIB='usr/lib' DESTDIR="$pkgdir" bindir='/usr/bin' libudevdir='/usr/lib/udev' install - install -D -m 644 multipath.conf "$pkgdir"/etc/multipath.conf - install -D -m 644 multipath.conf.annotated "$pkgdir"/etc/multipath.conf.annotated - install -D -m 755 multipathd.rc "$pkgdir"/etc/rc.d/multipathd + install -Dm644 multipath.conf "$pkgdir"/etc/multipath.conf + install -Dm644 multipath.conf.annotated "$pkgdir"/etc/multipath.conf.annotated + install -Dm755 rc.d "$pkgdir"/etc/rc.d/multipathd + install -Dm644 service "$pkgdir"/usr/lib/systemd/system/multipathd.service } diff --git a/community/multipath-tools/rc.d b/community/multipath-tools/rc.d new file mode 100644 index 000000000..7f5ef5d6a --- /dev/null +++ b/community/multipath-tools/rc.d @@ -0,0 +1,35 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + stat_busy "Starting multipathd" + /usr/bin/multipathd + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon multipathd + stat_done + fi + ;; + stop) + stat_busy "Stopping multipathd" + [ -f /var/run/multipathd.pid ] && kill `cat /var/run/multipathd.pid` >/dev/null 2>&1 + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon multipathd + stat_done + fi + ;; + restart) + $0 stop + sleep 2 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community/multipath-tools/service b/community/multipath-tools/service new file mode 100644 index 000000000..a70d0ee1f --- /dev/null +++ b/community/multipath-tools/service @@ -0,0 +1,12 @@ +[Unit] +Description=Device-Mapper Multipath Device Controller +After=syslog.target + +[Service] +Type=forking +PIDFile=/var/run/multipathd.pid +ExecStart=/sbin/multipathd +ExecReload=/sbin/multipathd reconfigure + +[Install] +WantedBy=multi-user.target diff --git a/community/ntop/PKGBUILD b/community/ntop/PKGBUILD index a44a800cd..98584e1ce 100644 --- a/community/ntop/PKGBUILD +++ b/community/ntop/PKGBUILD @@ -1,28 +1,35 @@ -# $Id: PKGBUILD 59714 2011-11-29 13:35:19Z stephane $ +# $Id: PKGBUILD 75281 2012-08-17 18:35:49Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Douglas Soares de Andrade <douglas@archlinux.org> pkgname=ntop -pkgver=4.1.0 +pkgver=5.0 pkgrel=2 pkgdesc='A network traffic probe that shows the network usage.' arch=('i686' 'x86_64') url='http://www.ntop.org/' license=('GPL') -depends=('libevent' 'libpcap' 'gd' 'glib' 'libxml2' 'openssl' 'rrdtool' 'pcre' 'geoip' 'lua') +depends=('libevent' 'libpcap' 'gd' 'glibc' 'libxml2' 'openssl' 'rrdtool' 'pcre' 'geoip' 'lua') +makedepends=('subversion' 'ca-certificates') options=('!libtool' '!makeflags') install='ntop.install' source=("http://sourceforge.net/projects/${pkgname}/files/${pkgname}/Stable/${pkgname}-${pkgver}.tar.gz" 'ntop' - 'ntop.conf.d') -md5sums=('116df99cf548431393991ea15443c52f' + 'ntop.conf.d' + 'ntop.service') +md5sums=('e4115a6609fd2def2dce177772f9a789' '7b0d7bb57432e768ff387e9f7236f87c' - '6a9371de1dcf31d8ef13a4cf349c02b3') + '6a9371de1dcf31d8ef13a4cf349c02b3' + 'bcb2bcfb4b573babdee7d9321591e3e3') build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./autogen.sh --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --disable-snmp + echo 't' | svn export -r 5614 'https://svn.ntop.org/svn/ntop/trunk/nDPI/' + tar -czvf nDPI-svn5614.tar.gz nDPI + + ./autogen.sh --noconfig + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --disable-snmp make } @@ -41,4 +48,6 @@ package() { _plug="$(basename ${_f})" ln -sf "../../lib${_plug}" "${_f}" done + + install -Dm0644 "${srcdir}/ntop.service" "${pkgdir}/usr/lib/systemd/system/ntop.service" } diff --git a/community/ntop/ntop.service b/community/ntop/ntop.service new file mode 100644 index 000000000..20a9c66f9 --- /dev/null +++ b/community/ntop/ntop.service @@ -0,0 +1,14 @@ +[Unit] +Description=A network traffic probe similar to the UNIX top command +Requires=network.target +ConditionPathExists=/var/lib/ntop/ntop_pw.db +After=syslog.target network.target + +[Service] +Environment=LANG=C +ExecStart=/usr/sbin/ntop -i eth0 -w 3000 +Type=simple +StandardError=syslog + +[Install] +WantedBy=multi-user.target diff --git a/community/oidentd/PKGBUILD b/community/oidentd/PKGBUILD index 18807fdf7..8841f76cc 100644 --- a/community/oidentd/PKGBUILD +++ b/community/oidentd/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 72791 2012-06-22 12:51:10Z dreisner $ +# $Id: PKGBUILD 75286 2012-08-17 22:22:42Z heftig $ # Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> # Contributor: simo <simo@archlinux.org> # Contributor: Mateusz Herych <heniekk@gmail.com> @@ -6,7 +6,7 @@ pkgname=oidentd pkgver=2.0.8 -pkgrel=6 +pkgrel=7 pkgdesc='An RFC1413 compliant ident daemon' arch=('i686' 'x86_64') url="http://dev.ojnk.net/" @@ -18,7 +18,7 @@ md5sums=('c3d9a56255819ef8904b867284386911' '93cbf742cdd0b053f67482273d715f25' '603307525771724b0f55a2c34fbc3f3e' 'b215bee5764cdecb0939f44d5d2dccbe' - '651c2ef45d1d345d95056ef0787e29e6') + '4442fb9fc10754914568e6ffc3d5fc42') build() { cd $srcdir/$pkgname-$pkgver diff --git a/community/oidentd/socket b/community/oidentd/socket index 63df7036e..cf00b55b8 100644 --- a/community/oidentd/socket +++ b/community/oidentd/socket @@ -1,6 +1,5 @@ [Unit] Description=Ident (RFC 1413) socket -Conflicts=oidentd.service [Socket] ListenStream=113 diff --git a/community/python-psutil/PKGBUILD b/community/python-psutil/PKGBUILD index ae4015e87..043ae3513 100644 --- a/community/python-psutil/PKGBUILD +++ b/community/python-psutil/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 75110 2012-08-14 07:14:59Z seblu $ +# $Id: PKGBUILD 75268 2012-08-17 10:49:54Z seblu $ # Maintainer: Sébastien Luttringer <seblu@aur.archlinux.org> pkgbase=python-psutil pkgname=('python-psutil' 'python2-psutil') -pkgver=0.6.0 +pkgver=0.6.1 pkgrel=1 arch=('i686' 'x86_64') url='http://code.google.com/p/psutil/' license=('custom: BSD') makedepends=('python' 'python-distribute' 'python2' 'python2-distribute') source=("https://psutil.googlecode.com/files/psutil-$pkgver.tar.gz") -sha1sums=('67d3292c39af79c1e43b7fce84d7ff51a1b79d8e') +sha1sums=('f7a76e201601d8e06a1fdf434422f884888aac86') build() { cd psutil-$pkgver diff --git a/community/redshift/PKGBUILD b/community/redshift/PKGBUILD index 828bfefb6..4296079e6 100644 --- a/community/redshift/PKGBUILD +++ b/community/redshift/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 66452 2012-02-25 01:45:00Z lfleischer $ +# $Id: PKGBUILD 75276 2012-08-17 13:33:29Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Geoffrey Teale <tealeg@stop-squark> # Contributor: Mark, Huo Mian <markhuomian[at]gmail[dot]com> @@ -6,13 +6,14 @@ pkgname=redshift pkgver=1.7 -pkgrel=3 +pkgrel=4 pkgdesc='Adjusts the color temperature of your screen according to your surroundings.' arch=('i686' 'x86_64') url='http://jonls.dk/redshift/' license=('GPL3') depends=('gconf' 'libxxf86vm') -optdepends=('pyxdg: for gtk-redshift' +optdepends=('pygtk: for gtk-redshift' + 'pyxdg: for gtk-redshift' 'librsvg: for gtk-redshift') makedepends=('python2') install='redshift.install' diff --git a/community/supercollider/PKGBUILD b/community/supercollider/PKGBUILD index e9f6cde95..ab22feaba 100644 --- a/community/supercollider/PKGBUILD +++ b/community/supercollider/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 73052 2012-06-29 16:50:17Z speps $ +# $Id: PKGBUILD 75278 2012-08-17 15:40:58Z speps $ # Maintainer : speps <speps at aur dot archlinux dot org> # Contributor: <farid at archlinux-br.org> _name=SuperCollider pkgname=supercollider -pkgver=3.5.3 +pkgver=3.5.4 pkgrel=1 pkgdesc="An environment and programming language for real time audio synthesis and algorithmic composition" arch=('i686' 'x86_64') @@ -18,11 +18,15 @@ optdepends=('emacs: emacs interface' 'ruby: vim support') install="$pkgname.install" source=("http://download.sourceforge.net/project/$pkgname/Source/$pkgver/$_name-$pkgver-Source-linux.tar.bz2") -md5sums=('84fde920c32e9644902f989136a35b91') +md5sums=('8f0cd3a77e3adf0fd44cf6882ad39703') build() { cd "$srcdir/$_name-Source" + ## glibc 2.16 + boost 1.49 fix + # https://svn.boost.org/trac/boost/ticket/6940 + sed -i "s/TIME_UTC/&_/" `grep -rl TIME_UTC .` + [ -d bld ] || mkdir bld && cd bld cmake .. -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release diff --git a/community/zaz/PKGBUILD b/community/zaz/PKGBUILD index 87c196109..7a4684d6d 100644 --- a/community/zaz/PKGBUILD +++ b/community/zaz/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 64723 2012-02-18 02:57:50Z svenstaro $ +# $Id: PKGBUILD 75255 2012-08-17 04:30:40Z svenstaro $ # Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> # Contributor: Adrián Chaves Fernández (aka Gallaecio) <adriyetichaves@gmail.com> # Contributor: Todd Partridge (aka Gen2ly) <toddrpartridge@gmail.com> pkgname=zaz pkgver=1.0.0 -pkgrel=2 +pkgrel=3 pkgdesc="Puzzle game where the player has to arrange balls in triplets." arch=('i686' 'x86_64') url="http://sourceforge.net/projects/zaz/" @@ -18,7 +18,7 @@ install=zaz.install build() { cd "$srcdir/$pkgname-$pkgver" - ./configure --prefix=/usr + ./configure --prefix=/usr --disable-splash make } diff --git a/extra/nmap/PKGBUILD b/extra/nmap/PKGBUILD index b519d8c37..1609326b3 100644 --- a/extra/nmap/PKGBUILD +++ b/extra/nmap/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 161987 2012-06-17 23:52:34Z bisson $ +# $Id: PKGBUILD 165381 2012-08-17 08:46:12Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Angel Velasquez <angvp@archlinux.org> # Contributor: Hugo Doria <hugo@archlinux.org> pkgname=nmap pkgver=6.01 -pkgrel=1 +pkgrel=2 pkgdesc='Utility for network discovery and security auditing' url='http://nmap.org/' arch=('i686' 'x86_64') @@ -13,8 +13,10 @@ license=('GPL') makedepends=('pygtk') optdepends=('pygtk: zenmap') depends=('pcre' 'openssl' 'libpcap' 'lua') -source=("http://nmap.org/dist/${pkgname}-${pkgver}.tar.bz2") -sha1sums=('e397e453893930d14e9bb33a847d15b94b7ee83a') +source=("http://nmap.org/dist/${pkgname}-${pkgver}.tar.bz2" + 'kdesu.patch') +sha1sums=('e397e453893930d14e9bb33a847d15b94b7ee83a' + '159bc1243564d3a9dee820291bf07168870cbaf6') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -23,6 +25,8 @@ build() { echo 'TryExec=/usr/bin/pygtk-demo' >> zenmap/install_scripts/unix/zenmap.desktop echo 'TryExec=/usr/bin/pygtk-demo' >> zenmap/install_scripts/unix/zenmap-root.desktop + patch -p1 -i ../kdesu.patch # FS#31158 + ./configure \ --prefix=/usr \ --libexecdir=/usr/lib \ diff --git a/extra/nmap/kdesu.patch b/extra/nmap/kdesu.patch new file mode 100644 index 000000000..daed631d6 --- /dev/null +++ b/extra/nmap/kdesu.patch @@ -0,0 +1,14 @@ +diff -Naur old/zenmap/install_scripts/unix/su-to-zenmap.sh new/zenmap/install_scripts/unix/su-to-zenmap.sh +--- old/zenmap/install_scripts/unix/su-to-zenmap.sh 2012-08-17 18:34:05.863827354 +1000 ++++ new/zenmap/install_scripts/unix/su-to-zenmap.sh 2012-08-17 18:35:53.872952226 +1000 +@@ -40,8 +40,8 @@ + fi + case $SU_TO_ROOT_X in + gksu) gksu -u "$PRIV" "$COMMAND";; +- kdesu) kdesu -u "$PRIV" "$COMMAND";; +- kde4su) /usr/lib/kde4/libexec/kdesu -u "$PRIV" "$COMMAND";; ++ kdesu) kdesu -u "$PRIV" -c "$COMMAND";; ++ kde4su) /usr/lib/kde4/libexec/kdesu -u "$PRIV" -c "$COMMAND";; + ktsuss) ktsuss -u "$PRIV" "$COMMAND";; + # As a last resort, open a new xterm use sudo/su + sdterm) xterm -e "sudo -u $PRIV $COMMAND";; diff --git a/extra/rsync/PKGBUILD b/extra/rsync/PKGBUILD index 122453775..756d5bb35 100644 --- a/extra/rsync/PKGBUILD +++ b/extra/rsync/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 160933 2012-06-07 05:56:33Z pierre $ +# $Id: PKGBUILD 165402 2012-08-18 01:22:52Z heftig $ pkgname=rsync pkgver=3.0.9 -pkgrel=3 +pkgrel=4 pkgdesc="A file transfer program to keep remote files in sync" arch=('i686' 'x86_64') url="http://samba.anu.edu.au/rsync/" @@ -10,12 +10,15 @@ license=('GPL3') depends=('perl') backup=('etc/rsyncd.conf' 'etc/xinetd.d/rsync') source=("http://rsync.samba.org/ftp/rsync/$pkgname-$pkgver.tar.gz" - 'rsyncd.conf' 'rsyncd' 'rsync.xinetd' 'rsyncd.service') + 'rsyncd.conf' 'rsyncd' 'rsync.xinetd' 'rsyncd.service' + 'rsyncd.socket' 'rsyncd@.service') md5sums=('5ee72266fe2c1822333c407e1761b92b' 'bce64d122a8e0f86872a4a21a03bc7f3' 'ba413da4ebca05c57860151fda21efbc' 'ea3e9277dc908bc51f9eddc0f6b935c1' - 'ec96f9089d71109557cdcaa3f0633ed6') + 'ec96f9089d71109557cdcaa3f0633ed6' + 'af4eabd94380050191b20ab03e6f6076' + '53f94e613e0bc502d38dd61bd2cd7636') build() { cd "$srcdir/$pkgname-$pkgver" @@ -35,5 +38,7 @@ package() { install -Dm644 ../rsyncd.conf "$pkgdir/etc/rsyncd.conf" install -Dm644 ../rsync.xinetd "$pkgdir/etc/xinetd.d/rsync" install -Dm644 ../rsyncd.service "$pkgdir/usr/lib/systemd/system/rsyncd.service" + install -m644 ../rsyncd.socket "$pkgdir/usr/lib/systemd/system/rsyncd.socket" + install -m644 ../rsyncd@.service "$pkgdir/usr/lib/systemd/system/rsyncd@.service" install -Dm755 support/rrsync "$pkgdir/usr/lib/rsync/rrsync" } diff --git a/extra/rsync/rsyncd.socket b/extra/rsync/rsyncd.socket new file mode 100644 index 000000000..83724159f --- /dev/null +++ b/extra/rsync/rsyncd.socket @@ -0,0 +1,11 @@ +[Unit] +Description=Rsync Socket +After=network.target +Conflicts=rsyncd.service + +[Socket] +ListenStream=873 +Accept=true + +[Install] +WantedBy=sockets.target diff --git a/extra/rsync/rsyncd@.service b/extra/rsync/rsyncd@.service new file mode 100644 index 000000000..33db95c4c --- /dev/null +++ b/extra/rsync/rsyncd@.service @@ -0,0 +1,11 @@ +[Unit] +Description=A file transfer program to keep remote files in sync +After=network.target + +[Service] +ExecStart=-/usr/bin/rsync --daemon +StandardInput=socket +StandardOutput=inherit +StandardError=journal +User=nobody +Group=nobody diff --git a/extra/subversion/PKGBUILD b/extra/subversion/PKGBUILD index c38ea4a3a..8dee5bf18 100644 --- a/extra/subversion/PKGBUILD +++ b/extra/subversion/PKGBUILD @@ -1,17 +1,17 @@ -# $Id: PKGBUILD 165293 2012-08-15 00:13:54Z stephane $ +# $Id: PKGBUILD 165382 2012-08-17 10:46:53Z stephane $ # Maintainer: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Paul Mattal <paul@archlinux.org> # Contributor: Jason Chu <jason@archlinux.org> pkgname=subversion -pkgver=1.7.5 -pkgrel=3 +pkgver=1.7.6 +pkgrel=1 pkgdesc="A Modern Concurrent Version Control System" arch=('i686' 'x86_64') license=('APACHE') depends=('neon' 'apr-util' 'sqlite' 'file') optdepends=('libgnome-keyring' 'kdeutils-kwallet' 'bash-completion: for svn bash completion' \ - 'python2: for some hook scripts') # 'ruby: for some hook scripts' 'java-environment') + 'python2: for some hook scripts' 'java-environment') #'ruby: for some hook scripts') makedepends=('krb5' 'apache' 'python2' 'perl' 'swig' 'java-runtime' 'java-environment' 'autoconf' 'db' 'e2fsprogs' 'libgnome-keyring' 'kdelibs') backup=('etc/xinetd.d/svn' 'etc/conf.d/svnserve') @@ -24,10 +24,10 @@ source=(http://apache.mirror.rafal.ca/subversion/$pkgname-$pkgver.tar.bz2{,.asc} svnserve.conf svnserve.tmpfiles svnserve.service - subversion-1.7.5-kwallet-gcc47.patch + subversion-1.7.6-kwallet-gcc47.patch subversion.rpath.fix.patch) -sha1sums=('05c079762690d5ac1ccd2549742e7ef70fa45cf1' - 'b267cba19b4f56360657a5bf5b231950e027a45a' +sha1sums=('5b76a9f49e2c4bf064041a7d6b1bfcc3aa4ed068' + 'd8d99c01c49b189047389816b720923f1d9dbf2a' '64ba3e6ebafc08ac62f59d788f7a825fdce69573' '73b36c046c09cec2093354911c89e3ba8056af6c' 'ad117bf3b2a838a9a678a93fd8db1a066ad46c41' @@ -43,7 +43,7 @@ build() { patch -p0 -i ../subversion.rpath.fix.patch sed -i 's|/usr/bin/env python|/usr/bin/env python2|' tools/hook-scripts/{,mailer/{,tests/}}*.py - patch -Np1 -i ../subversion-1.7.5-kwallet-gcc47.patch + patch -Np1 -i ../subversion-1.7.6-kwallet-gcc47.patch ./configure --prefix=/usr --with-apr=/usr --with-apr-util=/usr \ --with-zlib=/usr --with-neon=/usr --with-apxs \ @@ -53,7 +53,7 @@ build() { make external-all make LT_LDFLAGS="-L$Fdestdir/usr/lib" local-all make swig_pydir=/usr/lib/python2.7/site-packages/libsvn \ - swig_pydir_extra=/usr/lib/python2.7/site-packages/svn swig-py swig-pl javahl # swig-rb + swig_pydir_extra=/usr/lib/python2.7/site-packages/svn swig-py swig-pl javahl #swig-rb } #check() { @@ -69,7 +69,7 @@ package() { make DESTDIR="${pkgdir}" INSTALLDIRS=vendor \ swig_pydir=/usr/lib/python2.7/site-packages/libsvn \ swig_pydir_extra=/usr/lib/python2.7/site-packages/svn \ - install install-swig-py install-swig-pl install-javahl # install-swig-rb + install install-swig-py install-swig-pl install-javahl #install-swig-rb install -dm755 "${pkgdir}"/usr/share/subversion cp -a tools/hook-scripts "${pkgdir}"/usr/share/subversion/ diff --git a/extra/subversion/subversion-1.7.6-kwallet-gcc47.patch b/extra/subversion/subversion-1.7.6-kwallet-gcc47.patch new file mode 100644 index 000000000..a571c3c3c --- /dev/null +++ b/extra/subversion/subversion-1.7.6-kwallet-gcc47.patch @@ -0,0 +1,56 @@ +diff -Naur subversion-1.7.5.ori/subversion/libsvn_auth_kwallet/kwallet.cpp subversion-1.7.5/subversion/libsvn_auth_kwallet/kwallet.cpp +--- subversion-1.7.5.ori/subversion/libsvn_auth_kwallet/kwallet.cpp 2010-12-30 15:46:50.000000000 -0500 ++++ subversion-1.7.5/subversion/libsvn_auth_kwallet/kwallet.cpp 2012-08-14 19:43:16.694275908 -0400 +@@ -60,6 +60,9 @@ + /* KWallet simple provider, puts passwords in KWallet */ + /*-----------------------------------------------------------------------*/ + ++static int q_argc = 1; ++static char q_argv0[] = "svn"; // Build non-const char * from string constant ++static char *q_argv[] = { q_argv0 }; + + static const char * + get_application_name(apr_hash_t *parameters, +@@ -175,6 +178,10 @@ + "kwallet-initialized", + APR_HASH_KEY_STRING, + NULL); ++ apr_hash_set(parameters, ++ "kwallet-wallet", ++ APR_HASH_KEY_STRING, ++ NULL); + } + return APR_SUCCESS; + } +@@ -203,12 +210,11 @@ + QCoreApplication *app; + if (! qApp) + { +- int argc = 1; +- app = new QCoreApplication(argc, (char *[1]) {(char *) "svn"}); ++ int argc = q_argc; ++ app = new QCoreApplication(argc, q_argv); + } + +- KCmdLineArgs::init(1, +- (char *[1]) {(char *) "svn"}, ++ KCmdLineArgs::init(q_argc, q_argv, + get_application_name(parameters, pool), + "subversion", + ki18n(get_application_name(parameters, pool)), +@@ -273,12 +279,11 @@ + QCoreApplication *app; + if (! qApp) + { +- int argc = 1; +- app = new QCoreApplication(argc, (char *[1]) {(char *) "svn"}); ++ int argc = q_argc; ++ app = new QCoreApplication(argc, q_argv); + } + +- KCmdLineArgs::init(1, +- (char *[1]) {(char *) "svn"}, ++ KCmdLineArgs::init(q_argc, q_argv, + get_application_name(parameters, pool), + "subversion", + ki18n(get_application_name(parameters, pool)), diff --git a/kernels/linux-libre-lts-rt/PKGBUILD b/kernels/linux-libre-lts-rt/PKGBUILD index b531454f3..74a883c1b 100644 --- a/kernels/linux-libre-lts-rt/PKGBUILD +++ b/kernels/linux-libre-lts-rt/PKGBUILD @@ -11,12 +11,12 @@ pkgbase=linux-libre-lts-rt # Build stock -LIBRE-LTS-RT kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.0 -_releasever=40 -_rtpatchver=rt60 +_releasever=41 +_rtpatchver=rt61 _pkgver=${_basekernel}.${_releasever} pkgver=${_basekernel}.${_releasever}_${_rtpatchver} -pkgrel=1.2 -_lxopkgver=${_basekernel}.39 # nearly always the same as pkgver +pkgrel=1 +_lxopkgver=${_basekernel}.41 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" license=('GPL2') @@ -41,8 +41,8 @@ _kernelname=${pkgbase#linux-libre} _localversionname=-LIBRE-LTS-RT _aurversionkernelname=-rt-lts # in this case, in the aur version on Archlinux, the kernel name is different than ours md5sums=('5f64180fe7df4e574dac5911b78f5067' - '4c42d5680df7921c20dda6f5fa44b275' - 'b7e3a739f569ecac90880624ab05ec6c' + 'b4ebaa2ebf8418c75aba96fd4dd6daf3' + '11bb95e505726abd1e1adfa522ef178f' '7266f5e7af09cc6e4b15d7a952e3b350' '5387f0cf51652c071190789569adf9c7' '85f04a9555bdc295f7c387a6564f0c81' @@ -52,7 +52,7 @@ md5sums=('5f64180fe7df4e574dac5911b78f5067' '9d3c56a4b999c8bfbd4018089a62f662' '263725f20c0b9eb9c353040792d644e5' 'c8299cf750a84e12d60b372c8ca7e1e8' - 'eea9aa0065f636fc924a23b3ffd24343') + '1f082cc9e5a18e227f7a044ff429914a') if [ "$CARCH" != "mips64el" ]; then # Don't use the Loongson-specific patches on non-mips64el arches. unset source[${#source[@]}-1] diff --git a/kernels/linux-libre-lts-rt/linux-libre-lts-rt.install b/kernels/linux-libre-lts-rt/linux-libre-lts-rt.install index 05ceaa33f..7f7e3a11f 100644 --- a/kernels/linux-libre-lts-rt/linux-libre-lts-rt.install +++ b/kernels/linux-libre-lts-rt/linux-libre-lts-rt.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME=-lts-rt -KERNEL_VERSION=3.0.40-1.2-rt60-LIBRE-LTS-RT +KERNEL_VERSION=3.0.41-1-rt61-LIBRE-LTS-RT # set a sane PATH to ensure that critical utils like depmod will be found export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' diff --git a/libre/virtualbox-libre-modules-lts/PKGBUILD b/libre/virtualbox-libre-modules-lts/PKGBUILD index 1758bc305..1d5f60079 100644 --- a/libre/virtualbox-libre-modules-lts/PKGBUILD +++ b/libre/virtualbox-libre-modules-lts/PKGBUILD @@ -7,7 +7,7 @@ pkgbase=virtualbox-libre-modules-lts pkgname=('virtualbox-libre-modules-lts' 'virtualbox-libre-parabola-modules-lts') pkgver=4.1.18 -pkgrel=4.2 +pkgrel=7 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL') diff --git a/testing/cyrus-sasl/0003_saslauthd_mdoc.patch b/testing/cyrus-sasl/0003_saslauthd_mdoc.patch new file mode 100644 index 000000000..694f4bb67 --- /dev/null +++ b/testing/cyrus-sasl/0003_saslauthd_mdoc.patch @@ -0,0 +1,35 @@ +0003_saslauthd_mdoc.dpatch by <fabbe@debian.org> + +Use the correct path for the saslauthd.conf file, and use another +date format (cosmetic). + +diff -urNad trunk~/saslauthd/saslauthd.mdoc trunk/saslauthd/saslauthd.mdoc +--- trunk~/saslauthd/saslauthd.mdoc 2006-05-29 22:52:42.000000000 +0300 ++++ trunk/saslauthd/saslauthd.mdoc 2006-07-12 15:05:25.000000000 +0300 +@@ -10,7 +10,7 @@ + .\" manpage in saslauthd.8 whenever you change this source + .\" version. Only the pre-formatted manpage is installed. + .\" +-.Dd 10 24 2002 ++.Dd October 24 2002 + .Dt SASLAUTHD 8 + .Os "CMU-SASL" + .Sh NAME +@@ -216,7 +216,7 @@ + .Em (All platforms that support OpenLDAP 2.0 or higher) + .Pp + Authenticate against an ldap server. The ldap configuration parameters are +-read from /usr/local/etc/saslauthd.conf. The location of this file can be ++read from /etc/saslauthd.conf. The location of this file can be + changed with the -O parameter. See the LDAP_SASLAUTHD file included with the + distribution for the list of available parameters. + .It Li sia +@@ -249,7 +249,7 @@ + .Bl -tag -width "/var/run/saslauthd/mux" + .It Pa /var/run/saslauthd/mux + The default communications socket. +-.It Pa /usr/local/etc/saslauthd.conf ++.It Pa /etc/saslauthd.conf + The default configuration file for ldap support. + .El + .Sh SEE ALSO diff --git a/testing/cyrus-sasl/0010_maintainer_mode.patch b/testing/cyrus-sasl/0010_maintainer_mode.patch new file mode 100644 index 000000000..cf3d02a08 --- /dev/null +++ b/testing/cyrus-sasl/0010_maintainer_mode.patch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 0010_maintainer_mode.dpatch by <fabbe@debian.org> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Enable maintainer mode to avoid auto* problems. + +@DPATCH@ +diff -urNad trunk~/configure.in trunk/configure.in +--- trunk~/configure.in 2006-05-29 22:52:46.000000000 +0300 ++++ trunk/configure.in 2006-11-01 23:24:55.000000000 +0200 +@@ -62,6 +62,8 @@ + AM_INIT_AUTOMAKE(cyrus-sasl, 2.1.22) + CMU_INIT_AUTOMAKE + ++AM_MAINTAINER_MODE ++ + # and include our config dir scripts + ACLOCAL="$ACLOCAL -I \$(top_srcdir)/config" + diff --git a/testing/cyrus-sasl/0011_saslauthd_ac_prog_libtool.patch b/testing/cyrus-sasl/0011_saslauthd_ac_prog_libtool.patch new file mode 100644 index 000000000..3805b4857 --- /dev/null +++ b/testing/cyrus-sasl/0011_saslauthd_ac_prog_libtool.patch @@ -0,0 +1,15 @@ +0011_saslauthd_ac_prog_libtool.dpatch by <fabbe@debian.org> + +Enable libtool use. + +diff -urNad trunk~/saslauthd/configure.in trunk/saslauthd/configure.in +--- trunk~/saslauthd/configure.in 2006-05-29 22:52:42.000000000 +0300 ++++ trunk/saslauthd/configure.in 2006-11-01 23:41:51.000000000 +0200 +@@ -25,6 +25,7 @@ + AC_PROG_MAKE_SET + AC_PROG_LN_S + AC_PROG_INSTALL ++AC_PROG_LIBTOOL + + dnl Checks for build foo + CMU_C___ATTRIBUTE__ diff --git a/testing/cyrus-sasl/0012_xopen_crypt_prototype.patch b/testing/cyrus-sasl/0012_xopen_crypt_prototype.patch new file mode 100644 index 000000000..d50ec8343 --- /dev/null +++ b/testing/cyrus-sasl/0012_xopen_crypt_prototype.patch @@ -0,0 +1,20 @@ +0012_xopen_crypt_prototype.dpatch by <dannf@debian.org> + +When _XOPEN_SOURCE is defined, the subsequent #include <unistd.h> +will define a correct function prototype for the crypt function. +This avoids segfaults on architectures where the size of a pointer +is greater than the size of an integer (ia64 and amd64 are examples). +This may be detected by looking for build log lines such as the +following: +auth_shadow.c:183: warning: implicit declaration of function ‘crypt’ +auth_shadow.c:183: warning: cast to pointer from integer of different +size + +diff -urNad trunk~/saslauthd/auth_shadow.c trunk/saslauthd/auth_shadow.c +--- trunk~/saslauthd/auth_shadow.c 2006-05-29 22:52:42.000000000 +0300 ++++ trunk/saslauthd/auth_shadow.c 2006-11-08 13:44:23.000000000 +0200 +@@ -1,3 +1,4 @@ ++#define _XOPEN_SOURCE + #define PWBUFSZ 256 /***SWB***/ + + /* MODULE: auth_shadow */ diff --git a/testing/cyrus-sasl/0016_pid_file_lock_creation_mask.patch b/testing/cyrus-sasl/0016_pid_file_lock_creation_mask.patch new file mode 100644 index 000000000..e9170cef3 --- /dev/null +++ b/testing/cyrus-sasl/0016_pid_file_lock_creation_mask.patch @@ -0,0 +1,27 @@ +0016_pid_file_lock_creation_mask.dpatch by Sam Hocevar <sam@zoy.org> + +pid_file_lock is created with a mask of 644 instead of 0644. +This patch fixes this octal/decimal confusion as well as the +(harmless) one in the previous umask() call. + +diff -urNad trunk~/saslauthd/saslauthd-main.c trunk/saslauthd/saslauthd-main.c +--- trunk~/saslauthd/saslauthd-main.c 2006-05-29 22:52:42.000000000 +0300 ++++ trunk/saslauthd/saslauthd-main.c 2007-06-26 12:07:10.000000000 +0300 +@@ -276,7 +276,7 @@ + exit(1); + } + +- umask(077); ++ umask(0077); + + pid_file_size = strlen(run_path) + sizeof(PID_FILE_LOCK) + 1; + if ((pid_file_lock = malloc(pid_file_size)) == NULL) { +@@ -287,7 +287,7 @@ + strlcpy(pid_file_lock, run_path, pid_file_size); + strlcat(pid_file_lock, PID_FILE_LOCK, pid_file_size); + +- if ((pid_file_lock_fd = open(pid_file_lock, O_CREAT|O_TRUNC|O_RDWR, 644)) < 0) { ++ if ((pid_file_lock_fd = open(pid_file_lock, O_CREAT|O_TRUNC|O_RDWR, 0644)) < 0) { + rc = errno; + logger(L_ERR, L_FUNC, "could not open pid lock file: %s", pid_file_lock); + logger(L_ERR, L_FUNC, "open: %s", strerror(rc)); diff --git a/testing/cyrus-sasl/0018_auth_rimap_quotes.patch b/testing/cyrus-sasl/0018_auth_rimap_quotes.patch new file mode 100644 index 000000000..13fa999f0 --- /dev/null +++ b/testing/cyrus-sasl/0018_auth_rimap_quotes.patch @@ -0,0 +1,35 @@ +0016_auth_rimap_quotes.dpatch by <fabbe@debian.org> + +All lines beginning with `## DP:' are a description of the patch. +Avoid infinite loop when username/password has a double quote character. +Upstream change: https://bugzilla.andrew.cmu.edu/cgi-bin/cvsweb.cgi/src/sasl/saslauthd/auth_rimap.c.diff?r1=1.12;r2=1.13 + +diff -urNad etch~/saslauthd/auth_rimap.c etch/saslauthd/auth_rimap.c +--- etch~/saslauthd/auth_rimap.c 2007-03-29 15:16:20.000000000 +0300 ++++ etch/saslauthd/auth_rimap.c 2008-02-13 13:42:53.000000000 +0200 +@@ -162,6 +162,7 @@ + num_quotes = 0; + p1 = s; + while ((p1 = strchr(p1, '"')) != NULL) { ++ p1++; + num_quotes++; + } + +@@ -438,7 +439,7 @@ + syslog(LOG_WARNING, "auth_rimap: writev: %m"); + memset(qlogin, 0, strlen(qlogin)); + free(qlogin); +- memset(qpass, 0, strlen(qlogin)); ++ memset(qpass, 0, strlen(qpass)); + free(qpass); + (void)close(s); + return strdup(RESP_IERROR); +@@ -447,7 +448,7 @@ + /* don't need these any longer */ + memset(qlogin, 0, strlen(qlogin)); + free(qlogin); +- memset(qpass, 0, strlen(qlogin)); ++ memset(qpass, 0, strlen(qpass)); + free(qpass); + + /* read and parse the LOGIN response */ diff --git a/testing/cyrus-sasl/0019_ldap_deprecated.patch b/testing/cyrus-sasl/0019_ldap_deprecated.patch new file mode 100644 index 000000000..8825256cb --- /dev/null +++ b/testing/cyrus-sasl/0019_ldap_deprecated.patch @@ -0,0 +1,22 @@ +0019_ldap_deprecated.dpatch by dann frazier <dannf@debian.org> + +The function ldap_get_values, used in saslauthd/lak.c, is deprecated. +Therefore, its prototype is not included by default when compiling +against the ldap.h headers. As a result, the compiler cannot know the +return type of the function at compile time, and will implicitly +convert to a pointer. This has implications on 64-bit systems. +This patch sets the deprecation mode on, so that the function prototype +gets included when compiling. +(Description by Fabian Fagerholm <fabbe@debian.org>) + +diff -urNad trunk~/saslauthd/lak.c trunk/saslauthd/lak.c +--- trunk~/saslauthd/lak.c 2006-06-04 12:26:20.000000000 +0300 ++++ trunk/saslauthd/lak.c 2008-02-15 14:32:11.000000000 +0200 +@@ -55,6 +55,7 @@ + #include <openssl/des.h> + #endif + ++#define LDAP_DEPRECATED 1 + #include <ldap.h> + #include <lber.h> + #include <sasl.h> diff --git a/testing/cyrus-sasl/0022_gcc4.4_preprocessor_syntax.patch b/testing/cyrus-sasl/0022_gcc4.4_preprocessor_syntax.patch new file mode 100644 index 000000000..a49b553f0 --- /dev/null +++ b/testing/cyrus-sasl/0022_gcc4.4_preprocessor_syntax.patch @@ -0,0 +1,26 @@ +0022_gcc4.4_preprocessor_syntax.dpatch by <fabbe@paniq.net> + +The #elif preprocessor directive requires a test condition. +GCC 4.4 enforces this rule. + +diff -urNad trunk~/plugins/digestmd5.c trunk/plugins/digestmd5.c +--- trunk~/plugins/digestmd5.c 2006-06-04 12:26:19.000000000 +0300 ++++ trunk/plugins/digestmd5.c 2009-01-26 13:29:40.000000000 +0200 +@@ -2715,7 +2715,7 @@ + "DIGEST-MD5", /* mech_name */ + #ifdef WITH_RC4 + 128, /* max_ssf */ +-#elif WITH_DES ++#elif defined(WITH_DES) + 112, + #else + 1, +@@ -4034,7 +4034,7 @@ + "DIGEST-MD5", + #ifdef WITH_RC4 /* mech_name */ + 128, /* max ssf */ +-#elif WITH_DES ++#elif defined(WITH_DES) + 112, + #else + 1, diff --git a/testing/cyrus-sasl/0025_ld_as_needed.patch b/testing/cyrus-sasl/0025_ld_as_needed.patch new file mode 100644 index 000000000..67b48b4a4 --- /dev/null +++ b/testing/cyrus-sasl/0025_ld_as_needed.patch @@ -0,0 +1,27 @@ +Author: Matthias Klose <doko@ubuntu.com> +Desription: Fix FTBFS, add $(SASL_DB_LIB) as dependency to libsasldb, and use +it. +--- a/saslauthd/Makefile.am ++++ b/saslauthd/Makefile.am +@@ -16,7 +16,7 @@ EXTRA_saslauthd_sources = getaddrinfo.c + saslauthd_DEPENDENCIES = saslauthd-main.o @LTLIBOBJS@ + saslauthd_LDADD = @SASL_KRB_LIB@ \ + @GSSAPIBASE_LIBS@ @GSSAPI_LIBS@ @LIB_CRYPT@ @LIB_SIA@ \ +- @LIB_SOCKET@ @SASL_DB_LIB@ @LIB_PAM@ @LDAP_LIBS@ @LTLIBOBJS@ ++ @LIB_SOCKET@ ../sasldb/libsasldb.la @LIB_PAM@ @LDAP_LIBS@ @LTLIBOBJS@ + + testsaslauthd_SOURCES = testsaslauthd.c utils.c + testsaslauthd_LDADD = @LIB_SOCKET@ +--- a/sasldb/Makefile.am ++++ b/sasldb/Makefile.am +@@ -55,8 +55,8 @@ noinst_LIBRARIES = libsasldb.a + + libsasldb_la_SOURCES = allockey.c sasldb.h + EXTRA_libsasldb_la_SOURCES = $(extra_common_sources) +-libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND) +-libsasldb_la_LIBADD = $(SASL_DB_BACKEND) ++libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND) $(SASL_DB_LIB) ++libsasldb_la_LIBADD = $(SASL_DB_BACKEND) $(SASL_DB_LIB) + + # Prevent make dist stupidity + libsasldb_a_SOURCES = diff --git a/testing/cyrus-sasl/0026_drop_krb5support_dependency.patch b/testing/cyrus-sasl/0026_drop_krb5support_dependency.patch new file mode 100644 index 000000000..cc00867ef --- /dev/null +++ b/testing/cyrus-sasl/0026_drop_krb5support_dependency.patch @@ -0,0 +1,14 @@ +Author: Roberto C. Sanchez <roberto@connexer.com> +Description: Drop gratuitous dependency on krb5support +--- a/cmulocal/sasl2.m4 ++++ b/cmulocal/sasl2.m4 +@@ -112,9 +112,6 @@ if test "$gssapi" != no; then + fi + + if test "$gss_impl" = "auto" -o "$gss_impl" = "mit"; then +- # check for libkrb5support first +- AC_CHECK_LIB(krb5support,krb5int_getspecific,K5SUP=-lkrb5support K5SUPSTATIC=$gssapi_dir/libkrb5support.a,,${LIB_SOCKET}) +- + gss_failed=0 + AC_CHECK_LIB(gssapi_krb5,gss_unwrap,gss_impl="mit",gss_failed=1, + ${GSSAPIBASE_LIBS} -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err ${K5SUP} ${LIB_SOCKET}) diff --git a/testing/cyrus-sasl/0027_db5_support.patch b/testing/cyrus-sasl/0027_db5_support.patch new file mode 100644 index 000000000..522824074 --- /dev/null +++ b/testing/cyrus-sasl/0027_db5_support.patch @@ -0,0 +1,24 @@ +Author: Ondřej Surý <ondrej@debian.org> +Description: Support newer Berkeley DB versions +--- a/sasldb/db_berkeley.c ++++ b/sasldb/db_berkeley.c +@@ -101,7 +101,7 @@ static int berkeleydb_open(const sasl_ut + ret = db_create(mbdb, NULL, 0); + if (ret == 0 && *mbdb != NULL) + { +-#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1 ++#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1)) + ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, flags, 0660); + #else + ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, flags, 0660); +--- a/utils/dbconverter-2.c ++++ b/utils/dbconverter-2.c +@@ -214,7 +214,7 @@ static int berkeleydb_open(const char *p + ret = db_create(mbdb, NULL, 0); + if (ret == 0 && *mbdb != NULL) + { +-#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1 ++#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1)) + ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, DB_CREATE, 0664); + #else + ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, DB_CREATE, 0664); diff --git a/testing/cyrus-sasl/0030-dont_use_la_files_for_opening_plugins.patch b/testing/cyrus-sasl/0030-dont_use_la_files_for_opening_plugins.patch new file mode 100644 index 000000000..14a322496 --- /dev/null +++ b/testing/cyrus-sasl/0030-dont_use_la_files_for_opening_plugins.patch @@ -0,0 +1,134 @@ +--- a/lib/dlopen.c ++++ b/lib/dlopen.c +@@ -247,105 +247,6 @@ static int _sasl_plugin_load(char *plugi + return result; + } + +-/* this returns the file to actually open. +- * out should be a buffer of size PATH_MAX +- * and may be the same as in. */ +- +-/* We'll use a static buffer for speed unless someone complains */ +-#define MAX_LINE 2048 +- +-static int _parse_la(const char *prefix, const char *in, char *out) +-{ +- FILE *file; +- size_t length; +- char line[MAX_LINE]; +- char *ntmp = NULL; +- +- if(!in || !out || !prefix || out == in) return SASL_BADPARAM; +- +- /* Set this so we can detect failure */ +- *out = '\0'; +- +- length = strlen(in); +- +- if (strcmp(in + (length - strlen(LA_SUFFIX)), LA_SUFFIX)) { +- if(!strcmp(in + (length - strlen(SO_SUFFIX)),SO_SUFFIX)) { +- /* check for a .la file */ +- strcpy(line, prefix); +- strcat(line, in); +- length = strlen(line); +- *(line + (length - strlen(SO_SUFFIX))) = '\0'; +- strcat(line, LA_SUFFIX); +- file = fopen(line, "r"); +- if(file) { +- /* We'll get it on the .la open */ +- fclose(file); +- return SASL_FAIL; +- } +- } +- strcpy(out, prefix); +- strcat(out, in); +- return SASL_OK; +- } +- +- strcpy(line, prefix); +- strcat(line, in); +- +- file = fopen(line, "r"); +- if(!file) { +- _sasl_log(NULL, SASL_LOG_WARN, +- "unable to open LA file: %s", line); +- return SASL_FAIL; +- } +- +- while(!feof(file)) { +- if(!fgets(line, MAX_LINE, file)) break; +- if(line[strlen(line) - 1] != '\n') { +- _sasl_log(NULL, SASL_LOG_WARN, +- "LA file has too long of a line: %s", in); +- return SASL_BUFOVER; +- } +- if(line[0] == '\n' || line[0] == '#') continue; +- if(!strncmp(line, "dlname=", sizeof("dlname=") - 1)) { +- /* We found the line with the name in it */ +- char *end; +- char *start; +- size_t len; +- end = strrchr(line, '\''); +- if(!end) continue; +- start = &line[sizeof("dlname=")-1]; +- len = strlen(start); +- if(len > 3 && start[0] == '\'') { +- ntmp=&start[1]; +- *end='\0'; +- /* Do we have dlname="" ? */ +- if(ntmp == end) { +- _sasl_log(NULL, SASL_LOG_DEBUG, +- "dlname is empty in .la file: %s", in); +- return SASL_FAIL; +- } +- strcpy(out, prefix); +- strcat(out, ntmp); +- } +- break; +- } +- } +- if(ferror(file) || feof(file)) { +- _sasl_log(NULL, SASL_LOG_WARN, +- "Error reading .la: %s\n", in); +- fclose(file); +- return SASL_FAIL; +- } +- fclose(file); +- +- if(!(*out)) { +- _sasl_log(NULL, SASL_LOG_WARN, +- "Could not find a dlname line in .la file: %s", in); +- return SASL_FAIL; +- } +- +- return SASL_OK; +-} + #endif /* DO_DLOPEN */ + + /* loads a plugin library */ +@@ -499,18 +400,18 @@ int _sasl_load_plugins(const add_plugin_ + if (length + pos>=PATH_MAX) continue; /* too big */ + + if (strcmp(dir->d_name + (length - strlen(SO_SUFFIX)), +- SO_SUFFIX) +- && strcmp(dir->d_name + (length - strlen(LA_SUFFIX)), +- LA_SUFFIX)) ++ SO_SUFFIX)) + continue; + ++ /* We only use .so files for loading plugins */ ++ + memcpy(name,dir->d_name,length); + name[length]='\0'; + +- result = _parse_la(prefix, name, tmp); +- if(result != SASL_OK) +- continue; +- ++ /* Create full name with path */ ++ strncpy(tmp, prefix, PATH_MAX); ++ strncat(tmp, name, PATH_MAX); ++ + /* skip "lib" and cut off suffix -- + this only need be approximate */ + strcpy(plugname, name + 3); diff --git a/testing/cyrus-sasl/PKGBUILD b/testing/cyrus-sasl/PKGBUILD new file mode 100644 index 000000000..b6c2a29bc --- /dev/null +++ b/testing/cyrus-sasl/PKGBUILD @@ -0,0 +1,203 @@ +# $Id: PKGBUILD 165399 2012-08-17 23:39:59Z heftig $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +# This package spans multiple repositories. +# Always build from cyrus-sasl/trunk and merge changes to libsasl/trunk. + +pkgbase=('cyrus-sasl') +pkgname=('cyrus-sasl' 'cyrus-sasl-gssapi' 'cyrus-sasl-ldap' 'cyrus-sasl-sql') +#pkgname=libsasl +pkgver=2.1.23 +pkgrel=10 +pkgdesc="Cyrus Simple Authentication Service Layer (SASL) library" +arch=('i686' 'x86_64') +url="http://cyrusimap.web.cmu.edu/" +license=('custom') +options=('!makeflags' '!libtool') +makedepends=('postgresql-libs' 'libmysqlclient' 'libldap' 'krb5' 'openssl') +source=(ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-${pkgver}.tar.gz + cyrus-sasl-2.1.19-checkpw.c.patch + cyrus-sasl-2.1.22-crypt.patch + cyrus-sasl-2.1.22-qa.patch + cyrus-sasl-2.1.22-automake-1.10.patch + cyrus-sasl-2.1.23-authd-fix.patch + 0003_saslauthd_mdoc.patch + 0010_maintainer_mode.patch + 0011_saslauthd_ac_prog_libtool.patch + 0012_xopen_crypt_prototype.patch + 0016_pid_file_lock_creation_mask.patch + 0018_auth_rimap_quotes.patch + 0019_ldap_deprecated.patch + 0022_gcc4.4_preprocessor_syntax.patch + 0025_ld_as_needed.patch + 0026_drop_krb5support_dependency.patch + 0027_db5_support.patch + 0030-dont_use_la_files_for_opening_plugins.patch + saslauthd.service + saslauthd.conf.d + saslauthd) +md5sums=('2eb0e48106f0e9cd8001e654f267ecbc' + 'e27ddff076342e7a3041c4759817d04b' + 'd7e6886e88af04d05f3dec7f0a59ccf7' + '79b8a5e8689989e2afd4b7bda595a7b1' + 'f4131b077ddb5240b375d749162f1b7a' + 'c7ad2c70c1ef814eb4b119f316c064f2' + 'caeeac3feba19cbbd36e7345cc805600' + 'f45d8b60e8f74dd7f7c2ec1665fa602a' + '9d93880514cb5ff5da969f1ceb64a661' + 'dfdc052a7e678db9f687482c5d52f34e' + '4a09f6b24b91f8450892a78e378860da' + '213abe7c5dfe0d7f446992787da1e780' + '5a0321177ad30cb5518c8b6812e3961a' + '0c965748970eea29fa295524821d43f0' + '62bf892fe4d1df41ff748e91a1afaf67' + 'b7848957357e7c02d6490102be496bf9' + 'd86a5aa2e3b5b7c1bad6f8b548b7ea36' + '8e7106f32e495e9ade69014fd1b3352a' + '00f6b781549a274630e22173f77bd41d' + '49219af5641150edec288a3fdb65e7c1' + '75542f613185d5a90520ad0d7d926a20') + +build() { + cd "${srcdir}/cyrus-sasl-${pkgver}" + patch -Np1 -i "${srcdir}/cyrus-sasl-2.1.19-checkpw.c.patch" + patch -Np1 -i "${srcdir}/cyrus-sasl-2.1.22-crypt.patch" + patch -Np1 -i "${srcdir}/cyrus-sasl-2.1.22-qa.patch" + patch -Np1 -i "${srcdir}/cyrus-sasl-2.1.22-automake-1.10.patch" + patch -Np0 -i "${srcdir}/cyrus-sasl-2.1.23-authd-fix.patch" + patch -Np1 -i "${srcdir}/0003_saslauthd_mdoc.patch" + patch -Np1 -i "${srcdir}/0010_maintainer_mode.patch" + patch -Np1 -i "${srcdir}/0011_saslauthd_ac_prog_libtool.patch" + patch -Np1 -i "${srcdir}/0012_xopen_crypt_prototype.patch" + patch -Np1 -i "${srcdir}/0016_pid_file_lock_creation_mask.patch" + patch -Np1 -i "${srcdir}/0018_auth_rimap_quotes.patch" + patch -Np1 -i "${srcdir}/0019_ldap_deprecated.patch" + patch -Np1 -i "${srcdir}/0022_gcc4.4_preprocessor_syntax.patch" + patch -Np1 -i "${srcdir}/0025_ld_as_needed.patch" + patch -Np1 -i "${srcdir}/0026_drop_krb5support_dependency.patch" + patch -Np1 -i "${srcdir}/0027_db5_support.patch" + patch -Np1 -i "${srcdir}/0030-dont_use_la_files_for_opening_plugins.patch" + + rm -f config/config.guess config/config.sub + rm -f config/ltconfig config/ltmain.sh config/libtool.m4 + rm -fr autom4te.cache + libtoolize -c + aclocal -I config -I cmulocal + automake -a -c + autoheader + autoconf + + pushd saslauthd + rm -f config/config.guess config/config.sub + rm -f config/ltconfig config/ltmain.sh config/libtool.m4 + rm -fr autom4te.cache + libtoolize -c + aclocal -I config -I ../cmulocal -I ../config + automake -a -c + autoheader + autoconf + popd + + ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --disable-static \ + --enable-shared \ + --enable-alwaystrue \ + --enable-checkapop \ + --enable-cram \ + --enable-digest \ + --disable-otp \ + --disable-srp \ + --disable-srp-setpass \ + --disable-krb4 \ + --enable-gssapi \ + --enable-auth-sasldb \ + --enable-plain \ + --enable-anon \ + --enable-login \ + --enable-ntlm \ + --disable-passdss \ + --enable-sql \ + --enable-ldapdb \ + --disable-macos-framework \ + --with-pam \ + --with-saslauthd=/var/run/saslauthd \ + --with-ldap \ + --with-configdir=/etc/sasl2:/etc/sasl:/usr/lib/sasl2 \ + --sysconfdir=/etc \ + --with-devrandom=/dev/urandom + make +} + +package_libsasl() { + pkgdesc="Cyrus Simple Authentication Service Layer (SASL) Library" + depends=('openssl') + conflicts=('cyrus-sasl-plugins') + + cd "${srcdir}/cyrus-sasl-${pkgver}" + for dir in include lib sasldb plugins utils; do + pushd ${dir} + make DESTDIR="${pkgdir}" install + popd + done + rm -f "${pkgdir}"/usr/lib/sasl2/libsql.so* + rm -f "${pkgdir}"/usr/lib/sasl2/libgssapiv2.so* + rm -f "${pkgdir}"/usr/lib/sasl2/libldapdb.so* + install -m755 -d "${pkgdir}/usr/share/licenses/libsasl" + install -m644 COPYING "${pkgdir}/usr/share/licenses/libsasl/" +} + +package_cyrus-sasl() { + depends=("libsasl=${pkgver}") + pkgdesc="Cyrus saslauthd SASL authentication daemon" + backup=('etc/conf.d/saslauthd') + + cd "${srcdir}/cyrus-sasl-${pkgver}/saslauthd" + make DESTDIR="${pkgdir}" install + install -Dm755 "${srcdir}/saslauthd" "${pkgdir}/etc/rc.d/saslauthd" + install -Dm644 "${srcdir}/saslauthd.conf.d" "${pkgdir}/etc/conf.d/saslauthd" + install -Dm644 "${srcdir}/saslauthd.service" "${pkgdir}/usr/lib/systemd/system/saslauthd.service" + + install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl" + ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl/" +} + +package_cyrus-sasl-gssapi() { + pkgdesc="GSSAPI authentication mechanism for Cyrus SASL" + depends=("libsasl=${pkgver}" 'krb5') + replaces=('cyrus-sasl-plugins') + + cd "${srcdir}/cyrus-sasl-${pkgver}/plugins" + install -m755 -d "${pkgdir}/usr/lib/sasl2" + cp -a .libs/libgssapiv2.so* "${pkgdir}/usr/lib/sasl2/" + + install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl-gssapi" + ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl-gssapi/" +} + +package_cyrus-sasl-ldap() { + pkgdesc="ldapdb auxprop module for Cyrus SASL" + depends=("libsasl=${pkgver}" 'libldap') + replaces=('cyrus-sasl-plugins') + + cd "${srcdir}/cyrus-sasl-${pkgver}/plugins" + install -m755 -d "${pkgdir}/usr/lib/sasl2" + cp -a .libs/libldapdb.so* "${pkgdir}/usr/lib/sasl2/" + + install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl-ldap" + ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl-ldap/" +} + +package_cyrus-sasl-sql() { + pkgdesc="SQL auxprop module for Cyrus SASL" + depends=("libsasl=${pkgver}" 'postgresql-libs' 'libmysqlclient') + replaces=('cyrus-sasl-plugins') + + cd "${srcdir}/cyrus-sasl-${pkgver}/plugins" + install -m755 -d "${pkgdir}/usr/lib/sasl2" + cp -a .libs/libsql.so* "${pkgdir}/usr/lib/sasl2/" + + install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl-sql" + ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl-sql/" +} diff --git a/testing/cyrus-sasl/cyrus-sasl-2.1.19-checkpw.c.patch b/testing/cyrus-sasl/cyrus-sasl-2.1.19-checkpw.c.patch new file mode 100644 index 000000000..f7bf44b79 --- /dev/null +++ b/testing/cyrus-sasl/cyrus-sasl-2.1.19-checkpw.c.patch @@ -0,0 +1,170 @@ +diff -ur ../cyrus-sasl-2.1.19.orig/lib/Makefile.in ./lib/Makefile.in +--- ../cyrus-sasl-2.1.19.orig/lib/Makefile.in 2004-07-02 21:40:15.000000000 +0200 ++++ ./lib/Makefile.in 2004-09-07 13:21:22.746680576 +0200 +@@ -120,7 +120,7 @@ + JAVA_TRUE = @JAVA_TRUE@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ +-LIBS = @LIBS@ ++LIBS = -lcrypt @LIBS@ + LIBTOOL = @LIBTOOL@ + LIB_CRYPT = @LIB_CRYPT@ + LIB_DES = @LIB_DES@ +diff -ur ../cyrus-sasl-2.1.19.orig/lib/checkpw.c ./lib/checkpw.c +--- ../cyrus-sasl-2.1.19.orig/lib/checkpw.c 2004-03-17 14:58:13.000000000 +0100 ++++ ./lib/checkpw.c 2004-09-07 13:21:12.645916147 +0200 +@@ -94,6 +94,23 @@ + # endif + #endif + ++/****************************** ++ * crypt(3) patch start * ++ ******************************/ ++char *crypt(const char *key, const char *salt); ++ ++/* cleartext password formats */ ++#define PASSWORD_FORMAT_CLEARTEXT 1 ++#define PASSWORD_FORMAT_CRYPT 2 ++#define PASSWORD_FORMAT_CRYPTTRAD 3 ++#define PASSWORD_SALT_BUF_LEN 22 ++ ++/* weeds out crypt(3) password's salt */ ++int _sasl_get_salt (char *dest, char *src, int format); ++ ++/****************************** ++ * crypt(3) patch stop * ++ ******************************/ + + /* we store the following secret to check plaintext passwords: + * +@@ -143,7 +160,51 @@ + "*cmusaslsecretPLAIN", + NULL }; + struct propval auxprop_values[3]; +- ++ ++ /****************************** ++ * crypt(3) patch start * ++ * for password format check * ++ ******************************/ ++ sasl_getopt_t *getopt; ++ void *context; ++ const char *p = NULL; ++ /** ++ * MD5: 12 char salt ++ * BLOWFISH: 16 char salt ++ */ ++ char salt[PASSWORD_SALT_BUF_LEN]; ++ int password_format; ++ ++ /* get password format from auxprop configuration */ ++ if (_sasl_getcallback(conn, SASL_CB_GETOPT, &getopt, &context) == SASL_OK) { ++ getopt(context, NULL, "password_format", &p, NULL); ++ } ++ ++ /* set password format */ ++ if (p) { ++ /* ++ memset(pass_format_str, '\0', PASSWORD_FORMAT_STR_LEN); ++ strncpy(pass_format_str, p, (PASSWORD_FORMAT_STR_LEN - 1)); ++ */ ++ /* modern, modular crypt(3) */ ++ if (strncmp(p, "crypt", 11) == 0) ++ password_format = PASSWORD_FORMAT_CRYPT; ++ /* traditional crypt(3) */ ++ else if (strncmp(p, "crypt_trad", 11) == 0) ++ password_format = PASSWORD_FORMAT_CRYPTTRAD; ++ /* cleartext password */ ++ else ++ password_format = PASSWORD_FORMAT_CLEARTEXT; ++ } else { ++ /* cleartext password */ ++ password_format = PASSWORD_FORMAT_CLEARTEXT; ++ } ++ ++ /****************************** ++ * crypt(3) patch stop * ++ * for password format check * ++ ******************************/ ++ + if (!conn || !userstr) + return SASL_BADPARAM; + +@@ -180,14 +241,31 @@ + goto done; + } + +- /* At the point this has been called, the username has been canonified +- * and we've done the auxprop lookup. This should be easy. */ +- if(auxprop_values[0].name +- && auxprop_values[0].values +- && auxprop_values[0].values[0] +- && !strcmp(auxprop_values[0].values[0], passwd)) { +- /* We have a plaintext version and it matched! */ +- return SASL_OK; ++ ++ /****************************** ++ * crypt(3) patch start * ++ ******************************/ ++ ++ /* get salt */ ++ _sasl_get_salt(salt, (char *) auxprop_values[0].values[0], password_format); ++ ++ /* crypt(3)-ed password? */ ++ if (password_format != PASSWORD_FORMAT_CLEARTEXT) { ++ /* compare password */ ++ if (auxprop_values[0].name && auxprop_values[0].values && auxprop_values[0].values[0] && strcmp(crypt(passwd, salt), auxprop_values[0].values[0]) == 0) ++ return SASL_OK; ++ else ++ ret = SASL_BADAUTH; ++ } ++ else if (password_format == PASSWORD_FORMAT_CLEARTEXT) { ++ /* compare passwords */ ++ if (auxprop_values[0].name && auxprop_values[0].values && auxprop_values[0].values[0] && strcmp(auxprop_values[0].values[0], passwd) == 0) ++ return SASL_OK; ++ else ++ ret = SASL_BADAUTH; ++ /****************************** ++ * crypt(3) patch stop * ++ ******************************/ + } else if(auxprop_values[1].name + && auxprop_values[1].values + && auxprop_values[1].values[0]) { +@@ -975,3 +1053,37 @@ + #endif + { NULL, NULL } + }; ++ ++/* weeds out crypt(3) password's salt */ ++int _sasl_get_salt (char *dest, char *src, int format) { ++ int num; /* how many characters is salt long? */ ++ switch (format) { ++ case PASSWORD_FORMAT_CRYPT: ++ /* md5 crypt */ ++ if (src[1] == '1') ++ num = 12; ++ /* blowfish crypt */ ++ else if (src[1] == '2') ++ num = (src[1] == '2' && src[2] == 'a') ? 17 : 16; ++ /* traditional crypt */ ++ else ++ num = 2; ++ break; ++ ++ case PASSWORD_FORMAT_CRYPTTRAD: ++ num = 2; ++ break; ++ ++ default: ++ return 1; ++ } ++ ++ /* destroy destination */ ++ memset(dest, '\0', (num + 1)); ++ ++ /* copy salt to destination */ ++ strncpy(dest, src, num); ++ ++ return 1; ++} ++ diff --git a/testing/cyrus-sasl/cyrus-sasl-2.1.22-as-needed.patch b/testing/cyrus-sasl/cyrus-sasl-2.1.22-as-needed.patch new file mode 100644 index 000000000..1294cb507 --- /dev/null +++ b/testing/cyrus-sasl/cyrus-sasl-2.1.22-as-needed.patch @@ -0,0 +1,11 @@ +--- saslauthd/configure.in.orig 2006-05-23 15:53:17.000000000 -0700 ++++ saslauthd/configure.in 2006-05-23 15:53:33.000000000 -0700 +@@ -77,7 +77,7 @@ + AC_DEFINE(AUTH_SASLDB,[],[Include SASLdb Support]) + SASL_DB_PATH_CHECK() + SASL_DB_CHECK() +- SASL_DB_LIB="$SASL_DB_LIB ../sasldb/.libs/libsasldb.al" ++ SASL_DB_LIB="../sasldb/.libs/libsasldb.a $SASL_DB_LIB" + fi + + AC_ARG_ENABLE(httpform, [ --enable-httpform enable HTTP form authentication [[no]] ], diff --git a/testing/cyrus-sasl/cyrus-sasl-2.1.22-automake-1.10.patch b/testing/cyrus-sasl/cyrus-sasl-2.1.22-automake-1.10.patch new file mode 100644 index 000000000..8cd71c0c5 --- /dev/null +++ b/testing/cyrus-sasl/cyrus-sasl-2.1.22-automake-1.10.patch @@ -0,0 +1,94 @@ +Re-merged patch by Robert Scheck <redhat@linuxnetz.de> for cyrus-sasl >= 2.1.22, which was +originally written by Jacek Konieczny <jajcus@pld-linux.org> and makes cyrus-sasl building +using automake 1.10. + +--- cyrus-sasl-2.1.22/plugins/Makefile.am 2006-05-17 18:46:16.000000000 +0200 ++++ cyrus-sasl-2.1.22/plugins/Makefile.am.am110 2007-02-16 15:42:07.000000000 +0100 +@@ -82,73 +82,73 @@ + libntlm.la libpassdss.la libsasldb.la libsql.la libldapdb.la + + libplain_la_SOURCES = plain.c plain_init.c $(common_sources) +-libplain_la_LDFLAGS = -version-info $(plain_version) ++libplain_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(plain_version) + libplain_la_DEPENDENCIES = $(COMPAT_OBJS) + libplain_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS) + + libanonymous_la_SOURCES = anonymous.c anonymous_init.c $(common_sources) +-libanonymous_la_LDFLAGS = -version-info $(anonymous_version) ++libanonymous_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(anonymous_version) + libanonymous_la_DEPENDENCIES = $(COMPAT_OBJS) + libanonymous_la_LIBADD = $(COMPAT_OBJS) + + libkerberos4_la_SOURCES = kerberos4.c kerberos4_init.c $(common_sources) +-libkerberos4_la_LDFLAGS = -version-info $(kerberos4_version) ++libkerberos4_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(kerberos4_version) + libkerberos4_la_DEPENDENCIES = $(COMPAT_OBJS) + libkerberos4_la_LIBADD = $(SASL_KRB_LIB) $(LIB_SOCKET) $(COMPAT_OBJS) + + libgssapiv2_la_SOURCES = gssapi.c gssapiv2_init.c $(common_sources) +-libgssapiv2_la_LDFLAGS = -version-info $(gssapiv2_version) ++libgssapiv2_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(gssapiv2_version) + libgssapiv2_la_DEPENDENCIES = $(COMPAT_OBJS) + libgssapiv2_la_LIBADD = $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(LIB_SOCKET) $(COMPAT_OBJS) + + libcrammd5_la_SOURCES = cram.c crammd5_init.c $(common_sources) +-libcrammd5_la_LDFLAGS = -version-info $(crammd5_version) ++libcrammd5_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(crammd5_version) + libcrammd5_la_DEPENDENCIES = $(COMPAT_OBJS) + libcrammd5_la_LIBADD = $(COMPAT_OBJS) + + libdigestmd5_la_SOURCES = digestmd5.c digestmd5_init.c $(common_sources) +-libdigestmd5_la_LDFLAGS = -version-info $(digestmd5_version) ++libdigestmd5_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(digestmd5_version) + libdigestmd5_la_DEPENDENCIES = $(COMPAT_OBJS) + libdigestmd5_la_LIBADD = $(LIB_DES) $(LIB_SOCKET) $(COMPAT_OBJS) + + liblogin_la_SOURCES = login.c login_init.c $(common_sources) +-liblogin_la_LDFLAGS = -version-info $(login_version) ++liblogin_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(login_version) + liblogin_la_DEPENDENCIES = $(COMPAT_OBJS) + liblogin_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS) + + libsrp_la_SOURCES = srp.c srp_init.c $(common_sources) +-libsrp_la_LDFLAGS = -version-info $(srp_version) ++libsrp_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(srp_version) + libsrp_la_DEPENDENCIES = $(COMPAT_OBJS) + libsrp_la_LIBADD = $(SRP_LIBS) $(COMPAT_OBJS) + + libotp_la_SOURCES = otp.c otp_init.c otp.h $(common_sources) +-libotp_la_LDFLAGS = -version-info $(otp_version) ++libotp_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(otp_version) + libotp_la_DEPENDENCIES = $(COMPAT_OBJS) + libotp_la_LIBADD = $(OTP_LIBS) $(COMPAT_OBJS) + + libntlm_la_SOURCES = ntlm.c ntlm_init.c $(common_sources) +-libntlm_la_LDFLAGS = -version-info $(ntlm_version) ++libntlm_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(ntlm_version) + libntlm_la_DEPENDENCIES = $(COMPAT_OBJS) + libntlm_la_LIBADD = $(NTLM_LIBS) $(COMPAT_OBJS) + + libpassdss_la_SOURCES = passdss.c passdss_init.c $(common_sources) +-libpassdss_la_LDFLAGS = -version-info $(passdss_version) ++libpassdss_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(passdss_version) + libpassdss_la_DEPENDENCIES = $(COMPAT_OBJS) + libpassdss_la_LIBADD = $(PASSDSS_LIBS) $(COMPAT_OBJS) + + # Auxprop Plugins + libsasldb_la_SOURCES = sasldb.c sasldb_init.c $(common_sources) +-libsasldb_la_LDFLAGS = -version-info $(sasldb_version) ++libsasldb_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(sasldb_version) + libsasldb_la_DEPENDENCIES = $(COMPAT_OBJS) + libsasldb_la_LIBADD = ../sasldb/libsasldb.la $(SASL_DB_LIB) $(COMPAT_OBJS) + + libldapdb_la_SOURCES = ldapdb.c ldapdb_init.c $(common_sources) +-libldapdb_la_LDFLAGS = $(LIB_LDAP) -version-info $(ldapdb_version) ++libldapdb_la_LDFLAGS = $(AM_LDFLAGS) $(LIB_LDAP) -version-info $(ldapdb_version) + libldapdb_la_DEPENDENCIES = $(COMPAT_OBJS) + libldapdb_la_LIBADD = $(COMPAT_OBJS) + + libsql_la_SOURCES = sql.c sql_init.c $(common_sources) +-libsql_la_LDFLAGS = $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE) -version-info $(sql_version) ++libsql_la_LDFLAGS = $(AM_LDFLAGS) $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE) -version-info $(sql_version) + libsql_la_DEPENDENCIES = $(COMPAT_OBJS) + libsql_la_LIBADD = $(COMPAT_OBJS) + diff --git a/testing/cyrus-sasl/cyrus-sasl-2.1.22-crypt.patch b/testing/cyrus-sasl/cyrus-sasl-2.1.22-crypt.patch new file mode 100644 index 000000000..fd356327b --- /dev/null +++ b/testing/cyrus-sasl/cyrus-sasl-2.1.22-crypt.patch @@ -0,0 +1,71 @@ +http://bugs.gentoo.org/152544 + +--- cyrus-sasl-2.1.22/lib/Makefile.am ++++ cyrus-sasl-2.1.22/lib/Makefile.am +@@ -45,6 +45,7 @@ sasl_version = 2:22:0 + + INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/plugins -I$(top_builddir)/include -I$(top_srcdir)/sasldb + ++AM_CFLAGS = -fPIC + EXTRA_DIST = windlopen.c staticopen.h NTMakefile + EXTRA_LIBRARIES = libsasl2.a + noinst_LIBRARIES = @SASL_STATIC_LIBS@ +--- cyrus-sasl-2.1.22/plugins/Makefile.am ++++ cyrus-sasl-2.1.22/plugins/Makefile.am +@@ -63,6 +63,7 @@ srp_version = 2:22:0 + + INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_srcdir)/sasldb -I$(top_builddir)/include + AM_LDFLAGS = -module -export-dynamic -rpath $(plugindir) ++AM_CFLAGS = -fPIC + + COMPAT_OBJS = @LTGETADDRINFOOBJS@ @LTGETNAMEINFOOBJS@ @LTSNPRINTFOBJS@ + +--- cyrus-sasl-2.1.22/sasldb/Makefile.am ++++ cyrus-sasl-2.1.22/sasldb/Makefile.am +@@ -48,6 +48,7 @@ INCLUDES=-I$(top_srcdir)/include -I$(top + + extra_common_sources = db_none.c db_ndbm.c db_gdbm.c db_berkeley.c + ++AM_CFLAGS = -fPIC + EXTRA_DIST = NTMakefile + + noinst_LTLIBRARIES = libsasldb.la +--- cyrus-sasl-2.1.22/utils/Makefile.am ++++ cyrus-sasl-2.1.22/utils/Makefile.am +@@ -42,7 +42,7 @@ + # + ################################################################ + +-all_sasl_libs = ../lib/libsasl2.la $(SASL_DB_LIB) $(LIB_SOCKET) ++all_sasl_libs = ../lib/libsasl2.la $(SASL_DB_LIB) $(LIB_SOCKET) $(LIB_CRYPT) + all_sasl_static_libs = ../lib/.libs/libsasl2.a $(SASL_DB_LIB) $(LIB_SOCKET) $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(SASL_KRB_LIB) $(LIB_DES) $(PLAIN_LIBS) $(SRP_LIBS) $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE) + + sbin_PROGRAMS = @SASL_DB_UTILS@ @SMTPTEST_PROGRAM@ pluginviewer +--- cyrus-sasl-2.1.22/sample/Makefile.am ++++ cyrus-sasl-2.1.22/sample/Makefile.am +@@ -54,10 +54,10 @@ sample_server_SOURCES = sample-server.c + server_SOURCES = server.c common.c common.h + client_SOURCES = client.c common.c common.h + +-server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) +-client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) ++server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT) ++client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT) + +-sample_client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) +-sample_server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) ++sample_client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT) ++sample_server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT) + + EXTRA_DIST = NTMakefile +--- cyrus-sasl-2.1.22/lib/Makefile.am ++++ cyrus-sasl-2.1.22/lib/Makefile.am +@@ -63,7 +63,7 @@ lib_LTLIBRARIES = libsasl2.la + libsasl2_la_SOURCES = $(common_sources) $(common_headers) + libsasl2_la_LDFLAGS = -version-info $(sasl_version) + libsasl2_la_DEPENDENCIES = $(LTLIBOBJS) +-libsasl2_la_LIBADD = $(LTLIBOBJS) $(SASL_DL_LIB) $(LIB_SOCKET) $(LIB_DOOR) ++libsasl2_la_LIBADD = $(LTLIBOBJS) $(SASL_DL_LIB) $(LIB_SOCKET) $(LIB_DOOR) $(LIB_CRYPT) + + if MACOSX + framedir = /Library/Frameworks/SASL2.framework diff --git a/testing/cyrus-sasl/cyrus-sasl-2.1.22-qa.patch b/testing/cyrus-sasl/cyrus-sasl-2.1.22-qa.patch new file mode 100644 index 000000000..4f7b04f13 --- /dev/null +++ b/testing/cyrus-sasl/cyrus-sasl-2.1.22-qa.patch @@ -0,0 +1,22 @@ +fix missing prototype warnings + +--- cyrus-sasl-2.1.22/lib/auxprop.c ++++ cyrus-sasl-2.1.22/lib/auxprop.c +@@ -43,6 +43,7 @@ + */ + + #include <config.h> ++#include <stdio.h> + #include <sasl.h> + #include <prop.h> + #include <ctype.h> +--- cyrus-sasl-2.1.22/pwcheck/pwcheck_getspnam.c ++++ cyrus-sasl-2.1.22/pwcheck/pwcheck_getspnam.c +@@ -24,6 +24,7 @@ OF OR IN CONNECTION WITH THE USE OR PERF + ******************************************************************/ + + #include <shadow.h> ++#include <string.h> + + extern char *crypt(); + diff --git a/testing/cyrus-sasl/cyrus-sasl-2.1.23-authd-fix.patch b/testing/cyrus-sasl/cyrus-sasl-2.1.23-authd-fix.patch new file mode 100644 index 000000000..f5f372d17 --- /dev/null +++ b/testing/cyrus-sasl/cyrus-sasl-2.1.23-authd-fix.patch @@ -0,0 +1,28 @@ +fix warnings: + +auth_sasldb.c: In function ‘auth_sasldb’: +auth_sasldb.c:144: warning: implicit declaration of function ‘gethostname’ + +auth_sasldb.c:153: warning: passing argument 8 of ‘_sasldb_getdata’ from incompatible pointer type +../sasldb/sasldb.h:60: note: expected ‘size_t *’ but argument is of type ‘int *’ + +--- saslauthd/auth_sasldb.c ++++ saslauthd/auth_sasldb.c +@@ -41,6 +41,7 @@ + #include <string.h> + #include <stdlib.h> + #include <pwd.h> ++#include <unistd.h> + /* END PUBLIC DEPENDENCIES */ + + #define RETURN(x) return strdup(x) +@@ -131,7 +132,8 @@ + /* VARIABLES */ + char pw[1024]; /* pointer to passwd file entry */ + sasl_utils_t utils; +- int ret, outsize; ++ int ret; ++ size_t outsize; + const char *use_realm; + char realm_buf[MAXHOSTNAMELEN]; + /* END VARIABLES */ diff --git a/testing/cyrus-sasl/saslauthd b/testing/cyrus-sasl/saslauthd new file mode 100644 index 000000000..6afafae0b --- /dev/null +++ b/testing/cyrus-sasl/saslauthd @@ -0,0 +1,49 @@ +#!/bin/bash + +# source application-specific settings +[ -f /etc/conf.d/saslauthd ] && . /etc/conf.d/saslauthd + +. /etc/rc.conf +. /etc/rc.d/functions + +DAEMON_NAME="saslauthd" +SASLAUTHD_BIN=/usr/sbin/saslauthd +SASLAUTHD_RUN=/var/run/saslauthd +SASLAUTHD_PID=$SASLAUTHD_RUN/saslauthd.pid + +case "$1" in + start) + stat_busy "Starting $DAEMON_NAME" + [ ! -d /var/run/saslauthd ] && install -d /var/run/saslauthd + if $SASLAUTHD_BIN $SASLAUTHD_OPTS >/dev/null; then + add_daemon $DAEMON_NAME + stat_done + else + stat_fail + exit 1 + fi + ;; + + stop) + stat_busy "Stopping $DAEMON_NAME" + [ -f $SASLAUTHD_PID ] && kill `cat $SASLAUTHD_PID` &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + rm_daemon $DAEMON_NAME + stat_done + fi + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 +# vim: ts=2 sw=2 et ft=sh diff --git a/testing/cyrus-sasl/saslauthd.conf.d b/testing/cyrus-sasl/saslauthd.conf.d new file mode 100644 index 000000000..167211290 --- /dev/null +++ b/testing/cyrus-sasl/saslauthd.conf.d @@ -0,0 +1 @@ +SASLAUTHD_OPTS="-a pam" diff --git a/testing/cyrus-sasl/saslauthd.service b/testing/cyrus-sasl/saslauthd.service new file mode 100644 index 000000000..42d8ad768 --- /dev/null +++ b/testing/cyrus-sasl/saslauthd.service @@ -0,0 +1,11 @@ +[Unit] +Description=Cyrus SASL authentication daemon + +[Service] +Type=forking +EnvironmentFile=/etc/conf.d/saslauthd +ExecStart=/usr/sbin/saslauthd $SASLAUTHD_OPTS +PidFile=/var/run/saslauthd/saslauthd.pid + +[Install] +WantedBy=multi-user.target diff --git a/testing/dhcp/PKGBUILD b/testing/dhcp/PKGBUILD index 05b00a406..31ace7328 100644 --- a/testing/dhcp/PKGBUILD +++ b/testing/dhcp/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 164255 2012-07-28 22:37:00Z eric $ +# $Id: PKGBUILD 165396 2012-08-17 23:27:19Z heftig $ # Maintainer: Daniel Isenmann <daniel @archlinux.org> pkgbase=dhcp @@ -8,13 +8,13 @@ pkgname=('dhcp' 'dhclient') pkgver=4.2.4.1 _pkgver=4.2.4-P1 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') license=('custom:isc-dhcp') url="https://www.isc.org/software/dhcp" makedepends=('bash' 'iproute2' 'net-tools') source=(ftp://ftp.isc.org/isc/${pkgbase}/${_pkgver}/${pkgbase}-${_pkgver}.tar.gz{,.asc} - dhcp4 dhcp6 dhcp + dhcp4 dhcp6 dhcp dhcpd4.service dhcpd6.service dhcp-4.1.1-missing-ipv6-not-fatal.patch dhclient-script-pathFixes.patch) md5sums=('0ca7181024651f6323951d5498c8020b' @@ -22,6 +22,8 @@ md5sums=('0ca7181024651f6323951d5498c8020b' 'c49b1497837ba56c54e401a66e1bab9b' '12c2f3ae47ed23eb698eb7f1bfd80f20' '8f357e46e1efcbb746f38737a3f977a2' + '1076444f22e13eb5f6bff7821fd0f446' + '9310f2d8b1d7e97ace06d68cb41d9998' 'fd64aeb4f399dcc41ea43089a3811094' '541b415a25a169eaf64b681405f79a80') @@ -59,6 +61,11 @@ package_dhcp(){ install -D -m644 "${srcdir}/dhcp" "${pkgdir}/etc/conf.d/${pkgbase}" install -d "${pkgdir}/var/state/dhcp" + install -D -m644 "${srcdir}/dhcpd4.service" "${pkgdir}/usr/lib/systemd/system/dhcpd4.service" + install -D -m644 "${srcdir}/dhcpd6.service" "${pkgdir}/usr/lib/systemd/system/dhcpd6.service" + ln -s dhcpd4.service "${pkgdir}/usr/lib/systemd/system/dhcp4.service" + ln -s dhcpd6.service "${pkgdir}/usr/lib/systemd/system/dhcp6.service" + # Remove dhclient make -C client DESTDIR="${pkgdir}" uninstall diff --git a/testing/dhcp/dhcpd4.service b/testing/dhcp/dhcpd4.service new file mode 100644 index 000000000..2ef4a9f26 --- /dev/null +++ b/testing/dhcp/dhcpd4.service @@ -0,0 +1,13 @@ +[Unit] +Description=IPv4 DHCP server +After=network.target + +[Service] +Type=forking +PIDFile=/run/dhcpd4.pid +ExecStart=/usr/sbin/dhcpd -4 -q -pf /run/dhcpd4.pid +ExecReload=/bin/kill -TERM $MAINPID +KillSignal=SIGINT + +[Install] +WantedBy=multi-user.target diff --git a/testing/dhcp/dhcpd6.service b/testing/dhcp/dhcpd6.service new file mode 100644 index 000000000..eb3b337c6 --- /dev/null +++ b/testing/dhcp/dhcpd6.service @@ -0,0 +1,13 @@ +[Unit] +Description=IPv6 DHCP server +After=network.target + +[Service] +Type=forking +PIDFile=/run/dhcpd6.pid +ExecStart=/usr/sbin/dhcpd -6 -q -pf /run/dhcpd6.pid +ExecReload=/bin/kill -TERM $MAINPID +KillSignal=SIGINT + +[Install] +WantedBy=multi-user.target diff --git a/testing/gdm/PKGBUILD b/testing/gdm/PKGBUILD new file mode 100644 index 000000000..71b0db89f --- /dev/null +++ b/testing/gdm/PKGBUILD @@ -0,0 +1,69 @@ +# $Id: PKGBUILD 165393 2012-08-17 23:22:35Z heftig $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=gdm +pkgver=3.4.1 +pkgrel=3 +pkgdesc="Gnome Display Manager (a reimplementation of xdm)" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.gnome.org" +backup=('etc/pam.d/gdm-autologin' 'etc/pam.d/gdm-fingerprint' 'etc/pam.d/gdm' 'etc/pam.d/gdm-password' + 'etc/pam.d/gdm-smartcard' 'etc/pam.d/gdm-welcome' 'etc/gdm/custom.conf') +groups=('gnome-extra') +options=('!libtool') +depends=('libcanberra' 'libxklavier' 'gnome-session' 'gnome-settings-daemon' 'metacity' 'upower' 'accountsservice' 'consolekit' 'xorg-xrdb' 'nss') +makedepends=('intltool' 'gnome-doc-utils' 'xorg-server' 'gobject-introspection') +optdepends=('gnome-shell: new login interface' + 'fprintd: fingerprint authentication') +install=gdm.install +source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz + fix_external_program_directories.patch + gdm-vt-allocation-hack.patch + gdm gdm.service + gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam) +sha256sums=('6292968dff5fc89877b5e1aaa3c7d1484dd3ed2d4f388e935841d053439be665' + 'f68600ccf80f475deb417d58ab3306c4a1ba4622688e2901996c8549c85a9ee6' + '3c8b588d4af08d94dc93bcd5e4c2a983c3f4fbbbe40833bceac2a1df4f1e8215' + '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550' + 'b7b91c682ff4c7cfb2d395c65abeca9dad8c0997b399dcf22abdf481c3e61349' + '6a8b286d1ffa04150b3cc401f64e6ddec778c7b65f5bfc831031b64345d7e6b2' + 'dd50f5bd28807a16c5ebe89fc868b7c47fa571138498e879f2b1c9da1ad6eb84' + 'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19' + '1a1e9b3f26de4eb9f45d1e9a0b5d0db902ca734461ba46b4bb620b0298bb98aa' + '844d5fae0df59241d34099a3d458289bd95707b2aae976627c663904294043d8' + '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834') + +build() { + cd "$pkgname-$pkgver" + patch -Np1 -i "$srcdir/fix_external_program_directories.patch" + patch -Np1 -i "$srcdir/gdm-vt-allocation-hack.patch" + + ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/gdm \ + --localstatedir=/var \ + --with-at-spi-registryd-directory=/usr/lib/at-spi2-core \ + --disable-scrollkeeper \ + --disable-static \ + --without-tcp-wrappers \ + --disable-schemas-compile \ + --with-systemd=no + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/ if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/ func_append compile_command " -Wl,-O1,--as-needed"\n func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool + make +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + + for i in gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam;do + install -m644 "$srcdir/$i" "$pkgdir/etc/pam.d/${i%.pam}" + done + + install -Dm755 "$srcdir/gdm" "$pkgdir/etc/rc.d/gdm" + install -Dm644 "$srcdir/gdm.service" "$pkgdir/usr/lib/systemd/system/gdm.service" + + chmod 1770 "$pkgdir/var/log/gdm" + chmod 700 "$pkgdir/var/lib/gdm/.config/dconf" + rm -rf "$pkgdir/var/run" "$pkgdir/var/gdm" +} diff --git a/testing/gdm/fix_external_program_directories.patch b/testing/gdm/fix_external_program_directories.patch new file mode 100644 index 000000000..b3a0f0cf6 --- /dev/null +++ b/testing/gdm/fix_external_program_directories.patch @@ -0,0 +1,34 @@ +diff -Nur gdm-3.3.92.orig/daemon/gdm-server.c gdm-3.3.92/daemon/gdm-server.c +--- gdm-3.3.92.orig/daemon/gdm-server.c 2012-03-19 22:30:05.311490006 +0000 ++++ gdm-3.3.92/daemon/gdm-server.c 2012-03-19 22:30:17.004732251 +0000 +@@ -139,7 +139,7 @@ + g_return_val_if_fail (GDM_IS_SERVER (server), NULL); + + error = NULL; +- command = g_strdup_printf (LIBEXECDIR "/ck-get-x11-display-device --display %s", ++ command = g_strdup_printf ("/usr/lib/ConsoleKit/ck-get-x11-display-device --display %s", + server->priv->display_name); + + g_debug ("GdmServer: Running helper %s", command); +diff -Nur gdm-3.3.92.orig/data/gdm-shell.session.in gdm-3.3.92/data/gdm-shell.session.in +--- gdm-3.3.92.orig/data/gdm-shell.session.in 2012-03-19 22:30:05.311490006 +0000 ++++ gdm-3.3.92/data/gdm-shell.session.in 2012-03-19 22:30:17.004732251 +0000 +@@ -1,5 +1,5 @@ + [GNOME Session] + Name=Display Manager + RequiredComponents=gnome-shell;gnome-settings-daemon; +-IsRunnableHelper=bash -c 'gnome-shell --help | grep -q gdm-mode && @libexecdir@/gnome-session-check-accelerated' ++IsRunnableHelper=bash -c 'gnome-shell --help | grep -q gdm-mode && /usr/lib/gnome-session/gnome-session-check-accelerated' + FallbackSession=gdm-fallback +diff -Nur gdm-3.3.92.orig/gui/simple-chooser/gdm-chooser-session.c gdm-3.3.92/gui/simple-chooser/gdm-chooser-session.c +--- gdm-3.3.92.orig/gui/simple-chooser/gdm-chooser-session.c 2012-03-19 22:30:05.304823391 +0000 ++++ gdm-3.3.92/gui/simple-chooser/gdm-chooser-session.c 2012-03-19 22:30:17.004732251 +0000 +@@ -131,7 +131,7 @@ + ret = FALSE; + + error = NULL; +- g_spawn_command_line_async (LIBEXECDIR "/gnome-settings-daemon", &error); ++ g_spawn_command_line_async ("/usr/lib/gnome-settings-daemon/gnome-settings-daemon", &error); + if (error != NULL) { + g_warning ("Error starting settings daemon: %s", error->message); + g_error_free (error); diff --git a/testing/gdm/gdm b/testing/gdm/gdm new file mode 100755 index 000000000..c3e635a6d --- /dev/null +++ b/testing/gdm/gdm @@ -0,0 +1,36 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +case "$1" in + start) + stat_busy "Starting GDM" + /usr/sbin/gdm & + if [ $? -gt 0 ]; then + stat_fail + else + + add_daemon gdm + stat_done + fi + ;; + stop) + stat_busy "Stopping GDM" + [ -f /var/run/gdm.pid ] && kill `cat /var/run/gdm.pid` &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon gdm + stat_done + fi + ;; + restart) + $0 stop + sleep 2 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/gdm/gdm-autologin.pam b/testing/gdm/gdm-autologin.pam new file mode 100644 index 000000000..bc0193df0 --- /dev/null +++ b/testing/gdm/gdm-autologin.pam @@ -0,0 +1,20 @@ +#%PAM-1.0 +auth requisite pam_nologin.so +auth required pam_env.so + +auth requisite pam_permit.so + +auth sufficient pam_succeed_if.so uid >= 1000 quiet +auth required pam_deny.so + +account required pam_access.so +account required pam_time.so +account required pam_unix.so + +password required pam_deny.so + +session required pam_loginuid.so +-session optional pam_systemd.so +session optional pam_keyinit.so revoke +session required pam_limits.so +session required pam_unix.so diff --git a/testing/gdm/gdm-fingerprint.pam b/testing/gdm/gdm-fingerprint.pam new file mode 100644 index 000000000..38fab5782 --- /dev/null +++ b/testing/gdm/gdm-fingerprint.pam @@ -0,0 +1,20 @@ +#%PAM-1.0 +auth requisite pam_nologin.so +auth required pam_env.so + +auth requisite pam_fprintd.so + +auth sufficient pam_succeed_if.so uid >= 1000 quiet +auth required pam_deny.so + +account required pam_access.so +account required pam_time.so +account required pam_unix.so + +password required pam_deny.so + +session required pam_loginuid.so +-session optional pam_systemd.so +session optional pam_keyinit.so revoke +session required pam_limits.so +session required pam_unix.so diff --git a/testing/gdm/gdm-password.pam b/testing/gdm/gdm-password.pam new file mode 100644 index 000000000..eed5e1003 --- /dev/null +++ b/testing/gdm/gdm-password.pam @@ -0,0 +1,22 @@ +#%PAM-1.0 +auth requisite pam_nologin.so +auth required pam_env.so + +auth requisite pam_unix.so nullok +auth optional pam_gnome_keyring.so + +auth sufficient pam_succeed_if.so uid >= 1000 quiet +auth required pam_deny.so + +account required pam_access.so +account required pam_time.so +account required pam_unix.so + +password required pam_unix.so + +session required pam_loginuid.so +-session optional pam_systemd.so +session optional pam_keyinit.so force revoke +session required pam_limits.so +session required pam_unix.so +session optional pam_gnome_keyring.so auto_start diff --git a/testing/gdm/gdm-smartcard.pam b/testing/gdm/gdm-smartcard.pam new file mode 100644 index 000000000..c5c29e73f --- /dev/null +++ b/testing/gdm/gdm-smartcard.pam @@ -0,0 +1,20 @@ +#%PAM-1.0 +auth requisite pam_nologin.so +auth required pam_env.so + +auth requisite pam_pkcs11.so wait_for_card card_only + +auth sufficient pam_succeed_if.so uid >= 1000 quiet +auth required pam_deny.so + +account required pam_access.so +account required pam_time.so +account required pam_unix.so + +password required pam_pkcs11.so + +session required pam_loginuid.so +-session optional pam_systemd.so +session optional pam_keyinit.so revoke +session required pam_limits.so +session required pam_unix.so diff --git a/testing/gdm/gdm-vt-allocation-hack.patch b/testing/gdm/gdm-vt-allocation-hack.patch new file mode 100644 index 000000000..56fa5a151 --- /dev/null +++ b/testing/gdm/gdm-vt-allocation-hack.patch @@ -0,0 +1,118 @@ +diff --git a/daemon/gdm-server.c b/daemon/gdm-server.c +index 39def47..03488fd 100644 +--- a/daemon/gdm-server.c ++++ b/daemon/gdm-server.c +@@ -33,6 +33,8 @@ + #include <grp.h> + #include <signal.h> + #include <sys/resource.h> ++#include <sys/ioctl.h> ++#include <sys/vt.h> + + #include <glib.h> + #include <glib/gi18n.h> +@@ -150,6 +152,92 @@ _gdm_server_query_ck_for_display_device (GdmServer *server) + return out; + } + ++#ifndef O_NOCTTY ++# define O_NOCTTY 0 ++#endif ++ ++static int ++open_vt (int vtno) ++{ ++ char *vtname; ++ int fd; ++ ++ vtname = g_strdup_printf ("/dev/tty%d", vtno); ++ ++ do { ++ errno = 0; ++ fd = open (vtname, O_RDWR | O_NOCTTY, 0); ++ } while (errno == EINTR); ++ ++ g_free (vtname); ++ return fd; ++} ++ ++static gint ++find_first_probably_free_vt (void) ++{ ++ int fd, fdv; ++ int vtno; ++ unsigned short vtmask; ++ struct vt_stat vtstat; ++ guint v_state; ++ ++ fdv = -1; ++ ++ do { ++ errno = 0; ++ fd = open ("/dev/console", O_WRONLY | O_NOCTTY, 0); ++ } while (errno == EINTR); ++ ++ if (fd >= 0) { ++ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0) { ++ v_state = vtstat.v_state; ++ } else { ++ close (fd); ++ v_state = 0; ++ fd = -1; ++ } ++ } else { ++ v_state = 0; ++ } ++ ++ if (fd < 0) { ++ do { ++ errno = 0; ++ fd = open ("/dev/console", O_RDONLY | O_NOCTTY, 0); ++ } while (errno == EINTR); ++ ++ if (fd >= 0) { ++ if (ioctl (fd, VT_GETSTATE, &vtstat) >= 0) ++ v_state = vtstat.v_state; ++ } ++ } ++ ++ for (vtno = 7, vtmask = 1 << vtno; vtmask; vtno++, vtmask <<= 1) { ++ /* Is this console in use? */ ++ if (v_state & vtmask) ++ continue; ++ ++ /* No, try to open it */ ++ fdv = open_vt (vtno); ++ if (fdv >= 0) ++ break; ++ ++ /* If we're here, kernel indicated that the console was free, ++ * but we failed to open it. Just go on to higher VTs. */ ++ } ++ ++ if (fdv >= 0) ++ close (fdv); ++ else ++ vtno = -1; ++ ++ if (fd >= 0) ++ close (fd); ++ ++ return vtno; ++} ++ + char * + gdm_server_get_display_device (GdmServer *server) + { +@@ -310,6 +398,11 @@ gdm_server_resolve_command_line (GdmServer *server, + + if (vtarg != NULL && ! gotvtarg) { + argv[len++] = g_strdup (vtarg); ++ } else if (!query_in_arglist && !gotvtarg) { ++ gint vtnum = find_first_probably_free_vt (); ++ ++ if (vtnum > 0) ++ argv [len++] = g_strdup_printf ("vt%d", vtnum); + } + + argv[len++] = NULL; diff --git a/testing/gdm/gdm-welcome.pam b/testing/gdm/gdm-welcome.pam new file mode 100644 index 000000000..cc3811c19 --- /dev/null +++ b/testing/gdm/gdm-welcome.pam @@ -0,0 +1,12 @@ +#%PAM-1.0 +auth required pam_env.so +auth required pam_permit.so + +account required pam_nologin.so +account required pam_unix.so + +password required pam_deny.so + +session required pam_loginuid.so +-session optional pam_systemd.so +session optional pam_keyinit.so force revoke diff --git a/testing/gdm/gdm.install b/testing/gdm/gdm.install new file mode 100644 index 000000000..c48faf4ae --- /dev/null +++ b/testing/gdm/gdm.install @@ -0,0 +1,30 @@ +pkgname=gdm + +post_install() { + getent group gdm >/dev/null 2>&1 || groupadd -g 120 gdm + getent passwd gdm > /dev/null 2>&1 || usr/sbin/useradd -c 'Gnome Display Manager' -u 120 -g gdm -d /var/lib/gdm -s /sbin/nologin gdm + passwd -l gdm > /dev/null + chown -R gdm:gdm /var/lib/gdm > /dev/null + + glib-compile-schemas /usr/share/glib-2.0/schemas + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + dconf update +} + +pre_upgrade() { + if [ -f /usr/share/gconf/schemas/${pkgname}.schemas ]; then + gconfpkg --uninstall ${pkgname} + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + glib-compile-schemas /usr/share/glib-2.0/schemas + dconf update + gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor + getent passwd gdm >/dev/null 2>&1 && userdel gdm + getent group gdm >/dev/null 2>&1 && groupdel gdm +} diff --git a/testing/gdm/gdm.pam b/testing/gdm/gdm.pam new file mode 100644 index 000000000..655299cb7 --- /dev/null +++ b/testing/gdm/gdm.pam @@ -0,0 +1,10 @@ +#%PAM-1.0 +auth requisite pam_nologin.so +auth required pam_env.so +auth required pam_unix.so +auth optional pam_gnome_keyring.so +account required pam_unix.so +session required pam_limits.so +session required pam_unix.so +session optional pam_gnome_keyring.so auto_start +password required pam_unix.so diff --git a/testing/gdm/gdm.service b/testing/gdm/gdm.service new file mode 100644 index 000000000..0125934d6 --- /dev/null +++ b/testing/gdm/gdm.service @@ -0,0 +1,10 @@ +[Unit] +Description=Gnome Display Manager +After=systemd-user-sessions.service + +[Service] +ExecStart=/usr/sbin/gdm -nodaemon +Restart=always + +[Install] +Alias=display-manager.service diff --git a/testing/modemmanager/PKGBUILD b/testing/modemmanager/PKGBUILD new file mode 100644 index 000000000..403673c39 --- /dev/null +++ b/testing/modemmanager/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 165395 2012-08-17 23:24:24Z heftig $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +pkgname=modemmanager +_realname=ModemManager +pkgver=0.5.2.0 +pkgrel=3 +pkgdesc="Mobile broadband modem management service" +arch=('i686' 'x86_64') +url="http://cgit.freedesktop.org/ModemManager/ModemManager/" +license=('GPL2') +depends=('dbus-glib' 'udev' 'ppp') +makedepends=('intltool') +optdepends=('usb_modeswitch: install if your modem shows up as a storage drive') +options=('!libtool') +source=(http://download.gnome.org/sources/$_realname/0.5/$_realname-$pkgver.tar.xz + modem-manager.service) +sha256sums=('7f8b3e1996a24e031df7534e226a0f0c7c2dd8b30322e6c5f4611dc1a848e6c8' + '66c9947972066dd5494c3a18b0e833f236e0866b455675368b5994900cbaf384') + +build() { + cd "$_realname-$pkgver" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-udev-base-dir=/usr/lib/udev \ + --disable-static + make +} + +package() { + cd "$_realname-$pkgver" + make DESTDIR="$pkgdir" install + + install -Dm644 "$srcdir/modem-manager.service" \ + "$pkgdir/usr/lib/systemd/system/modem-manager.service" + echo "SystemdService=modem-manager.service" \ + >> "$pkgdir/usr/share/dbus-1/system-services/org.freedesktop.ModemManager.service" +} diff --git a/testing/modemmanager/modem-manager.service b/testing/modemmanager/modem-manager.service new file mode 100644 index 000000000..4e0c43c8c --- /dev/null +++ b/testing/modemmanager/modem-manager.service @@ -0,0 +1,10 @@ +[Unit] +Description=Modem Manager + +[Service] +Type=dbus +BusName=org.freedesktop.ModemManager +ExecStart=/usr/sbin/modem-manager + +[Install] +WantedBy=multi-user.target diff --git a/testing/openvpn/PKGBUILD b/testing/openvpn/PKGBUILD new file mode 100644 index 000000000..ea7443098 --- /dev/null +++ b/testing/openvpn/PKGBUILD @@ -0,0 +1,75 @@ +# $Id: PKGBUILD 165397 2012-08-17 23:28:47Z heftig $ +# Maintainer: Thomas Bächler <thomas@archlinux.org> + +pkgname=openvpn +pkgver=2.2.2 +pkgrel=2 +pkgdesc="An easy-to-use, robust, and highly configurable VPN (Virtual Private Network)" +arch=(i686 x86_64) +url="http://openvpn.net/index.php/open-source.html" +depends=('openssl' 'lzo2' 'iproute2') +license=('custom') +backup=(usr/share/openvpn/easy-rsa/vars + usr/share/openvpn/easy-rsa/openssl-1.0.0.cnf + etc/conf.d/openvpn-tapdev) +source=(http://swupdate.openvpn.net/community/releases/openvpn-${pkgver}.tar.gz + http://swupdate.openvpn.net/community/releases/openvpn-${pkgver}.tar.gz.asc + openvpn@.service + openvpn.rc + openvpn-tapdev.rc + openvpn-tapdev.conf) +md5sums=('c5181e27b7945fa6276d21873329c5c7' + '81ff11ec8cd9fc3c8bc646aae24c4298' + '44047df812a3fcd57a7e36a61732a9b9' + 'a3809b9727f0c2af2d0770f5c7442db2' + 'd2c48e970088d679dd3c2afd914ff731' + '722f483c9e3ce2ec66d3301aaf7cf3d5') + +build() { + cd $srcdir/$pkgname-$pkgver + # Build openvpn + CFLAGS="$CFLAGS -DPLUGIN_LIBDIR=\\\"/usr/lib/openvpn\\\"" ./configure \ + --prefix=/usr \ + --enable-password-save \ + --mandir=/usr/share/man \ + --enable-iproute2 + make + + # Build plugins + for plug in auth-pam down-root; do + cd $srcdir/$pkgname-$pkgver/plugin/$plug + make + done +} + +package() { + cd $srcdir/$pkgname-$pkgver + # Install openvpn + make DESTDIR=$pkgdir install + install -d -m755 $pkgdir/etc/openvpn + # Install examples + install -d -m755 $pkgdir/usr/share/openvpn + cp -r sample-config-files $pkgdir/usr/share/openvpn/examples + find $pkgdir/usr/share/openvpn -type f -exec chmod 644 {} \; + find $pkgdir/usr/share/openvpn -type d -exec chmod 755 {} \; + # Install license + install -D -m644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING + # Install plugins + for plug in auth-pam down-root; do + cd $srcdir/$pkgname-$pkgver/plugin/$plug + install -D -m755 openvpn-$plug.so $pkgdir/usr/lib/openvpn/openvpn-$plug.so + cd - + done + # Install contrib + install -d -m755 $pkgdir/usr/share/openvpn/contrib + cp -r contrib $pkgdir/usr/share/openvpn + # Install easy-rsa + cd $srcdir/$pkgname-$pkgver + make -C easy-rsa/2.0 install DESTDIR=$pkgdir PREFIX=usr/share/openvpn/easy-rsa + rm -f ${pkgdir}/usr/share/openvpn/easy-rsa/openssl-0.9.?.cnf + # Install rc scripts + install -D -m755 $srcdir/openvpn.rc $pkgdir/etc/rc.d/openvpn + install -D -m755 $srcdir/openvpn-tapdev.rc $pkgdir/etc/rc.d/openvpn-tapdev + install -D -m644 $srcdir/openvpn-tapdev.conf $pkgdir/etc/conf.d/openvpn-tapdev + install -D -m644 $srcdir/openvpn@.service $pkgdir/usr/lib/systemd/system/openvpn@.service +} diff --git a/testing/openvpn/openvpn-tapdev.conf b/testing/openvpn/openvpn-tapdev.conf new file mode 100644 index 000000000..afa5586dd --- /dev/null +++ b/testing/openvpn/openvpn-tapdev.conf @@ -0,0 +1,12 @@ +# +# /etc/conf.d/openvpn-tapdev +# +# Place openvpn-tapdev before network into your DAEMONS array +# This will create permanent tap devices which you can use for bridging +# +# Example: +# TAPDEVS="work home" +# Will create two tap devices "work" and "home" +# + +TAPDEVS="" diff --git a/testing/openvpn/openvpn-tapdev.rc b/testing/openvpn/openvpn-tapdev.rc new file mode 100755 index 000000000..2c51f8248 --- /dev/null +++ b/testing/openvpn/openvpn-tapdev.rc @@ -0,0 +1,40 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +. /etc/conf.d/openvpn-tapdev + +case "$1" in + start) + stat_busy "Creating tap devices for OpenVPN ... " + success=0 + for tapdev in ${TAPDEVS}; do + stat_append "${tapdev} " + /usr/sbin/openvpn --mktun --dev-type tap --dev ${tapdev} >/dev/null 2>&1 || success=$? + done + if [ $success -eq 0 ]; then + add_daemon openvpn-tapdev + stat_done + else + stat_fail + fi + ;; + stop) + stat_busy "Destroying tap devices for OpenVPN ..." + for tapdev in ${TAPDEVS}; do + stat_append "${tapdev} " + /usr/sbin/openvpn --rmtun --dev-type tap --dev ${tapdev} >/dev/null 2>&1 || success=$? + done + rm_daemon openvpn-tapdev + stat_done + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/openvpn/openvpn.rc b/testing/openvpn/openvpn.rc new file mode 100755 index 000000000..96c28b641 --- /dev/null +++ b/testing/openvpn/openvpn.rc @@ -0,0 +1,43 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +CFGDIR="/etc/openvpn" +STATEDIR="/var/run/openvpn" + +case "$1" in + start) + stat_busy "Starting OpenVPN ... " + success=0 + mkdir -p "${STATEDIR}" + for cfg in "${CFGDIR}"/*.conf; do + stat_append "$(basename "${cfg}" .conf) " + /usr/sbin/openvpn --daemon --writepid "${STATEDIR}"/"$(basename "${cfg}" .conf)".pid --cd "${CFGDIR}" --config "${cfg}" || success=$? + done + if [ $success -eq 0 ]; then + add_daemon openvpn + stat_done + else + stat_fail + fi + ;; + stop) + stat_busy "Stopping OpenVPN ..." + for pidfile in "${STATEDIR}"/*.pid; do + stat_append "$(basename "${pidfile}" .pid) " + kill $(cat "${pidfile}" 2>/dev/null) 2>/dev/null + rm -f "${pidfile}" + done + rm_daemon openvpn + stat_done + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/openvpn/openvpn@.service b/testing/openvpn/openvpn@.service new file mode 100644 index 000000000..c3de3bdf7 --- /dev/null +++ b/testing/openvpn/openvpn@.service @@ -0,0 +1,10 @@ +[Unit] +Description=OpenVPN connection to %i +After=network.target + +[Service] +Type=forking +ExecStart=/usr/sbin/openvpn --config /etc/openvpn/%i.conf --daemon openvpn@%i --cd /etc/openvpn + +[Install] +WantedBy=multi-user.target diff --git a/testing/postgresql/PKGBUILD b/testing/postgresql/PKGBUILD new file mode 100644 index 000000000..e7f743d8e --- /dev/null +++ b/testing/postgresql/PKGBUILD @@ -0,0 +1,154 @@ +# $Id: PKGBUILD 165398 2012-08-17 23:34:22Z heftig $ +# Maintainer: Dan McGee <dan@archlinux.org> + +pkgbase=postgresql +pkgname=('postgresql-libs' 'postgresql-docs' 'postgresql') +pkgver=9.1.4 +_majorver=${pkgver%.*} +pkgrel=2 +arch=('i686' 'x86_64') +url="http://www.postgresql.org/" +license=('custom:PostgreSQL') +makedepends=('krb5' 'libxml2' 'python2' 'perl' 'tcl' 'openssl>=1.0.0') +source=(ftp://ftp.postgresql.org/pub/source/v${pkgver}/postgresql-${pkgver}.tar.bz2 + postgresql.rcd postgresql.confd postgresql.pam postgresql.logrotate + postgresql.service postgresql-initdb) +md5sums=('a8035688dba988b782725ac1aec60186' + '1ddd1df8010549f237e7983bb326025e' + 'a54d09a20ab1672adf08f037df188d53' + '96f82c38f3f540b53f3e5144900acf17' + 'd28e443f9f65a5712c52018b84e27137' + '1ec1fbf1ce998324248c543e6cc2c5e6' + '1488a98a5d5d96a04416e4f5872223bf') +sha256sums=('a0795a8eb3ae2d1a2914b63bf143d20182835d90699915ff43567c041d3c9712' + '9f6307b1358892e304f9474a456f0cb9160cfb8812a9da0430abe647f8a9cf45' + '3de5c059eead8816db15c2c5588e6196d6c4b0d704faf1a20912796cf589ba81' + '57dfd072fd7ef0018c6b0a798367aac1abb5979060ff3f9df22d1048bb71c0d5' + '6abb842764bbed74ea4a269d24f1e73d1c0b1d8ecd6e2e6fb5fb10590298605e' + '7014ccc8f3bbac8be9473a43fca2ed4037ee04e56d8e07d6027b3b4ef0317c89' + 'c22f82a3cf5b555935039853fab2d7e5ff6188cdb1fb528fa9171a87b94f42b0') + +build() { + cd "${srcdir}/postgresql-${pkgver}" + + ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --datadir=/usr/share/postgresql \ + --with-krb5 \ + --with-libxml \ + --with-openssl \ + --with-perl \ + --with-python PYTHON=/usr/bin/python2 \ + --with-tcl \ + --with-pam \ + --with-system-tzdata=/usr/share/zoneinfo \ + --enable-nls \ + --enable-thread-safety + + make world +} + +package_postgresql-libs() { + pkgdesc="Libraries for use with PostgreSQL" + depends=('krb5' 'openssl>=1.0.0' 'readline>=6.0') + provides=('postgresql-client') + conflicts=('postgresql-client') + + cd "${srcdir}/postgresql-${pkgver}" + + # install license + install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/postgresql-libs/LICENSE" + + # install libs + for dir in src/interfaces src/bin/pg_config src/bin/psql; do + make -C ${dir} DESTDIR="${pkgdir}" install + done + + install -D -m644 doc/src/sgml/man1/pg_config.1 "${pkgdir}/usr/share/man/man1/pg_config.1" + install -D -m644 doc/src/sgml/man1/psql.1 "${pkgdir}/usr/share/man/man1/psql.1" + + cd src/include + + mkdir -p "${pkgdir}"/usr/include/{libpq,postgresql/internal/libpq} + + # these headers are needed by the public headers of the interfaces + install -m644 pg_config.h "${pkgdir}/usr/include/" + install -m644 pg_config_os.h "${pkgdir}/usr/include/" + install -m644 postgres_ext.h "${pkgdir}/usr/include/" + install -m644 libpq/libpq-fs.h "${pkgdir}/usr/include/libpq/" + install -m644 pg_config_manual.h "${pkgdir}/usr/include/" + + # these headers are needed by the not-so-public headers of the interfaces + install -m644 c.h "${pkgdir}/usr/include/postgresql/internal/" + install -m644 port.h "${pkgdir}/usr/include/postgresql/internal/" + install -m644 postgres_fe.h "${pkgdir}/usr/include/postgresql/internal/" + install -m644 libpq/pqcomm.h "${pkgdir}/usr/include/postgresql/internal/libpq/" +} + +package_postgresql-docs() { + pkgdesc="HTML documentation for PostgreSQL" + options=(docs) + + cd "${srcdir}/postgresql-${pkgver}" + + # install license + install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/postgresql-docs/LICENSE" + + make -C doc/src/sgml DESTDIR="${pkgdir}" install-html + chown -R root:root "${pkgdir}/usr/share/doc/postgresql/html/" + + # clean up + rmdir "${pkgdir}"/usr/share/man/man{1,3,7} + rmdir "${pkgdir}"/usr/share/man +} + +package_postgresql() { + pkgdesc="A sophisticated object-relational DBMS" + backup=('etc/conf.d/postgresql' 'etc/pam.d/postgresql' 'etc/logrotate.d/postgresql') + depends=("postgresql-libs>=${pkgver}" 'krb5' 'libxml2' 'readline>=6.0' 'openssl>=1.0.0') + optdepends=('python2: for PL/Python support' + 'perl: for PL/Perl support' + 'tcl: for PL/Tcl support' + 'postgresql-old-upgrade: upgrade from previous major version using pg_upgrade') + install=postgresql.install + + cd "${srcdir}/postgresql-${pkgver}" + + # install + make DESTDIR="${pkgdir}" install + make -C contrib DESTDIR="${pkgdir}" install + make -C doc/src/sgml DESTDIR="${pkgdir}" install-man + + # we don't want these, they are in the -libs package + for dir in src/interfaces src/bin/pg_config src/bin/psql; do + make -C ${dir} DESTDIR="${pkgdir}" uninstall + done + rm "${pkgdir}/usr/share/man/man1/pg_config.1" + rm "${pkgdir}/usr/share/man/man1/psql.1" + + # install license + install -D -m644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE" + + # clean up unneeded installed items + rm -rf "${pkgdir}/usr/include/postgresql/internal" + rm -rf "${pkgdir}/usr/include/libpq" + find "${pkgdir}/usr/include" -maxdepth 1 -type f -execdir rm {} + + rmdir "${pkgdir}/usr/share/doc/postgresql/html" + + # install launch script + install -D -m755 "${srcdir}/postgresql.rcd" "${pkgdir}/etc/rc.d/postgresql" + install -D -m644 "${srcdir}/postgresql.service" \ + "${pkgdir}/usr/lib/systemd/system/postgresql.service" + install -D -m755 "${srcdir}/postgresql-initdb" \ + "${pkgdir}/usr/lib/systemd/scripts/postgresql-initdb" + + # install conf file + install -D -m644 ${srcdir}/postgresql.confd \ + "${pkgdir}/etc/conf.d/postgresql" + + install -D -m644 ${srcdir}/postgresql.pam \ + "${pkgdir}/etc/pam.d/postgresql" + + install -D -m644 ${srcdir}/postgresql.logrotate \ + "${pkgdir}/etc/logrotate.d/postgresql" +} diff --git a/testing/postgresql/postgresql-initdb b/testing/postgresql/postgresql-initdb new file mode 100755 index 000000000..a691a83ff --- /dev/null +++ b/testing/postgresql/postgresql-initdb @@ -0,0 +1,33 @@ +#!/bin/sh + +set -e + +. /etc/conf.d/postgresql + +# 2nd clause is necessary to prevent symlinking the directory to itself when it +# doesn't exist yet +if [ ! /var/lib/postgres -ef "$PGROOT" ] && [ /var/lib/postgres != "$PGROOT" ]; then + echo "Creating symlink /var/lib/postgres -> $PGROOT" + + # Remove /var/lib/postgres if empty dir, but not if symlink + if [ ! -L /var/lib/postgres ] && [ -d /var/lib/postgres ]; then + rmdir /var/lib/postgres + fi + + ln -sf "$PGROOT" /var/lib/postgres +fi + +PGDATA="$PGROOT/data" + +if [ ! -d "$PGDATA" ]; then + echo "Initializing database in $PGDATA" + + mkdir -p "$PGDATA" + chown -R postgres:postgres "$PGDATA" + + su - postgres -m -c "/usr/bin/initdb $INITOPTS -D '$PGDATA'" >/dev/null + + if [ -f /etc/postgresql/postgresql.conf ]; then + ln -sf /etc/postgresql/postgresql.conf "$PGDATA/postgresql.conf" + fi +fi diff --git a/testing/postgresql/postgresql.confd b/testing/postgresql/postgresql.confd new file mode 100644 index 000000000..6001c16d1 --- /dev/null +++ b/testing/postgresql/postgresql.confd @@ -0,0 +1,11 @@ +## +## Parameters to be passed to postgresql +## +## Default data directory location +#PGROOT="/var/lib/postgres" +## Passed to initdb if necessary +INITOPTS="--locale en_US.UTF-8" +## Default log file location +#PGLOG="/var/log/postgresql.log" +## Additional options to pass via pg_ctl's '-o' option +#PGOPTS="" diff --git a/testing/postgresql/postgresql.install b/testing/postgresql/postgresql.install new file mode 100644 index 000000000..c52432271 --- /dev/null +++ b/testing/postgresql/postgresql.install @@ -0,0 +1,26 @@ +post_install() { + if [ ! -d '/var/lib/postgres' ]; then + mkdir -p '/var/lib/postgres' + fi + getent group postgres >/dev/null || groupadd -g 88 postgres + getent passwd postgres >/dev/null || useradd -c 'PostgreSQL user' -u 88 -g postgres -d '/var/lib/postgres' -s /bin/bash postgres + passwd -l postgres >/dev/null +} + +post_upgrade() { + post_install $1 + # FS#23858, fix postgres user shell issue + postgres_shell=$(getent passwd postgres | cut -d: -f7) + if [ "$postgres_shell" = "/sbin/nologin" ]; then + chsh -s /bin/bash postgres + fi +} + +post_remove() { + if getent passwd postgres >/dev/null; then + userdel postgres + fi + if getent group postgres >/dev/null; then + groupdel postgres + fi +} diff --git a/testing/postgresql/postgresql.logrotate b/testing/postgresql/postgresql.logrotate new file mode 100644 index 000000000..9c36918be --- /dev/null +++ b/testing/postgresql/postgresql.logrotate @@ -0,0 +1,4 @@ +/var/log/postgresql.log { + copytruncate + missingok +} diff --git a/testing/postgresql/postgresql.pam b/testing/postgresql/postgresql.pam new file mode 100644 index 000000000..53724d1f8 --- /dev/null +++ b/testing/postgresql/postgresql.pam @@ -0,0 +1,3 @@ +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/testing/postgresql/postgresql.rcd b/testing/postgresql/postgresql.rcd new file mode 100755 index 000000000..f3600b30b --- /dev/null +++ b/testing/postgresql/postgresql.rcd @@ -0,0 +1,79 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/postgresql + +# Default PGROOT if it wasn't defined in the conf.d file +PGROOT=${PGROOT:-/var/lib/postgres} +PGLOG=${PGLOG:-/var/log/postgresql.log} +PGCTL_BIN=/usr/bin/pg_ctl +PGCTL_ARGS=(-D "$PGROOT/data" -l "$PGLOG" -s -w) +[[ $PGOPTS ]] && PGCTL_ARGS+=(-o "$PGOPTS") + +postgres_init() { + # initialization + if [[ ! -d "$PGROOT/data" ]]; then + mkdir -p "$PGROOT/data" && chown -R postgres:postgres "$PGROOT" + su - postgres -c "/usr/bin/initdb $INITOPTS -D '$PGROOT/data'" + fi + if [[ ! -e "$PGLOG" ]]; then + touch "$PGLOG" + chown postgres "$PGLOG" + fi +} + +do_postgres() { + su - postgres -c "'$PGCTL_BIN' $(printf '%q ' "${PGCTL_ARGS[@]}" "$@")" +} + +case $1 in + start) + postgres_init + stat_busy "Starting PostgreSQL" + if do_postgres start; then + add_daemon postgresql + stat_done + else + stat_fail + exit 1 + fi + ;; + stop) + stat_busy "Stopping PostgreSQL" + if do_postgres stop -m fast; then + rm_daemon postgresql + stat_done + else + stat_fail + exit 1 + fi + ;; + reload) + stat_busy "Reloading PostgreSQL" + if do_postgres reload; then + stat_done + else + stat_fail + exit 1 + fi + ;; + restart) + postgres_init + stat_busy "Restarting PostgreSQL" + if do_postgres restart -m fast; then + add_daemon postgresql + stat_done + else + stat_fail + exit 1 + fi + ;; + status) + stat_busy "Checking PostgreSQL status"; + ck_status postgresql + ;; + *) + echo "usage: $0 {start|stop|reload|restart|status}" + exit 1 +esac diff --git a/testing/postgresql/postgresql.service b/testing/postgresql/postgresql.service new file mode 100644 index 000000000..2fcd3e93d --- /dev/null +++ b/testing/postgresql/postgresql.service @@ -0,0 +1,20 @@ +[Unit] +Description=PostgreSQL database server + +[Service] +Type=forking +SyslogIdentifier=postgres +PIDFile=/var/lib/postgres/data/postmaster.pid + +# initdb script takes care for symlinking $PGROOT to /var/lib/postgres +ExecStartPre=/usr/lib/systemd/scripts/postgresql-initdb +ExecStart= /bin/su - postgres -m -c "/usr/bin/pg_ctl -s -D /var/lib/postgres/data start" +ExecReload=/bin/su - postgres -m -c "/usr/bin/pg_ctl -s -D /var/lib/postgres/data reload" +ExecStop= /bin/su - postgres -m -c "/usr/bin/pg_ctl -s -D /var/lib/postgres/data stop -m fast" + +# Due to PostgreSQL's use of shared memory, OOM killer is often overzealous in +# killing Postgres +OOMScoreAdjust=-200 + +[Install] +WantedBy=multi-user.target diff --git a/testing/udisks/PKGBUILD b/testing/udisks/PKGBUILD new file mode 100644 index 000000000..f7fbd187d --- /dev/null +++ b/testing/udisks/PKGBUILD @@ -0,0 +1,37 @@ +# $Id: PKGBUILD 165394 2012-08-17 23:23:28Z heftig $ +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgname=udisks +pkgver=1.0.4 +pkgrel=5 +pkgdesc="Disk Management Service" +arch=('i686' 'x86_64') +url="http://www.freedesktop.org/wiki/Software/udisks" +license=('GPL') +depends=('udev' 'sg3_utils' 'glib2' 'dbus-glib' 'polkit' 'parted' 'device-mapper' 'libatasmart' 'lsof' 'eject') +makedepends=('intltool' 'docbook-xsl') +options=(!libtool) +source=(http://hal.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz udisks.service) +sha256sums=('854b89368733b9c3a577101b761ad5397ae75a05110c8698ac5b29de9a8bf8f5' + '0b9cbf41935feed3e4e2430fd4e06eb29864554dbb9f330c9d2a5fa2ef185131') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --libexecdir=/usr/lib/udisks --disable-static + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make profiledir=/usr/share/bash-completion/completions DESTDIR="${pkgdir}" install + chmod 644 "${pkgdir}/usr/share/bash-completion/completions/udisks-bash-completion.sh" + + # move udev helpers and rules to /usr/lib + mv "${pkgdir}"/lib/udev "${pkgdir}"/usr/lib/ + rm -r "${pkgdir}"/lib + + install -Dm644 "$srcdir/udisks.service" "$pkgdir/usr/lib/systemd/system/udisks.service" + echo "SystemdService=udisks.service" \ + >> "$pkgdir/usr/share/dbus-1/system-services/org.freedesktop.UDisks.service" +} diff --git a/testing/udisks/udisks.service b/testing/udisks/udisks.service new file mode 100644 index 000000000..7105e90be --- /dev/null +++ b/testing/udisks/udisks.service @@ -0,0 +1,10 @@ +[Unit] +Description=UDisks + +[Service] +Type=dbus +BusName=org.freedesktop.UDisks +ExecStart=/usr/lib/udisks/udisks-daemon + +[Install] +WantedBy=graphical.target |