diff options
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("&"), 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: |