summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-06-27 23:06:15 +0000
committerroot <root@rshg047.dnsready.net>2011-06-27 23:06:15 +0000
commit0a595245dd258cc0ad9a5de2b292cf1b1a94f51a (patch)
tree2cbc26bebf7171db78c67303e24ad6e80279f2d8
parent715631caf52784c47c8ed3aeb6cbdba2715a08db (diff)
Mon Jun 27 23:06:14 UTC 2011
-rw-r--r--community-testing/gtk2hs-buildtools/PKGBUILD26
-rw-r--r--community-testing/gtk2hs-cairo/PKGBUILD41
-rw-r--r--community-testing/gtk2hs-cairo/gtk2hs-cairo.install18
-rw-r--r--community-testing/gtk2hs-glib/PKGBUILD41
-rw-r--r--community-testing/gtk2hs-glib/gtk2hs-glib.install18
-rw-r--r--community-testing/gtk2hs-pango/PKGBUILD41
-rw-r--r--community-testing/gtk2hs-pango/gtk2hs-pango.install18
-rw-r--r--community-testing/haskell-hslogger/PKGBUILD41
-rw-r--r--community-testing/haskell-hslogger/haskell-hslogger.install18
-rw-r--r--community/fb-client/PKGBUILD4
-rw-r--r--core/binutils/PKGBUILD18
-rw-r--r--core/dbus-core/PKGBUILD16
-rw-r--r--core/fakeroot/PKGBUILD6
-rw-r--r--core/gcc/PKGBUILD8
-rw-r--r--core/glibc/PKGBUILD52
-rw-r--r--core/glibc/glibc-2.14-fix-resolver-crash-typo.patch22
-rw-r--r--core/glibc/glibc-2.14-libdl-crash.patch132
-rw-r--r--core/glibc/glibc-2.14-reexport-rpc-interface.patch26
-rw-r--r--core/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch28
-rw-r--r--core/glibc/glibc-2.14-revert-4462fad3.patch37
-rw-r--r--core/grep/PKGBUILD6
-rw-r--r--core/less/PKGBUILD8
-rw-r--r--core/linux-api-headers/PKGBUILD10
-rw-r--r--core/mpfr/PKGBUILD19
-rw-r--r--core/mpfr/mpfr-3.0.1.p4.patch367
-rw-r--r--extra/dbus-glib/PKGBUILD19
-rw-r--r--extra/dbus-glib/fix_network_manager.patch40
-rw-r--r--extra/dbus-python/PKGBUILD14
-rw-r--r--extra/dbus/PKGBUILD10
-rw-r--r--extra/eclipse/PKGBUILD4
-rw-r--r--extra/ghc/PKGBUILD26
-rw-r--r--extra/graphviz/PKGBUILD11
-rw-r--r--extra/graphviz/install13
-rw-r--r--extra/krusader/PKGBUILD27
-rw-r--r--extra/openal/PKGBUILD26
-rw-r--r--extra/proftpd/PKGBUILD60
-rw-r--r--extra/pyalpm/PKGBUILD4
-rw-r--r--extra/strigi/PKGBUILD7
-rw-r--r--extra/valgrind/PKGBUILD11
-rw-r--r--extra/valgrind/valgrind-3.6.1-glibc-2.14.patch67
-rw-r--r--extra/yelp/PKGBUILD8
-rw-r--r--kde-unstable/kdebase-runtime/PKGBUILD4
-rw-r--r--kde-unstable/kdepim-runtime/PKGBUILD2
-rw-r--r--multilib/binutils-multilib/PKGBUILD18
-rw-r--r--multilib/gcc-multilib/PKGBUILD8
-rw-r--r--multilib/lib32-glibc/PKGBUILD47
-rw-r--r--multilib/lib32-glibc/glibc-2.14-fix-resolver-crash-typo.patch22
-rw-r--r--multilib/lib32-glibc/glibc-2.14-libdl-crash.patch132
-rw-r--r--multilib/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch26
-rw-r--r--multilib/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch28
-rw-r--r--multilib/lib32-glibc/glibc-2.14-revert-4462fad3.patch37
-rw-r--r--testing/graphviz/PKGBUILD11
-rw-r--r--testing/graphviz/install13
-rw-r--r--testing/shadow/LICENSE31
-rw-r--r--testing/shadow/PKGBUILD106
-rw-r--r--testing/shadow/adduser399
-rw-r--r--testing/shadow/chgpasswd4
-rw-r--r--testing/shadow/chpasswd6
-rw-r--r--testing/shadow/defaults.pam6
-rw-r--r--testing/shadow/login20
-rw-r--r--testing/shadow/login.defs197
-rw-r--r--testing/shadow/newusers6
-rw-r--r--testing/shadow/passwd4
-rw-r--r--testing/shadow/shadow-add-missing-include.patch11
-rw-r--r--testing/shadow/shadow-strncpy-usage.patch27
-rwxr-xr-xtesting/shadow/shadow.cron.daily6
-rw-r--r--testing/shadow/shadow.install8
-rw-r--r--testing/shadow/shadow_CVE-2011-0721.patch57
-rw-r--r--testing/shadow/useradd.defaults9
-rw-r--r--testing/shadow/xstrdup.patch9
70 files changed, 2409 insertions, 213 deletions
diff --git a/community-testing/gtk2hs-buildtools/PKGBUILD b/community-testing/gtk2hs-buildtools/PKGBUILD
new file mode 100644
index 000000000..0eebe2691
--- /dev/null
+++ b/community-testing/gtk2hs-buildtools/PKGBUILD
@@ -0,0 +1,26 @@
+# $Id: PKGBUILD 50208 2011-06-26 20:13:31Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+pkgname=gtk2hs-buildtools
+pkgver=0.12.0
+pkgrel=3
+pkgdesc="Tools to build the Gtk2Hs suite of User Interface libraries."
+url="http://hackage.haskell.org/package/gtk2hs-buildtools"
+license=('GPL2')
+arch=('i686' 'x86_64')
+makedepends=('ghc' 'alex' 'happy')
+depends=('gmp')
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/gtk2hs-buildtools/$pkgver/gtk2hs-buildtools-$pkgver.tar.gz)
+md5sums=('cbcdfd6031725d8b70ff7804f8d93648')
+
+build() {
+ cd ${srcdir}/gtk2hs-buildtools-$pkgver
+ runhaskell Setup configure --prefix=/usr --docdir=/usr/share/doc/${pkgname}
+ runhaskell Setup build
+}
+
+package() {
+ cd ${srcdir}/gtk2hs-buildtools-$pkgver
+ runhaskell Setup copy --destdir=${pkgdir}
+}
diff --git a/community-testing/gtk2hs-cairo/PKGBUILD b/community-testing/gtk2hs-cairo/PKGBUILD
new file mode 100644
index 000000000..cb3fc256b
--- /dev/null
+++ b/community-testing/gtk2hs-cairo/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 50211 2011-06-26 20:14:36Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+_hkgname=cairo
+pkgname=gtk2hs-cairo
+pkgver=0.12.0
+pkgrel=4
+pkgdesc="Binding to the cairo library for Gtk2Hs."
+url="http://hackage.haskell.org/package/cairo"
+license=('LGPL2.1')
+arch=('i686' 'x86_64')
+depends=('ghc' 'cairo' 'haskell-mtl=2.0.1.0')
+makedepends=(gtk2hs-buildtools)
+options=('strip')
+install=${pkgname}.install
+source=(http://hackage.haskell.org/packages/archive/cairo/$pkgver/cairo-$pkgver.tar.gz)
+md5sums=('e17c7ce086062282dbb405bfdf68191e')
+
+build() {
+ cd ${srcdir}/${_hkgname}-$pkgver
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc=${_ghcver}" 'cairo' 'haskell-mtl=2.0.1.0')
+
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+}
diff --git a/community-testing/gtk2hs-cairo/gtk2hs-cairo.install b/community-testing/gtk2hs-cairo/gtk2hs-cairo.install
new file mode 100644
index 000000000..4ec5096b6
--- /dev/null
+++ b/community-testing/gtk2hs-cairo/gtk2hs-cairo.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/gtk2hs-cairo
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community-testing/gtk2hs-glib/PKGBUILD b/community-testing/gtk2hs-glib/PKGBUILD
new file mode 100644
index 000000000..e15d65554
--- /dev/null
+++ b/community-testing/gtk2hs-glib/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 50214 2011-06-26 20:15:38Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+_hkgname=glib
+pkgname=gtk2hs-glib
+pkgver=0.12.0
+pkgrel=3
+pkgdesc="Binding to the GLIB library for Gtk2Hs."
+url="http://hackage.haskell.org/package/glib"
+license=('LGPL2.1')
+arch=('i686' 'x86_64')
+depends=('ghc' 'glib2')
+makedepends=('gtk2hs-buildtools=0.12.0')
+options=('strip')
+install=gtk2hs-glib.install
+source=(http://hackage.haskell.org/packages/archive/glib/$pkgver/glib-$pkgver.tar.gz)
+md5sums=('2f334374d14a2f3e221a2ebfce1f8817')
+
+build() {
+ cd ${srcdir}/${_hkgname}-$pkgver
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc=${_ghcver}" "glib2")
+
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+}
diff --git a/community-testing/gtk2hs-glib/gtk2hs-glib.install b/community-testing/gtk2hs-glib/gtk2hs-glib.install
new file mode 100644
index 000000000..24025f5d8
--- /dev/null
+++ b/community-testing/gtk2hs-glib/gtk2hs-glib.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/gtk2hs-glib
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community-testing/gtk2hs-pango/PKGBUILD b/community-testing/gtk2hs-pango/PKGBUILD
new file mode 100644
index 000000000..603918954
--- /dev/null
+++ b/community-testing/gtk2hs-pango/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 50217 2011-06-26 20:24:03Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+
+_hkgname=pango
+pkgname=gtk2hs-pango
+pkgver=0.12.0
+pkgrel=4
+pkgdesc="Binding to the pango library for Gtk2Hs."
+url="http://hackage.haskell.org/package/pango"
+license=('LGPL2.1')
+arch=('i686' 'x86_64')
+depends=('ghc' 'pango' 'gtk2hs-glib' 'gtk2hs-cairo')
+makedepends=('gtk2hs-buildtools=0.12.0')
+options=('strip')
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+install=${pkgname}.install
+md5sums=('0260ed21d6ca2a52ebaa0aa212390cf7')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure -O -p --enable-split-objs --enable-shared \
+ --prefix=/usr --docdir=/usr/share/doc/${pkgname} \
+ --libsubdir=\$compiler/site-local/\$pkgid
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc=${_ghcver}" 'pango' 'gtk2hs-glib' 'gtk2hs-cairo')
+
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+}
diff --git a/community-testing/gtk2hs-pango/gtk2hs-pango.install b/community-testing/gtk2hs-pango/gtk2hs-pango.install
new file mode 100644
index 000000000..f2be2100f
--- /dev/null
+++ b/community-testing/gtk2hs-pango/gtk2hs-pango.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/gtk2hs-pango
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community-testing/haskell-hslogger/PKGBUILD b/community-testing/haskell-hslogger/PKGBUILD
new file mode 100644
index 000000000..b8d0a95a3
--- /dev/null
+++ b/community-testing/haskell-hslogger/PKGBUILD
@@ -0,0 +1,41 @@
+# $Id: PKGBUILD 50221 2011-06-26 21:42:19Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer: Arch Haskell Team <arch-haskell@haskell.org>
+
+_hkgname=hslogger
+pkgname=haskell-hslogger
+pkgver=1.1.0
+pkgrel=5
+pkgdesc="Versatile logging framework"
+url="http://hackage.haskell.org/package/${_hkgname}"
+license=('LGPL')
+arch=('i686' 'x86_64')
+depends=('ghc' 'haskell-mtl=2.0.1.0' 'haskell-network=2.3.0.2')
+options=('strip')
+install=${pkgname}.install
+source=(http://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz)
+md5sums=('8039e079338dae19e1273bbd73332014')
+
+build() {
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ runhaskell Setup configure --prefix=/usr --docdir=/usr/share/doc/${pkgname} -O \
+ --enable-split-objs --enable-shared --libsubdir=\$compiler/site-local/\$pkgid \
+ --enable-library-profiling
+ runhaskell Setup build
+ runhaskell Setup haddock
+ runhaskell Setup register --gen-script
+ runhaskell Setup unregister --gen-script
+ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh
+}
+
+package() {
+ _ghcver=`pacman -Q ghc | cut -f2 -d\ | cut -f1 -d-`
+ depends=("ghc=${_ghcver}" 'haskell-mtl=2.0.1.0' 'haskell-network=2.3.0.2')
+
+ cd ${srcdir}/${_hkgname}-${pkgver}
+ install -D -m744 register.sh ${pkgdir}/usr/share/haskell/${pkgname}/register.sh
+ install -m744 unregister.sh ${pkgdir}/usr/share/haskell/${pkgname}/unregister.sh
+ install -d -m755 ${pkgdir}/usr/share/doc/ghc/html/libraries
+ ln -s /usr/share/doc/${pkgname}/html ${pkgdir}/usr/share/doc/ghc/html/libraries/${_hkgname}
+ runhaskell Setup copy --destdir=${pkgdir}
+}
diff --git a/community-testing/haskell-hslogger/haskell-hslogger.install b/community-testing/haskell-hslogger/haskell-hslogger.install
new file mode 100644
index 000000000..2a0d98ae7
--- /dev/null
+++ b/community-testing/haskell-hslogger/haskell-hslogger.install
@@ -0,0 +1,18 @@
+HS_DIR=usr/share/haskell/haskell-hslogger
+post_install() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_upgrade() {
+ ${HS_DIR}/unregister.sh
+}
+post_upgrade() {
+ ${HS_DIR}/register.sh
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
+pre_remove() {
+ ${HS_DIR}/unregister.sh
+}
+post_remove() {
+ (cd usr/share/doc/ghc/html/libraries; ./gen_contents_index)
+}
diff --git a/community/fb-client/PKGBUILD b/community/fb-client/PKGBUILD
index 015fac2b6..1f4965a70 100644
--- a/community/fb-client/PKGBUILD
+++ b/community/fb-client/PKGBUILD
@@ -1,6 +1,6 @@
# Maintainer: Florian "Bluewind" Pritz <flo@xssn.at>
pkgname=fb-client
-pkgver=0.8
+pkgver=0.8.1
pkgrel=1
pkgdesc="Client for paste.xinu.at"
arch=('i686' 'x86_64')
@@ -9,7 +9,7 @@ license=('GPL3')
depends=('curl')
optdepends=('xclip: for automatically copying the URL into the clipboard')
source=(http://paste.xinu.at/data/client/fb-$pkgver.tar.gz)
-md5sums=('d7d1edb2d6fc22004bad8a10392c2f7d')
+md5sums=('be2ecf1ffd02048d48a54083320e0445')
build() {
cd "$srcdir/fb-$pkgver"
diff --git a/core/binutils/PKGBUILD b/core/binutils/PKGBUILD
index 0d1d6a0bc..bcfd44008 100644
--- a/core/binutils/PKGBUILD
+++ b/core/binutils/PKGBUILD
@@ -1,25 +1,23 @@
-# $Id: PKGBUILD 123424 2011-05-11 10:41:25Z allan $
+# $Id: PKGBUILD 126772 2011-06-07 07:37:01Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
pkgname=binutils
pkgver=2.21
-pkgrel=8
-_date=20110430
+pkgrel=9
+_date=20110605
pkgdesc="A set of programs to assemble and manipulate binary and object files"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/binutils/"
license=('GPL')
groups=('base')
-depends=('glibc>=2.13' 'zlib')
+depends=('glibc>=2.14' 'zlib')
makedepends=('dejagnu')
options=('!libtool' '!distcc' '!ccache')
install=binutils.install
-source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2
- binutils-2.21-strip-segfault.patch)
-md5sums=('7b3e28fb35cb8bb371cc47291e1c6dec'
- '98e8dfaf1c0ededa586823ebfb27825a')
+source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}_${_date}.tar.bz2)
+md5sums=('a2e7784d5d66c1d692a0a1fa248ea66c')
mksource() {
mkdir ${pkgname}-${_date}
@@ -32,10 +30,6 @@ mksource() {
}
build() {
- cd ${srcdir}/binutils
- # http://sourceware.org/bugzilla/show_bug.cgi?id=12632
- patch -Np1 -i $srcdir/binutils-2.21-strip-segfault.patch
-
cd ${srcdir}
mkdir binutils-build && cd binutils-build
diff --git a/core/dbus-core/PKGBUILD b/core/dbus-core/PKGBUILD
index 110e42c14..360802755 100644
--- a/core/dbus-core/PKGBUILD
+++ b/core/dbus-core/PKGBUILD
@@ -1,34 +1,38 @@
-# $Id: PKGBUILD 123268 2011-05-09 14:39:58Z jgc $
+# $Id: PKGBUILD 128605 2011-06-24 14:03:41Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Link Dupont <link@subpop.net>
#
pkgname=dbus-core
-pkgver=1.4.8
+pkgver=1.4.12
pkgrel=1
pkgdesc="Freedesktop.org message bus system"
url="http://www.freedesktop.org/Software/dbus"
arch=(i686 x86_64)
license=('GPL' 'custom')
depends=('expat>=2.0.1' 'coreutils' 'filesystem')
+makedepends=('libx11')
conflicts=('dbus<1.2.3-2')
options=(!libtool)
install=dbus.install
source=(http://dbus.freedesktop.org/releases/dbus/dbus-${pkgver}.tar.gz
dbus)
-md5sums=('e30253e15f0f4e6c5ee9e6f0eba5046c'
+md5sums=('104f2ea94c10a896dfb1edecb5714cb1'
'08f93dd19cffd1b45ab05c1fd4efb560')
build() {
cd "${srcdir}/dbus-${pkgver}"
- sed -i -e 's/#ifdef DBUS_BUILD_X11/#if 1/' dbus/dbus-sysdeps-unix.c
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--libexecdir=/usr/lib/dbus-1.0 --with-dbus-user=81 \
--with-system-pid-file=/var/run/dbus.pid \
--enable-inotify --disable-dnotify \
--disable-verbose-mode --disable-static \
- --disable-tests --disable-asserts --without-x \
+ --disable-tests --disable-asserts \
--with-systemdsystemunitdir=/lib/systemd/system
make
+}
+
+package(){
+ cd "${srcdir}/dbus-${pkgver}"
make DESTDIR="${pkgdir}" install
rm -f "${pkgdir}/usr/bin/dbus-launch"
@@ -48,8 +52,6 @@ build() {
touch "${pkgdir}/etc/dbus-1/session.d/.keep"
touch "${pkgdir}/etc/dbus-1/system.d/.keep"
- rmdir "${pkgdir}/usr/lib/dbus-1.0/dbus-1"
-
install -d -m755 "${pkgdir}/usr/share/licenses/dbus-core"
install -m644 COPYING "${pkgdir}/usr/share/licenses/dbus-core/"
}
diff --git a/core/fakeroot/PKGBUILD b/core/fakeroot/PKGBUILD
index e9d642574..2d869d714 100644
--- a/core/fakeroot/PKGBUILD
+++ b/core/fakeroot/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 118918 2011-04-09 11:49:09Z allan $
+# $Id: PKGBUILD 128934 2011-06-25 14:19:16Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: Jochem Kossen <j.kossen@home.nl>
pkgname=fakeroot
-pkgver=1.15.1
+pkgver=1.16
pkgrel=1
pkgdesc="Gives a fake root environment, useful for building packages as a non-privileged user"
arch=('i686' 'x86_64')
@@ -14,7 +14,7 @@ install=fakeroot.install
depends=('glibc' 'filesystem' 'sed' 'util-linux' 'sh')
options=('!libtool')
source=(http://ftp.debian.org/debian/pool/main/f/${pkgname}/${pkgname}_${pkgver}.orig.tar.bz2)
-md5sums=('248c408b1e06e776c5739871b49bd968')
+md5sums=('e8470aa7e965bfc74467de0e594e60b6')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD
index e7a51396a..cedbfa948 100644
--- a/core/gcc/PKGBUILD
+++ b/core/gcc/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 126413 2011-06-05 07:20:02Z allan $
+# $Id: PKGBUILD 126776 2011-06-07 08:00:51Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
@@ -6,14 +6,14 @@
pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go')
pkgver=4.6.0
-pkgrel=6
+pkgrel=7
_snapshot=4.6-20110603
_libstdcppmanver=20110201 # Note: check source directory name when updating this
pkgdesc="The GNU Compiler Collection"
arch=('i686' 'x86_64')
license=('GPL' 'LGPL' 'FDL' 'custom')
url="http://gcc.gnu.org"
-makedepends=('binutils>=2.21' 'libmpc' 'cloog' 'ppl' 'gcc-ada' 'dejagnu')
+makedepends=('binutils>=2.21-9' 'libmpc' 'cloog' 'ppl' 'gcc-ada' 'dejagnu')
options=('!libtool' '!emptydirs')
source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2
@@ -112,7 +112,7 @@ package_gcc-libs()
package_gcc()
{
pkgdesc="The GNU Compiler Collection - C and C++ frontends"
- depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.21' 'libmpc' 'cloog' 'ppl')
+ depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.21-9' 'libmpc' 'cloog' 'ppl')
groups=('base-devel')
install=gcc.install
diff --git a/core/glibc/PKGBUILD b/core/glibc/PKGBUILD
index 60aeb8ae6..f3a040236 100644
--- a/core/glibc/PKGBUILD
+++ b/core/glibc/PKGBUILD
@@ -1,19 +1,19 @@
-# $Id: PKGBUILD 116984 2011-03-27 06:35:25Z allan $
+# $Id: PKGBUILD 128661 2011-06-25 11:56:19Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
# NOTE: valgrind requires rebuilt with each new glibc version
pkgname=glibc
-pkgver=2.13
-pkgrel=5
-_glibcdate=20110117
+pkgver=2.14
+pkgrel=4
+_glibcdate=20110617
pkgdesc="GNU C Library"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/libc"
license=('GPL' 'LGPL')
groups=('base')
-depends=('linux-api-headers>=2.6.37' 'tzdata')
+depends=('linux-api-headers>=2.6.39' 'tzdata')
makedepends=('gcc>=4.4')
backup=(etc/locale.gen
etc/nscd.conf)
@@ -25,27 +25,35 @@ source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.t
glibc-__i686.patch
glibc-2.12.1-static-shared-getpagesize.patch
glibc-2.12.2-ignore-origin-of-privileged-program.patch
- glibc-2.13-prelink.patch
glibc-2.13-futex.patch
+ glibc-2.14-libdl-crash.patch
+ #glibc-2.14-fix-resolver-crash-typo.patch
+ glibc-2.14-revert-4462fad3.patch
+ glibc-2.14-reexport-rpc-interface.patch
+ glibc-2.14-reinstall-nis-rpc-headers.patch
nscd
locale.gen.txt
locale-gen)
-md5sums=('b7b17d9c6b5b71b5e5322e04ca63c190'
+md5sums=('e441d745609d93c907b72548ba646dad'
'4dadb9203b69a3210d53514bb46f41c3'
'0c5540efc51c0b93996c51b57a8540ae'
'40cd342e21f71f5e49e32622b25acc52'
'a3ac6f318d680347bb6e2805d42b73b2'
'b042647ea7d6f22ad319e12e796bd13e'
- '24dfab6fd244f3773523412588ecc52c'
'7d0154b7e17ea218c9fa953599d24cc4'
+ 'cea62cc6b903d222c5f26e05a3c0e0e6'
+ '46e56492cccb1c9172ed3a235cf43c6c'
+ 'c5de2a946215d647c8af5432ec4b0da0'
+ '55febbb72139ac7b65757df085024b83'
'b587ee3a70c9b3713099295609afde49'
'07ac979b6ab5eeb778d55f041529d623'
'476e9113489f93b348b21e144b6a8fcf')
+
mksource() {
git clone git://sourceware.org/git/glibc.git
pushd glibc
- git checkout -b glibc-2.13-arch origin/release/2.13/master
+ git checkout -b glibc-2.14-arch origin/release/2.14/master
popd
tar -cvJf glibc-${pkgver}_${_glibcdate}.tar.xz glibc/*
}
@@ -71,13 +79,25 @@ build() {
# http://sourceware.org/git/?p=glibc.git;a=patch;h=d14e6b09 (only fedora branch...)
patch -Np1 -i ${srcdir}/glibc-2.12.2-ignore-origin-of-privileged-program.patch
- # http://sourceware.org/bugzilla/show_bug.cgi?id=12489
- # http://sourceware.org/git/?p=glibc.git;a=commit;h=25b3aada (only fedora branch...)
- patch -Np1 -i ${srcdir}/glibc-2.13-prelink.patch
-
# http://sourceware.org/bugzilla/show_bug.cgi?id=12403
patch -Np1 -i ${srcdir}/glibc-2.13-futex.patch
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (only fedora branch...)
+ # http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html
+ patch -Np1 -i ${srcdir}/glibc-2.14-libdl-crash.patch
+
+ # This fixes the main segfault but not the assert fail (FS#24615)
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=57912a71
+ #patch -Np1 -i ${srcdir}/glibc-2.14-fix-resolver-crash-typo.patch
+ # resort to reverting the bad commit completely for the moment
+ patch -Np1 -i ${srcdir}/glibc-2.14-revert-4462fad3.patch
+
+ # re-export RPC interface until libtirpc is ready as a replacement
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (only fedora branch...)
+ patch -Np1 -i ${srcdir}/glibc-2.14-reexport-rpc-interface.patch
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (only fedora branch...)
+ patch -Np1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch
+
install -dm755 ${pkgdir}/etc
touch ${pkgdir}/etc/ld.so.conf
@@ -116,7 +136,7 @@ package() {
cd ${srcdir}/glibc-build
make install_root=${pkgdir} install
- rm ${pkgdir}/etc/ld.so.{cache,conf}
+ rm -f ${pkgdir}/etc/ld.so.{cache,conf}
install -dm755 ${pkgdir}/etc/rc.d
install -dm755 ${pkgdir}/usr/sbin
@@ -154,7 +174,7 @@ package() {
usr/bin/{gencat,getconf,getent,iconv,locale} \
usr/bin/{localedef,pcprofiledump,rpcgen,sprof} \
usr/lib/getconf/* \
- usr/sbin/{iconvconfig,nscd,rpcinfo}
+ usr/sbin/{iconvconfig,nscd}
[[ $CARCH = "i686" ]] && strip $STRIP_BINARIES usr/bin/lddlibc4
strip $STRIP_STATIC usr/lib/*.a \
@@ -164,5 +184,5 @@ package() {
lib/libnss_{compat,dns,files,hesiod,nis,nisplus}-${pkgver}.so \
lib/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \
lib/{libmemusage,libpcprofile,libSegFault}.so \
- usr/lib/{pt_chown,gconv/*.so}
+ usr/lib/{pt_chown,{audit,gconv}/*.so}
}
diff --git a/core/glibc/glibc-2.14-fix-resolver-crash-typo.patch b/core/glibc/glibc-2.14-fix-resolver-crash-typo.patch
new file mode 100644
index 000000000..b5d86c7d2
--- /dev/null
+++ b/core/glibc/glibc-2.14-fix-resolver-crash-typo.patch
@@ -0,0 +1,22 @@
+diff --git a/resolv/res_send.c b/resolv/res_send.c
+index 97142b7..a001c1e 100644
+--- a/resolv/res_send.c
++++ b/resolv/res_send.c
+@@ -549,7 +549,7 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
+ ns, ansp, ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || resplen2 == 0))
++ if (n == 0 && (buf2 == NULL || *resplen2 == 0))
+ goto next_ns;
+ } else {
+ /* Use datagrams. */
+@@ -559,7 +559,7 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
+ ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || resplen2 == 0))
++ if (n == 0 && (buf2 == NULL || *resplen2 == 0))
+ goto next_ns;
+ if (v_circuit)
+ // XXX Check whether both requests failed or
diff --git a/core/glibc/glibc-2.14-libdl-crash.patch b/core/glibc/glibc-2.14-libdl-crash.patch
new file mode 100644
index 000000000..ee29f8c20
--- /dev/null
+++ b/core/glibc/glibc-2.14-libdl-crash.patch
@@ -0,0 +1,132 @@
+diff --git a/elf/dl-close.c b/elf/dl-close.c
+index 73b2a2f..9bd91e3 100644
+--- a/elf/dl-close.c
++++ b/elf/dl-close.c
+@@ -1,5 +1,5 @@
+ /* Close a shared object opened by `_dl_open'.
+- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
++ Copyright (C) 1996-2007, 2009, 2010 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map)
+ if (map->l_direct_opencount > 0 || map->l_type != lt_loaded
+ || dl_close_state != not_pending)
+ {
+- if (map->l_direct_opencount == 0)
+- {
+- if (map->l_type == lt_loaded)
+- dl_close_state = rerun;
+- else if (map->l_type == lt_library)
+- {
+- struct link_map **oldp = map->l_initfini;
+- map->l_initfini = map->l_orig_initfini;
+- _dl_scope_free (oldp);
+- }
+- }
++ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded)
++ dl_close_state = rerun;
+
+ /* There are still references to this object. Do nothing more. */
+ if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
+diff --git a/elf/dl-deps.c b/elf/dl-deps.c
+index 9e30594..3890d00 100644
+--- a/elf/dl-deps.c
++++ b/elf/dl-deps.c
+@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map,
+ nneeded * sizeof needed[0]);
+ atomic_write_barrier ();
+ l->l_initfini = l_initfini;
++ l->l_free_initfini = 1;
+ }
+
+ /* If we have no auxiliary objects just go on to the next map. */
+@@ -681,6 +682,7 @@ Filters not supported with LD_TRACE_PRELINKING"));
+ l_initfini[nlist] = NULL;
+ atomic_write_barrier ();
+ map->l_initfini = l_initfini;
++ map->l_free_initfini = 1;
+ if (l_reldeps != NULL)
+ {
+ atomic_write_barrier ();
+@@ -689,5 +691,5 @@ Filters not supported with LD_TRACE_PRELINKING"));
+ _dl_scope_free (old_l_reldeps);
+ }
+ if (old_l_initfini != NULL)
+- map->l_orig_initfini = old_l_initfini;
++ _dl_scope_free (old_l_initfini);
+ }
+diff --git a/elf/dl-libc.c b/elf/dl-libc.c
+index 7be9483..a13fce3 100644
+--- a/elf/dl-libc.c
++++ b/elf/dl-libc.c
+@@ -265,13 +265,13 @@ libc_freeres_fn (free_mem)
+
+ for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns)
+ {
+- /* Remove all additional names added to the objects. */
+ for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next)
+ {
+ struct libname_list *lnp = l->l_libname->next;
+
+ l->l_libname->next = NULL;
+
++ /* Remove all additional names added to the objects. */
+ while (lnp != NULL)
+ {
+ struct libname_list *old = lnp;
+@@ -279,6 +279,10 @@ libc_freeres_fn (free_mem)
+ if (! old->dont_free)
+ free (old);
+ }
++
++ /* Free the initfini dependency list. */
++ if (l->l_free_initfini)
++ free (l->l_initfini);
+ }
+
+ if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0
+diff --git a/elf/rtld.c b/elf/rtld.c
+index 4a9109e..617e30e 100644
+--- a/elf/rtld.c
++++ b/elf/rtld.c
+@@ -2251,6 +2251,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
+ lnp->dont_free = 1;
+ lnp = lnp->next;
+ }
++ l->l_free_initfini = 0;
+
+ if (l != &GL(dl_rtld_map))
+ _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
+diff --git a/include/link.h b/include/link.h
+index e877104..051b99a 100644
+--- a/include/link.h
++++ b/include/link.h
+@@ -1,6 +1,6 @@
+ /* Data structure for communication from the run-time dynamic linker for
+ loaded ELF shared objects.
+- Copyright (C) 1995-2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
++ Copyright (C) 1995-2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -192,6 +192,9 @@ struct link_map
+ during LD_TRACE_PRELINKING=1
+ contains any DT_SYMBOLIC
+ libraries. */
++ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
++ freed, ie. not allocated with
++ the dummy malloc in ld.so. */
+
+ /* Collected information about own RPATH directories. */
+ struct r_search_path_struct l_rpath_dirs;
+@@ -240,9 +243,6 @@ struct link_map
+
+ /* List of object in order of the init and fini calls. */
+ struct link_map **l_initfini;
+- /* The init and fini list generated at startup, saved when the
+- object is also loaded dynamically. */
+- struct link_map **l_orig_initfini;
+
+ /* List of the dependencies introduced through symbol binding. */
+ struct link_map_reldeps
diff --git a/core/glibc/glibc-2.14-reexport-rpc-interface.patch b/core/glibc/glibc-2.14-reexport-rpc-interface.patch
new file mode 100644
index 000000000..e2beea881
--- /dev/null
+++ b/core/glibc/glibc-2.14-reexport-rpc-interface.patch
@@ -0,0 +1,26 @@
+diff --git a/include/libc-symbols.h b/include/libc-symbols.h
+index 67e1ca2..5e7cca5 100644
+--- a/include/libc-symbols.h
++++ b/include/libc-symbols.h
+@@ -635,7 +635,7 @@ for linking")
+ # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
+ # define libc_hidden_def(name) hidden_def (name)
+ # define libc_hidden_weak(name) hidden_weak (name)
+-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version)
++# define libc_hidden_nolink(name, version) hidden_def (name)
+ # define libc_hidden_ver(local, name) hidden_ver (local, name)
+ # define libc_hidden_data_def(name) hidden_data_def (name)
+ # define libc_hidden_data_weak(name) hidden_data_weak (name)
+diff --git a/sunrpc/Makefile b/sunrpc/Makefile
+index 5134ce9..40c73d1 100644
+--- a/sunrpc/Makefile
++++ b/sunrpc/Makefile
+@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
+ des_crypt.h)
+ headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \
+ $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
+-headers = rpc/netdb.h
++headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc)
+ install-others = $(inst_sysconfdir)/rpc
+ generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
+ $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen
diff --git a/core/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/core/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
new file mode 100644
index 000000000..eb0fd822d
--- /dev/null
+++ b/core/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
@@ -0,0 +1,28 @@
+From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@redhat.com>
+Date: Tue, 17 May 2011 17:42:30 +0200
+Subject: [PATCH] Reinstall NIS RPC headers
+
+---
+ nis/Makefile | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/nis/Makefile b/nis/Makefile
+index b5c9609..d2934d9 100644
+--- a/nis/Makefile
++++ b/nis/Makefile
+@@ -23,9 +23,9 @@ subdir := nis
+
+ aux := nis_hash
+
++headers := $(wildcard rpcsvc/*.[hx])
+ distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \
+- nisplus-parser.h nis_xdr.h nss \
+- $(wildcard rpcsvc/*.[hx])
++ nisplus-parser.h nis_xdr.h nss
+
+ # These are the databases available for the nis (and perhaps later nisplus)
+ # service. This must be a superset of the services in nss.
+--
+1.7.5.4
+
diff --git a/core/glibc/glibc-2.14-revert-4462fad3.patch b/core/glibc/glibc-2.14-revert-4462fad3.patch
new file mode 100644
index 000000000..d71e37492
--- /dev/null
+++ b/core/glibc/glibc-2.14-revert-4462fad3.patch
@@ -0,0 +1,37 @@
+diff -Naur glibc-orig//resolv/res_send.c glibc/resolv/res_send.c
+--- glibc-orig//resolv/res_send.c 2011-06-10 18:59:03.041436996 +1000
++++ glibc/resolv/res_send.c 2011-06-10 19:08:09.379309323 +1000
+@@ -549,7 +549,7 @@
+ ns, ansp, ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || resplen2 == 0))
++ if (n == 0)
+ goto next_ns;
+ } else {
+ /* Use datagrams. */
+@@ -559,7 +559,7 @@
+ ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || resplen2 == 0))
++ if (n == 0)
+ goto next_ns;
+ if (v_circuit)
+ // XXX Check whether both requests failed or
+@@ -1275,14 +1275,10 @@
+ (*thisresplenp > *thisanssizp)
+ ? *thisanssizp : *thisresplenp);
+
+- if (recvresp1 || (buf2 != NULL && recvresp2)) {
+- *resplen2 = 0;
++ if (recvresp1 || (buf2 != NULL && recvresp2))
+ return resplen;
+- }
+ if (buf2 != NULL)
+ {
+- /* No data from the first reply. */
+- resplen = 0;
+ /* We are waiting for a possible second reply. */
+ if (hp->id == anhp->id)
+ recvresp1 = 1;
diff --git a/core/grep/PKGBUILD b/core/grep/PKGBUILD
index d2b07cf23..958f5b0e5 100644
--- a/core/grep/PKGBUILD
+++ b/core/grep/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 124062 2011-05-16 11:49:29Z allan $
+# $Id: PKGBUILD 128670 2011-06-25 12:20:55Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=grep
-pkgver=2.8
+pkgver=2.9
pkgrel=1
pkgdesc="A string search utility"
arch=('i686' 'x86_64')
@@ -14,7 +14,7 @@ depends=('glibc' 'pcre' 'sh')
makedepends=('texinfo')
install=${pkgname}.install
source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz)
-md5sums=('b59003c42b330bdabd417e00d07102da')
+md5sums=('25e41b2aa201104354740961ef36005a')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
diff --git a/core/less/PKGBUILD b/core/less/PKGBUILD
index c26ddfb00..36b928066 100644
--- a/core/less/PKGBUILD
+++ b/core/less/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 125524 2011-05-26 14:15:10Z stephane $
+# $Id: PKGBUILD 128667 2011-06-25 12:14:07Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=less
-pkgver=443
-pkgrel=2
+pkgver=444
+pkgrel=1
pkgdesc="A terminal based program for viewing text files"
license=('GPL3')
arch=('i686' 'x86_64')
@@ -12,7 +12,7 @@ url="http://www.greenwoodsoftware.com/less"
groups=('base')
depends=('ncurses' 'pcre')
source=(http://www.greenwoodsoftware.com/$pkgname/$pkgname-$pkgver.tar.gz)
-md5sums=('47db098fb3cdaf847b3c4be05ee954fc')
+md5sums=('56f9f76ffe13f70155f47f6b3c87d421')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/core/linux-api-headers/PKGBUILD b/core/linux-api-headers/PKGBUILD
index 9dc5fb1f7..0a3f8da6e 100644
--- a/core/linux-api-headers/PKGBUILD
+++ b/core/linux-api-headers/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 116973 2011-03-27 06:05:36Z allan $
+# $Id: PKGBUILD 126765 2011-06-07 07:31:07Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
pkgname=linux-api-headers
-pkgver=2.6.38.1
-_basever=2.6.38
+pkgver=2.6.39.1
+_basever=2.6.39
pkgrel=1
pkgdesc="Kernel headers sanitized for use in userspace"
arch=('i686' 'x86_64')
@@ -16,8 +16,8 @@ conflicts=('kernel-headers')
replaces=('kernel-headers')
source=(http://www.kernel.org/pub/linux/kernel/v2.6/linux-${_basever}.tar.bz2
http://www.kernel.org/pub/linux/kernel/v2.6/patch-${pkgver}.bz2)
-md5sums=('7d471477bfa67546f902da62227fa976'
- 'bd2be4d0465345e4e9355d6773f5f6fe')
+md5sums=('1aab7a741abe08d42e8eccf20de61e05'
+ '215f7ebaafe1175dbc5d1e439c9a96d5')
build() {
cd ${srcdir}/linux-${_basever}
diff --git a/core/mpfr/PKGBUILD b/core/mpfr/PKGBUILD
index 7e1f4c1a3..3f593116a 100644
--- a/core/mpfr/PKGBUILD
+++ b/core/mpfr/PKGBUILD
@@ -1,10 +1,12 @@
-# $Id: PKGBUILD 118927 2011-04-09 13:01:31Z allan $
+# $Id: PKGBUILD 128942 2011-06-25 14:51:58Z allan $
# Maintainer: Allan McRae <allan@archlinux.org>
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: damir <damir@archlinux.org>
pkgname=mpfr
-pkgver=3.0.1
+_pkgver=3.0.1
+_patchlevel=p4
+pkgver=${_pkgver}.${_patchlevel}
pkgrel=1
pkgdesc="Multiple-precision floating-point library"
arch=('i686' 'x86_64')
@@ -13,21 +15,24 @@ license=('LGPL')
depends=('gmp>=5.0')
options=('!libtool')
install=mpfr.install
-source=(http://www.mpfr.org/mpfr-current/mpfr-${pkgver}.tar.xz)
-md5sums=('645882d9d179113a70af84d27086ed9f')
+source=(http://www.mpfr.org/mpfr-current/mpfr-${_pkgver}.tar.xz
+ mpfr-${_pkgver}.${_patchlevel}.patch)
+md5sums=('645882d9d179113a70af84d27086ed9f'
+ '52c2ac5ffbbbf0c68f08e89f016ba7aa')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}-${_pkgver}"
+ patch -Np1 -i $srcdir/mpfr-${_pkgver}.${_patchlevel}.patch
./configure --prefix=/usr --enable-thread-safe --enable-shared
make
}
check() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}-${_pkgver}"
make check
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}-${_pkgver}"
make DESTDIR="${pkgdir}" install
}
diff --git a/core/mpfr/mpfr-3.0.1.p4.patch b/core/mpfr/mpfr-3.0.1.p4.patch
new file mode 100644
index 000000000..9604635a2
--- /dev/null
+++ b/core/mpfr/mpfr-3.0.1.p4.patch
@@ -0,0 +1,367 @@
+diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
+--- mpfr-3.0.1-a/PATCHES 2011-04-12 10:50:02.000000000 +0000
++++ mpfr-3.0.1-b/PATCHES 2011-04-12 10:50:02.000000000 +0000
+@@ -0,0 +1 @@
++asin_exprange
+diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
+--- mpfr-3.0.1-a/VERSION 2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/VERSION 2011-04-12 10:50:02.000000000 +0000
+@@ -1 +1 @@
+-3.0.1
++3.0.1-p1
+diff -Naurd mpfr-3.0.1-a/asin.c mpfr-3.0.1-b/asin.c
+--- mpfr-3.0.1-a/asin.c 2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/asin.c 2011-04-12 10:50:02.000000000 +0000
+@@ -63,11 +63,14 @@
+
+ compared = mpfr_cmp_ui (xp, 1);
+
++ MPFR_SAVE_EXPO_MARK (expo);
++
+ if (MPFR_UNLIKELY (compared >= 0))
+ {
+ mpfr_clear (xp);
+ if (compared > 0) /* asin(x) = NaN for |x| > 1 */
+ {
++ MPFR_SAVE_EXPO_FREE (expo);
+ MPFR_SET_NAN (asin);
+ MPFR_RET_NAN;
+ }
+@@ -80,13 +83,11 @@
+ inexact = -mpfr_const_pi (asin, MPFR_INVERT_RND(rnd_mode));
+ MPFR_CHANGE_SIGN (asin);
+ }
+- mpfr_div_2ui (asin, asin, 1, rnd_mode); /* May underflow */
+- return inexact;
++ mpfr_div_2ui (asin, asin, 1, rnd_mode);
+ }
+ }
+-
+- MPFR_SAVE_EXPO_MARK (expo);
+-
++ else
++ {
+ /* Compute exponent of 1 - ABS(x) */
+ mpfr_ui_sub (xp, 1, xp, MPFR_RNDD);
+ MPFR_ASSERTD (MPFR_GET_EXP (xp) <= 0);
+@@ -115,6 +116,7 @@
+ inexact = mpfr_set (asin, xp, rnd_mode);
+
+ mpfr_clear (xp);
++ }
+
+ MPFR_SAVE_EXPO_FREE (expo);
+ return mpfr_check_range (asin, inexact, rnd_mode);
+diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
+--- mpfr-3.0.1-a/mpfr.h 2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/mpfr.h 2011-04-12 10:50:02.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.0.1"
++#define MPFR_VERSION_STRING "3.0.1-p1"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.1-a/tests/tasin.c mpfr-3.0.1-b/tests/tasin.c
+--- mpfr-3.0.1-a/tests/tasin.c 2011-04-04 10:19:17.000000000 +0000
++++ mpfr-3.0.1-b/tests/tasin.c 2011-04-12 10:50:02.000000000 +0000
+@@ -219,6 +219,49 @@
+ mpfr_clear (y);
+ }
+
++static void
++reduced_expo_range (void)
++{
++ mpfr_exp_t emin, emax;
++ mpfr_t x, y, ex_y;
++ int inex, ex_inex;
++ unsigned int flags, ex_flags;
++
++ emin = mpfr_get_emin ();
++ emax = mpfr_get_emax ();
++
++ mpfr_inits2 (4, x, y, ex_y, (mpfr_ptr) 0);
++ mpfr_set_str (x, "-0.1e1", 2, MPFR_RNDN);
++
++ mpfr_set_emin (1);
++ mpfr_set_emax (1);
++ mpfr_clear_flags ();
++ inex = mpfr_asin (y, x, MPFR_RNDA);
++ flags = __gmpfr_flags;
++ mpfr_set_emin (emin);
++ mpfr_set_emax (emax);
++
++ mpfr_set_str (ex_y, "-0.1101e1", 2, MPFR_RNDN);
++ ex_inex = -1;
++ ex_flags = MPFR_FLAGS_INEXACT;
++
++ if (SIGN (inex) != ex_inex || flags != ex_flags ||
++ ! mpfr_equal_p (y, ex_y))
++ {
++ printf ("Error in reduced_expo_range\non x = ");
++ mpfr_dump (x);
++ printf ("Expected y = ");
++ mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN);
++ printf ("\n inex = %d, flags = %u\n", ex_inex, ex_flags);
++ printf ("Got y = ");
++ mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN);
++ printf ("\n inex = %d, flags = %u\n", SIGN (inex), flags);
++ exit (1);
++ }
++
++ mpfr_clears (x, y, ex_y, (mpfr_ptr) 0);
++}
++
+ int
+ main (void)
+ {
+@@ -226,6 +269,7 @@
+
+ special ();
+ special_overflow ();
++ reduced_expo_range ();
+
+ test_generic (2, 100, 15);
+
+diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
+--- mpfr-3.0.1-a/version.c 2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/version.c 2011-04-12 10:50:02.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.0.1";
++ return "3.0.1-p1";
+ }
+diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
+--- mpfr-3.0.1-a/PATCHES 2011-05-04 11:18:33.000000000 +0000
++++ mpfr-3.0.1-b/PATCHES 2011-05-04 11:18:33.000000000 +0000
+@@ -0,0 +1 @@
++rec_sqrt-carry
+diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
+--- mpfr-3.0.1-a/VERSION 2011-04-12 10:50:02.000000000 +0000
++++ mpfr-3.0.1-b/VERSION 2011-05-04 11:18:33.000000000 +0000
+@@ -1 +1 @@
+-3.0.1-p1
++3.0.1-p2
+diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
+--- mpfr-3.0.1-a/mpfr.h 2011-04-12 10:50:02.000000000 +0000
++++ mpfr-3.0.1-b/mpfr.h 2011-05-04 11:18:33.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.0.1-p1"
++#define MPFR_VERSION_STRING "3.0.1-p2"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.1-a/rec_sqrt.c mpfr-3.0.1-b/rec_sqrt.c
+--- mpfr-3.0.1-a/rec_sqrt.c 2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/rec_sqrt.c 2011-05-04 11:18:33.000000000 +0000
+@@ -375,20 +375,37 @@
+ MPFR_ASSERTD(un == ln + 1 || un == ln + 2);
+ /* the high un-ln limbs of u will overlap the low part of {x+ln,xn},
+ we need to add or subtract the overlapping part {u + ln, un - ln} */
++ /* Warning! th may be 0, in which case the mpn_add_1 and mpn_sub_1
++ below (with size = th) mustn't be used. In such a case, the limb
++ (carry) will be 0, so that this is semantically a no-op, but if
++ mpn_add_1 and mpn_sub_1 are used, GMP (currently) still does a
++ non-atomic read/write in a place that is not always allocated,
++ with the possible consequences: a crash if the corresponding
++ address is not mapped, or (rather unlikely) memory corruption
++ if another process/thread writes at the same place; things may
++ be worse with future GMP versions. Hence the tests carry != 0. */
+ if (neg == 0)
+ {
+ if (ln > 0)
+ MPN_COPY (x, u, ln);
+ cy = mpn_add (x + ln, x + ln, xn, u + ln, un - ln);
+ /* add cu at x+un */
+- cy += mpn_add_1 (x + un, x + un, th, cu);
++ if (cu != 0)
++ {
++ MPFR_ASSERTD (th != 0);
++ cy += mpn_add_1 (x + un, x + un, th, cu);
++ }
+ }
+ else /* negative case */
+ {
+ /* subtract {u+ln, un-ln} from {x+ln,un} */
+ cy = mpn_sub (x + ln, x + ln, xn, u + ln, un - ln);
+ /* carry cy is at x+un, like cu */
+- cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */
++ if (cy + cu != 0)
++ {
++ MPFR_ASSERTD (th != 0);
++ cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */
++ }
+ /* cy cannot be zero, since the most significant bit of Xh is 1,
+ and the correction is bounded by 2^{-h+3} */
+ MPFR_ASSERTD(cy == 0);
+diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
+--- mpfr-3.0.1-a/version.c 2011-04-12 10:50:02.000000000 +0000
++++ mpfr-3.0.1-b/version.c 2011-05-04 11:18:33.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.0.1-p1";
++ return "3.0.1-p2";
+ }
+diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
+--- mpfr-3.0.1-a/PATCHES 2011-05-05 00:00:35.000000000 +0000
++++ mpfr-3.0.1-b/PATCHES 2011-05-05 00:00:35.000000000 +0000
+@@ -0,0 +1 @@
++atan-expo-range
+diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
+--- mpfr-3.0.1-a/VERSION 2011-05-04 11:18:33.000000000 +0000
++++ mpfr-3.0.1-b/VERSION 2011-05-05 00:00:35.000000000 +0000
+@@ -1 +1 @@
+-3.0.1-p2
++3.0.1-p3
+diff -Naurd mpfr-3.0.1-a/atan.c mpfr-3.0.1-b/atan.c
+--- mpfr-3.0.1-a/atan.c 2011-04-04 10:19:18.000000000 +0000
++++ mpfr-3.0.1-b/atan.c 2011-05-05 00:00:35.000000000 +0000
+@@ -431,5 +431,5 @@
+ MPFR_GROUP_CLEAR (group);
+
+ MPFR_SAVE_EXPO_FREE (expo);
+- return mpfr_check_range (arctgt, inexact, rnd_mode);
++ return mpfr_check_range (atan, inexact, rnd_mode);
+ }
+diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
+--- mpfr-3.0.1-a/mpfr.h 2011-05-04 11:18:33.000000000 +0000
++++ mpfr-3.0.1-b/mpfr.h 2011-05-05 00:00:35.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.0.1-p2"
++#define MPFR_VERSION_STRING "3.0.1-p3"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.1-a/tests/tatan.c mpfr-3.0.1-b/tests/tatan.c
+--- mpfr-3.0.1-a/tests/tatan.c 2011-04-04 10:19:17.000000000 +0000
++++ mpfr-3.0.1-b/tests/tatan.c 2011-05-05 00:00:35.000000000 +0000
+@@ -535,6 +535,52 @@
+ mpfr_clears (a, x, y, (mpfr_ptr) 0);
+ }
+
++/* http://websympa.loria.fr/wwsympa/arc/mpfr/2011-05/msg00008.html
++ * Incorrect flags (in debug mode on a 32-bit machine, assertion failure).
++ */
++static void
++reduced_expo_range (void)
++{
++ mpfr_exp_t emin, emax;
++ mpfr_t x, y, ex_y;
++ int inex, ex_inex;
++ unsigned int flags, ex_flags;
++
++ emin = mpfr_get_emin ();
++ emax = mpfr_get_emax ();
++
++ mpfr_inits2 (12, x, y, ex_y, (mpfr_ptr) 0);
++ mpfr_set_str (x, "0.1e-5", 2, MPFR_RNDN);
++
++ mpfr_set_emin (-5);
++ mpfr_set_emax (-5);
++ mpfr_clear_flags ();
++ inex = mpfr_atan (y, x, MPFR_RNDN);
++ flags = __gmpfr_flags;
++ mpfr_set_emin (emin);
++ mpfr_set_emax (emax);
++
++ mpfr_set_str (ex_y, "0.1e-5", 2, MPFR_RNDN);
++ ex_inex = 1;
++ ex_flags = MPFR_FLAGS_INEXACT;
++
++ if (SIGN (inex) != ex_inex || flags != ex_flags ||
++ ! mpfr_equal_p (y, ex_y))
++ {
++ printf ("Error in reduced_expo_range\non x = ");
++ mpfr_dump (x);
++ printf ("Expected y = ");
++ mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN);
++ printf ("\n inex = %d, flags = %u\n", ex_inex, ex_flags);
++ printf ("Got y = ");
++ mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN);
++ printf ("\n inex = %d, flags = %u\n", SIGN (inex), flags);
++ exit (1);
++ }
++
++ mpfr_clears (x, y, ex_y, (mpfr_ptr) 0);
++}
++
+ int
+ main (int argc, char *argv[])
+ {
+@@ -546,6 +592,7 @@
+ smallvals_atan2 ();
+ atan2_bug_20071003 ();
+ atan2_different_prec ();
++ reduced_expo_range ();
+
+ test_generic_atan (2, 200, 17);
+ test_generic_atan2 (2, 200, 17);
+diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
+--- mpfr-3.0.1-a/version.c 2011-05-04 11:18:33.000000000 +0000
++++ mpfr-3.0.1-b/version.c 2011-05-05 00:00:35.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.0.1-p2";
++ return "3.0.1-p3";
+ }
+diff -Naurd mpfr-3.0.1-a/PATCHES mpfr-3.0.1-b/PATCHES
+--- mpfr-3.0.1-a/PATCHES 2011-05-09 14:48:24.000000000 +0000
++++ mpfr-3.0.1-b/PATCHES 2011-05-09 14:48:24.000000000 +0000
+@@ -0,0 +1 @@
++texp-zero
+diff -Naurd mpfr-3.0.1-a/VERSION mpfr-3.0.1-b/VERSION
+--- mpfr-3.0.1-a/VERSION 2011-05-05 00:00:35.000000000 +0000
++++ mpfr-3.0.1-b/VERSION 2011-05-09 14:48:24.000000000 +0000
+@@ -1 +1 @@
+-3.0.1-p3
++3.0.1-p4
+diff -Naurd mpfr-3.0.1-a/mpfr.h mpfr-3.0.1-b/mpfr.h
+--- mpfr-3.0.1-a/mpfr.h 2011-05-05 00:00:35.000000000 +0000
++++ mpfr-3.0.1-b/mpfr.h 2011-05-09 14:48:24.000000000 +0000
+@@ -27,7 +27,7 @@
+ #define MPFR_VERSION_MAJOR 3
+ #define MPFR_VERSION_MINOR 0
+ #define MPFR_VERSION_PATCHLEVEL 1
+-#define MPFR_VERSION_STRING "3.0.1-p3"
++#define MPFR_VERSION_STRING "3.0.1-p4"
+
+ /* Macros dealing with MPFR VERSION */
+ #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
+diff -Naurd mpfr-3.0.1-a/tests/texp.c mpfr-3.0.1-b/tests/texp.c
+--- mpfr-3.0.1-a/tests/texp.c 2011-04-04 10:19:17.000000000 +0000
++++ mpfr-3.0.1-b/tests/texp.c 2011-05-09 14:48:24.000000000 +0000
+@@ -170,7 +170,9 @@
+ mpfr_set_prec (x, prec);
+ mpfr_set_prec (y, prec);
+ mpfr_set_prec (z, prec);
+- mpfr_urandomb (x, RANDS);
++ do
++ mpfr_urandomb (x, RANDS);
++ while (MPFR_IS_ZERO (x)); /* 0 is handled by mpfr_exp only */
+ rnd = RND_RAND ();
+ mpfr_exp_2 (y, x, rnd);
+ mpfr_exp_3 (z, x, rnd);
+diff -Naurd mpfr-3.0.1-a/version.c mpfr-3.0.1-b/version.c
+--- mpfr-3.0.1-a/version.c 2011-05-05 00:00:35.000000000 +0000
++++ mpfr-3.0.1-b/version.c 2011-05-09 14:48:24.000000000 +0000
+@@ -25,5 +25,5 @@
+ const char *
+ mpfr_get_version (void)
+ {
+- return "3.0.1-p3";
++ return "3.0.1-p4";
+ }
diff --git a/extra/dbus-glib/PKGBUILD b/extra/dbus-glib/PKGBUILD
index bfecd8af8..79c6a270e 100644
--- a/extra/dbus-glib/PKGBUILD
+++ b/extra/dbus-glib/PKGBUILD
@@ -1,23 +1,30 @@
-# $Id: PKGBUILD 98493 2010-11-10 13:05:31Z ibiru $
+# $Id: PKGBUILD 129344 2011-06-26 21:48:20Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=dbus-glib
-pkgver=0.92
-pkgrel=1
+pkgver=0.94
+pkgrel=2
pkgdesc="GLib bindings for DBUS"
arch=(i686 x86_64)
license=('GPL')
url="http://www.freedesktop.org/wiki/Software/DBusBindings"
-depends=('dbus-core>=1.4.0' 'glib2>=2.26.0')
+depends=('dbus-core' 'glib2')
makedepends=('pkgconfig')
options=('!libtool' '!emptydirs')
-source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('b595b36890c4f9f8f5d5dec131c495f8')
+source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz
+ fix_network_manager.patch)
+md5sums=('e1f1506a6f4941e67bffd614b1ad5af6'
+ '2a3598342dd25722d452e7beaf21b5f3')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/fix_network_manager.patch"
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--enable-static=no --enable-bash-completion=no
make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
diff --git a/extra/dbus-glib/fix_network_manager.patch b/extra/dbus-glib/fix_network_manager.patch
new file mode 100644
index 000000000..246b85550
--- /dev/null
+++ b/extra/dbus-glib/fix_network_manager.patch
@@ -0,0 +1,40 @@
+From 3e0828f57c3925ea9b63d22ab82d991a0fea0536 Mon Sep 17 00:00:00 2001
+From: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: Thu, 02 Jun 2011 12:49:51 +0000
+Subject: Fix regression in marshalling objects as object paths
+
+This regressed while fixing fd.o #36811. NetworkManager apparently uses
+this idiom.
+
+Bug: https://bugs.freedesktop.org/show_bug.cgi?id=37852
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628890
+Tested-by: Michael Biebl <biebl@debian.org>
+Reviewed-by: Colin Walters <walters@verbum.org>
+---
+diff --git a/dbus/dbus-gobject.c b/dbus/dbus-gobject.c
+index 3b0bd17..7ee0b4f 100644
+--- a/dbus/dbus-gobject.c
++++ b/dbus/dbus-gobject.c
+@@ -3049,16 +3049,16 @@ out:
+ const char *
+ _dbus_gobject_get_path (GObject *obj)
+ {
+- GSList *registrations;
++ ObjectExport *oe;
+ ObjectRegistration *o;
+
+- registrations = g_object_get_data (obj, "dbus_glib_object_registrations");
++ oe = g_object_get_data (obj, "dbus_glib_object_registrations");
+
+- if (registrations == NULL)
++ if (oe == NULL || oe->registrations == NULL)
+ return NULL;
+
+ /* First one to have been registered wins */
+- o = registrations->data;
++ o = oe->registrations->data;
+
+ return o->object_path;
+ }
+--
+cgit v0.8.3-6-g21f6
diff --git a/extra/dbus-python/PKGBUILD b/extra/dbus-python/PKGBUILD
index df66c9b8e..8cfacff43 100644
--- a/extra/dbus-python/PKGBUILD
+++ b/extra/dbus-python/PKGBUILD
@@ -1,22 +1,26 @@
-# $Id: PKGBUILD 101132 2010-11-28 12:58:39Z ibiru $
+# $Id: PKGBUILD 128602 2011-06-24 13:59:34Z ibiru $
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=dbus-python
-pkgver=0.83.1
-pkgrel=2
+pkgver=0.84.0
+pkgrel=1
pkgdesc="Python bindings for DBUS"
arch=('i686' 'x86_64')
license=('GPL' 'LGPL')
url="http://www.freedesktop.org/wiki/Software/DBusBindings"
-depends=('dbus-glib>=0.82' 'python2>=2.7')
+depends=('dbus-glib' 'python2')
makedepends=('pkg-config' 'docutils')
options=('!libtool')
source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz)
-md5sums=('5fdf3970aa0c00020289de7ba8f3be18')
+md5sums=('fe69a2613e824463e74f10913708c88a')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
PYTHON=python2 ./configure --prefix=/usr
make
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
}
diff --git a/extra/dbus/PKGBUILD b/extra/dbus/PKGBUILD
index 633b0b3d3..bcac66a7a 100644
--- a/extra/dbus/PKGBUILD
+++ b/extra/dbus/PKGBUILD
@@ -1,9 +1,9 @@
-# $Id: PKGBUILD 123271 2011-05-09 14:50:22Z jgc $
+# $Id: PKGBUILD 128609 2011-06-24 14:05:28Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Contributor: Link Dupont <link@subpop.net>
#
pkgname=dbus
-pkgver=1.4.8
+pkgver=1.4.12
pkgrel=1
pkgdesc="Freedesktop.org message bus system"
url="http://www.freedesktop.org/Software/dbus"
@@ -12,7 +12,7 @@ license=('GPL' 'custom')
depends=("dbus-core>=${pkgver}" 'libx11')
source=(http://dbus.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz
30-dbus)
-md5sums=('e30253e15f0f4e6c5ee9e6f0eba5046c'
+md5sums=('104f2ea94c10a896dfb1edecb5714cb1'
'd14e59575f04e55d21a04907b6fd9f3c')
build() {
@@ -24,6 +24,10 @@ build() {
--enable-inotify --disable-dnotify \
--disable-tests --disable-asserts
make -C tools dbus-launch
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
install -m755 -d "${pkgdir}/usr/bin"
install -m755 -d "${pkgdir}/usr/share/man/man1"
install -m755 tools/dbus-launch "${pkgdir}/usr/bin/"
diff --git a/extra/eclipse/PKGBUILD b/extra/eclipse/PKGBUILD
index 12cf9da92..7b01a70e4 100644
--- a/extra/eclipse/PKGBUILD
+++ b/extra/eclipse/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 128950 2011-06-25 15:38:08Z paul $
+# $Id: PKGBUILD 129286 2011-06-26 10:19:01Z paul $
# Maintainer: Paul Mattal <paul@archlinux.org>
# Contributor: Andrew Wright <andreww@photism.org>
# Contributor: Andreas W. Hauser <andy-aur@splashground.de>
@@ -18,7 +18,7 @@ license=("EPL/1.1")
source=("ftp://ftp.osuosl.org/pub/eclipse/eclipse/downloads/drops/R-${pkgver}-${_date}/${pkgname}-SDK-${pkgver}-linux-gtk.tar.gz"
'eclipse.svg' 'eclipse.sh' 'eclipse.desktop'
'eclipse.ini.patch')
-md5sums=('7777a21debf1e05591731ac5c93b6bb6'
+md5sums=('084a33505b2d5b933447692ec3025659'
'77cff7543ccf7e177cb6667f5a20ce19'
'7ea99a30fbaf06ec29261541b8eb1e23'
'ba8a37e30a7ebd69774cec87c69e8c44'
diff --git a/extra/ghc/PKGBUILD b/extra/ghc/PKGBUILD
index 19887fef4..9fddba6ca 100644
--- a/extra/ghc/PKGBUILD
+++ b/extra/ghc/PKGBUILD
@@ -1,14 +1,20 @@
-# $Id: PKGBUILD 112131 2011-03-04 07:57:42Z vesa $
+# $Id: PKGBUILD 128106 2011-06-22 10:54:11Z vesa $
# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
+# Special note for devs looking to upgrade this package:
+# ghc places a unique hash for each library when it is built.
+# Libraries depend on versions specified by those hashes.
+# This implies that all libraries need to be rebuilt when ghc is rebuilt.
+# Also, due to dependency loop problems, haskell-ghc-paths and haddock
+# do not carry version dependencies. You will have to remember to build them too.
pkgname=ghc
-pkgver=7.0.2
-pkgrel=1
+pkgver=7.0.3
+pkgrel=2
pkgdesc="The Glasgow Haskell Compiler"
arch=(i686 x86_64)
url="http://www.haskell.org/ghc/"
license=("custom")
depends=('perl' 'gmp>=5.0' gcc)
-makedepends=(ghc happy perl)
+makedepends=(ghc happy perl libxslt docbook-xsl)
provides=("haskell-array=0.3.0.2"
"haskell-bytestring=0.9.1.10"
"haskell-cabal=1.10.1.0"
@@ -26,7 +32,6 @@ provides=("haskell-array=0.3.0.2"
"haskell-template-haskell=2.5.0.0"
"haskell-time=1.2.0.3"
"haskell-unix=2.4.2.0"
- "haddock=2.9.2"
)
replaces=("haskell-array<0.3.0.2"
"haskell-bytestring<0.9.1.10"
@@ -45,11 +50,10 @@ replaces=("haskell-array<0.3.0.2"
"haskell-template-haskell<2.5.0.0"
"haskell-time<1.2.0.3"
"haskell-unix<2.4.2.0"
- "haddock<2.9.2"
)
install=ghc.install
-
+options=(!strip)
source=("http://www.haskell.org/ghc/dist/$pkgver/ghc-$pkgver-src.tar.bz2"
build.mk)
@@ -60,10 +64,16 @@ build() {
./configure --prefix=/usr
make -j1 || return 1
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+
make DESTDIR=$pkgdir install
install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/ghc/license
+ install -d $pkgdir/usr/share/haskell
}
-md5sums=('946a18a0dc30437db72c0d3fdf26ca42'
+md5sums=('10bc5e9ae1b581404376efb85f260ff3'
'5a3e0880c80b1dcecf779ff2e63a9c0d')
diff --git a/extra/graphviz/PKGBUILD b/extra/graphviz/PKGBUILD
index 120a3402d..9aa39b089 100644
--- a/extra/graphviz/PKGBUILD
+++ b/extra/graphviz/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 123442 2011-05-11 13:08:33Z bisson $
-# Maintainer: kevin <kevin@archlinux.org>
+# $Id: PKGBUILD 129240 2011-06-26 08:51:17Z bisson $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: kevin <kevin@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
pkgname=graphviz
pkgver=2.28.0
-pkgrel=1
+pkgrel=3
pkgdesc='Graph visualization software'
url='http://www.graphviz.org/'
license=('custom:EPL')
arch=('i686' 'x86_64')
depends=('gd' 'librsvg' 'libxaw' 'ghostscript' 'pango')
-makedepends=('swig' 'mono' 'guile' 'lua' 'ocaml' 'perl' 'php' 'python2' 'r' 'ruby' 'tk')
+makedepends=('swig' 'mono' 'guile' 'lua' 'ocaml' 'perl' 'php' 'python2' 'r' 'ruby' 'tk' 'qt')
optdepends=('mono: sharp bindings'
'guile: guile bindings'
'lua: lua bindings'
@@ -21,7 +21,8 @@ optdepends=('mono: sharp bindings'
'python2: python bindings'
'r: r bindings'
'ruby: ruby bindings'
- 'tcl: tcl bindings')
+ 'tcl: tcl bindings'
+ 'qt: gvedit')
source=("${url}/pub/${pkgname}/stable/SOURCES/${pkgname}-${pkgver}.tar.gz"
'LICENSE')
sha1sums=('4725d88a13e071ee22e632de551d4a55ca08ee7d'
diff --git a/extra/graphviz/install b/extra/graphviz/install
index 00510e3f6..65fba522b 100644
--- a/extra/graphviz/install
+++ b/extra/graphviz/install
@@ -1,17 +1,12 @@
-# arg 1: the new package version
post_install() {
- # Create plugin config /usr/lib/graphviz/config6
- rm -f usr/lib/graphviz/config{,6}
- usr/bin/dot -c
+ rm -f usr/lib/graphviz/config{,6}
+ usr/bin/dot -c
}
-# arg 1: the new package version
-# arg 2: the old package version
post_upgrade() {
- post_install $1
+ post_install
}
-# arg 1: the old package version
pre_remove() {
- rm -f usr/lib/graphviz/config{,6}
+ rm -f usr/lib/graphviz/config{,6}
}
diff --git a/extra/krusader/PKGBUILD b/extra/krusader/PKGBUILD
index 67e8615ea..58e113545 100644
--- a/extra/krusader/PKGBUILD
+++ b/extra/krusader/PKGBUILD
@@ -1,31 +1,26 @@
-# $Id: PKGBUILD 111906 2011-03-01 18:29:55Z andrea $
+# $Id: PKGBUILD 129354 2011-06-26 23:28:57Z eric $
# Maintainer:
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Lucien Immink <l.immink@student.fnt.hvu.nl>
pkgname=krusader
-pkgver=2.3.0beta1
-_pkgver=2.3.0-beta1
-pkgrel=3
+pkgver=2.4.0beta1
+_pkgver=2.4.0-beta1
+pkgrel=1
pkgdesc="An alternative file manager for KDE resembling Midnight Commander"
-url="http://krusader.sourceforge.net/"
arch=('i686' 'x86_64')
+url="http://krusader.sourceforge.net/"
license=('GPL')
depends=('kdebase-runtime')
makedepends=('cmake' 'automoc4' 'docbook-xsl')
optdepends=("kdebase-keditbookmarks: to edit bookmarks")
-install=${pkgname}.install
-source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${_pkgver}.tar.bz2"
- 'add-xz-support.patch')
-md5sums=('3ef55648a2589a9a919d463acec3b830'
- 'a350bc90646bd16cc4219aa30a4d1fc6')
+install=krusader.install
+source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${_pkgver}.tar.bz2)
+md5sums=('d2340718d05d69e7f2a7f0846471ee12')
build() {
- cd ${srcdir}/${pkgname}-${_pkgver}
- patch -Np1 -i ${srcdir}/add-xz-support.patch
-
- cd ${srcdir}
+ cd "${srcdir}"
mkdir build
cd build
cmake ../${pkgname}-${_pkgver} \
@@ -35,6 +30,6 @@ build() {
}
package() {
- cd ${srcdir}/build
- make DESTDIR=${pkgdir} install
+ cd "${srcdir}/build"
+ make DESTDIR="${pkgdir}" install
}
diff --git a/extra/openal/PKGBUILD b/extra/openal/PKGBUILD
index 86dbcc263..0a3c8f1a2 100644
--- a/extra/openal/PKGBUILD
+++ b/extra/openal/PKGBUILD
@@ -1,27 +1,29 @@
-# $Id: PKGBUILD 115848 2011-03-22 06:51:29Z heftig $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id: PKGBUILD 129235 2011-06-26 06:15:14Z heftig $
+# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributer: Jason Chu <jchu@xentac.net>
pkgname=openal
pkgver=1.13
-pkgrel=1
-pkgdesc="OpenAL audio library for use with opengl"
-arch=('i686' 'x86_64')
+pkgrel=2
+pkgdesc="A cross-platform 3D audio library"
+arch=(i686 x86_64)
url="http://www.openal.org/"
-license=('LGPL')
-depends=('glibc')
-makedepends=('alsa-lib' 'sdl' 'pkgconfig' 'cmake' 'libpulse')
+license=(LGPL)
+depends=(glibc)
+makedepends=(alsa-lib sdl pkgconfig cmake libpulse)
options=('!libtool')
-source=(http://kcat.strangesoft.net/openal-releases/openal-soft-${pkgver}.tar.bz2)
+source=(http://kcat.strangesoft.net/openal-releases/openal-soft-$pkgver.tar.bz2)
md5sums=('58b7d2809790c70681b825644c5f3614')
build() {
- cd ${srcdir}/${pkgname}-soft-${pkgver}/build
+ cd "$srcdir/$pkgname-soft-$pkgver/build"
cmake -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_BUILD_TYPE=Release ..
make
}
package() {
- cd ${srcdir}/${pkgname}-soft-${pkgver}/build
- make DESTDIR=${pkgdir}/ install
+ cd "$srcdir/$pkgname-soft-$pkgver"
+ make -C build DESTDIR="$pkgdir/" install
+ install -Dm644 alsoftrc.sample "$pkgdir/etc/openal/alsoft.conf.sample"
}
diff --git a/extra/proftpd/PKGBUILD b/extra/proftpd/PKGBUILD
index 075e30b6c..9acc9206a 100644
--- a/extra/proftpd/PKGBUILD
+++ b/extra/proftpd/PKGBUILD
@@ -1,49 +1,53 @@
-# $Id: PKGBUILD 117431 2011-04-02 01:06:40Z eric $
+# $Id: PKGBUILD 129323 2011-06-26 18:29:37Z andrea $
+# Maintainer:
# Contributor: Eric Belanger <eric@archlinux.org>
-# Maintainer: Daniel J Griffiths <ghost1227@archlinux.us>
+# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
pkgname=proftpd
pkgver=1.3.3e
-pkgrel=1
+pkgrel=2
pkgdesc="A high-performance, scalable FTP server"
arch=('i686' 'x86_64')
url="http://www.proftpd.org"
license=('GPL')
-depends=('glibc' 'pam' 'ncurses' 'libcap' 'libldap'
- 'libmysqlclient' 'postgresql-libs')
+depends=('glibc' 'pam' 'ncurses' 'libcap' 'libldap' 'libmysqlclient'
+ 'postgresql-libs')
backup=('etc/proftpd.conf' 'etc/conf.d/proftpd')
-source=(ftp://ftp.proftpd.org/distrib/source/${pkgname}-${pkgver}.tar.bz2
- 'proftpd' 'proftpd.logrotate' 'proftpd.conf.d')
+source=("ftp://ftp.proftpd.org/distrib/source/${pkgname}-${pkgver}.tar.bz2"
+ 'proftpd' 'proftpd.logrotate' 'proftpd.conf.d')
md5sums=('acc49b6589bc8c9fdf1dce9000bebdbd'
'99f6f9a989e70e3fa50809fc2bbbbb0a'
'ddb09eb13131becdf0e081eef413116b'
'71d5932b0461c318ed68c2c0c2660736')
-sha1sums=('b347aa72d12e41fe8f43e8d91a7a4eeaac6f472f'
- 'b7819d725817e55b69c73e2572c21a05db48cc86'
- '83c38ec40efb7cc09d9824b98e65cd948a195cc6'
- 'f34f60cb4fb1f4af7be7aca427cbad3cad22bbb9')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}-${pkgver}"
- ./configure --prefix=/usr --mandir=/usr/share/man --disable-pam \
- --with-modules=mod_quotatab:mod_quotatab_file:mod_tls:mod_ldap:mod_sql:mod_sql_mysql:mod_sql_postgres \
- --sysconfdir=/etc --localstatedir=/var/run --enable-ctrls --enable-ipv6 \
- --with-includes=/usr/include/mysql:/usr/include/postgresql \
- --with-libraries=/usr/lib/mysql:/usr/lib/postgresql --enable-nls
- make
+ ./configure --prefix=/usr \
+ --mandir=/usr/share/man \
+ --disable-pam \
+ --with-modules=mod_quotatab:mod_quotatab_sql:mod_quotatab_file:mod_tls:mod_ldap:mod_sql:mod_sql_mysql:mod_sql_postgres \
+ --sysconfdir=/etc \
+ --localstatedir=/var/run \
+ --enable-ctrls \
+ --enable-ipv6 \
+ --with-includes=/usr/include/mysql:/usr/include/postgresql \
+ --with-libraries=/usr/lib/mysql:/usr/lib/postgresql \
+ --enable-nls
+
+ make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 ../proftpd.logrotate "${pkgdir}/etc/logrotate.d/proftpd"
+ install -Dm644 ../proftpd.conf.d "${pkgdir}/etc/conf.d/proftpd"
+ install -Dm755 ../proftpd "${pkgdir}/etc/rc.d/proftpd"
+ install -Dm755 contrib/xferstats.holger-preiss "${pkgdir}/usr/bin/ftpstats"
- make DESTDIR="${pkgdir}" install
- install -Dm644 ../proftpd.logrotate "${pkgdir}/etc/logrotate.d/proftpd"
- install -Dm644 ../proftpd.conf.d "${pkgdir}/etc/conf.d/proftpd"
- install -Dm755 ../proftpd "${pkgdir}/etc/rc.d/proftpd"
- install -Dm755 contrib/xferstats.holger-preiss \
- "${pkgdir}/usr/bin/ftpstats"
- cd "${pkgdir}/etc"
- sed -i 's|nogroup|nobody|g' proftpd.conf
- rmdir "${pkgdir}/usr/libexec"
+ cd "${pkgdir}/etc"
+ sed -i 's|nogroup|nobody|g' proftpd.conf
+ rmdir "${pkgdir}/usr/libexec"
}
diff --git a/extra/pyalpm/PKGBUILD b/extra/pyalpm/PKGBUILD
index 0db22e4d7..40488fac2 100644
--- a/extra/pyalpm/PKGBUILD
+++ b/extra/pyalpm/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer : Rémy Oudompheng <remy@archlinux.org>
pkgname=pyalpm
-pkgver=0.4.2
+pkgver=0.4.3
pkgrel=1
pkgdesc="Libalpm bindings for Python 3"
arch=('i686' 'x86_64')
@@ -9,7 +9,7 @@ url="http://projects.archlinux.org/users/remy/pyalpm.git/"
license=('GPL')
depends=('python>=3.2' 'pacman<3.6')
source=("ftp://ftp.archlinux.org/other/pyalpm/$pkgname-$pkgver.tar.gz")
-md5sums=('d5d45cafa98050a4d3c77e4a8f597ff3')
+md5sums=('396f9820eae9a40bd33d8bb366272c82')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
diff --git a/extra/strigi/PKGBUILD b/extra/strigi/PKGBUILD
index c11870fa1..2292ed9cc 100644
--- a/extra/strigi/PKGBUILD
+++ b/extra/strigi/PKGBUILD
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD 128044 2011-06-21 07:08:33Z andrea $
+# $Id: PKGBUILD 129328 2011-06-26 19:20:34Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
pkgname=strigi
pkgver=0.7.5
-pkgrel=3
+pkgrel=4
pkgdesc="Fast crawling desktop search engine with Qt4 GUI"
arch=('i686' 'x86_64')
url="http://www.vandenoever.info/software/strigi/"
@@ -37,6 +37,9 @@ package() {
cd "${srcdir}/build/libstreamanalyzer"
make DESTDIR="${pkgdir}" install
+
+ cd "${srcdir}/build/strigiclient/lib/searchclient/qtdbus"
+ make DESTDIR="${pkgdir}" install
cd "${srcdir}/build/strigiutils"
make DESTDIR="${pkgdir}" install
diff --git a/extra/valgrind/PKGBUILD b/extra/valgrind/PKGBUILD
index 0772fc3e4..a181f374c 100644
--- a/extra/valgrind/PKGBUILD
+++ b/extra/valgrind/PKGBUILD
@@ -1,20 +1,22 @@
-# $Id: PKGBUILD 110184 2011-02-17 12:26:47Z allan $
+# $Id: PKGBUILD 126782 2011-06-07 10:02:00Z allan $
# Maintainer: Dan McGee <dan@archlinux.org>
# Maintainer: Allan McRae <allan@archlinux.org>
pkgname=valgrind
pkgver=3.6.1
-pkgrel=1
+pkgrel=2
pkgdesc="A tool to help find memory-management problems in programs"
arch=('i686' 'x86_64')
license=('GPL')
url="http://valgrind.org/"
-depends=('glibc>=2.13' 'glibc<2.14' 'perl')
+depends=('glibc>=2.14' 'glibc<2.15' 'perl')
makedepends=('gdb')
options=('!emptydirs')
source=(http://valgrind.org/downloads/${pkgname}-${pkgver}.tar.bz2
+ valgrind-3.6.1-glibc-2.14.patch
glibc-patch-version.patch)
md5sums=('2c3aa122498baecc9d69194057ca88f5'
+ '560032ce5d27ef0c7c1af32c3fd45833'
'b657f0ebdde3d9aefc9fd16f9e653702')
build() {
@@ -23,6 +25,9 @@ build() {
# make sure our CFLAGS are respected
sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.in
+ # glibc-2.14 compatibility
+ patch -Np1 -i ${srcdir}/valgrind-3.6.1-glibc-2.14.patch
+
# prevent need to rebuild with glibc patch level version bumps
patch -Np1 -i ${srcdir}/glibc-patch-version.patch
diff --git a/extra/valgrind/valgrind-3.6.1-glibc-2.14.patch b/extra/valgrind/valgrind-3.6.1-glibc-2.14.patch
new file mode 100644
index 000000000..7fd217016
--- /dev/null
+++ b/extra/valgrind/valgrind-3.6.1-glibc-2.14.patch
@@ -0,0 +1,67 @@
+--- valgrind/configure.in.jj 2010-10-21 03:14:02.000000000 +0200
++++ valgrind/configure.in 2010-11-05 17:09:18.674455299 +0100
+@@ -749,6 +759,13 @@ case "${GLIBC_VERSION}" in
+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ ;;
++ 2.14)
++ AC_MSG_RESULT(2.14 family)
++ AC_DEFINE([GLIBC_2_14], 1, [Define to 1 if you're using glibc 2.14.x])
++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++ ;;
+ aix5)
+ AC_MSG_RESULT(AIX 5.1 or 5.2 or 5.3)
+ AC_DEFINE([AIX5_LIBC], 1, [Define to 1 if you're using AIX 5.1 or 5.2 or 5.3])
+@@ -762,7 +779,7 @@ case "${GLIBC_VERSION}" in
+
+ *)
+ AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
+- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.13])
++ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.14])
+ AC_MSG_ERROR([or AIX 5.1 or 5.2 or 5.3 GLIBC_VERSION])
+ AC_MSG_ERROR([or Darwin libc])
+ ;;
+--- valgrind/config.h.in.jj 2010-10-20 22:20:49.000000000 +0200
++++ valgrind/config.h.in 2010-11-05 17:08:33.863454886 +0100
+@@ -33,6 +33,9 @@
+ /* Define to 1 if you're using glibc 2.13.x */
+ #undef GLIBC_2_13
+
++/* Define to 1 if you're using glibc 2.14.x */
++#undef GLIBC_2_14
++
+ /* Define to 1 if you're using glibc 2.2.x */
+ #undef GLIBC_2_2
+
+--- valgrind/configure.jj 2010-10-21 03:16:18.000000000 +0200
++++ valgrind/configure 2010-11-05 17:09:39.163455396 +0100
+@@ -6367,6 +6389,18 @@ $as_echo "#define GLIBC_2_13 1" >>confde
+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ ;;
++ 2.14)
++ echo "$as_me:$LINENO: result: 2.14 family" >&5
++echo "${ECHO_T}2.14 family" >&6
++
++cat >>confdefs.h <<\_ACEOF
++#define GLIBC_2_14 1
++_ACEOF
++
++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++ ;;
+ aix5)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: AIX 5.1 or 5.2 or 5.3" >&5
+ $as_echo "AIX 5.1 or 5.2 or 5.3" >&6; }
+@@ -6387,7 +6421,7 @@ $as_echo "#define DARWIN_LIBC 1" >>confd
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported version ${GLIBC_VERSION}" >&5
+ $as_echo "unsupported version ${GLIBC_VERSION}" >&6; }
+- as_fn_error "Valgrind requires glibc version 2.2 - 2.13" "$LINENO" 5
++ as_fn_error "Valgrind requires glibc version 2.2 - 2.14" "$LINENO" 5
+ as_fn_error "or AIX 5.1 or 5.2 or 5.3 GLIBC_VERSION" "$LINENO" 5
+ as_fn_error "or Darwin libc" "$LINENO" 5
+ ;;
diff --git a/extra/yelp/PKGBUILD b/extra/yelp/PKGBUILD
index ebffe3b7f..5acc58459 100644
--- a/extra/yelp/PKGBUILD
+++ b/extra/yelp/PKGBUILD
@@ -1,8 +1,8 @@
-# $Id: PKGBUILD 124709 2011-05-24 06:57:26Z heftig $
+# $Id: PKGBUILD 129307 2011-06-26 11:11:05Z ibiru $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=yelp
-pkgver=3.0.3
+pkgver=3.0.4
pkgrel=1
pkgdesc="A help browser for GNOME"
arch=('i686' 'x86_64')
@@ -14,8 +14,8 @@ license=('GPL')
options=('!emptydirs' '!libtool')
url="http://www.gnome.org"
install=yelp.install
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2)
-sha256sums=('938b50b63f2783d8f87ce2e6ebb622dcfc7cb2d81b39278d1298c5f3bdf236b9')
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz)
+sha256sums=('f80c0482691124f2b852deebc7380506b06c50a0bdcb0dd8301258fe676a924b')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
diff --git a/kde-unstable/kdebase-runtime/PKGBUILD b/kde-unstable/kdebase-runtime/PKGBUILD
index d499198d9..c49aa3d99 100644
--- a/kde-unstable/kdebase-runtime/PKGBUILD
+++ b/kde-unstable/kdebase-runtime/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 128525 2011-06-24 12:41:45Z andrea $
+# $Id: PKGBUILD 129338 2011-06-26 20:22:13Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=kdebase-runtime
_pkgname=kde-runtime
pkgver=4.6.90
-pkgrel=1
+pkgrel=2
pkgdesc="KDE Base Runtime Environment"
arch=('i686' 'x86_64')
url='http://www.kde.org'
diff --git a/kde-unstable/kdepim-runtime/PKGBUILD b/kde-unstable/kdepim-runtime/PKGBUILD
index d192169e9..eb69d50dd 100644
--- a/kde-unstable/kdepim-runtime/PKGBUILD
+++ b/kde-unstable/kdepim-runtime/PKGBUILD
@@ -4,7 +4,7 @@
pkgname=kdepim-runtime
pkgver=4.6.90
-pkgrel=1
+pkgrel=2
pkgdesc='KDE PIM Runtime Environment'
arch=('i686' 'x86_64')
url='http://www.kde.org'
diff --git a/multilib/binutils-multilib/PKGBUILD b/multilib/binutils-multilib/PKGBUILD
index 78be6ccc6..f3be8bdc7 100644
--- a/multilib/binutils-multilib/PKGBUILD
+++ b/multilib/binutils-multilib/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 46786 2011-05-11 15:43:26Z heftig $
+# $Id: PKGBUILD 48900 2011-06-07 12:25:49Z heftig $
# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
@@ -6,8 +6,8 @@
pkgname=binutils-multilib
pkgver=2.21
-pkgrel=8
-_date=20110430
+pkgrel=9
+_date=20110605
pkgdesc="A set of programs to assemble and manipulate binary and object files for multilib"
arch=('x86_64')
url="http://www.gnu.org/software/binutils/"
@@ -15,20 +15,14 @@ license=('GPL')
groups=('multilib-devel')
provides=("binutils=$pkgver-$pkgrel")
conflicts=('binutils')
-depends=('glibc>=2.13' 'zlib')
+depends=('glibc>=2.14' 'zlib')
makedepends=('dejagnu' 'gcc-multilib') # Make sure we compile this with gcc-multilib
options=('!libtool' '!distcc' '!ccache')
install=binutils.install
-source=(http://mirrors.kernel.org/archlinux/other/binutils/binutils-${pkgver}_${_date}.tar.bz2
- binutils-2.21-strip-segfault.patch)
-md5sums=('7b3e28fb35cb8bb371cc47291e1c6dec'
- '98e8dfaf1c0ededa586823ebfb27825a')
+source=(http://mirrors.kernel.org/archlinux/other/binutils/binutils-${pkgver}_${_date}.tar.bz2)
+md5sums=('a2e7784d5d66c1d692a0a1fa248ea66c')
build() {
- cd ${srcdir}/binutils
- # http://sourceware.org/bugzilla/show_bug.cgi?id=12632
- patch -Np1 -i $srcdir/binutils-2.21-strip-segfault.patch
-
cd ${srcdir}
mkdir binutils-build && cd binutils-build
diff --git a/multilib/gcc-multilib/PKGBUILD b/multilib/gcc-multilib/PKGBUILD
index de4f5f981..952d22b11 100644
--- a/multilib/gcc-multilib/PKGBUILD
+++ b/multilib/gcc-multilib/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 48786 2011-06-05 16:11:31Z heftig $
+# $Id: PKGBUILD 48902 2011-06-07 12:26:35Z heftig $
# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Allan McRae <allan@archlinux.org>
@@ -8,14 +8,14 @@
pkgbase='gcc-multilib'
pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib')
pkgver=4.6.0
-pkgrel=6
+pkgrel=7
_snapshot=4.6-20110603
_libstdcppmanver=20110201 # Note: check source directory name when updating this
pkgdesc="The GNU Compiler Collection for multilib"
arch=('x86_64')
license=('GPL' 'LGPL' 'FDL' 'custom')
url="http://gcc.gnu.org"
-makedepends=('binutils-multilib>=2.21' 'libmpc' 'cloog' 'ppl' 'gcc-ada-multilib' 'dejagnu'
+makedepends=('binutils-multilib>=2.21-9' 'libmpc' 'cloog' 'ppl' 'gcc-ada-multilib' 'dejagnu'
'lib32-glibc>=2.13')
options=('!libtool' '!emptydirs')
source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2
@@ -147,7 +147,7 @@ package_lib32-gcc-libs()
package_gcc-multilib()
{
pkgdesc="The GNU Compiler Collection - C and C++ frontends for multilib"
- depends=("gcc-libs-multilib=$pkgver-$pkgrel" 'binutils-multilib>=2.21' 'libmpc' 'cloog' 'ppl')
+ depends=("gcc-libs-multilib=$pkgver-$pkgrel" 'binutils-multilib>=2.21-9' 'libmpc' 'cloog' 'ppl')
groups=('multilib-devel')
provides=("gcc=$pkgver-$pkgrel")
conflicts=('gcc')
diff --git a/multilib/lib32-glibc/PKGBUILD b/multilib/lib32-glibc/PKGBUILD
index 36c6c00a9..276d465cd 100644
--- a/multilib/lib32-glibc/PKGBUILD
+++ b/multilib/lib32-glibc/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 43540 2011-03-27 14:07:50Z heftig $
+# $Id: PKGBUILD 50168 2011-06-25 17:22:07Z heftig $
# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>
@@ -8,9 +8,9 @@
_pkgbasename=glibc
pkgname=lib32-$_pkgbasename
-pkgver=2.13
-pkgrel=5
-_glibcdate=20110117
+pkgver=2.14
+pkgrel=4
+_glibcdate=20110617
pkgdesc="GNU C Library for multilib"
arch=('x86_64')
url="http://www.gnu.org/software/libc"
@@ -24,17 +24,24 @@ source=(http://mirrors.kernel.org/archlinux/other/glibc/${_pkgbasename}-${pkgver
glibc-__i686.patch
glibc-2.12.1-static-shared-getpagesize.patch
glibc-2.12.2-ignore-origin-of-privileged-program.patch
- glibc-2.13-prelink.patch
glibc-2.13-futex.patch
+ glibc-2.14-libdl-crash.patch
+ #glibc-2.14-fix-resolver-crash-typo.patch
+ glibc-2.14-revert-4462fad3.patch
+ glibc-2.14-reexport-rpc-interface.patch
+ glibc-2.14-reinstall-nis-rpc-headers.patch
lib32-glibc.conf)
-md5sums=('b7b17d9c6b5b71b5e5322e04ca63c190'
+md5sums=('e441d745609d93c907b72548ba646dad'
'4dadb9203b69a3210d53514bb46f41c3'
'0c5540efc51c0b93996c51b57a8540ae'
'40cd342e21f71f5e49e32622b25acc52'
'a3ac6f318d680347bb6e2805d42b73b2'
'b042647ea7d6f22ad319e12e796bd13e'
- '24dfab6fd244f3773523412588ecc52c'
'7d0154b7e17ea218c9fa953599d24cc4'
+ 'cea62cc6b903d222c5f26e05a3c0e0e6'
+ '46e56492cccb1c9172ed3a235cf43c6c'
+ 'c5de2a946215d647c8af5432ec4b0da0'
+ '55febbb72139ac7b65757df085024b83'
'6e052f1cb693d5d3203f50f9d4e8c33b')
build() {
@@ -58,13 +65,25 @@ build() {
# http://sourceware.org/git/?p=glibc.git;a=patch;h=d14e6b09 (only fedora branch...)
patch -Np1 -i ${srcdir}/glibc-2.12.2-ignore-origin-of-privileged-program.patch
- # http://sourceware.org/bugzilla/show_bug.cgi?id=12489
- # http://sourceware.org/git/?p=glibc.git;a=commit;h=25b3aada (only fedora branch...)
- patch -Np1 -i ${srcdir}/glibc-2.13-prelink.patch
-
# http://sourceware.org/bugzilla/show_bug.cgi?id=12403
patch -Np1 -i ${srcdir}/glibc-2.13-futex.patch
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (only fedora branch...)
+ # http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html
+ patch -Np1 -i ${srcdir}/glibc-2.14-libdl-crash.patch
+
+ # This fixes the main segfault but not the assert fail (FS#24615)
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=57912a71
+ #patch -Np1 -i ${srcdir}/glibc-2.14-fix-resolver-crash-typo.patch
+ # resort to reverting the bad commit completely for the moment
+ patch -Np1 -i ${srcdir}/glibc-2.14-revert-4462fad3.patch
+
+ # re-export RPC interface until libtirpc is ready as a replacement
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (only fedora branch...)
+ patch -Np1 -i ${srcdir}/glibc-2.14-reexport-rpc-interface.patch
+ # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (only fedora branch...)
+ patch -Np1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch
+
cd ${srcdir}
mkdir glibc-build
cd glibc-build
@@ -87,6 +106,10 @@ build() {
--disable-multi-arch i686-unknown-linux-gnu
make
+}
+
+check() {
+ cd ${srcdir}/glibc-build
# some errors are expected - manually check log files
make -k check || true
@@ -115,7 +138,7 @@ package() {
usr/lib32/libnss_{compat,dns,files,hesiod,nis,nisplus}-${pkgver}.so \
usr/lib32/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \
usr/lib32/{libmemusage,libpcprofile,libSegFault}.so \
- usr/lib32/{pt_chown,gconv/*.so}
+ usr/lib32/{pt_chown,{audit,gconv}/*.so}
# Dynamic linker
install -d -m755 ${pkgdir}/lib
diff --git a/multilib/lib32-glibc/glibc-2.14-fix-resolver-crash-typo.patch b/multilib/lib32-glibc/glibc-2.14-fix-resolver-crash-typo.patch
new file mode 100644
index 000000000..b5d86c7d2
--- /dev/null
+++ b/multilib/lib32-glibc/glibc-2.14-fix-resolver-crash-typo.patch
@@ -0,0 +1,22 @@
+diff --git a/resolv/res_send.c b/resolv/res_send.c
+index 97142b7..a001c1e 100644
+--- a/resolv/res_send.c
++++ b/resolv/res_send.c
+@@ -549,7 +549,7 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
+ ns, ansp, ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || resplen2 == 0))
++ if (n == 0 && (buf2 == NULL || *resplen2 == 0))
+ goto next_ns;
+ } else {
+ /* Use datagrams. */
+@@ -559,7 +559,7 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
+ ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || resplen2 == 0))
++ if (n == 0 && (buf2 == NULL || *resplen2 == 0))
+ goto next_ns;
+ if (v_circuit)
+ // XXX Check whether both requests failed or
diff --git a/multilib/lib32-glibc/glibc-2.14-libdl-crash.patch b/multilib/lib32-glibc/glibc-2.14-libdl-crash.patch
new file mode 100644
index 000000000..ee29f8c20
--- /dev/null
+++ b/multilib/lib32-glibc/glibc-2.14-libdl-crash.patch
@@ -0,0 +1,132 @@
+diff --git a/elf/dl-close.c b/elf/dl-close.c
+index 73b2a2f..9bd91e3 100644
+--- a/elf/dl-close.c
++++ b/elf/dl-close.c
+@@ -1,5 +1,5 @@
+ /* Close a shared object opened by `_dl_open'.
+- Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc.
++ Copyright (C) 1996-2007, 2009, 2010 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map)
+ if (map->l_direct_opencount > 0 || map->l_type != lt_loaded
+ || dl_close_state != not_pending)
+ {
+- if (map->l_direct_opencount == 0)
+- {
+- if (map->l_type == lt_loaded)
+- dl_close_state = rerun;
+- else if (map->l_type == lt_library)
+- {
+- struct link_map **oldp = map->l_initfini;
+- map->l_initfini = map->l_orig_initfini;
+- _dl_scope_free (oldp);
+- }
+- }
++ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded)
++ dl_close_state = rerun;
+
+ /* There are still references to this object. Do nothing more. */
+ if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0))
+diff --git a/elf/dl-deps.c b/elf/dl-deps.c
+index 9e30594..3890d00 100644
+--- a/elf/dl-deps.c
++++ b/elf/dl-deps.c
+@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map,
+ nneeded * sizeof needed[0]);
+ atomic_write_barrier ();
+ l->l_initfini = l_initfini;
++ l->l_free_initfini = 1;
+ }
+
+ /* If we have no auxiliary objects just go on to the next map. */
+@@ -681,6 +682,7 @@ Filters not supported with LD_TRACE_PRELINKING"));
+ l_initfini[nlist] = NULL;
+ atomic_write_barrier ();
+ map->l_initfini = l_initfini;
++ map->l_free_initfini = 1;
+ if (l_reldeps != NULL)
+ {
+ atomic_write_barrier ();
+@@ -689,5 +691,5 @@ Filters not supported with LD_TRACE_PRELINKING"));
+ _dl_scope_free (old_l_reldeps);
+ }
+ if (old_l_initfini != NULL)
+- map->l_orig_initfini = old_l_initfini;
++ _dl_scope_free (old_l_initfini);
+ }
+diff --git a/elf/dl-libc.c b/elf/dl-libc.c
+index 7be9483..a13fce3 100644
+--- a/elf/dl-libc.c
++++ b/elf/dl-libc.c
+@@ -265,13 +265,13 @@ libc_freeres_fn (free_mem)
+
+ for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns)
+ {
+- /* Remove all additional names added to the objects. */
+ for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next)
+ {
+ struct libname_list *lnp = l->l_libname->next;
+
+ l->l_libname->next = NULL;
+
++ /* Remove all additional names added to the objects. */
+ while (lnp != NULL)
+ {
+ struct libname_list *old = lnp;
+@@ -279,6 +279,10 @@ libc_freeres_fn (free_mem)
+ if (! old->dont_free)
+ free (old);
+ }
++
++ /* Free the initfini dependency list. */
++ if (l->l_free_initfini)
++ free (l->l_initfini);
+ }
+
+ if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0
+diff --git a/elf/rtld.c b/elf/rtld.c
+index 4a9109e..617e30e 100644
+--- a/elf/rtld.c
++++ b/elf/rtld.c
+@@ -2251,6 +2251,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
+ lnp->dont_free = 1;
+ lnp = lnp->next;
+ }
++ l->l_free_initfini = 0;
+
+ if (l != &GL(dl_rtld_map))
+ _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
+diff --git a/include/link.h b/include/link.h
+index e877104..051b99a 100644
+--- a/include/link.h
++++ b/include/link.h
+@@ -1,6 +1,6 @@
+ /* Data structure for communication from the run-time dynamic linker for
+ loaded ELF shared objects.
+- Copyright (C) 1995-2006, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
++ Copyright (C) 1995-2006, 2007, 2009, 2010 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+@@ -192,6 +192,9 @@ struct link_map
+ during LD_TRACE_PRELINKING=1
+ contains any DT_SYMBOLIC
+ libraries. */
++ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
++ freed, ie. not allocated with
++ the dummy malloc in ld.so. */
+
+ /* Collected information about own RPATH directories. */
+ struct r_search_path_struct l_rpath_dirs;
+@@ -240,9 +243,6 @@ struct link_map
+
+ /* List of object in order of the init and fini calls. */
+ struct link_map **l_initfini;
+- /* The init and fini list generated at startup, saved when the
+- object is also loaded dynamically. */
+- struct link_map **l_orig_initfini;
+
+ /* List of the dependencies introduced through symbol binding. */
+ struct link_map_reldeps
diff --git a/multilib/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch b/multilib/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch
new file mode 100644
index 000000000..e2beea881
--- /dev/null
+++ b/multilib/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch
@@ -0,0 +1,26 @@
+diff --git a/include/libc-symbols.h b/include/libc-symbols.h
+index 67e1ca2..5e7cca5 100644
+--- a/include/libc-symbols.h
++++ b/include/libc-symbols.h
+@@ -635,7 +635,7 @@ for linking")
+ # define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
+ # define libc_hidden_def(name) hidden_def (name)
+ # define libc_hidden_weak(name) hidden_weak (name)
+-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version)
++# define libc_hidden_nolink(name, version) hidden_def (name)
+ # define libc_hidden_ver(local, name) hidden_ver (local, name)
+ # define libc_hidden_data_def(name) hidden_data_def (name)
+ # define libc_hidden_data_weak(name) hidden_data_weak (name)
+diff --git a/sunrpc/Makefile b/sunrpc/Makefile
+index 5134ce9..40c73d1 100644
+--- a/sunrpc/Makefile
++++ b/sunrpc/Makefile
+@@ -53,7 +53,7 @@ headers-in-tirpc = $(addprefix rpc/,auth.h auth_unix.h clnt.h pmap_clnt.h \
+ des_crypt.h)
+ headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \
+ $(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
+-headers = rpc/netdb.h
++headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc)
+ install-others = $(inst_sysconfdir)/rpc
+ generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
+ $(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen
diff --git a/multilib/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/multilib/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
new file mode 100644
index 000000000..eb0fd822d
--- /dev/null
+++ b/multilib/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch
@@ -0,0 +1,28 @@
+From bdd816a366c4e5bba5de7157d948e0c0737fb4fb Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@redhat.com>
+Date: Tue, 17 May 2011 17:42:30 +0200
+Subject: [PATCH] Reinstall NIS RPC headers
+
+---
+ nis/Makefile | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/nis/Makefile b/nis/Makefile
+index b5c9609..d2934d9 100644
+--- a/nis/Makefile
++++ b/nis/Makefile
+@@ -23,9 +23,9 @@ subdir := nis
+
+ aux := nis_hash
+
++headers := $(wildcard rpcsvc/*.[hx])
+ distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \
+- nisplus-parser.h nis_xdr.h nss \
+- $(wildcard rpcsvc/*.[hx])
++ nisplus-parser.h nis_xdr.h nss
+
+ # These are the databases available for the nis (and perhaps later nisplus)
+ # service. This must be a superset of the services in nss.
+--
+1.7.5.4
+
diff --git a/multilib/lib32-glibc/glibc-2.14-revert-4462fad3.patch b/multilib/lib32-glibc/glibc-2.14-revert-4462fad3.patch
new file mode 100644
index 000000000..d71e37492
--- /dev/null
+++ b/multilib/lib32-glibc/glibc-2.14-revert-4462fad3.patch
@@ -0,0 +1,37 @@
+diff -Naur glibc-orig//resolv/res_send.c glibc/resolv/res_send.c
+--- glibc-orig//resolv/res_send.c 2011-06-10 18:59:03.041436996 +1000
++++ glibc/resolv/res_send.c 2011-06-10 19:08:09.379309323 +1000
+@@ -549,7 +549,7 @@
+ ns, ansp, ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || resplen2 == 0))
++ if (n == 0)
+ goto next_ns;
+ } else {
+ /* Use datagrams. */
+@@ -559,7 +559,7 @@
+ ansp2, nansp2, resplen2);
+ if (n < 0)
+ return (-1);
+- if (n == 0 && (buf2 == NULL || resplen2 == 0))
++ if (n == 0)
+ goto next_ns;
+ if (v_circuit)
+ // XXX Check whether both requests failed or
+@@ -1275,14 +1275,10 @@
+ (*thisresplenp > *thisanssizp)
+ ? *thisanssizp : *thisresplenp);
+
+- if (recvresp1 || (buf2 != NULL && recvresp2)) {
+- *resplen2 = 0;
++ if (recvresp1 || (buf2 != NULL && recvresp2))
+ return resplen;
+- }
+ if (buf2 != NULL)
+ {
+- /* No data from the first reply. */
+- resplen = 0;
+ /* We are waiting for a possible second reply. */
+ if (hp->id == anhp->id)
+ recvresp1 = 1;
diff --git a/testing/graphviz/PKGBUILD b/testing/graphviz/PKGBUILD
index c31b3977d..f1e8ba234 100644
--- a/testing/graphviz/PKGBUILD
+++ b/testing/graphviz/PKGBUILD
@@ -1,17 +1,17 @@
-# $Id: PKGBUILD 124548 2011-05-22 22:43:30Z bisson $
-# Maintainer: kevin <kevin@archlinux.org>
+# $Id: PKGBUILD 129245 2011-06-26 09:32:03Z bisson $
# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: kevin <kevin@archlinux.org>
# Contributor: John Proctor <jproctor@prium.net>
pkgname=graphviz
pkgver=2.28.0
-pkgrel=2
+pkgrel=4
pkgdesc='Graph visualization software'
url='http://www.graphviz.org/'
license=('custom:EPL')
arch=('i686' 'x86_64')
depends=('gd' 'librsvg' 'libxaw' 'ghostscript' 'pango')
-makedepends=('swig' 'mono' 'guile' 'lua' 'ocaml' 'perl' 'php' 'python2' 'r' 'ruby' 'tk')
+makedepends=('swig' 'mono' 'guile' 'lua' 'ocaml' 'perl' 'php' 'python2' 'r' 'ruby' 'tk' 'qt')
optdepends=('mono: sharp bindings'
'guile: guile bindings'
'lua: lua bindings'
@@ -21,7 +21,8 @@ optdepends=('mono: sharp bindings'
'python2: python bindings'
'r: r bindings'
'ruby: ruby bindings'
- 'tcl: tcl bindings')
+ 'tcl: tcl bindings'
+ 'qt: gvedit')
source=("${url}/pub/${pkgname}/stable/SOURCES/${pkgname}-${pkgver}.tar.gz"
'LICENSE')
sha1sums=('4725d88a13e071ee22e632de551d4a55ca08ee7d'
diff --git a/testing/graphviz/install b/testing/graphviz/install
index 00510e3f6..65fba522b 100644
--- a/testing/graphviz/install
+++ b/testing/graphviz/install
@@ -1,17 +1,12 @@
-# arg 1: the new package version
post_install() {
- # Create plugin config /usr/lib/graphviz/config6
- rm -f usr/lib/graphviz/config{,6}
- usr/bin/dot -c
+ rm -f usr/lib/graphviz/config{,6}
+ usr/bin/dot -c
}
-# arg 1: the new package version
-# arg 2: the old package version
post_upgrade() {
- post_install $1
+ post_install
}
-# arg 1: the old package version
pre_remove() {
- rm -f usr/lib/graphviz/config{,6}
+ rm -f usr/lib/graphviz/config{,6}
}
diff --git a/testing/shadow/LICENSE b/testing/shadow/LICENSE
new file mode 100644
index 000000000..c5ab15a56
--- /dev/null
+++ b/testing/shadow/LICENSE
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 1990 - 1994, Julianne Frances Haugh
+ * Copyright (c) 1996 - 2000, Marek Michałkiewicz
+ * Copyright (c) 2001 - 2006, Tomasz Kłoczko
+ * Copyright (c) 2007 - 2009, Nicolas François
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the copyright holders or contributors may not be used to
+ * endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
diff --git a/testing/shadow/PKGBUILD b/testing/shadow/PKGBUILD
new file mode 100644
index 000000000..b3a130166
--- /dev/null
+++ b/testing/shadow/PKGBUILD
@@ -0,0 +1,106 @@
+# $Id: PKGBUILD 129320 2011-06-26 16:36:48Z eric $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+
+pkgname=shadow
+pkgver=4.1.4.3
+pkgrel=2
+pkgdesc="Password and account management tool suite with support for shadow files and PAM"
+arch=('i686' 'x86_64')
+url='http://pkg-shadow.alioth.debian.org/'
+license=('BSD')
+groups=('base')
+depends=('bash' 'pam' 'acl')
+backup=(etc/login.defs
+ etc/pam.d/{chage,login,passwd,shadow,useradd,usermod,userdel}
+ etc/pam.d/{chpasswd,newusers,groupadd,groupdel,groupmod}
+ etc/pam.d/{chfn,chgpasswd,groupmems,chsh}
+ etc/default/useradd)
+options=('!libtool')
+install=shadow.install
+#http://pkg-shadow.alioth.debian.org/releases/shadow-$pkgver.tar.bz2
+# shadow 4.1.4.3 is just shadow 4.1.4.2 with shadow_CVE-2011-0721.patch applied
+source=(ftp://ftp.archlinux.org/other/shadow/shadow_4.1.4.2+svn3283.orig.tar.gz
+ adduser chgpasswd chpasswd defaults.pam login login.defs newusers
+ passwd shadow.cron.daily useradd.defaults LICENSE
+ xstrdup.patch shadow_CVE-2011-0721.patch shadow-strncpy-usage.patch
+ shadow-add-missing-include.patch)
+sha1sums=('8b704b8f07718e329205f23d457c3121c0f3679e'
+ '78ec184a499f9708adcfcf0b7a3b22a60bf39f91'
+ '4ad0e059406a305c8640ed30d93c2a1f62c2f4ad'
+ 'd66096ed9477bd7242e8d2cc28eaa23170269788'
+ '0e56fed7fc93572c6bf0d8f3b099166558bb46f1'
+ '0b2d98a0ee3bfde8551ade48d4d35cc20ec702a1'
+ 'e5cab2118ecb1e61874cde842d7d04d1003f35cb'
+ 'd66096ed9477bd7242e8d2cc28eaa23170269788'
+ '6f183bc7709b0a8d20ad17481a4ad025cf6e5056'
+ '5d83ba7e11c765c951867cbe00b0ae7ff57148fa'
+ '9ae93de5987dd0ae428f0cc1a5a5a5cd53583f19'
+ '33a6cf1e44a1410e5c9726c89e5de68b78f5f922'
+ '6010fffeed1fc6673ad9875492e1193b1a847b53'
+ '6bfe6528391eb38d338beacedd620407877b637d'
+ '9db9e62ad173f31e1039121c0124cf60826ffd7e'
+ '0697a21f7519de30821da7772677035652df4ad2')
+
+build() {
+ cd "$srcdir/$pkgname-4.1.4.2+svn3283"
+
+ #Ugh, force this to build shared libraries, for god's sake
+ sed -i "s/noinst_LTLIBRARIES/lib_LTLIBRARIES/g" lib/Makefile.am
+ libtoolize
+ autoreconf
+ export LDFLAGS="$LDFLAGS -lcrypt"
+
+ patch -p1 -i "$srcdir/xstrdup.patch"
+ patch -p1 -i "$srcdir/shadow_CVE-2011-0721.patch"
+ patch -p1 -i "$srcdir/shadow-strncpy-usage.patch"
+ patch -p1 -i "$srcdir/shadow-add-missing-include.patch"
+
+ # supress etc/pam.d/*, we provide our own
+ sed -i '/^SUBDIRS/s/pam.d//' etc/Makefile.in
+
+ ./configure \
+ --prefix=/usr --libdir=/lib \
+ --mandir=/usr/share/man --sysconfdir=/etc \
+ --enable-shared --disable-static \
+ --with-libpam --without-selinux
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-4.1.4.2+svn3283"
+ make DESTDIR="$pkgdir" install
+
+ # license
+ install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/shadow/LICENSE"
+
+ # interactive useradd
+ install -Dm755 "$srcdir/adduser" "$pkgdir/usr/sbin/adduser"
+
+ # useradd defaults
+ install -Dm644 "$srcdir/useradd.defaults" "$pkgdir/etc/default/useradd"
+
+ # cron job
+ install -Dm744 "$srcdir/shadow.cron.daily" "$pkgdir/etc/cron.daily/shadow"
+
+ # login.defs
+ install -Dm644 "$srcdir/login.defs" "$pkgdir/etc/login.defs"
+
+ # PAM config - custom
+ install -Dm644 "$srcdir/login" "$pkgdir/etc/pam.d/login"
+ install -Dm644 "$srcdir/passwd" "$pkgdir/etc/pam.d/passwd"
+ install -Dm644 "$srcdir/chgpasswd" "$pkgdir/etc/pam.d/chgpasswd"
+ install -Dm644 "$srcdir/chpasswd" "$pkgdir/etc/pam.d/chpasswd"
+ install -Dm644 "$srcdir/newusers" "$pkgdir/etc/pam.d/newusers"
+ # PAM config - from tarball
+ install -Dm644 etc/pam.d/groupmems "$pkgdir/etc/pam.d/groupmems"
+
+ # we use the 'useradd' PAM file for other similar utilities
+ for file in chage chfn chsh groupadd groupdel groupmod shadow \
+ useradd usermod userdel; do
+ install -Dm644 "$srcdir/defaults.pam" "$pkgdir/etc/pam.d/$file"
+ done
+
+ # Remove su - using su from coreutils instead
+ rm "$pkgdir/bin/su"
+ find "$pkgdir/usr/share/man" -name 'su.1' -delete
+}
diff --git a/testing/shadow/adduser b/testing/shadow/adduser
new file mode 100644
index 000000000..a5d7fd4fa
--- /dev/null
+++ b/testing/shadow/adduser
@@ -0,0 +1,399 @@
+#!/bin/bash
+#
+# Copyright 1995 Hrvoje Dogan, Croatia.
+# Copyright 2002, 2003, 2004 Stuart Winter, West Midlands, England, UK.
+# Copyright 2004 Slackware Linux, Inc., Concord, CA, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+#
+##########################################################################
+# Program: /usr/sbin/adduser
+# Purpose: Interactive front end to /usr/sbin/useradd for Slackware Linux
+# Author : Stuart Winter <stuart@polplex.co.uk>
+# Based on the original Slackware adduser by Hrvoje Dogan
+# with modifications by Patrick Volkerding
+# Version: 1.09
+##########################################################################
+# Usage..: adduser [<new_user_name>]
+##########################################################################
+# History #
+###########
+# v1.09 - 07/06/04
+# * Added standard Slackware script licence to the head of this file.
+# v1.08 - 25/04/04
+# * Disallow user names that begin with a numeric because useradd
+# (from shadow v4.03) does not allow them. <sw>
+# v1.07 - 07/03/03
+# * When supplying a null string for the uid (meaning 'Choose next available'),
+# if there were file names in the range 'a-z' in the pwd then the
+# egrep command considered these files rather than the null string.
+# The egrep expression is now in quotes.
+# Reported & fixed by Vadim O. Ustiansky <sw>
+# v1.06 - 31/03/03
+# * Ask to chown user.group the home directory if it already exists.
+# This helps reduce later confusion when adding users whose home dir
+# already exists (mounted partition for example) and is owned
+# by a user other than the user to which the directory is being
+# assigned as home. Default is not to chown.
+# Brought to my attention by mRgOBLIN. <sw>
+# v1.05 - 04/01/03
+# * Advise & prevent users from creating logins with '.' characters
+# in the user name. <sw>
+# * Made pending account creation info look neater <sw>
+# v1.04 - 09/06/02
+# * Catered for shadow-4.0.3's 'useradd' binary that no longer
+# will let you create a user that has any uppercase chars in it
+# This was reported on the userlocal.org forums
+# by 'xcp' - thanks. <sw,pjv>
+# v1.03 - 20/05/02
+# * Support 'broken' (null lines in) /etc/passwd and
+# /etc/group files <sw>
+# * For recycling UIDs (default still 'off'), we now look in
+# /etc/login.defs for the UID_MIN value and use it
+# If not found then default to 1000 <sw>
+# v1.02 - 10/04/02
+# * Fix user-specified UID bug. <pjv>
+# v1.01 - 23/03/02
+# * Match Slackware indenting style, simplify. <pjv>
+# v1.00 - 22/03/02
+# * Created
+#######################################################################
+
+# Path to files
+pfile=/etc/passwd
+gfile=/etc/group
+sfile=/etc/shells
+
+# Paths to binaries
+useradd=/usr/sbin/useradd
+chfn=/usr/bin/chfn
+passwd=/usr/bin/passwd
+
+# Defaults
+defhome=/home
+defshell=/bin/bash
+defgroup=users
+
+# Determine what the minimum UID is (for UID recycling)
+# (we ignore it if it's not at the beginning of the line (i.e. commented out with #))
+export recycleUIDMIN="$(grep ^UID_MIN /etc/login.defs | awk '{print $2}' 2>/dev/null)"
+# If we couldn't find it, set it to the default of 1000
+if [ -z "$recycleUIDMIN" ]; then
+ export recycleUIDMIN=1000 # this is the default from Slackware's /etc/login.defs
+fi
+
+
+# This setting enables the 'recycling' of older unused UIDs.
+# When you userdel a user, it removes it from passwd and shadow but it will
+# never get used again unless you specify it expliticly -- useradd (appears to) just
+# look at the last line in passwd and increment the uid. I like the idea of
+# recycling uids but you may have very good reasons not to (old forgotten
+# confidential files still on the system could then be owned by this new user).
+# We'll set this to no because this is what the original adduser shell script
+# did and it's what users expect.
+recycleuids=no
+
+# Function to read keyboard input.
+# bash1 is broken (even ash will take read -ep!), so we work around
+# it (even though bash1 is no longer supported on Slackware).
+function get_input() {
+ local output
+ if [ "`echo $BASH_VERSION | cut -b1`" = "1" ]; then
+ echo -n "${1} " >&2 # fudge for use with bash v1
+ read output
+ else # this should work with any other /bin/sh
+ read -ep "${1} " output
+ fi
+ echo $output
+}
+
+# Function to display the account info
+function display () {
+ local goose
+ goose="$(echo $2 | cut -d ' ' -f 2-)" # lop off the prefixed argument useradd needs
+ echo -n "$1 "
+ # If it's null then display the 'other' information
+ if [ -z "$goose" -a ! -z "$3" ]; then
+ echo "$3"
+ else
+ echo "$goose"
+ fi
+}
+
+# Function to check whether groups exist in the /etc/group file
+function check_group () {
+ local got_error group
+ if [ ! -z "$@" ]; then
+ for group in $@ ; do
+ local uid_not_named="" uid_not_num=""
+ grep -v "$^" $gfile | awk -F: '{print $1}' | grep "^${group}$" >/dev/null 2>&1 || uid_not_named=yes
+ grep -v "$^" $gfile | awk -F: '{print $3}' | grep "^${group}$" >/dev/null 2>&1 || uid_not_num=yes
+ if [ ! -z "$uid_not_named" -a ! -z "$uid_not_num" ]; then
+ echo "- Group '$group' does not exist"
+ got_error=yes
+ fi
+ done
+ fi
+ # Return exit code of 1 if at least one of the groups didn't exist
+ if [ ! -z "$got_error" ]; then
+ return 1
+ fi
+}
+
+#: Read the login name for the new user :#
+#
+# Remember that most Mail Transfer Agents are case independant, so having
+# 'uSer' and 'user' may cause confusion/things to break. Because of this,
+# useradd from shadow-4.0.3 no longer accepts usernames containing uppercase,
+# and we must reject them, too.
+
+# Set the login variable to the command line param
+echo
+LOGIN="$1"
+needinput=yes
+while [ ! -z $needinput ]; do
+ if [ -z "$LOGIN" ]; then
+ while [ -z "$LOGIN" ]; do LOGIN="$(get_input "Login name for new user []:")" ; done
+ fi
+ grep "^${LOGIN}:" $pfile >/dev/null 2>&1 # ensure it's not already used
+ if [ $? -eq 0 ]; then
+ echo "- User '$LOGIN' already exists; please choose another"
+ unset LOGIN
+ elif [ ! -z "$( echo $LOGIN | grep "^[0-9]" )" ]; then
+ echo "- User names cannot begin with a number; please choose another"
+ unset LOGIN
+ elif [ ! "$LOGIN" = "`echo $LOGIN | tr A-Z a-z`" ]; then # useradd does not allow uppercase
+ echo "- User '$LOGIN' contains illegal characters (uppercase); please choose another"
+ unset LOGIN
+ elif [ ! -z "$( echo $LOGIN | grep '\.' )" ]; then
+ echo "- User '$LOGIN' contains illegal characters (period/dot); please choose another"
+ unset LOGIN
+ else
+ unset needinput
+ fi
+done
+
+# Display the user name passed from the shell if it hasn't changed
+if [ "$1" = "$LOGIN" ]; then
+ echo "Login name for new user: $LOGIN"
+fi
+
+#: Get the UID for the user & ensure it's not already in use :#
+#
+# Whilst we _can_ allow users with identical UIDs, it's not a 'good thing' because
+# when you change password for the uid, it finds the first match in /etc/passwd
+# which isn't necessarily the correct user
+#
+echo
+needinput=yes
+while [ ! -z "$needinput" ]; do
+ _UID="$(get_input "User ID ('UID') [ defaults to next available ]:")"
+ grep -v "^$" $pfile | awk -F: '{print $3}' | grep "^${_UID}$" >/dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ echo "- That UID is already in use; please choose another"
+ elif [ ! -z "$(echo $_UID | egrep '[A-Za-z]')" ]; then
+ echo "- UIDs are numerics only"
+ else
+ unset needinput
+ fi
+done
+# If we were given a UID, then syntax up the variable to pass to useradd
+if [ ! -z "$_UID" ]; then
+ U_ID="-u ${_UID}"
+else
+ # Will we be recycling UIDs?
+ if [ "$recycleuids" = "yes" ]; then
+ U_ID="-u $(awk -F: '{uid[$3]=1} END { for (i=ENVIRON["recycleUIDMIN"];i in uid;i++);print i}' $pfile)"
+ fi
+fi
+
+#: Get the initial group for the user & ensure it exists :#
+#
+# We check /etc/group for both the text version and the group ID number
+echo
+needinput=yes
+while [ ! -z "$needinput" ]; do
+ GID="$(get_input "Initial group [ ${defgroup} ]:")"
+ check_group "$GID"
+ if [ $? -gt 0 ]; then
+ echo "- Please choose another"
+ else
+ unset needinput
+ fi
+done
+# Syntax the variable ready for useradd
+if [ -z "$GID" ]; then
+ GID="-g ${defgroup}"
+else
+ GID="-g ${GID}"
+fi
+
+#: Get additional groups for the user :#
+#
+echo
+needinput=yes
+while [ ! -z "$needinput" ]; do
+ AGID="$(get_input "Additional groups (comma separated) []:")"
+ AGID="$(echo "$AGID" | tr -d ' ' | tr , ' ')" # fix up for parsing
+ if [ ! -z "$AGID" ]; then
+ check_group "$AGID" # check all groups at once (treated as N # of params)
+ if [ $? -gt 0 ]; then
+ echo "- Please re-enter the group(s)"
+ else
+ unset needinput # we found all groups specified
+ AGID="-G $(echo "$AGID" | tr ' ' ,)"
+ fi
+ else
+ unset needinput # we don't *have* to have additional groups
+ fi
+done
+
+#: Get the new user's home dir :#
+#
+echo
+needinput=yes
+while [ ! -z "$needinput" ]; do
+ HME="$(get_input "Home directory [ ${defhome}/${LOGIN} ]")"
+ if [ -z "$HME" ]; then
+ HME="${defhome}/${LOGIN}"
+ fi
+ # Warn the user if the home dir already exists
+ if [ -d "$HME" ]; then
+ echo "- Warning: '$HME' already exists !"
+ getyn="$(get_input " Do you wish to change the home directory path ? (Y/n) ")"
+ if [ "$(echo $getyn | grep -i "n")" ]; then
+ unset needinput
+ # You're most likely going to only do this if you have the dir *mounted* for this user's $HOME
+ getyn="$(get_input " Do you want to chown $LOGIN.$( echo $GID | awk '{print $2}') $HME ? (y/N) ")"
+ if [ "$(echo $getyn | grep -i "y")" ]; then
+ CHOWNHOMEDIR=$HME # set this to the home directory
+ fi
+ fi
+ else
+ unset needinput
+ fi
+done
+HME="-d ${HME}"
+
+#: Get the new user's shell :#
+echo
+needinput=yes
+while [ ! -z "$needinput" ]; do
+ unset got_error
+ SHL="$(get_input "Shell [ ${defshell} ]")"
+ if [ -z "$SHL" ]; then
+ SHL="${defshell}"
+ fi
+ # Warn the user if the shell doesn't exist in /etc/shells or as a file
+ if [ -z "$(grep "^${SHL}$" $sfile)" ]; then
+ echo "- Warning: ${SHL} is not in ${sfile} (potential problem using FTP)"
+ got_error=yes
+ fi
+ if [ ! -f "$SHL" ]; then
+ echo "- Warning: ${SHL} does not exist as a file"
+ got_error=yes
+ fi
+ if [ ! -z "$got_error" ]; then
+ getyn="$(get_input " Do you wish to change the shell ? (Y/n) ")"
+ if [ "$(echo $getyn | grep -i "n")" ]; then
+ unset needinput
+ fi
+ else
+ unset needinput
+ fi
+done
+SHL="-s ${SHL}"
+
+#: Get the expiry date :#
+echo
+needinput=yes
+while [ ! -z "$needinput" ]; do
+ EXP="$(get_input "Expiry date (YYYY-MM-DD) []:")"
+ if [ ! -z "$EXP" ]; then
+ # Check to see whether the expiry date is in the valid format
+ if [ -z "$(echo "$EXP" | grep "^[[:digit:]]\{4\}[-]\?[[:digit:]]\{2\}[-]\?[[:digit:]]\{2\}$")" ]; then
+ echo "- That is not a valid expiration date"
+ else
+ unset needinput
+ EXP="-e ${EXP}"
+ fi
+ else
+ unset needinput
+ fi
+done
+
+# Display the info about the new impending account
+echo
+echo "New account will be created as follows:"
+echo
+echo "---------------------------------------"
+display "Login name.......: " "$LOGIN"
+display "UID..............: " "$_UID" "[ Next available ]"
+display "Initial group....: " "$GID"
+display "Additional groups: " "$AGID" "[ None ]"
+display "Home directory...: " "$HME"
+display "Shell............: " "$SHL"
+display "Expiry date......: " "$EXP" "[ Never ]"
+echo
+
+echo "This is it... if you want to bail out, hit Control-C. Otherwise, press"
+echo "ENTER to go ahead and make the account."
+read junk
+
+echo
+echo "Creating new account..."
+echo
+echo
+
+# Add the account to the system
+CMD="$useradd "$HME" -m "$EXP" "$U_ID" "$GID" "$AGID" "$SHL" "$LOGIN""
+$CMD
+
+if [ $? -gt 0 ]; then
+ echo "- Error running useradd command -- account not created!"
+ echo "(cmd: $CMD)"
+ exit 1
+fi
+
+# chown the home dir ? We can only do this once the useradd has
+# completed otherwise the user name doesn't exist.
+if [ ! -z "${CHOWNHOMEDIR}" ]; then
+ chown "$LOGIN"."$( echo $GID | awk '{print $2}')" "${CHOWNHOMEDIR}"
+fi
+
+# Set the finger information
+$chfn "$LOGIN"
+if [ $? -gt 0 ]; then
+ echo "- Warning: an error occurred while setting finger information"
+fi
+
+# Set a password
+$passwd "$LOGIN"
+if [ $? -gt 0 ]; then
+ echo "* WARNING: An error occured while setting the password for"
+ echo " this account. Please manually investigate this *"
+ exit 1
+fi
+
+echo
+echo
+echo "Account setup complete."
+exit 0
+
diff --git a/testing/shadow/chgpasswd b/testing/shadow/chgpasswd
new file mode 100644
index 000000000..8f49f5cc8
--- /dev/null
+++ b/testing/shadow/chgpasswd
@@ -0,0 +1,4 @@
+#%PAM-1.0
+auth sufficient pam_rootok.so
+account required pam_permit.so
+password include system-auth
diff --git a/testing/shadow/chpasswd b/testing/shadow/chpasswd
new file mode 100644
index 000000000..bc14857dc
--- /dev/null
+++ b/testing/shadow/chpasswd
@@ -0,0 +1,6 @@
+#%PAM-1.0
+auth sufficient pam_rootok.so
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_unix.so
+password required pam_unix.so md5 shadow
diff --git a/testing/shadow/defaults.pam b/testing/shadow/defaults.pam
new file mode 100644
index 000000000..a7bf8a4a5
--- /dev/null
+++ b/testing/shadow/defaults.pam
@@ -0,0 +1,6 @@
+#%PAM-1.0
+auth sufficient pam_rootok.so
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_unix.so
+password required pam_permit.so
diff --git a/testing/shadow/login b/testing/shadow/login
new file mode 100644
index 000000000..51ff96a4a
--- /dev/null
+++ b/testing/shadow/login
@@ -0,0 +1,20 @@
+#%PAM-1.0
+auth required pam_securetty.so
+auth requisite pam_nologin.so
+auth required pam_unix.so nullok
+auth required pam_tally.so onerr=succeed file=/var/log/faillog
+# use this to lockout accounts for 10 minutes after 3 failed attempts
+#auth required pam_tally.so deny=2 unlock_time=600 onerr=succeed file=/var/log/faillog
+account required pam_access.so
+account required pam_time.so
+account required pam_unix.so
+#password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
+#password required pam_unix.so md5 shadow use_authtok
+session required pam_unix.so
+session required pam_env.so
+session required pam_motd.so
+session required pam_limits.so
+session optional pam_mail.so dir=/var/spool/mail standard
+session optional pam_lastlog.so
+session optional pam_loginuid.so
+-session optional pam_ck_connector.so nox11
diff --git a/testing/shadow/login.defs b/testing/shadow/login.defs
new file mode 100644
index 000000000..2500ee447
--- /dev/null
+++ b/testing/shadow/login.defs
@@ -0,0 +1,197 @@
+#
+# /etc/login.defs - Configuration control definitions for the login package.
+#
+# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH.
+# If unspecified, some arbitrary (and possibly incorrect) value will
+# be assumed. All other items are optional - if not specified then
+# the described action or option will be inhibited.
+#
+# Comment lines (lines beginning with "#") and blank lines are ignored.
+#
+# Modified for Linux. --marekm
+
+#
+# Delay in seconds before being allowed another attempt after a login failure
+#
+FAIL_DELAY 3
+
+#
+# Enable display of unknown usernames when login failures are recorded.
+#
+LOG_UNKFAIL_ENAB no
+
+#
+# Enable logging of successful logins
+#
+LOG_OK_LOGINS no
+
+#
+# Enable "syslog" logging of su activity - in addition to sulog file logging.
+# SYSLOG_SG_ENAB does the same for newgrp and sg.
+#
+SYSLOG_SU_ENAB yes
+SYSLOG_SG_ENAB yes
+
+#
+# If defined, either full pathname of a file containing device names or
+# a ":" delimited list of device names. Root logins will be allowed only
+# upon these devices.
+#
+CONSOLE /etc/securetty
+#CONSOLE console:tty01:tty02:tty03:tty04
+
+#
+# If defined, all su activity is logged to this file.
+#
+#SULOG_FILE /var/log/sulog
+
+#
+# If defined, file which maps tty line to TERM environment parameter.
+# Each line of the file is in a format something like "vt100 tty01".
+#
+#TTYTYPE_FILE /etc/ttytype
+
+#
+# If defined, the command name to display when running "su -". For
+# example, if this is defined as "su" then a "ps" will display the
+# command is "-su". If not defined, then "ps" would display the
+# name of the shell actually being run, e.g. something like "-sh".
+#
+SU_NAME su
+
+#
+# *REQUIRED*
+# Directory where mailboxes reside, _or_ name of file, relative to the
+# home directory. If you _do_ define both, MAIL_DIR takes precedence.
+# QMAIL_DIR is for Qmail
+#
+#QMAIL_DIR Maildir
+MAIL_DIR /var/spool/mail
+
+#
+# If defined, file which inhibits all the usual chatter during the login
+# sequence. If a full pathname, then hushed mode will be enabled if the
+# user's name or shell are found in the file. If not a full pathname, then
+# hushed mode will be enabled if the file exists in the user's home directory.
+#
+HUSHLOGIN_FILE .hushlogin
+#HUSHLOGIN_FILE /etc/hushlogins
+
+#
+# *REQUIRED* The default PATH settings, for superuser and normal users.
+#
+# (they are minimal, add the rest in the shell startup files)
+ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ENV_PATH PATH=/bin:/usr/bin
+
+#
+# Terminal permissions
+#
+# TTYGROUP Login tty will be assigned this group ownership.
+# TTYPERM Login tty will be set to this permission.
+#
+# If you have a "write" program which is "setgid" to a special group
+# which owns the terminals, define TTYGROUP to the group number and
+# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign
+# TTYPERM to either 622 or 600.
+#
+TTYGROUP tty
+TTYPERM 0600
+
+#
+# Login configuration initializations:
+#
+# ERASECHAR Terminal ERASE character ('\010' = backspace).
+# KILLCHAR Terminal KILL character ('\025' = CTRL/U).
+# UMASK Default "umask" value.
+#
+# The ERASECHAR and KILLCHAR are used only on System V machines.
+# The ULIMIT is used only if the system supports it.
+# (now it works with setrlimit too; ulimit is in 512-byte units)
+#
+# Prefix these values with "0" to get octal, "0x" to get hexadecimal.
+#
+ERASECHAR 0177
+KILLCHAR 025
+UMASK 077
+
+#
+# Password aging controls:
+#
+# PASS_MAX_DAYS Maximum number of days a password may be used.
+# PASS_MIN_DAYS Minimum number of days allowed between password changes.
+# PASS_WARN_AGE Number of days warning given before a password expires.
+#
+PASS_MAX_DAYS 99999
+PASS_MIN_DAYS 0
+PASS_WARN_AGE 7
+
+#
+# Min/max values for automatic uid selection in useradd
+#
+UID_MIN 1000
+UID_MAX 60000
+# System accounts
+SYS_UID_MIN 500
+SYS_UID_MAX 999
+
+#
+# Min/max values for automatic gid selection in groupadd
+#
+GID_MIN 1000
+GID_MAX 60000
+# System accounts
+SYS_GID_MIN 500
+SYS_GID_MAX 999
+
+#
+# Max number of login retries if password is bad
+#
+LOGIN_RETRIES 5
+
+#
+# Max time in seconds for login
+#
+LOGIN_TIMEOUT 60
+
+#
+# Which fields may be changed by regular users using chfn - use
+# any combination of letters "frwh" (full name, room number, work
+# phone, home phone). If not defined, no changes are allowed.
+# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
+#
+CHFN_RESTRICT rwh
+
+#
+# List of groups to add to the user's supplementary group set
+# when logging in on the console (as determined by the CONSOLE
+# setting). Default is none.
+#
+# Use with caution - it is possible for users to gain permanent
+# access to these groups, even when not logged in on the console.
+# How to do it is left as an exercise for the reader...
+#
+#CONSOLE_GROUPS floppy:audio:cdrom
+
+#
+# Should login be allowed if we can't cd to the home directory?
+# Default in no.
+#
+DEFAULT_HOME yes
+
+#
+# If defined, this command is run when removing a user.
+# It should remove any at/cron/print jobs etc. owned by
+# the user to be removed (passed as the first argument).
+#
+#USERDEL_CMD /usr/sbin/userdel_local
+
+#
+# Enable setting of the umask group bits to be the same as owner bits
+# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is
+# the same as gid, and username is the same as the primary group name.
+#
+# This also enables userdel to remove user groups if no members exist.
+#
+USERGROUPS_ENAB yes
+
diff --git a/testing/shadow/newusers b/testing/shadow/newusers
new file mode 100644
index 000000000..bc14857dc
--- /dev/null
+++ b/testing/shadow/newusers
@@ -0,0 +1,6 @@
+#%PAM-1.0
+auth sufficient pam_rootok.so
+auth required pam_unix.so
+account required pam_unix.so
+session required pam_unix.so
+password required pam_unix.so md5 shadow
diff --git a/testing/shadow/passwd b/testing/shadow/passwd
new file mode 100644
index 000000000..1ffd1bdd8
--- /dev/null
+++ b/testing/shadow/passwd
@@ -0,0 +1,4 @@
+#%PAM-1.0
+#password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
+#password required pam_unix.so md5 shadow use_authtok
+password required pam_unix.so md5 shadow nullok
diff --git a/testing/shadow/shadow-add-missing-include.patch b/testing/shadow/shadow-add-missing-include.patch
new file mode 100644
index 000000000..5c9e946ef
--- /dev/null
+++ b/testing/shadow/shadow-add-missing-include.patch
@@ -0,0 +1,11 @@
+diff -Naur shadow-4.1.4.2+svn3283/libmisc/copydir.c shadow-4.1.4.2+svn3283.new/libmisc/copydir.c
+--- shadow-4.1.4.2+svn3283/libmisc/copydir.c 2010-09-05 11:35:26.000000000 -0400
++++ shadow-4.1.4.2+svn3283.new/libmisc/copydir.c 2011-06-26 01:26:52.000000000 -0400
+@@ -34,6 +34,7 @@
+
+ #ident "$Id: copydir.c 3283 2010-09-05 15:34:42Z nekral-guest $"
+
++#include <stdarg.h>
+ #include <assert.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
diff --git a/testing/shadow/shadow-strncpy-usage.patch b/testing/shadow/shadow-strncpy-usage.patch
new file mode 100644
index 000000000..46df74ace
--- /dev/null
+++ b/testing/shadow/shadow-strncpy-usage.patch
@@ -0,0 +1,27 @@
+diff -ur shadow-4.1.4.3.orig/src/login.c shadow-4.1.4.3/src/login.c
+--- shadow-4.1.4.3.orig/src/login.c 2011-03-05 22:17:10.032524948 -0800
++++ shadow-4.1.4.3/src/login.c 2011-03-05 22:17:59.154342059 -0800
+@@ -748,8 +748,9 @@
+ sizeof (loginprompt),
+ _("%s login: "), hostn);
+ } else {
++ loginprompt[sizeof (loginprompt) - 1] = '\0';
+ strncpy (loginprompt, _("login: "),
+- sizeof (loginprompt));
++ sizeof (loginprompt) - 1);
+ }
+
+ retcode = pam_set_item (pamh, PAM_USER_PROMPT, loginprompt);
+diff -ur shadow-4.1.4.3.orig/src/usermod.c shadow-4.1.4.3/src/usermod.c
+--- shadow-4.1.4.3.orig/src/usermod.c 2011-03-05 22:17:10.029191265 -0800
++++ shadow-4.1.4.3/src/usermod.c 2011-03-05 22:18:42.665576968 -0800
+@@ -182,7 +182,8 @@
+ struct tm *tp;
+
+ if ((negativ != NULL) && (date < 0)) {
+- strncpy (buf, negativ, maxsize);
++ buf[maxsize - 1] = '\0';
++ strncpy (buf, negativ, maxsize - 1);
+ } else {
+ time_t t = (time_t) date;
+ tp = gmtime (&t);
diff --git a/testing/shadow/shadow.cron.daily b/testing/shadow/shadow.cron.daily
new file mode 100755
index 000000000..1931a793e
--- /dev/null
+++ b/testing/shadow/shadow.cron.daily
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Verify integrity of password and group files
+/usr/sbin/pwck -r
+/usr/sbin/grpck -r
+
diff --git a/testing/shadow/shadow.install b/testing/shadow/shadow.install
new file mode 100644
index 000000000..c1bd1066b
--- /dev/null
+++ b/testing/shadow/shadow.install
@@ -0,0 +1,8 @@
+post_upgrade() {
+ grpck -r &>/dev/null
+ if [ $? -eq 2 ]; then
+ echo "Fixing gshadow file ..."
+ while :; do echo "y"; done | grpck &>/dev/null
+ fi
+ return 0
+}
diff --git a/testing/shadow/shadow_CVE-2011-0721.patch b/testing/shadow/shadow_CVE-2011-0721.patch
new file mode 100644
index 000000000..eb9ad80a2
--- /dev/null
+++ b/testing/shadow/shadow_CVE-2011-0721.patch
@@ -0,0 +1,57 @@
+Goal: Input sanitization for chfn and chsh
+
+Fixes: CVE-2011-0721
+
+Status wrt upstream: Already applied upstream (4.1.4.3)
+
+--- a/src/chfn.c
++++ b/src/chfn.c
+@@ -551,14 +551,14 @@
+ static void check_fields (void)
+ {
+ int err;
+- err = valid_field (fullnm, ":,=");
++ err = valid_field (fullnm, ":,=\n");
+ if (err > 0) {
+ fprintf (stderr, _("%s: name with non-ASCII characters: '%s'\n"), Prog, fullnm);
+ } else if (err < 0) {
+ fprintf (stderr, _("%s: invalid name: '%s'\n"), Prog, fullnm);
+ fail_exit (E_NOPERM);
+ }
+- err = valid_field (roomno, ":,=");
++ err = valid_field (roomno, ":,=\n");
+ if (err > 0) {
+ fprintf (stderr, _("%s: room number with non-ASCII characters: '%s'\n"), Prog, roomno);
+ } else if (err < 0) {
+@@ -566,17 +566,17 @@
+ Prog, roomno);
+ fail_exit (E_NOPERM);
+ }
+- if (valid_field (workph, ":,=") != 0) {
++ if (valid_field (workph, ":,=\n") != 0) {
+ fprintf (stderr, _("%s: invalid work phone: '%s'\n"),
+ Prog, workph);
+ fail_exit (E_NOPERM);
+ }
+- if (valid_field (homeph, ":,=") != 0) {
++ if (valid_field (homeph, ":,=\n") != 0) {
+ fprintf (stderr, _("%s: invalid home phone: '%s'\n"),
+ Prog, homeph);
+ fail_exit (E_NOPERM);
+ }
+- err = valid_field (slop, ":");
++ err = valid_field (slop, ":\n");
+ if (err > 0) {
+ fprintf (stderr, _("%s: '%s' contains non-ASCII characters\n"), Prog, slop);
+ } else if (err < 0) {
+--- a/src/chsh.
++++ b/src/chsh.c
+@@ -528,7 +528,7 @@
+ * users are restricted to using the shells in /etc/shells.
+ * The shell must be executable by the user.
+ */
+- if (valid_field (loginsh, ":,=") != 0) {
++ if (valid_field (loginsh, ":,=\n") != 0) {
+ fprintf (stderr, _("%s: Invalid entry: %s\n"), Prog, loginsh);
+ fail_exit (1);
+ }
diff --git a/testing/shadow/useradd.defaults b/testing/shadow/useradd.defaults
new file mode 100644
index 000000000..b800b1777
--- /dev/null
+++ b/testing/shadow/useradd.defaults
@@ -0,0 +1,9 @@
+# useradd defaults file for ArchLinux
+# original changes by TomK
+GROUP=100
+HOME=/home
+INACTIVE=-1
+EXPIRE=
+SHELL=/bin/bash
+SKEL=/etc/skel
+CREATE_MAIL_SPOOL=no
diff --git a/testing/shadow/xstrdup.patch b/testing/shadow/xstrdup.patch
new file mode 100644
index 000000000..bce434264
--- /dev/null
+++ b/testing/shadow/xstrdup.patch
@@ -0,0 +1,9 @@
+--- shadow-4.1.2.1/libmisc/xmalloc.c 2008-08-30 21:55:44.000000000 -0500
++++ shadow-4.1.2.1/libmisc/xmalloc.c.new 2008-08-30 21:55:36.000000000 -0500
+@@ -61,5 +61,6 @@
+
+ char *xstrdup (const char *str)
+ {
++ if(str == NULL) return NULL;
+ return strcpy (xmalloc (strlen (str) + 1), str);
+ }