summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community/audex/PKGBUILD13
-rw-r--r--community/audex/google_regex.patch14
-rw-r--r--community/gnunet-gtk/PKGBUILD18
-rw-r--r--community/gnunet-gtk/drop_gtk2.patch11
-rw-r--r--community/gnunet/PKGBUILD7
-rw-r--r--community/irrlicht/PKGBUILD16
-rw-r--r--community/mysql-workbench/PKGBUILD35
-rw-r--r--community/virtualbox/PKGBUILD6
-rw-r--r--extra/amule/PKGBUILD6
-rw-r--r--extra/glade/PKGBUILD12
-rw-r--r--extra/kdepim-runtime/PKGBUILD13
-rw-r--r--extra/kdepim-runtime/smi0.91.patch11
-rw-r--r--extra/kwebkitpart/PKGBUILD13
-rw-r--r--extra/system-config-printer/PKGBUILD19
-rw-r--r--extra/telepathy-glib/PKGBUILD6
-rw-r--r--libre/unarchiver/PKGBUILD8
-rw-r--r--social/batctl/PKGBUILD24
-rw-r--r--testing/bridge-utils/PKGBUILD33
-rw-r--r--testing/bridge-utils/bridges.conf.d27
-rw-r--r--testing/coreutils/PKGBUILD70
-rw-r--r--testing/coreutils/coreutils-pam.patch428
-rw-r--r--testing/coreutils/coreutils-uname.patch173
-rw-r--r--testing/coreutils/coreutils.install21
-rw-r--r--testing/coreutils/su.pam9
-rw-r--r--testing/libffado/60-ffado.rules27
-rw-r--r--testing/libffado/PKGBUILD66
26 files changed, 1015 insertions, 71 deletions
diff --git a/community/audex/PKGBUILD b/community/audex/PKGBUILD
index 521c7fd0e..24f9f9906 100644
--- a/community/audex/PKGBUILD
+++ b/community/audex/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 37808 2011-01-17 23:22:59Z lcarlier $
+# $Id: PKGBUILD 56794 2011-10-12 23:16:45Z lcarlier $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: mightyjaym <jmambrosino@gmail.com>
# Contributor: moostik <mooostik_at_gmail.com>
pkgname=audex
pkgver=0.74b1
-pkgrel=1
+pkgrel=2
pkgdesc="A CDDA extraction tool with a ftp upload function for KDE"
arch=('i686' 'x86_64')
url="http://kde.maniatek.com/audex/"
@@ -17,11 +17,16 @@ optdepends=('vorbis-tools: OGG encoder'
'flac: FLAC encoder'
'lame: MP3 encoder')
install=${pkgname}.install
-source=("http://kde.maniatek.com/audex/files/${pkgname}-${pkgver}.tar.xz")
-md5sums=('20fdf9a0f89c08f44a151b6bdaab8782')
+source=("http://kde.maniatek.com/audex/files/${pkgname}-${pkgver}.tar.xz"
+ "google_regex.patch")
+md5sums=('20fdf9a0f89c08f44a151b6bdaab8782'
+ '77b33d8daead89d5f4f15b78a1cd1d55')
build() {
cd ${srcdir}
+ # fix bug FS#25193
+ patch -Np0 -i google_regex.patch
+
mkdir build
cd build
diff --git a/community/audex/google_regex.patch b/community/audex/google_regex.patch
new file mode 100644
index 000000000..86917e66f
--- /dev/null
+++ b/community/audex/google_regex.patch
@@ -0,0 +1,14 @@
+--- audex-0.74b1/utils/coverfetcher.cpp 2011-01-15 12:06:25.000000000 +0100
++++ audex-0.74b1/utils/coverfetcher_new.cpp 2011-07-20 18:43:37.554588883 +0200
+@@ -162,7 +162,10 @@
+ cover_tbnids.clear();
+ cover_thumbnails.clear();
+
+- QRegExp rx("<a\\shref=(\\/imgres\\?imgurl=[a-zA-Z0-9\\&\\_\\%\\/\\=\\.\\:\\-\\?]+)>[\\s\\n]*<img\\ssrc=([a-zA-Z0-9\\&\\_\\%\\/\\=\\.\\:\\-\\?]+).*>[\\s\\n]*</a>");
++ QRegExp rx("<a\\shref=\"(\\/imgres\\?imgurl=[^\"]+)\">[\\s\\n]*<img[^>]+src=\"([^>]+)\"></a>");
++ QString html = xml;
++ html.replace( QLatin1String("&amp;"), QLatin1String("&") );
++
+ rx.setMinimal(TRUE);
+
+ int pos = 0; int i = 0;
diff --git a/community/gnunet-gtk/PKGBUILD b/community/gnunet-gtk/PKGBUILD
index f9f09a391..73c7293fe 100644
--- a/community/gnunet-gtk/PKGBUILD
+++ b/community/gnunet-gtk/PKGBUILD
@@ -1,23 +1,27 @@
-# $Id: PKGBUILD 55842 2011-09-23 16:15:44Z spupykin $
+# $Id: PKGBUILD 56777 2011-10-12 06:44:39Z ibiru $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: wahnby <wahnby@yahoo.fr>
pkgname=gnunet-gtk
pkgver=0.9.0pre3
-pkgrel=1
+pkgrel=3
pkgdesc="A frontend for GNUnet"
arch=('i686' 'x86_64')
url="http://gnunet.org"
options=('!libtool')
license=('GPL')
-depends=('gnunet' 'libnotify' 'libglade' 'adns')
-makedepends=('pkgconfig' 'glade')
-source=(ftp://ftp.gnu.org/gnu/gnunet/$pkgname-$pkgver.tar.gz)
-md5sums=('42f90a00aee541cef576ead682d7fb44')
+depends=('gnunet' 'glade' 'adns')
+makedepends=('pkgconfig')
+source=(ftp://ftp.gnu.org/gnu/gnunet/$pkgname-$pkgver.tar.gz
+ drop_gtk2.patch)
+md5sums=('42f90a00aee541cef576ead682d7fb44'
+ 'f709c0195beffd0ca64d498be83a118b')
build() {
cd $srcdir/$pkgname-$pkgver
- ./configure --prefix=/usr --with-gnunet=/usr --disable-libgksu2
+ patch -Np1 -i $srcdir/drop_gtk2.patch
+ autoreconf -fi
+ ./configure --prefix=/usr --with-gnunet=/usr
make
}
diff --git a/community/gnunet-gtk/drop_gtk2.patch b/community/gnunet-gtk/drop_gtk2.patch
new file mode 100644
index 000000000..1ae4fda1f
--- /dev/null
+++ b/community/gnunet-gtk/drop_gtk2.patch
@@ -0,0 +1,11 @@
+diff -Nur gnunet-gtk-0.9.0pre3.orig/configure.ac gnunet-gtk-0.9.0pre3/configure.ac
+--- gnunet-gtk-0.9.0pre3.orig/configure.ac 2011-10-12 06:30:21.001993062 +0000
++++ gnunet-gtk-0.9.0pre3/configure.ac 2011-10-12 06:30:50.695578118 +0000
+@@ -169,7 +169,6 @@
+ AC_MSG_CHECKING(for gtk)
+ without_gtk=true
+ AM_PATH_GTK_3_0(3.0.0,without_gtk=false,)
+-AM_PATH_GTK_2_0(2.6.0,without_gtk=false,)
+ AM_CONDITIONAL(HAVE_GTK, test x$without_gtk != xtrue)
+ if test $without_gtk != true
+ then
diff --git a/community/gnunet/PKGBUILD b/community/gnunet/PKGBUILD
index 52487704d..2d573613f 100644
--- a/community/gnunet/PKGBUILD
+++ b/community/gnunet/PKGBUILD
@@ -1,16 +1,15 @@
-# $Id: PKGBUILD 55840 2011-09-23 16:14:42Z spupykin $
+# $Id: PKGBUILD 56776 2011-10-12 06:43:47Z ibiru $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
# Contributor: wahnby <wahnby@yahoo.fr>
pkgname=gnunet
pkgver=0.9.0pre3
-pkgrel=1
+pkgrel=2
pkgdesc="A framework for secure peer-to-peer networking"
arch=('i686' 'x86_64')
url="http://gnunet.org"
license=('GPL')
-depends=('gmp' 'libgcrypt' 'libextractor' 'sqlite3' 'guile' 'curl' 'libglade'
- 'adns' 'libmicrohttpd')
+depends=('gmp' 'libgcrypt' 'libextractor' 'sqlite3' 'curl' 'libmicrohttpd')
makedepends=('gettext' 'pkgconfig')
backup=(etc/gnunetd.conf)
options=('!libtool' '!makeflags')
diff --git a/community/irrlicht/PKGBUILD b/community/irrlicht/PKGBUILD
index dc74aaaf3..8dd14decd 100644
--- a/community/irrlicht/PKGBUILD
+++ b/community/irrlicht/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 33729 2010-11-28 11:00:58Z svenstaro $
+# $Id: PKGBUILD 56796 2011-10-12 23:30:10Z svenstaro $
# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
# Contributor: Hilton Medeiros <medeiros.hilton AT gmail DOT com>
# Contributor: Ali H. Caliskan <ali.h.caliskan AT gmail DOT com>
@@ -7,12 +7,13 @@
pkgname=irrlicht
pkgver=1.7.2
-pkgrel=1
+pkgrel=3
pkgdesc="An open source high performance realtime 3D graphics engine."
arch=('i686' 'x86_64')
url="http://irrlicht.sourceforge.net/"
license=('ZLIB')
-depends=('mesa' 'libjpeg' 'bzip2')
+depends=('libgl' 'libjpeg' 'bzip2' 'libpng')
+makedepends=('mesa')
source=("http://downloads.sourceforge.net/irrlicht/$pkgname-$pkgver.zip")
md5sums=('eb627d4c432bf73f12bc6d9ddc700b07')
@@ -21,6 +22,7 @@ build() {
sed -i -e '/^#.*NON_SYSTEM_ZLIB/d' \
-e '/^#.*NON_SYSTEM_JPEG/d' \
+ -e '/^#.*NON_SYSTEM_LIB_PNG/d' \
-e '/^#.*NON_SYSTEM_BZLIB/d' \
include/IrrCompileConfig.h
@@ -28,17 +30,21 @@ build() {
sed -i -e '/^CXXFLAGS/s:-g.*::' \
-e '/^CXXFLAGS/s:-Wall::' \
-e '/^CFLAGS/s/:= -O3 -fexpensive-optimizations/+=/' \
- -e '/^CXXINCS/s:-Izlib -Ijpeglib::' \
+ -e '/^CXXINCS/s:-Izlib -Ijpeglib -Ilibpng::' \
-e '/^ZLIBOBJ/d' \
-e '/^JPEGLIBOBJ/d' \
-e '/^BZIP2OBJ/d' \
+ -e '/^LIBPNGOBJ/d' \
-e '/.o=.d/d' \
- -e '/^sharedlib: LDFLAGS/s:+=:+= -lGL -lXxf86vm -ljpeg -lbz2 -lz:' \
+ -e '/^staticlib sharedlib: LDFLAGS/s:+=.*:+= -lGL -lXxf86vm -lpng -ljpeg -lbz2 -lz:' \
-e "/^INSTALL_DIR/s:=.*:=$pkgdir/usr/lib:" \
-e 's/0-SVN/1/' \
-e 's/.$(VERSION_MINOR) -o/ -o/' \
Makefile
+ sed -i "s/png_set_gray_1_2_4_to_8/png_set_expand_gray_1_2_4_to_8/" \
+ CImageLoaderPNG.cpp
+
make sharedlib
make
diff --git a/community/mysql-workbench/PKGBUILD b/community/mysql-workbench/PKGBUILD
index 145203973..fa2962fe9 100644
--- a/community/mysql-workbench/PKGBUILD
+++ b/community/mysql-workbench/PKGBUILD
@@ -1,23 +1,23 @@
-# $Id: PKGBUILD 49744 2011-06-20 20:11:17Z ibiru $
+# $Id: PKGBUILD 56797 2011-10-12 23:37:11Z ibiru $
# Maintainer:
# Contributor : Ionut Biru <ibiru@archlinux.org>
# Contributor: totoloco <totoloco at gmail _dot_com>
pkgname=mysql-workbench
epoch=1
-pkgver=5.2.34
-pkgrel=2
+pkgver=5.2.35
+pkgrel=1
pkgdesc="A cross-platform, visual database design tool developed by MySQL"
arch=('i686' 'x86_64')
url="http://wb.mysql.com/"
license=('GPL2')
depends=('libzip' 'libmysqlclient' 'lua' 'gtkmm' 'libgl'
'libsigc++' 'python-paramiko' 'python-pexpect' 'libgnome-keyring')
-makedepends=('boost' 'curl' 'mesa')
+makedepends=('boost' 'curl' 'mesa' 'python-sphinx')
options=('!libtool')
source=(ftp://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQLGUITools/${pkgname}-gpl-${pkgver}-src.tar.gz
ArchLinux.xml arch.patch python27.patch gcc46.patch)
-md5sums=('781a4e9f6b5573b06a838d53ddb9136d'
+md5sums=('e8b158d2ba0413f5659cda7da9cec63e'
'c2f986cd5737413d020c55db32713c48'
'23430d24400fd65c9fd872bd8e2411e5'
'47bc4cdfaa035a0132392e94c462ebf7'
@@ -38,17 +38,32 @@ build() {
rm -rf ext/boost
rm -rf ext/libsigc++
- export CPPFLAGS=$(pkg-config --cflags sigc++-2.0)
- export CXXFLAGS="$CXXFLAGS -fpermissive"
-
./autogen.sh --prefix=/usr --disable-debug --disable-static
make
+
+ pushd ext/mysql-utilities
+ python2 setup.py build
+ popd
+
+ pushd ext/connector-python
+ python2 setup.py build
+ popd
}
package() {
cd "${srcdir}/${pkgname}-gpl-${pkgver}-src"
make DESTDIR="${pkgdir}" install
- sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" $pkgdir/usr/share/mysql-workbench/sshtunnel.py
- sed -i -e "s|python|python2|" $pkgdir/usr/lib/mysql-workbench/modules/wb_utils_grt.py
+
+ pushd ext/mysql-utilities
+ python2 setup.py install --skip-profile --root $pkgdir --prefix=/usr --optimize=1
+ popd
+
+ pushd ext/connector-python
+ python2 setup.py install --root $pkgdir --prefix=/usr --optimize=1
+
+ sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
+ -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
+ -e "s|#![ ]*/bin/env python$|#!/usr/bin/env python2|" \
+ $(find ${pkgdir} -name '*.py')
}
diff --git a/community/virtualbox/PKGBUILD b/community/virtualbox/PKGBUILD
index 8739d2a86..7b0ef8200 100644
--- a/community/virtualbox/PKGBUILD
+++ b/community/virtualbox/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 56277 2011-10-04 15:42:56Z ibiru $
+# $Id: PKGBUILD 56770 2011-10-12 05:24:02Z ibiru $
#Maintainer: Ionut Biru <ibiru@archlinux.org>
pkgbase=virtualbox
pkgname=('virtualbox' 'virtualbox-archlinux-additions' 'virtualbox-archlinux-modules' 'virtualbox-sdk')
pkgver=4.1.4
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL' 'custom')
@@ -152,7 +152,7 @@ package_virtualbox-archlinux-additions(){
"$pkgdir"/usr/bin/VBoxClient-all
install -m755 -D "$srcdir"/VirtualBox-${pkgver}_OSE/src/VBox/Additions/x11/Installer/vboxclient.desktop \
"$pkgdir"/etc/xdg/autostart/vboxclient.desktop
- install -D vboxvideo_drv_110.so \
+ install -D vboxvideo_drv_111.so \
"$pkgdir/usr/lib/xorg/modules/drivers/vboxvideo.so"
install -d "$pkgdir/usr/lib/xorg/modules/dri"
install -m755 VBoxOGL*.so "$pkgdir/usr/lib"
diff --git a/extra/amule/PKGBUILD b/extra/amule/PKGBUILD
index aeaaa521d..2789e1285 100644
--- a/extra/amule/PKGBUILD
+++ b/extra/amule/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 140160 2011-10-08 05:52:53Z giovanni $
+# $Id: PKGBUILD 140393 2011-10-12 09:39:10Z giovanni $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Henrik Ronellenfitsch <searinox@web.de>
# Contributor: Alessio Sergi <sergi.alessio {at} gmail.com>
# Contributor: Dario 'Dax' Vilardi <dax [at] deelab [dot] org>
pkgname=amule
-pkgver=10624
+pkgver=10645
pkgrel=1
pkgdesc="An eMule-like client for ed2k p2p network"
arch=('i686' 'x86_64')
@@ -13,7 +13,7 @@ url="http://www.amule.org"
license=('GPL')
depends=('wxgtk' 'gd' 'geoip' 'libupnp' 'crypto++' 'libsm')
source=("http://amule.sourceforge.net/tarballs/aMule-SVN-r${pkgver}.tar.bz2")
-md5sums=('9b66eb490210a0c89d6e70c131565db0')
+md5sums=('2dfd86333cd42b6df5cb312de852a1f3')
build() {
cd "${srcdir}/aMule-SVN-r${pkgver}"
diff --git a/extra/glade/PKGBUILD b/extra/glade/PKGBUILD
index e385b2c32..39a5f92f2 100644
--- a/extra/glade/PKGBUILD
+++ b/extra/glade/PKGBUILD
@@ -1,20 +1,20 @@
-# $Id: PKGBUILD 138085 2011-09-16 07:41:36Z ibiru $
+# $Id: PKGBUILD 140391 2011-10-12 06:17:27Z ibiru $
# Maintainer: Douglas Soares de Andrade <douglas@archlinux.org>
pkgname=glade
-pkgver=3.10.0
-pkgrel=2
+pkgver=3.10.2
+pkgrel=1
pkgdesc="User interface builder for GTK+ and GNOME."
arch=(i686 x86_64)
license=('GPL' 'LGPL')
depends=('gtk3' 'libxml2' 'desktop-file-utils' 'hicolor-icon-theme')
-makedepends=('intltool' 'python2' 'gtk-doc' 'gobject-introspection' 'pygobject2-devel')
+makedepends=('intltool' 'python2' 'gtk-doc' 'gobject-introspection' 'python2-gobject2')
optdepends=('python2: Python widgets support')
options=('!libtool')
url="http://glade.gnome.org/"
install=glade.install
-source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2)
-sha256sums=('7e6a1423f1697d8b40618d0b01f0ebff572ccb80f5818a36af0971c5d1d94253')
+source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('0f59ffbd7e1e595396593fedcdb85c51fd01ed05d5ef7c6f724f3a0bcf24d5c4')
build() {
cd "${srcdir}/$pkgname-${pkgver}"
diff --git a/extra/kdepim-runtime/PKGBUILD b/extra/kdepim-runtime/PKGBUILD
index f67ef64df..b03d5fc15 100644
--- a/extra/kdepim-runtime/PKGBUILD
+++ b/extra/kdepim-runtime/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 139900 2011-10-05 19:09:16Z andrea $
+# $Id: PKGBUILD 140395 2011-10-12 10:17:54Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=kdepim-runtime
pkgver=4.7.2
-pkgrel=1
+pkgrel=2
pkgdesc='KDE PIM Runtime Environment'
arch=('i686' 'x86_64')
url='http://www.kde.org'
@@ -12,10 +12,15 @@ license=('GPL' 'LGPL' 'FDL')
depends=('kdepimlibs' 'kdebase-runtime')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost')
install=${pkgname}.install
-source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2")
-sha1sums=('f82886a63c48d718f30d60bd76ea7ac97f17a4c3')
+source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2"
+ 'smi0.91.patch')
+sha1sums=('f82886a63c48d718f30d60bd76ea7ac97f17a4c3'
+ 'b5af2b56cd7c9c57522e862b591e3d4ad23641c6')
build() {
+ cd "${srcdir}"/${pkgname}-${pkgver}
+ patch -p1 -i "${srcdir}"/smi0.91.patch
+
cd "${srcdir}"
mkdir build
cd build
diff --git a/extra/kdepim-runtime/smi0.91.patch b/extra/kdepim-runtime/smi0.91.patch
new file mode 100644
index 000000000..2229f9cd1
--- /dev/null
+++ b/extra/kdepim-runtime/smi0.91.patch
@@ -0,0 +1,11 @@
+--- kdepim-runtime-4.7.2/plugins/akonadi_serializer_addressee.desktop~ 2011-10-12 10:05:55.432618174 +0000
++++ kdepim-runtime-4.7.2/plugins/akonadi_serializer_addressee.desktop 2011-10-12 10:06:06.586046531 +0000
+@@ -89,7 +89,7 @@
+ Comment[zh_TW]=地址物件的 Akonadi 序列器外掛程式
+
+ [Plugin]
+-Type=text/vcard,text/directory
++Type=text/vcard
+ X-Akonadi-Class=legacy;default;KABC::Addressee;
+ X-KDE-Library=akonadi_serializer_addressee
+ X-KDE-ClassName=Akonadi::SerializerPluginAddressee
diff --git a/extra/kwebkitpart/PKGBUILD b/extra/kwebkitpart/PKGBUILD
index 3472e71a8..f07fa6c0e 100644
--- a/extra/kwebkitpart/PKGBUILD
+++ b/extra/kwebkitpart/PKGBUILD
@@ -1,18 +1,19 @@
-# $Id: PKGBUILD 126252 2011-06-02 23:08:29Z andrea $
-# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+# $Id: PKGBUILD 140401 2011-10-12 18:43:47Z andrea $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
pkgname=kwebkitpart
-pkgver=1.1.1
+pkgver=1.2.0
pkgrel=1
-pkgdesc="A web browser component for KDE"
+pkgdesc="A WebKit browser component for KDE"
url="http://opendesktop.org/content/show.php?content=127960"
arch=('i686' 'x86_64')
license=('LGPL')
depends=('kdebase-runtime')
makedepends=('cmake' 'automoc4')
install=${pkgname}.install
-source=("${pkgname}-${pkgver}.tar.bz2"::"http://quickgit.kde.org/?p=${pkgname}.git&a=snapshot&h=37bddda24735bb8eb2d9e324f983b8e84a45503e&fmt=tbz2")
-md5sums=('54c1fbb77f4a3c021b33a52a503fec8e')
+source=("${pkgname}-${pkgver}.tar.bz2"::"http://quickgit.kde.org/?p=${pkgname}.git&a=snapshot&h=d2aba2aa0664fde17f29d526226576aa6b956ee1&fmt=tbz2")
+md5sums=('d87b69fc4945aa9159908f842c3f9e2e')
build() {
cd "${srcdir}"
diff --git a/extra/system-config-printer/PKGBUILD b/extra/system-config-printer/PKGBUILD
index 2976a0be4..b82990a84 100644
--- a/extra/system-config-printer/PKGBUILD
+++ b/extra/system-config-printer/PKGBUILD
@@ -1,26 +1,23 @@
-# $Id: PKGBUILD 134387 2011-08-03 14:53:04Z andrea $
+# $Id: PKGBUILD 140389 2011-10-12 04:35:30Z eric $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
pkgbase=system-config-printer
pkgname=('system-config-printer-common'
'system-config-printer-gnome')
-pkgver=1.3.5
-pkgrel=2
+pkgver=1.3.7
+pkgrel=1
pkgdesc="A CUPS printer configuration tool and status applet"
url="http://cyberelk.net/tim/software/system-config-printer/"
arch=('i686' 'x86_64')
license=('GPL')
-makedepends=('intltool' 'python2' 'xmlto' 'docbook-xsl' 'desktop-file-utils' 'libcups' 'libxml2')
-source=("http://cyberelk.net/tim/data/${pkgbase}/1.3/${pkgbase}-${pkgver}.tar.xz"
- 'no-packagekit.patch')
-md5sums=('9d806643f17dc65a492a1d4e8a60f2ec'
- 'e70a274c3cced39db1668e2a748e068f')
+makedepends=('udev' 'intltool' 'python2' 'xmlto' 'docbook-xsl' 'desktop-file-utils' 'libcups' 'libxml2')
+source=(http://cyberelk.net/tim/data/${pkgbase}/1.3/${pkgbase}-${pkgver}.tar.xz{,.sig})
+md5sums=('f579ba287403d8ae3028377c6641feed'
+ 'a2ce58f4e612130b30e5c029e9afd31f')
build() {
cd "${srcdir}"/${pkgbase}-${pkgver}
- patch -p1 -i "${srcdir}"/no-packagekit.patch
-
sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \
-e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \
$(find . -name '*.py')
@@ -36,7 +33,7 @@ build() {
package_system-config-printer-common() {
pkgdesc='Pygtk CUPS Configuration'
- depends=('pycups' 'dbus-python' 'pysmbc')
+ depends=('udev' 'pycups' 'dbus-python' 'pysmbc')
optdepends=('system-config-printer-gnome: for the GTK frontend'
'kdeadmin-system-config-printer-kde: for the administration tool in KDE System Settings')
replaces=('system-config-printer')
diff --git a/extra/telepathy-glib/PKGBUILD b/extra/telepathy-glib/PKGBUILD
index 17e2254b6..92d4cd1b0 100644
--- a/extra/telepathy-glib/PKGBUILD
+++ b/extra/telepathy-glib/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 139664 2011-10-04 16:22:17Z ibiru $
+# $Id: PKGBUILD 140399 2011-10-12 13:08:45Z ibiru $
# Maintainer: Ionut Biru <ibiru@archlinux.org>
# Contributor: Kessia 'even' Pinheiro <kessiapinheiro at gmail.com
# Contributor: Bjorn Lindeijer <bjorn lindeijer nl>
pkgname=telepathy-glib
-pkgver=0.15.7
+pkgver=0.15.9
pkgrel=1
pkgdesc="GLib bindings for the Telepathy D-Bus protocol"
arch=('i686' 'x86_64')
@@ -15,7 +15,7 @@ options=('!libtool' '!emptydirs')
depends=('dbus-glib')
makedepends=('libxslt' 'vala' 'gobject-introspection')
source=("http://telepathy.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz")
-md5sums=('1ddf36edbfcecb9c8ad473d113ce087f')
+md5sums=('0d011b766aa94ab67ff7895a72f62bf8')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/libre/unarchiver/PKGBUILD b/libre/unarchiver/PKGBUILD
index b319676c4..0d597d96f 100644
--- a/libre/unarchiver/PKGBUILD
+++ b/libre/unarchiver/PKGBUILD
@@ -1,17 +1,15 @@
# Maintainer: Cedric Girard <girard.cedric@gmail.com>
pkgname=unarchiver
pkgver=2.7.1
-pkgrel=2
+pkgrel=3
pkgdesc="An Objective-C application for uncompressing archive files"
arch=('x86_64' 'i686')
url="http://wakaba.c3.cx/s/apps/unarchiver.html"
license=('LGPL2.1')
-depends=('gnustep-base' 'openssl' 'bzip2' 'icu' 'gcc-libs' 'zlib')
+depends=('gnustep-base>=1.23.0-1.1' 'openssl' 'bzip2' 'icu' 'gcc-libs' 'zlib')
+conflicts=('gnustep-base>=1.24')
makedepends=('gcc-objc')
source=(http://theunarchiver.googlecode.com/files/TheUnarchiver"$pkgver"_src.zip)
-replaces=('unrar')
-conflicts=('unrar')
-provides=('unrar')
build() {
cd "$srcdir/The Unarchiver/XADMaster"
diff --git a/social/batctl/PKGBUILD b/social/batctl/PKGBUILD
new file mode 100644
index 000000000..b37c0f666
--- /dev/null
+++ b/social/batctl/PKGBUILD
@@ -0,0 +1,24 @@
+# Contributor: Nathan Owe <ndowens.aur at gmail dot com>
+# Maintainer: Thomas Weißschuh <thomas_weissschuh@lavabit.com>
+pkgname=batctl
+pkgver=2011.3.0
+pkgrel=1
+pkgdesc="B.A.T.M.A.N. advanced control and management tool"
+arch=('i686' 'x86_64')
+url="http://www.open-mesh.net/"
+license=('GPL')
+depends=('glibc')
+source=("http://downloads.open-mesh.net/batman/releases/batman-adv-${pkgver}/${pkgname}-${pkgver}.tar.gz")
+sha1sums=('a90abd309acda0199c0d7cb63e8a0d4408688a34')
+
+build(){
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make
+}
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} PREFIX=/usr install
+
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/testing/bridge-utils/PKGBUILD b/testing/bridge-utils/PKGBUILD
new file mode 100644
index 000000000..46cad6154
--- /dev/null
+++ b/testing/bridge-utils/PKGBUILD
@@ -0,0 +1,33 @@
+# $Id: PKGBUILD 140405 2011-10-12 22:11:22Z eric $
+# Maintainer:
+# Contributor: Judd Vinet <judd@archlinux.org>
+
+pkgname=bridge-utils
+pkgver=1.5
+pkgrel=1
+pkgdesc="Utilities for configuring the Linux ethernet bridge"
+arch=('i686' 'x86_64')
+url="http://www.linuxfoundation.org/collaborate/workgroups/networking/bridge"
+license=('GPL')
+depends=('glibc')
+backup=('etc/conf.d/bridges')
+source=(http://downloads.sourceforge.net/bridge/bridge-utils-$pkgver.tar.gz
+ bridges.conf.d)
+md5sums=('ec7b381160b340648dede58c31bb2238'
+ 'f5d691282653580dd5fd4a1092ef365b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ aclocal
+ autoconf
+ ./configure --prefix=/usr --sysconfdir=/etc
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ # install config file
+ install -Dm644 ../bridges.conf.d "${pkgdir}/etc/conf.d/bridges"
+}
diff --git a/testing/bridge-utils/bridges.conf.d b/testing/bridge-utils/bridges.conf.d
new file mode 100644
index 000000000..2609cf51f
--- /dev/null
+++ b/testing/bridge-utils/bridges.conf.d
@@ -0,0 +1,27 @@
+#
+# Settings for layer-2 bridges
+#
+# For each bridge interface declared in INTERFACES (in rc.conf), declare
+# a bridge_${IF} variable that contains the real ethernet interfaces that
+# should be bridged togeether.
+#
+# Then list the bridge interface name in the BRIDGE_INTERFACES array.
+#
+
+# example:
+#
+# in /etc/rc.conf:
+# eth0="eth0 up"
+# eth1="eth1 up"
+# br0="br0 192.168.0.2 netmask 255.255.255.0 up"
+# INTERFACES=(lo eth0 eth1 br0)
+#
+# in /etc/conf.d/bridges
+# bridge_br0="eth0 eth1"
+# BRIDGE_INTERFACES=(br0)
+#
+
+
+#bridge_br0="eth0 eth1"
+#BRIDGE_INTERFACES=(br0)
+
diff --git a/testing/coreutils/PKGBUILD b/testing/coreutils/PKGBUILD
new file mode 100644
index 000000000..12ce11d7a
--- /dev/null
+++ b/testing/coreutils/PKGBUILD
@@ -0,0 +1,70 @@
+# $Id: PKGBUILD 140397 2011-10-12 12:51:32Z allan $
+# Maintainer: Allan McRae <allan@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+
+pkgname=coreutils
+pkgver=8.14
+pkgrel=1
+pkgdesc="The basic file, shell and text manipulation utilities of the GNU operating system"
+arch=('i686' 'x86_64')
+license=('GPL3')
+url="http://www.gnu.org/software/coreutils"
+groups=('base')
+depends=('glibc' 'shadow' 'pam' 'acl' 'gmp' 'libcap')
+replaces=('mktemp')
+backup=('etc/pam.d/su')
+install=${pkgname}.install
+options=('!emptydirs')
+source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}
+ coreutils-uname.patch
+ coreutils-pam.patch
+ su.pam)
+md5sums=('bcb135ce553493a45aba01b39eb3920a'
+ '279712f9afc954beaff0d99194c8f462'
+ 'c4fcca138b6abf6d443d48a6f0cd8833'
+ 'aad79a2aa6d566c375d7bdd1b0767278'
+ 'fa85e5cce5d723275b14365ba71a8aad')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # added su wheel group pam patch (from fedora git)
+ patch -Np1 -i ${srcdir}/coreutils-pam.patch
+
+ # linux specific uname improvement (from gentoo portage)
+ patch -Np1 -i ${srcdir}/coreutils-uname.patch
+
+ autoreconf -v
+ ./configure --prefix=/usr --libexecdir=/usr/lib/coreutils \
+ --enable-install-program=su \
+ --enable-no-install-program=groups,hostname,kill,uptime \
+ --enable-pam
+ make
+}
+
+check() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make RUN_EXPENSIVE_TESTS=yes check
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+
+ cd ${pkgdir}/usr/bin
+ install -dm755 ${pkgdir}/{bin,usr/sbin}
+
+ # binaries required by FHS
+ _fhs="cat chgrp chmod chown cp date dd df echo false ln ls \
+ mkdir mknod mv pwd rm rmdir stty su sync true uname"
+ mv ${_fhs} ${pkgdir}/bin
+
+ # binaries required by various Arch scripts
+ _bin="cut dir dircolors du install mkfifo readlink shred \
+ sleep touch tr vdir"
+ mv ${_bin} ${pkgdir}/bin
+ ln -sf /bin/sleep ${pkgdir}/usr/bin/sleep
+
+ mv chroot ${pkgdir}/usr/sbin
+ install -Dm644 ${srcdir}/su.pam ${pkgdir}/etc/pam.d/su
+}
diff --git a/testing/coreutils/coreutils-pam.patch b/testing/coreutils/coreutils-pam.patch
new file mode 100644
index 000000000..e61908f3f
--- /dev/null
+++ b/testing/coreutils/coreutils-pam.patch
@@ -0,0 +1,428 @@
+diff -urNp coreutils-8.4-orig/configure.ac coreutils-8.4/configure.ac
+--- coreutils-8.4-orig/configure.ac 2010-01-11 18:20:42.000000000 +0100
++++ coreutils-8.4/configure.ac 2010-02-12 10:17:46.000000000 +0100
+@@ -126,6 +126,13 @@ if test "$gl_gcc_warnings" = yes; then
+ AC_SUBST([GNULIB_WARN_CFLAGS])
+ fi
+
++dnl Give the chance to enable PAM
++AC_ARG_ENABLE(pam, dnl
++[ --enable-pam Enable use of the PAM libraries],
++[AC_DEFINE(USE_PAM, 1, [Define if you want to use PAM])
++LIB_PAM="-ldl -lpam -lpam_misc"
++AC_SUBST(LIB_PAM)])
++
+ AC_FUNC_FORK
+
+ optional_bin_progs=
+diff -urNp coreutils-8.4-orig/doc/coreutils.texi coreutils-8.4/doc/coreutils.texi
+--- coreutils-8.4-orig/doc/coreutils.texi 2010-01-03 18:06:20.000000000 +0100
++++ coreutils-8.4/doc/coreutils.texi 2010-02-12 10:17:46.000000000 +0100
+@@ -15081,8 +15081,11 @@ to certain shells, etc.).
+ @findex syslog
+ @command{su} can optionally be compiled to use @code{syslog} to report
+ failed, and optionally successful, @command{su} attempts. (If the system
+-supports @code{syslog}.) However, GNU @command{su} does not check if the
+-user is a member of the @code{wheel} group; see below.
++supports @code{syslog}.)
++
++This version of @command{su} has support for using PAM for
++authentication. You can edit @file{/etc/pam.d/su} to customize its
++behaviour.
+
+ The program accepts the following options. Also see @ref{Common options}.
+
+@@ -15124,6 +15127,8 @@ environment variables except @env{TERM},
+ @env{PATH} to a compiled-in default value. Change to @var{user}'s home
+ directory. Prepend @samp{-} to the shell's name, intended to make it
+ read its login startup file(s).
++Additionaly @env{DISPLAY} and @env{XAUTHORITY} environment variables
++are preserved as well for PAM functionality.
+
+ @item -m
+ @itemx -p
+@@ -15163,33 +15168,6 @@ Exit status:
+ the exit status of the subshell otherwise
+ @end display
+
+-@cindex wheel group, not supported
+-@cindex group wheel, not supported
+-@cindex fascism
+-@subsection Why GNU @command{su} does not support the @samp{wheel} group
+-
+-(This section is by Richard Stallman.)
+-
+-@cindex Twenex
+-@cindex MIT AI lab
+-Sometimes a few of the users try to hold total power over all the
+-rest. For example, in 1984, a few users at the MIT AI lab decided to
+-seize power by changing the operator password on the Twenex system and
+-keeping it secret from everyone else. (I was able to thwart this coup
+-and give power back to the users by patching the kernel, but I
+-wouldn't know how to do that in Unix.)
+-
+-However, occasionally the rulers do tell someone. Under the usual
+-@command{su} mechanism, once someone learns the root password who
+-sympathizes with the ordinary users, he or she can tell the rest. The
+-``wheel group'' feature would make this impossible, and thus cement the
+-power of the rulers.
+-
+-I'm on the side of the masses, not that of the rulers. If you are
+-used to supporting the bosses and sysadmins in whatever they do, you
+-might find this idea strange at first.
+-
+-
+ @node timeout invocation
+ @section @command{timeout}: Run a command with a time limit
+
+diff -urNp coreutils-8.4-orig/src/Makefile.am coreutils-8.4/src/Makefile.am
+--- coreutils-8.4-orig/src/Makefile.am 2010-01-03 18:06:20.000000000 +0100
++++ coreutils-8.4/src/Makefile.am 2010-02-12 10:17:46.000000000 +0100
+@@ -361,7 +361,7 @@ factor_LDADD += $(LIB_GMP)
+ uptime_LDADD += $(GETLOADAVG_LIBS)
+
+ # for crypt
+-su_LDADD += $(LIB_CRYPT)
++su_LDADD += $(LIB_CRYPT) @LIB_PAM@
+
+ # for various ACL functions
+ copy_LDADD += $(LIB_ACL)
+diff -urNp coreutils-8.4-orig/src/su.c coreutils-8.4/src/su.c
+--- coreutils-8.4-orig/src/su.c 2010-02-12 10:15:15.000000000 +0100
++++ coreutils-8.4/src/su.c 2010-02-12 10:24:29.000000000 +0100
+@@ -37,6 +37,16 @@
+ restricts who can su to UID 0 accounts. RMS considers that to
+ be fascist.
+
++#ifdef USE_PAM
++
++ Actually, with PAM, su has nothing to do with whether or not a
++ wheel group is enforced by su. RMS tries to restrict your access
++ to a su which implements the wheel group, but PAM considers that
++ to be fascist, and gives the user/sysadmin the opportunity to
++ enforce a wheel group by proper editing of /etc/pam.conf
++
++#endif
++
+ Compile-time options:
+ -DSYSLOG_SUCCESS Log successful su's (by default, to root) with syslog.
+ -DSYSLOG_FAILURE Log failed su's (by default, to root) with syslog.
+@@ -53,6 +63,15 @@
+ #include <pwd.h>
+ #include <grp.h>
+
++#ifdef USE_PAM
++# include <signal.h>
++# include <sys/wait.h>
++# include <sys/fsuid.h>
++# include <unistd.h>
++# include <security/pam_appl.h>
++# include <security/pam_misc.h>
++#endif /* USE_PAM */
++
+ #include "system.h"
+ #include "getpass.h"
+
+@@ -120,10 +139,17 @@
+ /* The user to become if none is specified. */
+ #define DEFAULT_USER "root"
+
++#ifndef USE_PAM
+ char *crypt (char const *key, char const *salt);
++#endif
+
+-static void run_shell (char const *, char const *, char **, size_t)
++static void run_shell (char const *, char const *, char **, size_t,
++ const struct passwd *)
++#ifdef USE_PAM
++ ;
++#else
+ ATTRIBUTE_NORETURN;
++#endif
+
+ /* If true, pass the `-f' option to the subshell. */
+ static bool fast_startup;
+@@ -209,7 +235,26 @@ log_su (struct passwd const *pw, bool su
+ }
+ #endif
+
++#ifdef USE_PAM
++static pam_handle_t *pamh = NULL;
++static int retval;
++static struct pam_conv conv = {
++ misc_conv,
++ NULL
++};
++
++#define PAM_BAIL_P if (retval) { \
++ pam_end(pamh, PAM_SUCCESS); \
++ return 0; \
++}
++#define PAM_BAIL_P_VOID if (retval) { \
++ pam_end(pamh, PAM_SUCCESS); \
++return; \
++}
++#endif
++
+ /* Ask the user for a password.
++ If PAM is in use, let PAM ask for the password if necessary.
+ Return true if the user gives the correct password for entry PW,
+ false if not. Return true without asking for a password if run by UID 0
+ or if PW has an empty password. */
+@@ -217,6 +262,44 @@ log_su (struct passwd const *pw, bool su
+ static bool
+ correct_password (const struct passwd *pw)
+ {
++#ifdef USE_PAM
++ struct passwd *caller;
++ char *tty_name, *ttyn;
++ retval = pam_start(PROGRAM_NAME, pw->pw_name, &conv, &pamh);
++ PAM_BAIL_P;
++
++ if (getuid() != 0 && !isatty(0)) {
++ fprintf(stderr, "standard in must be a tty\n");
++ exit(1);
++ }
++
++ caller = getpwuid(getuid());
++ if(caller != NULL && caller->pw_name != NULL) {
++ retval = pam_set_item(pamh, PAM_RUSER, caller->pw_name);
++ PAM_BAIL_P;
++ }
++
++ ttyn = ttyname(0);
++ if (ttyn) {
++ if (strncmp(ttyn, "/dev/", 5) == 0)
++ tty_name = ttyn+5;
++ else
++ tty_name = ttyn;
++ retval = pam_set_item(pamh, PAM_TTY, tty_name);
++ PAM_BAIL_P;
++ }
++ retval = pam_authenticate(pamh, 0);
++ PAM_BAIL_P;
++ retval = pam_acct_mgmt(pamh, 0);
++ if (retval == PAM_NEW_AUTHTOK_REQD) {
++ /* password has expired. Offer option to change it. */
++ retval = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);
++ PAM_BAIL_P;
++ }
++ PAM_BAIL_P;
++ /* must be authenticated if this point was reached */
++ return 1;
++#else /* !USE_PAM */
+ char *unencrypted, *encrypted, *correct;
+ #if HAVE_GETSPNAM && HAVE_STRUCT_SPWD_SP_PWDP
+ /* Shadow passwd stuff for SVR3 and maybe other systems. */
+@@ -241,6 +324,7 @@ correct_password (const struct passwd *p
+ encrypted = crypt (unencrypted, correct);
+ memset (unencrypted, 0, strlen (unencrypted));
+ return STREQ (encrypted, correct);
++#endif /* !USE_PAM */
+ }
+
+ /* Update `environ' for the new shell based on PW, with SHELL being
+@@ -254,12 +338,18 @@ modify_environment (const struct passwd
+ /* Leave TERM unchanged. Set HOME, SHELL, USER, LOGNAME, PATH.
+ Unset all other environment variables. */
+ char const *term = getenv ("TERM");
++ char const *display = getenv ("DISPLAY");
++ char const *xauthority = getenv ("XAUTHORITY");
+ if (term)
+ term = xstrdup (term);
+ environ = xmalloc ((6 + !!term) * sizeof (char *));
+ environ[0] = NULL;
+ if (term)
+ xsetenv ("TERM", term);
++ if (display)
++ xsetenv ("DISPLAY", display);
++ if (xauthority)
++ xsetenv ("XAUTHORITY", xauthority);
+ xsetenv ("HOME", pw->pw_dir);
+ xsetenv ("SHELL", shell);
+ xsetenv ("USER", pw->pw_name);
+@@ -292,8 +382,13 @@ change_identity (const struct passwd *pw
+ {
+ #ifdef HAVE_INITGROUPS
+ errno = 0;
+- if (initgroups (pw->pw_name, pw->pw_gid) == -1)
++ if (initgroups (pw->pw_name, pw->pw_gid) == -1) {
++#ifdef USE_PAM
++ pam_close_session(pamh, 0);
++ pam_end(pamh, PAM_ABORT);
++#endif
+ error (EXIT_CANCELED, errno, _("cannot set groups"));
++ }
+ endgrent ();
+ #endif
+ if (setgid (pw->pw_gid))
+@@ -302,6 +397,31 @@ change_identity (const struct passwd *pw
+ error (EXIT_CANCELED, errno, _("cannot set user id"));
+ }
+
++#ifdef USE_PAM
++static int caught=0;
++/* Signal handler for parent process later */
++static void su_catch_sig(int sig)
++{
++ ++caught;
++}
++
++int
++pam_copyenv (pam_handle_t *pamh)
++{
++ char **env;
++
++ env = pam_getenvlist(pamh);
++ if(env) {
++ while(*env) {
++ if (putenv (*env))
++ xalloc_die ();
++ env++;
++ }
++ }
++ return(0);
++}
++#endif
++
+ /* Run SHELL, or DEFAULT_SHELL if SHELL is empty.
+ If COMMAND is nonzero, pass it to the shell with the -c option.
+ Pass ADDITIONAL_ARGS to the shell as more arguments; there
+@@ -309,17 +429,49 @@ change_identity (const struct passwd *pw
+
+ static void
+ run_shell (char const *shell, char const *command, char **additional_args,
+- size_t n_additional_args)
++ size_t n_additional_args, const struct passwd *pw)
+ {
+ size_t n_args = 1 + fast_startup + 2 * !!command + n_additional_args + 1;
+ char const **args = xnmalloc (n_args, sizeof *args);
+ size_t argno = 1;
++#ifdef USE_PAM
++ int child;
++ sigset_t ourset;
++ int status;
++
++ retval = pam_open_session(pamh,0);
++ if (retval != PAM_SUCCESS) {
++ fprintf (stderr, "could not open session\n");
++ exit (1);
++ }
++
++/* do this at the last possible moment, because environment variables may
++ be passed even in the session phase
++*/
++ if(pam_copyenv(pamh) != PAM_SUCCESS)
++ fprintf (stderr, "error copying PAM environment\n");
++
++ /* Credentials should be set in the parent */
++ if (pam_setcred(pamh, PAM_ESTABLISH_CRED) != PAM_SUCCESS) {
++ pam_close_session(pamh, 0);
++ fprintf(stderr, "could not set PAM credentials\n");
++ exit(1);
++ }
++
++ child = fork();
++ if (child == 0) { /* child shell */
++ change_identity (pw);
++ pam_end(pamh, 0);
++#endif
+
+ if (simulate_login)
+ {
+ char *arg0;
+ char *shell_basename;
+
++ if(chdir(pw->pw_dir))
++ error(0, errno, _("warning: cannot change directory to %s"), pw->pw_dir);
++
+ shell_basename = last_component (shell);
+ arg0 = xmalloc (strlen (shell_basename) + 2);
+ arg0[0] = '-';
+@@ -344,6 +496,67 @@ run_shell (char const *shell, char const
+ error (0, errno, "%s", shell);
+ exit (exit_status);
+ }
++#ifdef USE_PAM
++ } else if (child == -1) {
++ fprintf(stderr, "can not fork user shell: %s", strerror(errno));
++ pam_setcred(pamh, PAM_DELETE_CRED | PAM_SILENT);
++ pam_close_session(pamh, 0);
++ pam_end(pamh, PAM_ABORT);
++ exit(1);
++ }
++ /* parent only */
++ sigfillset(&ourset);
++ if (sigprocmask(SIG_BLOCK, &ourset, NULL)) {
++ fprintf(stderr, "%s: signal malfunction\n", PROGRAM_NAME);
++ caught = 1;
++ }
++ if (!caught) {
++ struct sigaction action;
++ action.sa_handler = su_catch_sig;
++ sigemptyset(&action.sa_mask);
++ action.sa_flags = 0;
++ sigemptyset(&ourset);
++ if (sigaddset(&ourset, SIGTERM)
++ || sigaddset(&ourset, SIGALRM)
++ || sigaction(SIGTERM, &action, NULL)
++ || sigprocmask(SIG_UNBLOCK, &ourset, NULL)) {
++ fprintf(stderr, "%s: signal masking malfunction\n", PROGRAM_NAME);
++ caught = 1;
++ }
++ }
++ if (!caught) {
++ do {
++ int pid;
++
++ pid = waitpid(-1, &status, WUNTRACED);
++
++ if (((pid_t)-1 != pid) && (0 != WIFSTOPPED (status))) {
++ kill(getpid(), WSTOPSIG(status));
++ /* once we get here, we must have resumed */
++ kill(pid, SIGCONT);
++ }
++ } while (0 != WIFSTOPPED(status));
++ }
++
++ if (caught) {
++ fprintf(stderr, "\nSession terminated, killing shell...");
++ kill (child, SIGTERM);
++ }
++ /* Not checking retval on this because we need to call close session */
++ pam_setcred(pamh, PAM_DELETE_CRED | PAM_SILENT);
++ retval = pam_close_session(pamh, 0);
++ PAM_BAIL_P_VOID;
++ retval = pam_end(pamh, PAM_SUCCESS);
++ PAM_BAIL_P_VOID;
++ if (caught) {
++ sleep(2);
++ kill(child, SIGKILL);
++ fprintf(stderr, " ...killed.\n");
++ exit(-1);
++ }
++ exit ((0 != WIFEXITED (status)) ? WEXITSTATUS (status)
++ : WTERMSIG (status) + 128);
++#endif /* USE_PAM */
+ }
+
+ /* Return true if SHELL is a restricted shell (one not returned by
+@@ -511,9 +724,9 @@ main (int argc, char **argv)
+ shell = xstrdup (shell ? shell : pw->pw_shell);
+ modify_environment (pw, shell);
+
++#ifndef USE_PAM
+ change_identity (pw);
+- if (simulate_login && chdir (pw->pw_dir) != 0)
+- error (0, errno, _("warning: cannot change directory to %s"), pw->pw_dir);
++#endif
+
+ /* error() flushes stderr, but does not check for write failure.
+ Normally, we would catch this via our atexit() hook of
+@@ -523,5 +736,5 @@ main (int argc, char **argv)
+ if (ferror (stderr))
+ exit (EXIT_CANCELED);
+
+- run_shell (shell, command, argv + optind, MAX (0, argc - optind));
++ run_shell (shell, command, argv + optind, MAX (0, argc - optind), pw);
+ }
diff --git a/testing/coreutils/coreutils-uname.patch b/testing/coreutils/coreutils-uname.patch
new file mode 100644
index 000000000..b458abeba
--- /dev/null
+++ b/testing/coreutils/coreutils-uname.patch
@@ -0,0 +1,173 @@
+On linux platforms, grok /proc/cpuinfo for the CPU/vendor info.
+
+Prob not suitable for upstream seeing as how it's 100% linux-specific
+http://lists.gnu.org/archive/html/bug-coreutils/2005-09/msg00063.html
+
+Patch originally by Carlos E. Gorges <carlos@techlinux.com.br>, but
+heavily reworked to suck less.
+
+To add support for additional platforms, check out the show_cpuinfo()
+func in the linux/arch/<ARCH>/ source tree of the kernel.
+
+--- coreutils/src/uname.c
++++ coreutils/src/uname.c
+@@ -50,6 +50,11 @@
+ # include <mach-o/arch.h>
+ #endif
+
++#if defined(__linux__)
++# define USE_PROCINFO
++# define UNAME_HARDWARE_PLATFORM
++#endif
++
+ #include "system.h"
+ #include "error.h"
+ #include "quote.h"
+@@ -138,6 +143,117 @@
+ exit (status);
+ }
+
++#if defined(USE_PROCINFO)
++
++# if defined(__s390__) || defined(__s390x__)
++# define CPUINFO_FILE "/proc/sysinfo"
++# define CPUINFO_FORMAT "%64[^\t :]%*[ :]%256[^\n]%c"
++# else
++# define CPUINFO_FILE "/proc/cpuinfo"
++# define CPUINFO_FORMAT "%64[^\t:]\t:%256[^\n]%c"
++# endif
++
++# define PROCINFO_PROCESSOR 0
++# define PROCINFO_HARDWARE_PLATFORM 1
++
++static void __eat_cpuinfo_space(char *buf)
++{
++ /* first eat trailing space */
++ char *tmp = buf + strlen(buf) - 1;
++ while (tmp > buf && isspace(*tmp))
++ *tmp-- = '\0';
++ /* then eat leading space */
++ tmp = buf;
++ while (*tmp && isspace(*tmp))
++ tmp++;
++ if (tmp != buf)
++ memmove(buf, tmp, strlen(tmp)+1);
++ /* finally collapse whitespace */
++ tmp = buf;
++ while (tmp[0] && tmp[1]) {
++ if (isspace(tmp[0]) && isspace(tmp[1])) {
++ memmove(tmp, tmp+1, strlen(tmp));
++ continue;
++ }
++ ++tmp;
++ }
++}
++
++static int __linux_procinfo(int x, char *fstr, size_t s)
++{
++ FILE *fp;
++
++ char *procinfo_keys[] = {
++ /* --processor --hardware-platform */
++ #if defined(__alpha__)
++ "cpu model", "system type"
++ #elif defined(__arm__)
++ "Processor", "Hardware"
++ #elif defined(__avr32__)
++ "processor", "cpu family"
++ #elif defined(__bfin__)
++ "CPU", "BOARD Name"
++ #elif defined(__cris__)
++ "cpu", "cpu model"
++ #elif defined(__frv__)
++ "CPU-Core", "System"
++ #elif defined(__i386__) || defined(__x86_64__)
++ "model name", "vendor_id"
++ #elif defined(__ia64__)
++ "family", "vendor"
++ #elif defined(__hppa__)
++ "cpu", "model"
++ #elif defined(__m68k__)
++ "CPU", "MMU"
++ #elif defined(__mips__)
++ "cpu model", "system type"
++ #elif defined(__powerpc__) || defined(__powerpc64__)
++ "cpu", "machine"
++ #elif defined(__s390__) || defined(__s390x__)
++ "Type", "Manufacturer"
++ #elif defined(__sh__)
++ "cpu type", "machine"
++ #elif defined(sparc) || defined(__sparc__)
++ "type", "cpu"
++ #elif defined(__vax__)
++ "cpu type", "cpu"
++ #else
++ "unknown", "unknown"
++ #endif
++ };
++
++ if ((fp = fopen(CPUINFO_FILE, "r")) != NULL) {
++ char key[65], value[257], eol, *ret = NULL;
++
++ while (fscanf(fp, CPUINFO_FORMAT, key, value, &eol) != EOF) {
++ __eat_cpuinfo_space(key);
++ if (!strcmp(key, procinfo_keys[x])) {
++ __eat_cpuinfo_space(value);
++ ret = value;
++ break;
++ }
++ if (eol != '\n') {
++ /* we need two fscanf's here in case the previous
++ * length limit caused us to read right up to the
++ * newline ... doing "%*[^\n]\n" wont eat the newline
++ */
++ fscanf(fp, "%*[^\n]");
++ fscanf(fp, "\n");
++ }
++ }
++ fclose(fp);
++
++ if (ret) {
++ strncpy(fstr, ret, s);
++ return 0;
++ }
++ }
++
++ return -1;
++}
++
++#endif
++
+ /* Print ELEMENT, preceded by a space if something has already been
+ printed. */
+
+@@ -250,10 +344,14 @@ main (int argc, char **argv)
+ if (toprint & PRINT_PROCESSOR)
+ {
+ char const *element = unknown;
+-#if HAVE_SYSINFO && defined SI_ARCHITECTURE
++#if ( HAVE_SYSINFO && defined SI_ARCHITECTURE ) || defined(USE_PROCINFO)
+ {
+ static char processor[257];
++#if defined(USE_PROCINFO)
++ if (0 <= __linux_procinfo (PROCINFO_PROCESSOR, processor, sizeof processor))
++#else
+ if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
++#endif
+ element = processor;
+ }
+ #endif
+@@ -306,9 +404,13 @@ main (int argc, char **argv)
+ if (element == unknown)
+ {
+ static char hardware_platform[257];
++#if defined(USE_PROCINFO)
++ if (0 <= __linux_procinfo (PROCINFO_HARDWARE_PLATFORM, hardware_platform, sizeof hardware_platform))
++#else
+ size_t s = sizeof hardware_platform;
+ static int mib[] = { CTL_HW, UNAME_HARDWARE_PLATFORM };
+ if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0)
++#endif
+ element = hardware_platform;
+ }
+ #endif
diff --git a/testing/coreutils/coreutils.install b/testing/coreutils/coreutils.install
new file mode 100644
index 000000000..8caae6686
--- /dev/null
+++ b/testing/coreutils/coreutils.install
@@ -0,0 +1,21 @@
+infodir=usr/share/info
+filelist=(coreutils.info)
+
+post_install() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ usr/bin/install-info $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ [ -x usr/bin/install-info ] || return 0
+ for file in ${filelist[@]}; do
+ usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
+ done
+}
+
diff --git a/testing/coreutils/su.pam b/testing/coreutils/su.pam
new file mode 100644
index 000000000..cf15f40f1
--- /dev/null
+++ b/testing/coreutils/su.pam
@@ -0,0 +1,9 @@
+#%PAM-1.0
+auth sufficient pam_rootok.so
+# Uncomment the following line to implicitly trust users in the "wheel" group.
+#auth sufficient pam_wheel.so trust use_uid
+# Uncomment the following line to require a user to be in the "wheel" group.
+#auth required pam_wheel.so use_uid
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_unix.so
diff --git a/testing/libffado/60-ffado.rules b/testing/libffado/60-ffado.rules
new file mode 100644
index 000000000..6ab8ef851
--- /dev/null
+++ b/testing/libffado/60-ffado.rules
@@ -0,0 +1,27 @@
+SUBSYSTEM!="firewire", GOTO="ffado_end"
+
+ATTR{vendor}=="0x000166", GROUP="audio", ENV{ID_FFADO}="1" # TC GROUP A/S
+ATTR{vendor}=="0x0001f2", GROUP="audio", ENV{ID_FFADO}="1" # Mark of the Unicorn, Inc.
+ATTR{vendor}=="0x0003db", GROUP="audio", ENV{ID_FFADO}="1" # Apogee Electronics Corp.
+ATTR{vendor}=="0x000595", GROUP="audio", ENV{ID_FFADO}="1" # Alesis Corporation
+ATTR{vendor}=="0x0007f5", GROUP="audio", ENV{ID_FFADO}="1" # Bridgeco Co AG
+ATTR{vendor}=="0x000a92", GROUP="audio", ENV{ID_FFADO}="1" # Presonus Corporation
+ATTR{vendor}=="0x000aac", GROUP="audio", ENV{ID_FFADO}="1" # TerraTec Electronic GmbH
+ATTR{vendor}=="0x000d6c", GROUP="audio", ENV{ID_FFADO}="1" # M-Audio
+ATTR{vendor}=="0x000f1b", GROUP="audio", ENV{ID_FFADO}="1" # Ego Systems Inc.
+ATTR{vendor}=="0x000ff2", GROUP="audio", ENV{ID_FFADO}="1" # Loud Technologies Inc.
+ATTR{vendor}=="0x001260", GROUP="audio", ENV{ID_FFADO}="1" # Stanton Magnetics,inc.
+ATTR{vendor}=="0x00130e", GROUP="audio", ENV{ID_FFADO}="1" # Focusrite Audio Engineering Limited
+ATTR{vendor}=="0x001486", GROUP="audio", ENV{ID_FFADO}="1" # Echo Digital Audio Corporation
+ATTR{vendor}=="0x001564", GROUP="audio", ENV{ID_FFADO}="1" # BEHRINGER Spezielle Studiotechnik GmbH
+ATTR{vendor}=="0x001c2d", GROUP="audio", ENV{ID_FFADO}="1" # FlexRadio Systems
+ATTR{vendor}=="0x001c6a", GROUP="audio", ENV{ID_FFADO}="1" # Weiss Engineering Ltd.
+ATTR{vendor}=="0x0040ab", GROUP="audio", ENV{ID_FFADO}="1" # ROLAND DG CORPORATION
+
+# The devices below abuse another Vendor's ID, and therefore we need more advanced rules for those.
+
+ATTR{vendor}=="0x00000a", ATTR{model}=="0x030000", ATTR{units}=="*0x00a02d:0x010001*", GROUP="audio", ENV{ID_FFADO}="1" # CME, Matrix K FW
+ATTR{vendor}=="0x00000f", ATTR{model}=="0x01006?", ATTR{units}=="*0x00a02d:0x010001*", GROUP="audio", ENV{ID_FFADO}="1" # Mackie, Onyx Firewire
+ATTR{vendor}=="0x000a35", ATTR{units}=="0x000a35:0x00000[12]", GROUP="audio", ENV{ID_FFADO}="1" # RME
+
+LABEL="ffado_end"
diff --git a/testing/libffado/PKGBUILD b/testing/libffado/PKGBUILD
new file mode 100644
index 000000000..09386a73f
--- /dev/null
+++ b/testing/libffado/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 140411 2011-10-13 03:56:02Z schiv $
+# Maintainer: Ray Rashif <schivmeister@gmail.com>
+# Contributor: galiyosha@gmail.com
+# Contributor: Jon Kristian Nilsen <jokr.nilsen@gmail.com>
+
+pkgname=libffado
+pkgver=2.0.1
+pkgrel=4
+pkgdesc="Driver for FireWire audio devices"
+arch=('i686' 'x86_64')
+url="http://www.ffado.org/"
+license=('GPL')
+depends=('libiec61883' 'libavc1394' 'libsigc++'
+ 'libxml++' 'alsa-lib' 'dbus')
+makedepends=('scons' 'python2-qt')
+optdepends=('python2-qt: mixer applet')
+provides=('ffado')
+source=("http://www.ffado.org/files/$pkgname-$pkgver.tar.gz"
+ '60-ffado.rules')
+md5sums=('786f31facd417e6207e429f50af0e15e'
+ 'f03a3e950801c4405b8934084651bca8')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ # hack to use CFLAGS without optimising
+ sed -i 's/-O2//g' SConstruct
+
+ if [ "$CARCH" = "x86_64" ]; then
+ sed -i "s/-m64/-m64 $CFLAGS/g" SConstruct
+ else
+ sed -i "s/-m32/-m32 $CFLAGS/g" SConstruct
+ fi
+
+ # python2 fix
+ sed -i 's:python $SOURCE:python2 $SOURCE:' SConstruct
+ sed -i 's:python support/tools:python2 support/tools:' \
+ support/tools/SConscript
+
+ scons PREFIX=/usr #ENABLE_OPTIMIZATIONS=True
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ scons DESTDIR="$pkgdir/" WILL_DEAL_WITH_XDG_MYSELF="True" install
+
+ # add audio device rules
+ # see https://bugs.archlinux.org/task/26342
+ install -Dm644 "$srcdir/60-ffado.rules" \
+ "$pkgdir/lib/udev/rules.d/60-ffado.rules"
+
+ # python2 fix
+ for i in $(grep '^#!.*bin.*python' -R "$pkgdir" | sed 's/:.*//'); do
+ sed -i 's:^#!.*bin.*python:#!/usr/bin/python2:' "$i"
+ done
+
+ # desktop files & icons
+ install -Dm644 support/xdg/ffado.org-ffadomixer.desktop \
+ "$pkgdir/usr/share/applications/ffadomixer.desktop"
+
+ install -Dm644 support/xdg/hi64-apps-ffado.png \
+ "$pkgdir/usr/share/pixmaps/$pkgname.png"
+}
+
+# vim:set ts=2 sw=2 et: