diff options
author | root <root@rshg054.dnsready.net> | 2011-09-09 23:14:45 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2011-09-09 23:14:45 +0000 |
commit | 42db4a0cf3a829fcd1bc2150669c6aa3c2984815 (patch) | |
tree | 91bdb63fa6802146ab19b3fbf8f6fc5ab78e23c2 | |
parent | a7b0a0b362d0535cd86b575a45ec70cc2332fa62 (diff) |
Fri Sep 9 23:14:45 UTC 2011
58 files changed, 1976 insertions, 94 deletions
diff --git a/community/calcurse/PKGBUILD b/community/calcurse/PKGBUILD index a3e9c8b43..a3cae0512 100644 --- a/community/calcurse/PKGBUILD +++ b/community/calcurse/PKGBUILD @@ -1,24 +1,23 @@ -# $Id: PKGBUILD 53403 2011-08-03 11:06:10Z lfleischer $ +# $Id: PKGBUILD 55277 2011-09-08 13:31:41Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Ronald van Haren <ronald.archlinux.org> # Contributor: wain <wain.at.gmx.net> pkgname=calcurse -pkgver=2.9.1 -pkgrel=2 +pkgver=2.9.2 +pkgrel=1 pkgdesc='A text-based personal organizer.' arch=('i686' 'x86_64') url='http://calcurse.org/' license=('BSD') depends=('ncurses') -makedepends=('asciidoc') source=("http://calcurse.org/files/${pkgname}-${pkgver}.tar.gz") -md5sums=('3a1af304a55a87169c425099b4886dc2') +md5sums=('5cb7d9c9edddc551fc62c9c5733591c5') build() { cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr --mandir=/usr/share/man + ./configure --enable-docs --without-asciidoc --prefix=/usr --mandir=/usr/share/man make } diff --git a/community/flumotion/PKGBUILD b/community/flumotion/PKGBUILD index 531c49b97..216069a0f 100644 --- a/community/flumotion/PKGBUILD +++ b/community/flumotion/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 47404 2011-05-22 20:37:23Z tdziedzic $ +# $Id: PKGBUILD 55283 2011-09-08 19:32:44Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr> # Contributor: William Rea <sillywilly@gmail.com> pkgname=flumotion -pkgver=0.8.1 +pkgver=0.9.1 pkgrel=1 arch=('i686' 'x86_64') pkgdesc="A streaming media server" @@ -17,7 +17,7 @@ depends=('gtk2' 'pygtk' 'gstreamer0.10-python' 'kiwi' 'gstreamer0.10-good-plugin 'gstreamer0.10-base-plugins' 'python2-pyopenssl' 'twisted' 'gnome-vfs') makedepends=('perlxml') source=(http://www.flumotion.net/src/$pkgname/$pkgname-$pkgver.tar.bz2) -md5sums=('8970bb126a1720ae3f0b2d02924e5700') +md5sums=('b2fa7c2e7ce8e2a5415f9096bfce783b') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/pinfo/PKGBUILD b/community/pinfo/PKGBUILD index 9e0791384..d5ac06d0e 100644 --- a/community/pinfo/PKGBUILD +++ b/community/pinfo/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 38757 2011-01-31 16:57:31Z spupykin $ +# $Id: PKGBUILD 55275 2011-09-08 12:47:50Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Contributor: Jaroslaw Swierczynski <swiergot@aur.archlinux.org> pkgname=pinfo pkgver=0.6.10 -pkgrel=1 +pkgrel=2 pkgdesc="A hypertext info file viewer" arch=('i686' 'x86_64') url="http://pinfo.alioth.debian.org/" @@ -17,6 +17,7 @@ build() { cd $srcdir/$pkgname-$pkgver unset LDFLAGS [ -x configure ] || ./autogen.sh + sed -i 's|nogroup|nobody|' src/pinforc.in src/utils.c [ -f Makefile ] || ./configure --prefix=/usr --sysconfdir=/etc --enable-cursor \ --mandir=/usr/share/man --infodir=/usr/share/info make diff --git a/community/pragha/PKGBUILD b/community/pragha/PKGBUILD index 9a247db2b..7dd6902ce 100755 --- a/community/pragha/PKGBUILD +++ b/community/pragha/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 54544 2011-08-20 07:24:22Z ttopper $ +# $Id: PKGBUILD 55279 2011-09-08 15:03:04Z ttopper $ # Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de> # Contributor: Alois Nespor <alois.nespor@gmail.com> # Contributor: JerichoKru <jerichokru(AT)htomail.com> pkgname=pragha -pkgver=0.98.0 +pkgver=0.99.0 pkgrel=1 pkgdesc="A lightweight GTK+ music manager - fork of Consonance Music Manager." arch=('i686' 'x86_64') @@ -18,7 +18,7 @@ optdepends=('notification-daemon: OSD notification') replaces=('dissonance') install=pragha.install source=(http://dissonance.googlecode.com/files/$pkgname-$pkgver.tar.bz2) -sha1sums=('b648a9fc7881709711097e394a7e854595709772') +sha1sums=('0791335c29121e6288962f4a7fbe074e4db73c9d') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/community/pragha/pragha.install b/community/pragha/pragha.install index 7db352036..ff5a644bd 100755 --- a/community/pragha/pragha.install +++ b/community/pragha/pragha.install @@ -1,8 +1,10 @@ post_install() { gtk-update-icon-cache -q -f -t usr/share/icons/hicolor + update-desktop-database -q } post_remove() { gtk-update-icon-cache -q -f -t usr/share/icons/hicolor + update-desktop-database -q } diff --git a/community/roxterm/PKGBUILD b/community/roxterm/PKGBUILD index 26b7d7617..321366e0e 100644 --- a/community/roxterm/PKGBUILD +++ b/community/roxterm/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 54833 2011-08-26 19:35:19Z ttopper $ +# $Id: PKGBUILD 55281 2011-09-08 15:08:58Z ttopper $ # Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de> # Contributor: Alexander Fehr <pizzapunk gmail com> pkgname=roxterm -pkgver=2.0.1 -pkgrel=2 +pkgver=2.1.1 +pkgrel=1 pkgdesc="Tabbed, VTE-based terminal emulator" arch=('i686' 'x86_64') url="http://roxterm.sourceforge.net/" @@ -13,8 +13,8 @@ depends=('dbus-glib' 'vte3' 'hicolor-icon-theme' 'dbus' 'dbus-core' 'glib2') makedepends=('docbook-xsl' 'xmlto' 'po4a') install=roxterm.install source=(http://downloads.sourceforge.net/roxterm/roxterm-$pkgver.tar.gz) -md5sums=('114d571d42b2ddd7a777b26339a07573') -sha1sums=('0ba8b6501a81a9527671f13be5111c6434cd4f0b') +md5sums=('45f694c3633a4af2b76472dcac9203a7') +sha1sums=('c4fb10ca28ca5d781a2ed98cb7e13cbac0762cc9') build() { diff --git a/community/rsyslog/PKGBUILD b/community/rsyslog/PKGBUILD index a3b0c17fa..1513e7fe7 100644 --- a/community/rsyslog/PKGBUILD +++ b/community/rsyslog/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 54481 2011-08-18 15:08:38Z bluewind $ +# $Id: PKGBUILD 55273 2011-09-08 12:30:20Z spupykin $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> pkgname=rsyslog -pkgver=5.8.4 -pkgrel=2 +pkgver=5.8.5 +pkgrel=1 pkgdesc="An enhanced multi-threaded syslogd with a focus on security and reliability" url="http://www.rsyslog.com/" arch=('i686' 'x86_64') @@ -22,7 +22,7 @@ source=("http://www.rsyslog.com/files/download/rsyslog/rsyslog-$pkgver.tar.gz" 'rsyslog' 'rsyslog.logrotate' 'rsyslog.conf.d') -md5sums=('a2c2a65ac84d9a895c52a754aff61986' +md5sums=('a73cb577cb4bc5b9c8f0d217eb054ad2' 'a18bbcbb6ebdaa13a6ec6d9f3d9eb2da' '8065db4bef3061a4f000ba58779f6829' '1a0cd4530dd5d1439456d5ae230574d9') diff --git a/extra/digikam/PKGBUILD b/extra/digikam/PKGBUILD index 7f60bd6e8..ead1d0b85 100644 --- a/extra/digikam/PKGBUILD +++ b/extra/digikam/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 134112 2011-08-01 17:31:36Z andrea $ +# $Id: PKGBUILD 137536 2011-09-08 21:54:21Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> pkgbase=digikam pkgname=('digikam' 'kipi-plugins' 'libkface' 'libkgeomap' 'libmediawiki') -pkgver=2.0.0 -pkgrel=2 +pkgver=2.1.0 +pkgrel=1 pkgdesc="Digital photo management application for KDE" arch=('i686' 'x86_64') license=('GPL') @@ -14,7 +14,7 @@ makedepends=('kdepimlibs' 'libkexiv2' 'libkdcraw' 'libkipi' 'libksane' 'liblqr' 'kdeedu-marble' 'opencv' 'boost' 'libgpod' 'qjson' 'hugin' 'cmake' 'automoc4' 'doxygen') source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.bz2") -md5sums=('7b1ab69fc2fb36a45dc3ca38b01d42d8') +md5sums=('3e5228a60ae916c530a7a87e081862b6') build() { cd "${srcdir}" diff --git a/extra/gnuchess/PKGBUILD b/extra/gnuchess/PKGBUILD index dedeaddb7..cf9545094 100644 --- a/extra/gnuchess/PKGBUILD +++ b/extra/gnuchess/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 122210 2011-05-03 05:16:02Z allan $ +# $Id: PKGBUILD 137508 2011-09-08 07:31:10Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=gnuchess -pkgver=6.0.0 +pkgver=6.0.1 pkgrel=1 pkgdesc="Lets most modern computers play a full game of chess" url="http://www.gnu.org/software/chess/chess.html" @@ -11,12 +11,12 @@ arch=('i686' 'x86_64') license=('GPL') depends=('glibc' 'ncurses' 'readline') source=(ftp://ftp.gnu.org/pub/gnu/chess/$pkgname-$pkgver.tar.gz) -md5sums=('1a7a46188dab76f4339d22ff47c31515') +md5sums=('041888218f73886f146fa7fbf92190de') build() { cd $srcdir/$pkgname-$pkgver ./configure --prefix=/usr - make + make } package() { diff --git a/extra/kdebase-workspace/PKGBUILD b/extra/kdebase-workspace/PKGBUILD index 9e076fd8c..040355421 100644 --- a/extra/kdebase-workspace/PKGBUILD +++ b/extra/kdebase-workspace/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 137381 2011-09-07 17:19:26Z andrea $ +# $Id: PKGBUILD 137511 2011-09-08 09:01:46Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> pkgname=kdebase-workspace _pkgname=kde-workspace pkgver=4.7.1 -pkgrel=2 +pkgrel=4 pkgdesc="KDE Base Workspace" arch=('i686' 'x86_64') url='http://www.kde.org' @@ -17,7 +17,8 @@ groups=('kde') depends=('kdepim-runtime' 'lm_sensors' 'libraw1394' 'libqalculate' 'qimageblitz' 'polkit-kde' 'consolekit' 'xorg-xprop' 'libxdamage' 'libxklavier' 'xorg-xsetroot' 'libxcomposite' 'libxinerama') -makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdebindings-python') +makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdebindings-python'i + 'networkmanager') optdepends=('kde-wallpapers: officials KDE wallapers') replaces=('kdmtheme' 'kde-common' 'guidance-power-manager' 'policykit-kde' 'kdebase-kinfocenter') conflicts=('kde-common' 'guidance-power-manager' 'policykit-kde' 'kdebase-kinfocenter') @@ -55,7 +56,6 @@ build() { -DWITH_Xmms=OFF \ -DWITH_Googlegadgets=OFF \ -DWITH_libgps=OFF \ - -DWITH_NetworkManager=OFF \ -DKWIN_MOBILE_EFFECTS=OFF \ -DWITH_OpenGLES=OFF \ -DKWIN_BUILD_WITH_OPENGLES=OFF diff --git a/extra/libnice/PKGBUILD b/extra/libnice/PKGBUILD index b46074046..37d43bf7b 100644 --- a/extra/libnice/PKGBUILD +++ b/extra/libnice/PKGBUILD @@ -3,7 +3,7 @@ # Contributor: William Díaz <wdiaz@archlinux.us> pkgname=libnice -pkgver=0.1.0 +pkgver=0.1.1 pkgrel=1 pkgdesc="An implementation of the IETF's draft ICE (for p2p UDP data streams)" arch=('i686' 'x86_64') @@ -12,11 +12,9 @@ license=('LGPL') depends=('gstreamer0.10') options=('!libtool') source=(http://nice.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz) -md5sums=('c077e2aa74c9afb4b4e157efc8a6ad9d') +md5sums=('0906c3523eb78cb3caad170cc75af4b0') build() { -# export CFLAGS="$CFLAGS -fno-strict-aliasing" - cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr --disable-static make diff --git a/extra/libwebkit/PKGBUILD b/extra/libwebkit/PKGBUILD index 7dccf4179..b7f825dd1 100644 --- a/extra/libwebkit/PKGBUILD +++ b/extra/libwebkit/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 130015 2011-07-01 08:50:25Z ibiru $ +# $Id: PKGBUILD 137537 2011-09-08 22:43:39Z andrea $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgbase=libwebkit @@ -13,10 +13,8 @@ depends=('libxt' 'libxslt' 'sqlite3' 'icu' 'gstreamer0.10-base' 'libsoup' 'encha makedepends=('gperf' 'gtk-doc' 'gobject-introspection' 'python2' 'gtk2' 'gtk3') options=('!libtool') install=libwebkit.install -source=(http://webkitgtk.org/webkit-${pkgver}.tar.gz - replace-switch-with-given-when.patch) -md5sums=('361f8420e93d12101d650758fec09fa0' - '3ba708a26b7af0e1e853867966fe14f7') +source=(http://webkitgtk.org/webkit-${pkgver}.tar.gz) +md5sums=('361f8420e93d12101d650758fec09fa0') build() { cd "${srcdir}/webkit-${pkgver}" diff --git a/extra/notification-daemon/PKGBUILD b/extra/notification-daemon/PKGBUILD index c71f1c7f5..b0a49ee11 100644 --- a/extra/notification-daemon/PKGBUILD +++ b/extra/notification-daemon/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 110126 2011-02-16 17:22:45Z ibiru $ +# $Id: PKGBUILD 137530 2011-09-08 19:55:05Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Mark Rosenstand <mark@borkware.net> pkgname=notification-daemon -pkgver=0.7.1 +pkgver=0.7.2 pkgrel=1 pkgdesc="Notification daemon for the desktop notifications framework" arch=('i686' 'x86_64') @@ -11,10 +11,10 @@ license=('GPL') url="http://www.galago-project.org/specs/notification/" depends=('gtk3' 'libcanberra') groups=('gnome') -makedepends=('pkgconfig' 'intltool' 'dbus-glib') +makedepends=('pkgconfig' 'intltool') options=('!libtool' '!emptydirs') -source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('d26bf9021b3ae708d36e55437642a89d6b81693fe39d27c5d1ec869e22697b8b') +source=(http://download.gnome.org/sources/${pkgname}/0.7/${pkgname}-${pkgver}.tar.xz) +sha256sums=('74ccbedfe25c9559278ba35ef716125ada9ba0074fe7321a2271abfed5990661') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/gnome-unstable/evolution-data-server/PKGBUILD b/gnome-unstable/evolution-data-server/PKGBUILD index 4f2307b90..3d7c264de 100644 --- a/gnome-unstable/evolution-data-server/PKGBUILD +++ b/gnome-unstable/evolution-data-server/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 136982 2011-09-04 12:25:33Z ibiru $ +# $Id: PKGBUILD 137522 2011-09-08 19:07:04Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=evolution-data-server pkgver=3.1.91 -pkgrel=1 +pkgrel=2 pkgdesc="Centralized access to appointments and contacts" arch=('i686' 'x86_64') depends=('gconf' 'gnome-online-accounts' 'nss' 'krb5' 'libgweather' 'libical' 'db' 'libgdata') diff --git a/gnome-unstable/evolution/PKGBUILD b/gnome-unstable/evolution/PKGBUILD index cd95b39e8..cd3eff4fb 100644 --- a/gnome-unstable/evolution/PKGBUILD +++ b/gnome-unstable/evolution/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 136984 2011-09-04 13:38:27Z ibiru $ +# $Id: PKGBUILD 137524 2011-09-08 19:32:34Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=evolution pkgver=3.1.91 -pkgrel=1 +pkgrel=2 pkgdesc="Manage your email, contacts and schedule" arch=('i686' 'x86_64') license=('GPL') diff --git a/gnome-unstable/folks/PKGBUILD b/gnome-unstable/folks/PKGBUILD index a27541e31..13ff2b06c 100644 --- a/gnome-unstable/folks/PKGBUILD +++ b/gnome-unstable/folks/PKGBUILD @@ -1,7 +1,7 @@ -# $Id: PKGBUILD 136723 2011-08-31 17:52:23Z ibiru $ +# $Id: PKGBUILD 137520 2011-09-08 18:28:46Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=folks -pkgver=0.6.1 +pkgver=0.6.2.1 pkgrel=1 pkgdesc="Library to aggregates people into metacontacts " arch=(i686 x86_64) @@ -11,7 +11,7 @@ depends=('telepathy-glib' 'libgee' 'libxml2' 'evolution-data-server' 'libsocialw makedepends=('gobject-introspection' 'vala' 'intltool') options=('!libtool') source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/0.6/${pkgname}-${pkgver}.tar.xz) -sha256sums=('c194c1feac58ed7f9870b08ef0658077967fe96d90eff02fad130237df10c9f4') +sha256sums=('3eda79a71890b51b6f723067b61c32ef25e9041a9e188b483d7f23e3dcd328ee') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/gnome-unstable/gdm/PKGBUILD b/gnome-unstable/gdm/PKGBUILD index 88097b4fc..d151c85c7 100644 --- a/gnome-unstable/gdm/PKGBUILD +++ b/gnome-unstable/gdm/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 136953 2011-09-03 20:03:13Z ibiru $ +# $Id: PKGBUILD 137518 2011-09-08 14:13:16Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=gdm pkgver=3.1.90 -pkgrel=3 +pkgrel=4 pkgdesc="Gnome Display Manager (a reimplementation of xdm)" arch=('i686' 'x86_64') license=('GPL') @@ -17,7 +17,8 @@ install=gdm.install source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.xz fix_external_program_directories.patch gdm - gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam) + gdm-autologin.pam gdm-fingerprint.pam gdm.pam gdm-password.pam gdm-smartcard.pam gdm-welcome.pam + fix-consolekit-registration.patch) sha256sums=('3fb9c52b8a18f39539c53d84645b89836de25a3eb3a0b84388e76a4f988178bf' 'b7c19ab68dc38216f751be6d1e66d617fb9011e23185590e52ac1974d3bc1afb' '272c08d8e8b50bf424d0705ac864d4c18c47ec4f6893b1af732c2efbc86c9550' @@ -26,10 +27,12 @@ sha256sums=('3fb9c52b8a18f39539c53d84645b89836de25a3eb3a0b84388e76a4f988178bf' 'f1dfa4d88288d4b0a631a68a51b46c2da537bee8fe5a99f9f288c8ff75a50b19' '0dbb37b4e2a2a2dd2305f0f69cf32d63d353d34aacaf805d2c2ec52fbe558bb4' 'df74b0dcfb17ea43cc1e268a27cd256c552672457db1af40b285452d16b3e2fd' - '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834') + '39bf3824cc505043dc3136356da16dab9df9f369f1077435a324be2ac16cf834' + '405d82ad12ea6371ddc031e7d86e5d2ade6fe054bebbfaf24c89ac0a85fcef1c') build() { cd "${srcdir}/${pkgname}-${pkgver}" patch -Np1 -i "${srcdir}/fix_external_program_directories.patch" + patch -Np1 -i "${srcdir}/fix-consolekit-registration.patch" ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/gdm \ diff --git a/gnome-unstable/gdm/fix-consolekit-registration.patch b/gnome-unstable/gdm/fix-consolekit-registration.patch new file mode 100644 index 000000000..282d7705e --- /dev/null +++ b/gnome-unstable/gdm/fix-consolekit-registration.patch @@ -0,0 +1,98 @@ +From 984038d2df357750f49658ad0c5bfe0d2e812ffd Mon Sep 17 00:00:00 2001 +From: Ray Strode <rstrode@redhat.com> +Date: Tue, 06 Sep 2011 15:41:07 +0000 +Subject: daemon: fix consolekit registration + +ioni pointed out on IRC, that since commit +647cad5bf59a4ff3776ba1ae5cda6b1aaaa1cfb2 + +the greeter session isn't getting fully registered +with consolekit and so udev acls weren't being +properly applied. + +This commit passes the tty to the worker process +so that it can be used for registration. + +It also passes hostname, merely for completeness. +--- +diff --git a/daemon/gdm-session-direct.c b/daemon/gdm-session-direct.c +index 1d5c16a..c25bc9b 100644 +--- a/daemon/gdm-session-direct.c ++++ b/daemon/gdm-session-direct.c +@@ -1401,6 +1401,8 @@ do_introspect (DBusConnection *connection, + " <signal name=\"SetupForProgram\">\n" + " <arg name=\"service_name\" type=\"s\"/>\n" + " <arg name=\"x11_display_name\" type=\"s\"/>\n" ++ " <arg name=\"display_device\" type=\"s\"/>\n" ++ " <arg name=\"hostname\" type=\"s\"/>\n" + " <arg name=\"x11_authority_file\" type=\"s\"/>\n" + " <arg name=\"log_file\" type=\"s\"/>\n" + " </signal>\n" +@@ -2052,6 +2054,8 @@ send_setup_for_program (GdmSessionDirect *session, + DBusMessage *message; + DBusMessageIter iter; + const char *display_name; ++ const char *display_device; ++ const char *display_hostname; + const char *display_x11_authority_file; + GdmSessionConversation *conversation; + +@@ -2062,6 +2066,16 @@ send_setup_for_program (GdmSessionDirect *session, + } else { + display_name = ""; + } ++ if (session->priv->display_hostname != NULL) { ++ display_hostname = session->priv->display_hostname; ++ } else { ++ display_hostname = ""; ++ } ++ if (session->priv->display_device != NULL) { ++ display_device = session->priv->display_device; ++ } else { ++ display_device = ""; ++ } + if (session->priv->display_x11_authority_file != NULL) { + display_x11_authority_file = session->priv->display_x11_authority_file; + } else { +@@ -2077,6 +2091,8 @@ send_setup_for_program (GdmSessionDirect *session, + dbus_message_iter_init_append (message, &iter); + dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &service_name); + dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_name); ++ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_device); ++ dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_hostname); + dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &display_x11_authority_file); + dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &log_file); + +diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c +index 2b46ca8..c402e6c 100644 +--- a/daemon/gdm-session-worker.c ++++ b/daemon/gdm-session-worker.c +@@ -2597,6 +2597,8 @@ on_setup_for_program (GdmSessionWorker *worker, + DBusError error; + char *service; + char *x11_display_name; ++ char *console; ++ char *hostname; + char *x11_authority_file; + char *log_file; + dbus_bool_t res; +@@ -2611,6 +2613,8 @@ on_setup_for_program (GdmSessionWorker *worker, + &error, + DBUS_TYPE_STRING, &service, + DBUS_TYPE_STRING, &x11_display_name, ++ DBUS_TYPE_STRING, &console, ++ DBUS_TYPE_STRING, &hostname, + DBUS_TYPE_STRING, &x11_authority_file, + DBUS_TYPE_STRING, &log_file, + DBUS_TYPE_INVALID); +@@ -2621,6 +2625,8 @@ on_setup_for_program (GdmSessionWorker *worker, + worker->priv->service = g_strdup (service); + worker->priv->username = g_strdup (GDM_USERNAME); + worker->priv->x11_display_name = g_strdup (x11_display_name); ++ worker->priv->hostname = g_strdup (hostname); ++ worker->priv->display_device = g_strdup (console); + worker->priv->x11_authority_file = g_strdup (x11_authority_file); + worker->priv->log_file = g_strdup (log_file); + worker->priv->is_program_session = TRUE; +-- +cgit v0.9.0.2 diff --git a/gnome-unstable/gnome-contacts/PKGBUILD b/gnome-unstable/gnome-contacts/PKGBUILD index 81aae1ef1..df964f0b7 100644 --- a/gnome-unstable/gnome-contacts/PKGBUILD +++ b/gnome-unstable/gnome-contacts/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 136955 2011-09-03 20:21:17Z ibiru $ +# $Id: PKGBUILD 137516 2011-09-08 13:39:42Z ibiru $ # Maintainer: Ionut Biru <ibiru@archlinux.org> pkgname=gnome-contacts -pkgver=0.1.3 +pkgver=0.1.4.1 pkgrel=1 pkgdesc="Contacts Manager for GNOME" arch=(i686 x86_64) url="http://www.gnome.org" license=('GPL2') groups=(gnome-extra) -depends=('gtk3' 'folks' 'libnotify') +depends=('gtk3' 'folks' 'libnotify' 'gnome-desktop') makedepends=('intltool' 'vala') install= source=(http://download.gnome.org/sources/$pkgname/0.1/$pkgname-$pkgver.tar.xz) -sha256sums=('3de2987af8bad5dce9d165bc07be1080ef2922f68ab0f93157c28fb7ad9af778') +sha256sums=('66dfb898df93b70f40cf9ff290ab8db1bea08d69e637dfba5266de58fa5be367') build() { cd "$srcdir/$pkgname-$pkgver" diff --git a/gnome-unstable/telepathy-mission-control/PKGBUILD b/gnome-unstable/telepathy-mission-control/PKGBUILD new file mode 100644 index 000000000..bcb9c55a6 --- /dev/null +++ b/gnome-unstable/telepathy-mission-control/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 137528 2011-09-08 19:52:46Z ibiru $ +# Maintainer: Ionut Biru <ibiru@archlinux.org> +# Contributor: Ju Liu <liuju86 at gmail dot com> +# Contributor: Bjorn Lindeijer <bjorn lindeijer nl> +# Contributor: Andreas Zwinkau <beza1e1@web.de> +pkgname=telepathy-mission-control +pkgver=5.9.2 +pkgrel=1 +pkgdesc="A Telepathy component providing abstraction of some of the details of connection managers." +arch=('i686' 'x86_64') +url="http://telepathy.freedesktop.org/wiki/Mission Control" +license=('LGPL2.1') +depends=('telepathy-glib' 'libgnome-keyring') +makedepends=('libxslt' 'python2') +options=('!libtool') +source=(http://telepathy.freedesktop.org/releases/telepathy-mission-control/$pkgname-$pkgver.tar.gz) +md5sums=('312fb289f644a90d4514064586445d58') + +build() { + cd "$srcdir/$pkgname-$pkgver" + ./configure --prefix=/usr \ + --libexecdir=/usr/lib/telepathy \ + --enable-gnome-keyring + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make DESTDIR="$pkgdir" install +} diff --git a/gnome-unstable/upower/PKGBUILD b/gnome-unstable/upower/PKGBUILD index c4e769670..d100a2f6b 100644 --- a/gnome-unstable/upower/PKGBUILD +++ b/gnome-unstable/upower/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 137028 2011-09-05 15:14:03Z ibiru $ +# $Id: PKGBUILD 137526 2011-09-08 19:34:27Z ibiru $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=upower pkgver=0.9.13 -pkgrel=1 +pkgrel=2 pkgdesc="Abstraction for enumerating power devices, listening to device events and querying history and statistics" arch=('i686' 'x86_64') url="http://upower.freedesktop.org" diff --git a/kde-unstable/kdebase-workspace/PKGBUILD b/kde-unstable/kdebase-workspace/PKGBUILD index 27bcfb250..650265a83 100644 --- a/kde-unstable/kdebase-workspace/PKGBUILD +++ b/kde-unstable/kdebase-workspace/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 137347 2011-09-07 13:23:24Z andrea $ +# $Id: PKGBUILD 137512 2011-09-08 10:05:49Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> pkgname=kdebase-workspace _pkgname=kde-workspace pkgver=4.7.1 -pkgrel=3 +pkgrel=5 pkgdesc="KDE Base Workspace" arch=('i686' 'x86_64') url='http://www.kde.org' @@ -17,7 +17,8 @@ groups=('kde') depends=('kdepim-runtime' 'lm_sensors' 'libraw1394' 'libqalculate' 'qimageblitz' 'polkit-kde' 'consolekit' 'xorg-xprop' 'libxdamage' 'libxklavier' 'xorg-xsetroot' 'libxcomposite' 'libxinerama' 'libgles' 'libegl') -makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdebindings-python') +makedepends=('pkgconfig' 'cmake' 'automoc4' 'boost' 'kdebindings-python' + 'networkmanager') optdepends=('kde-wallpapers: officials KDE wallapers') replaces=('kdmtheme' 'kde-common' 'guidance-power-manager' 'policykit-kde' 'kdebase-kinfocenter') conflicts=('kde-common' 'guidance-power-manager' 'policykit-kde' 'kdebase-kinfocenter') @@ -40,12 +41,12 @@ sha1sums=('c7867d2f788086078abbcff53a035a6131232539' 'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee') build() { - cd ${srcdir}/${_pkgname}-${pkgver} - patch -p0 -i ${srcdir}/kdm-zsh-profile.patch - patch -p0 -i ${srcdir}/fixpath.patch - patch -p0 -i ${srcdir}/terminate-server.patch + cd "${srcdir}"/${_pkgname}-${pkgver} + patch -p0 -i "${srcdir}"/kdm-zsh-profile.patch + patch -p0 -i "${srcdir}"/fixpath.patch + patch -p0 -i "${srcdir}"/terminate-server.patch - cd ${srcdir} + cd "${srcdir}" mkdir build cd build cmake ../${_pkgname}-${pkgver} \ @@ -55,23 +56,22 @@ build() { -DWITH_Xmms=OFF \ -DWITH_Googlegadgets=OFF \ -DWITH_libgps=OFF \ - -DWITH_NetworkManager=OFF \ -DWITH_OpenGLES=ON \ -DKWIN_BUILD_WITH_OPENGLES=ON make } package() { - cd ${srcdir}/build - make DESTDIR=${pkgdir} install + cd "${srcdir}"/build + make DESTDIR="${pkgdir}" install - install -D -m755 ${srcdir}/kdm ${pkgdir}/etc/rc.d/kdm - install -D -m644 ${srcdir}/kde.pam ${pkgdir}/etc/pam.d/kde - install -D -m644 ${srcdir}/kde-np.pam ${pkgdir}/etc/pam.d/kde-np - install -D -m644 ${srcdir}/kscreensaver.pam ${pkgdir}/etc/pam.d/kscreensaver - install -d -m755 ${pkgdir}/usr/share/xsessions/ - ln -sf /usr/share/apps/kdm/sessions/kde-plasma{,-safe}.desktop ${pkgdir}/usr/share/xsessions/ - install -d -m755 ${pkgdir}/etc/kde/{env,shutdown} + install -D -m755 "${srcdir}"/kdm "${pkgdir}"/etc/rc.d/kdm + install -D -m644 "${srcdir}"/kde.pam "${pkgdir}"/etc/pam.d/kde + install -D -m644 "${srcdir}"/kde-np.pam "${pkgdir}"/etc/pam.d/kde-np + install -D -m644 "${srcdir}"/kscreensaver.pam "${pkgdir}"/etc/pam.d/kscreensaver + install -d -m755 "${pkgdir}"/usr/share/xsessions/ + ln -sf /usr/share/apps/kdm/sessions/kde-plasma{,-safe}.desktop "${pkgdir}"/usr/share/xsessions/ + install -d -m755 "${pkgdir}"/etc/kde/{env,shutdown} - install -d -g 135 -o 135 ${pkgdir}/var/lib/kdm + install -d -g 135 -o 135 "${pkgdir}"/var/lib/kdm } diff --git a/multilib-testing/lib32-glibc/PKGBUILD b/multilib-testing/lib32-glibc/PKGBUILD new file mode 100644 index 000000000..c0a6c9f1f --- /dev/null +++ b/multilib-testing/lib32-glibc/PKGBUILD @@ -0,0 +1,170 @@ +# $Id: PKGBUILD 55287 2011-09-08 23:36:17Z heftig $ +# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> +# Contributor: Allan McRae <allan@archlinux.org> + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# NOTE: valgrind requires rebuild with each new glibc version + +_pkgbasename=glibc +pkgname=lib32-$_pkgbasename +pkgver=2.14 +pkgrel=6 +_glibcdate=20110908 +pkgdesc="GNU C Library for multilib" +arch=('x86_64') +url="http://www.gnu.org/software/libc" +license=('GPL' 'LGPL') +depends=("glibc>=$pkgver") +makedepends=('gcc-multilib>=4.6') +options=('!strip' '!emptydirs') +source=(ftp://ftp.archlinux.org/other/glibc/${_pkgbasename}-${pkgver}_${_glibcdate}.tar.xz + glibc-2.10-dont-build-timezone.patch + glibc-2.10-bz4781.patch + glibc-__i686.patch + glibc-2.12.1-static-shared-getpagesize.patch + glibc-2.12.2-ignore-origin-of-privileged-program.patch + glibc-2.13-futex.patch + glibc-2.13-dlclose-search-reset.patch + glibc-2.14-libdl-crash.patch + glibc-2.14-avoid-assertion-on-empty-dns-answer.patch + glibc-2.14-reexport-rpc-interface.patch + glibc-2.14-reinstall-nis-rpc-headers.patch + lib32-glibc.conf) +md5sums=('069069eb9100cc7affd7ad884cb3c3e9' + '4dadb9203b69a3210d53514bb46f41c3' + '0c5540efc51c0b93996c51b57a8540ae' + '40cd342e21f71f5e49e32622b25acc52' + 'a3ac6f318d680347bb6e2805d42b73b2' + 'b042647ea7d6f22ad319e12e796bd13e' + '7d0154b7e17ea218c9fa953599d24cc4' + '22d09c58718fb3d1d31c3a6c14ca6886' + 'cea62cc6b903d222c5f26e05a3c0e0e6' + '13728807283f111e5d9d38cf38e0a461' + 'c5de2a946215d647c8af5432ec4b0da0' + '55febbb72139ac7b65757df085024b83' + '6e052f1cb693d5d3203f50f9d4e8c33b') + +build() { + cd ${srcdir}/glibc + + # timezone data is in separate package (tzdata) + patch -Np1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch + + # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781 + patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch + + # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411 + # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html + patch -Np1 -i ${srcdir}/glibc-__i686.patch + + # http://sourceware.org/bugzilla/show_bug.cgi?id=11929 + # using Fedora "fix" as patch in that bug report causes breakages... + patch -Np1 -i ${srcdir}/glibc-2.12.1-static-shared-getpagesize.patch + + # http://www.exploit-db.com/exploits/15274/ + # 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=12403 + patch -Np1 -i ${srcdir}/glibc-2.13-futex.patch + + # https://bugzilla.redhat.com/show_bug.cgi?id=593675 + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=2f811bf8 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.13-dlclose-search-reset.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 + + # http://sourceware.org/bugzilla/show_bug.cgi?id=13013 + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=032c0ee3 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-avoid-assertion-on-empty-dns-answer.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 + + export CC="gcc -m32" + + # Hack to fix NPTL issues with Xen, only required on 32bit platforms + export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs" + + echo "slibdir=/usr/lib32" >> configparms + + # remove hardening options from CFLAGS for building libraries + CFLAGS=${CFLAGS/-fstack-protector/} + CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/} + + ${srcdir}/glibc/configure --prefix=/usr \ + --libdir=/usr/lib32 --libexecdir=/usr/lib32 \ + --with-headers=/usr/include \ + --enable-add-ons=nptl,libidn \ + --enable-kernel=2.6.27 \ + --with-tls --with-__thread \ + --enable-bind-now --without-gd \ + --without-cvs --disable-profile \ + --disable-multi-arch i686-unknown-linux-gnu + + # build libraries with hardening disabled + echo "build-programs=no" >> configparms + make + + # re-enable hardening for programs + sed -i "s#=no#=yes#" configparms + echo "CC += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms + echo "CXX += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms + make + + # remove harding in preparation to run test-suite + sed -i '2,4d' configparms +} + +check() { + cd ${srcdir}/glibc-build + + # some errors are expected - manually check log files + make -k check || true +} + +package() { + cd ${srcdir}/glibc-build + make install_root=${pkgdir} install + + rm -rf ${pkgdir}/{etc,sbin,usr/{bin,sbin,share}} + + # We need one 32 bit specific header file + find ${pkgdir}/usr/include -type f -not -name stubs-32.h -delete + + # manually strip files as stripping libpthread-*.so and libthread_db.so + # with the default $STRIP_SHARED breaks gdb and stripping ld-*.so breaks + # valgrind on x86_64 + + cd $pkgdir + strip $STRIP_BINARIES usr/lib32/getconf/* + + strip $STRIP_STATIC usr/lib32/*.a \ + usr/lib32/{{ld,libpthread}-${pkgver},libthread_db-1.0}.so + + strip $STRIP_SHARED usr/lib32/{libanl,libBrokenLocale,libc,libcidn,libcrypt}-${pkgver}.so \ + 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,{audit,gconv}/*.so} + + # Dynamic linker + install -d -m755 ${pkgdir}/lib + ln -s ../usr/lib32/ld-linux.so.2 ${pkgdir}/lib/ + + # Add /usr/lib32 to the default library search path + install -Dm644 "$srcdir/lib32-glibc.conf" "$pkgdir/etc/ld.so.conf.d/lib32-glibc.conf" + + # Symlink /usr/lib32/locale to /usr/lib/locale + ln -s ../lib/locale "$pkgdir/usr/lib32/locale" +} diff --git a/multilib-testing/lib32-glibc/glibc-2.10-bz4781.patch b/multilib-testing/lib32-glibc/glibc-2.10-bz4781.patch new file mode 100644 index 000000000..cf1a97a18 --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.10-bz4781.patch @@ -0,0 +1,42 @@ +diff -Naur glibc-old/sysdeps/unix/sysv/linux/i386/clone.S glibc/sysdeps/unix/sysv/linux/i386/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -120,9 +120,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (eip); + /* Note: %esi is zero. */ + movl %esi,%ebp /* terminate the stack frame */ + #ifdef RESET_PID +@@ -155,7 +152,6 @@ + jmp L(haspid) + .previous + #endif +- cfi_endproc; + + cfi_startproc + PSEUDO_END (BP_SYM (__clone)) +diff -Naur glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S glibc/sysdeps/unix/sysv/linux/x86_64/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -89,9 +89,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (rip); + /* Clear the frame pointer. The ABI suggests this be done, to mark + the outermost frame obviously. */ + xorl %ebp, %ebp +@@ -116,7 +113,6 @@ + /* Call exit with return value from function call. */ + movq %rax, %rdi + call HIDDEN_JUMPTARGET (_exit) +- cfi_endproc; + + cfi_startproc; + PSEUDO_END (BP_SYM (__clone)) diff --git a/multilib-testing/lib32-glibc/glibc-2.10-dont-build-timezone.patch b/multilib-testing/lib32-glibc/glibc-2.10-dont-build-timezone.patch new file mode 100644 index 000000000..d3abeff17 --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.10-dont-build-timezone.patch @@ -0,0 +1,13 @@ +timezone data has been split into the package sys-libs/timezone-data + +--- glibc-2.4/Makeconfig ++++ glibc-2.4/Makeconfig +@@ -931,7 +931,7 @@ + stdlib stdio-common libio malloc string wcsmbs time dirent \ + grp pwd posix io termios resource misc socket sysvipc gmon \ + gnulib iconv iconvdata wctype manual shadow gshadow po argp \ +- crypt nss localedata timezone rt conform debug \ ++ crypt nss localedata rt conform debug \ + $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) + + ifndef avoid-generated diff --git a/multilib-testing/lib32-glibc/glibc-2.12.1-static-shared-getpagesize.patch b/multilib-testing/lib32-glibc/glibc-2.12.1-static-shared-getpagesize.patch new file mode 100644 index 000000000..e84754279 --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.12.1-static-shared-getpagesize.patch @@ -0,0 +1,11 @@ +--- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/getpagesize.c ++++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/getpagesize.c +@@ -28,7 +28,7 @@ + int + __getpagesize () + { +-#ifdef __ASSUME_AT_PAGESIZE ++#if 0 && defined __ASSUME_AT_PAGESIZE + assert (GLRO(dl_pagesize) != 0); + return GLRO(dl_pagesize); + #else diff --git a/multilib-testing/lib32-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch b/multilib-testing/lib32-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch new file mode 100644 index 000000000..ce089b49c --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch @@ -0,0 +1,26 @@ +From d14e6b09d60d52cc12f0396c3106b14e1bd0fe8f Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@redhat.com> +Date: Thu, 9 Dec 2010 15:00:59 +0100 +Subject: [PATCH 1/1] Ignore origin of privileged program + +--- + ChangeLog | 5 +++++ + elf/dl-object.c | 3 +++ + 2 files changed, 8 insertions(+), 0 deletions(-) + +diff --git a/elf/dl-object.c b/elf/dl-object.c +index 22a1635..7674d49 100644 +--- a/elf/dl-object.c ++++ b/elf/dl-object.c +@@ -214,6 +214,9 @@ _dl_new_object (char *realname, const char *libname, int type, + out: + new->l_origin = origin; + } ++ else if (INTUSE(__libc_enable_secure) && type == lt_executable) ++ /* The origin of a privileged program cannot be trusted. */ ++ new->l_origin = (char *) -1; + + return new; + } +-- +1.7.2 diff --git a/multilib-testing/lib32-glibc/glibc-2.13-dlclose-search-reset.patch b/multilib-testing/lib32-glibc/glibc-2.13-dlclose-search-reset.patch new file mode 100644 index 000000000..3ad8b418a --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.13-dlclose-search-reset.patch @@ -0,0 +1,196 @@ +From 2f811bf88bed4a6c0dec8778847ba441736d509d Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@redhat.com> +Date: Wed, 26 May 2010 18:28:59 +0200 +Subject: [PATCH] Fix scope handling during dl_close + +--- + ChangeLog | 12 ++++++++++++ + elf/Makefile | 10 +++++++++- + elf/dl-close.c | 7 +++++++ + elf/unload8.c | 33 +++++++++++++++++++++++++++++++++ + elf/unload8mod1.c | 7 +++++++ + elf/unload8mod1x.c | 1 + + elf/unload8mod2.c | 7 +++++++ + elf/unload8mod3.c | 27 +++++++++++++++++++++++++++ + 8 files changed, 103 insertions(+), 1 deletions(-) + create mode 100644 elf/unload8.c + create mode 100644 elf/unload8mod1.c + create mode 100644 elf/unload8mod1x.c + create mode 100644 elf/unload8mod2.c + create mode 100644 elf/unload8mod3.c + +diff --git a/elf/Makefile b/elf/Makefile +index 59e835f..65b6deb 100644 +--- a/elf/Makefile ++++ b/elf/Makefile +@@ -89,6 +89,7 @@ distribute := rtld-Rules \ + unload4mod1.c unload4mod2.c unload4mod3.c unload4mod4.c \ + unload6mod1.c unload6mod2.c unload6mod3.c \ + unload7mod1.c unload7mod2.c \ ++ unload8mod1.c unload8mod1x.c unload8mod2.c unload8mod3.c \ + tst-audit1.c tst-audit2.c tst-audit3.c tst-audit4.c \ + tst-auditmod1.c tst-auditmod3a.c tst-auditmod3b.c \ + tst-auditmod4a.c tst-auditmod4b.c \ +@@ -196,7 +197,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ + tst-align tst-align2 $(tests-execstack-$(have-z-execstack)) \ + tst-dlmodcount tst-dlopenrpath tst-deep1 \ + tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \ +- unload3 unload4 unload5 unload6 unload7 tst-global1 order2 \ ++ unload3 unload4 unload5 unload6 unload7 unload8 tst-global1 order2 \ + tst-audit1 tst-audit2 \ + tst-stackguard1 tst-addr1 tst-thrlock \ + tst-unique1 tst-unique2 +@@ -247,6 +248,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ + unload4mod1 unload4mod2 unload4mod3 unload4mod4 \ + unload6mod1 unload6mod2 unload6mod3 \ + unload7mod1 unload7mod2 \ ++ unload8mod1 unload8mod1x unload8mod2 unload8mod3 \ + order2mod1 order2mod2 order2mod3 order2mod4 \ + tst-unique1mod1 tst-unique1mod2 \ + tst-unique2mod1 tst-unique2mod2 +@@ -522,6 +524,9 @@ $(objpfx)unload6mod2.so: $(libdl) + $(objpfx)unload6mod3.so: $(libdl) + $(objpfx)unload7mod1.so: $(libdl) + $(objpfx)unload7mod2.so: $(objpfx)unload7mod1.so ++$(objpfx)unload8mod1.so: $(objpfx)unload8mod2.so ++$(objpfx)unload8mod2.so: $(objpfx)unload8mod3.so ++$(objpfx)unload8mod3.so: $(libdl) + $(objpfx)tst-initordera2.so: $(objpfx)tst-initordera1.so + $(objpfx)tst-initorderb2.so: $(objpfx)tst-initorderb1.so $(objpfx)tst-initordera2.so + $(objpfx)tst-initordera3.so: $(objpfx)tst-initorderb2.so $(objpfx)tst-initorderb1.so +@@ -823,6 +828,9 @@ $(objpfx)unload7: $(libdl) + $(objpfx)unload7.out: $(objpfx)unload7mod1.so $(objpfx)unload7mod2.so + unload7-ENV = MALLOC_PERTURB_=85 + ++$(objpfx)unload8: $(libdl) ++$(objpfx)unload8.out: $(objpfx)unload8mod1.so $(objpfx)unload8mod1x.so ++ + ifdef libdl + $(objpfx)tst-tls9-static: $(common-objpfx)dlfcn/libdl.a + $(objpfx)tst-tls9-static.out: $(objpfx)tst-tlsmod5.so $(objpfx)tst-tlsmod6.so +diff --git a/elf/dl-close.c b/elf/dl-close.c +index 700e765..f47d5f8 100644 +--- a/elf/dl-close.c ++++ b/elf/dl-close.c +@@ -421,6 +421,13 @@ _dl_close_worker (struct link_map *map) + + imap->l_scope_max = new_size; + } ++ else if (new_list != NULL) ++ { ++ /* We didn't change the scope array, so reset the search ++ list. */ ++ imap->l_searchlist.r_list = NULL; ++ imap->l_searchlist.r_nlist = 0; ++ } + + /* The loader is gone, so mark the object as not having one. + Note: l_idx != IDX_STILL_USED -> object will be removed. */ +diff --git a/elf/unload8.c b/elf/unload8.c +new file mode 100644 +index 0000000..f984a38 +--- /dev/null ++++ b/elf/unload8.c +@@ -0,0 +1,33 @@ ++#include <dlfcn.h> ++#include <stdio.h> ++ ++int ++main (void) ++{ ++ void *h = dlopen ("$ORIGIN/unload8mod1.so", RTLD_LAZY); ++ if (h == NULL) ++ { ++ puts ("dlopen unload8mod1.so failed"); ++ return 1; ++ } ++ ++ void *h2 = dlopen ("$ORIGIN/unload8mod1x.so", RTLD_LAZY); ++ if (h2 == NULL) ++ { ++ puts ("dlopen unload8mod1x.so failed"); ++ return 1; ++ } ++ dlclose (h2); ++ ++ int (*mod1) (void) = dlsym (h, "mod1"); ++ if (mod1 == NULL) ++ { ++ puts ("dlsym failed"); ++ return 1; ++ } ++ ++ mod1 (); ++ dlclose (h); ++ ++ return 0; ++} +diff --git a/elf/unload8mod1.c b/elf/unload8mod1.c +new file mode 100644 +index 0000000..fe7e81c +--- /dev/null ++++ b/elf/unload8mod1.c +@@ -0,0 +1,7 @@ ++extern void mod2 (void); ++ ++void ++mod1 (void) ++{ ++ mod2 (); ++} +diff --git a/elf/unload8mod1x.c b/elf/unload8mod1x.c +new file mode 100644 +index 0000000..835b634 +--- /dev/null ++++ b/elf/unload8mod1x.c +@@ -0,0 +1 @@ ++int mod1x; +diff --git a/elf/unload8mod2.c b/elf/unload8mod2.c +new file mode 100644 +index 0000000..2fd8b67 +--- /dev/null ++++ b/elf/unload8mod2.c +@@ -0,0 +1,7 @@ ++extern void mod3 (void); ++ ++void ++mod2 (void) ++{ ++ mod3 (); ++} +diff --git a/elf/unload8mod3.c b/elf/unload8mod3.c +new file mode 100644 +index 0000000..d49e22b +--- /dev/null ++++ b/elf/unload8mod3.c +@@ -0,0 +1,27 @@ ++#include <dlfcn.h> ++#include <stdio.h> ++#include <stdlib.h> ++ ++void ++mod3_fini2 (void) ++{ ++} ++ ++void ++mod3_fini (void) ++{ ++ mod3_fini2 (); ++} ++ ++void ++mod3 (void) ++{ ++ void *h = dlopen ("$ORIGIN/unload8mod2.so", RTLD_LAZY); ++ if (h == NULL) ++ { ++ puts ("dlopen unload8mod2.so failed"); ++ exit (1); ++ } ++ ++ atexit (mod3_fini); ++} +-- +1.7.3.4 + diff --git a/multilib-testing/lib32-glibc/glibc-2.13-futex.patch b/multilib-testing/lib32-glibc/glibc-2.13-futex.patch new file mode 100644 index 000000000..9b9c3ac45 --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.13-futex.patch @@ -0,0 +1,31 @@ +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S ++++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S +@@ -210,7 +210,7 @@ pthread_rwlock_timedrdlock: + cfi_restore(%r12) + retq + +-#ifdef __ASSUME_PRIVATE_FUTEX ++#ifdef __ASSUME_FUTEX_CLOCK_REALTIME + cfi_adjust_cfa_offset(16) + cfi_rel_offset(%r12, 8) + cfi_rel_offset(%r13, 0) +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S ++++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S +@@ -192,7 +192,7 @@ pthread_rwlock_timedwrlock: + + 7: movq %rdx, %rax + +-#ifndef __ASSUME_PRIVATE_FUTEX ++#ifndef __ASSUME_FUTEX_CLOCK_REALTIME + addq $16, %rsp + cfi_adjust_cfa_offset(-16) + popq %r14 +@@ -207,7 +207,7 @@ pthread_rwlock_timedwrlock: + cfi_restore(%r12) + retq + +-#ifdef __ASSUME_PRIVATE_FUTEX ++#ifdef __ASSUME_FUTEX_CLOCK_REALTIME + cfi_adjust_cfa_offset(16) + cfi_rel_offset(%r12, 8) + cfi_rel_offset(%r13, 0) diff --git a/multilib-testing/lib32-glibc/glibc-2.14-avoid-assertion-on-empty-dns-answer.patch b/multilib-testing/lib32-glibc/glibc-2.14-avoid-assertion-on-empty-dns-answer.patch new file mode 100644 index 000000000..ef91116e5 --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-2.14-avoid-assertion-on-empty-dns-answer.patch @@ -0,0 +1,26 @@ +From 032c0ee3ee28841d684950e33a77210118697566 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@redhat.com> +Date: Thu, 1 Sep 2011 10:46:14 +0200 +Subject: [PATCH] Avoid assertion failure when first DNS answer was empty + +--- + ChangeLog | 4 ++++ + resolv/res_query.c | 2 +- + 2 files changed, 5 insertions(+), 1 deletions(-) + +diff --git a/resolv/res_query.c b/resolv/res_query.c +index 2f7cfaa..2ded9fb 100644 +--- a/resolv/res_query.c ++++ b/resolv/res_query.c +@@ -248,7 +248,7 @@ __libc_res_nquery(res_state statp, + && *resplen2 > (int) sizeof (HEADER)) + { + /* Special case of partial answer. */ +- assert (hp != hp2); ++ assert (n == 0 || hp != hp2); + hp = hp2; + } + else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER) +-- +1.7.3.4 + diff --git a/multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch b/multilib-testing/lib32-glibc/glibc-2.14-libdl-crash.patch new file mode 100644 index 000000000..ee29f8c20 --- /dev/null +++ b/multilib-testing/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-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch b/multilib-testing/lib32-glibc/glibc-2.14-reexport-rpc-interface.patch new file mode 100644 index 000000000..e2beea881 --- /dev/null +++ b/multilib-testing/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-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/multilib-testing/lib32-glibc/glibc-2.14-reinstall-nis-rpc-headers.patch new file mode 100644 index 000000000..eb0fd822d --- /dev/null +++ b/multilib-testing/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-testing/lib32-glibc/glibc-__i686.patch b/multilib-testing/lib32-glibc/glibc-__i686.patch new file mode 100644 index 000000000..28d5dd424 --- /dev/null +++ b/multilib-testing/lib32-glibc/glibc-__i686.patch @@ -0,0 +1,13 @@ +diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile +--- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000 ++++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000 +@@ -1,6 +1,7 @@ + # The mpn functions need a #define for asm syntax flavor. +-# Every i386 port in use uses gas syntax (I think). +-asm-CPPFLAGS += -DGAS_SYNTAX ++# Every i386 port in use uses gas syntax (I think). Don't replace ++# __i686 in __i686.get_pc_thunk.bx. ++asm-CPPFLAGS += -DGAS_SYNTAX -U __i686 + + # The i386 `long double' is a distinct type we support. + long-double-fcts = yes diff --git a/multilib-testing/lib32-glibc/lib32-glibc.conf b/multilib-testing/lib32-glibc/lib32-glibc.conf new file mode 100644 index 000000000..9b08c3f43 --- /dev/null +++ b/multilib-testing/lib32-glibc/lib32-glibc.conf @@ -0,0 +1 @@ +/usr/lib32 diff --git a/multilib-testing/libtool-multilib/PKGBUILD b/multilib-testing/libtool-multilib/PKGBUILD new file mode 100644 index 000000000..60dff1b3d --- /dev/null +++ b/multilib-testing/libtool-multilib/PKGBUILD @@ -0,0 +1,72 @@ +# $Id: PKGBUILD 55288 2011-09-08 23:39:10Z heftig $ +# Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> +# Contributor: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +# NOTE: requires rebuild with each new gcc version + +pkgbase=libtool-multilib +pkgname=(libtool-multilib lib32-libltdl) +pkgver=2.4 +pkgrel=5 +pkgdesc="A generic library support script for multilib" +arch=('x86_64') +url="http://www.gnu.org/software/libtool" +license=('GPL') +_gccver=4.6.1 +makedepends=("gcc-multilib=$_gccver") +options=('!libtool') +source=(ftp://ftp.gnu.org/pub/gnu/libtool/libtool-${pkgver}.tar.xz) +md5sums=('4e6144439d95d7332dc50ace6dd24c55') + +build() { + cd "$srcdir" + + rm -rf libtool-64 libtool-32 + mv libtool-$pkgver libtool-64 + cp -a libtool-64 libtool-32 + + msg2 "Building libtool-64..." + cd "$srcdir/libtool-64" + ./configure --prefix=/usr + make + + msg2 "Building libtool-32..." + export CC="gcc -m32" + export CXX="g++ -m32" + + cd "$srcdir/libtool-32" + ./configure --prefix=/usr --libdir=/usr/lib32 + make +} + +check() { + cd "$srcdir/libtool-64" + make check + cd "$srcdir/libtool-32" + make check +} + +package_libtool-multilib() { + depends=('sh' "libltdl=$pkgver" "gcc-multilib=$_gccver" "lib32-libltdl=$pkgver") + groups=('multilib-devel') + install=libtool.install + provides=("libtool=$pkgver-$pkgrel") + conflicts=(libtool) + + cd "$srcdir/libtool-64" + make DESTDIR=${pkgdir} install-binSCRIPTS install-man install-info \ + install-data-local + rm -rf ${pkgdir}/usr/share/libtool/libltdl/ +} + +package_lib32-libltdl() { + pkgdesc="A system independent dlopen wrapper for GNU libtool (32-bit)" + depends=(lib32-glibc libltdl) + replaces=(lib32-libtool) + provides=("lib32-libtool=$pkgver-$pkgrel") + conflicts=(lib32-libtool) + + cd "$srcdir/libtool-32" + make DESTDIR="$pkgdir" install-libLTLIBRARIES +} diff --git a/multilib-testing/libtool-multilib/libtool.install b/multilib-testing/libtool-multilib/libtool.install new file mode 100644 index 000000000..424c8cb88 --- /dev/null +++ b/multilib-testing/libtool-multilib/libtool.install @@ -0,0 +1,22 @@ +infodir=/usr/share/info +filelist=(libtool.info libtool.info-1 libtool.info-2) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +# vim:set ts=2 sw=2 et: diff --git a/multilib/lib32-mpg123/PKGBUILD b/multilib/lib32-mpg123/PKGBUILD index 44f3e60a9..ea566be0d 100644 --- a/multilib/lib32-mpg123/PKGBUILD +++ b/multilib/lib32-mpg123/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 45641 2011-04-26 13:38:33Z bluewind $ +# $Id: PKGBUILD 55271 2011-09-08 08:35:25Z bluewind $ # Maintainer: Hugo Doria <hugo@archlinux.org> # Contributor: Giovanni Scafora <giovanni@archlinux.org> _pkgbasename=mpg123 pkgname=lib32-$_pkgbasename -pkgver=1.13.3 +pkgver=1.13.4 pkgrel=1 pkgdesc="A console based real time MPEG Audio Player for Layer 1, 2 and 3 (32-bit)" arch=('x86_64') @@ -15,8 +15,8 @@ makedepends=('lib32-sdl' gcc-multilib libtool-multilib) optdepends=('lib32-sdl: for additional audio support') options=('libtool') source=(http://downloads.sourceforge.net/sourceforge/${_pkgbasename}/${_pkgbasename}-${pkgver}.tar.bz2) -md5sums=('b1f990ce76dcf2fdf9d53ac39fc6bc7e') -sha1sums=('899af289bfcbbb13cbe66d5d0541c25cecf5400d') +md5sums=('073620b3938c4cb9c4f70e8fe3e114b8') +sha1sums=('7fe195db9fe708c487a1d47a66e6e68d9b8e7a6e') build() { export CC="gcc -m32" diff --git a/multilib/lib32-openssl/PKGBUILD b/multilib/lib32-openssl/PKGBUILD index 2f5fd6a6d..66bdf3066 100644 --- a/multilib/lib32-openssl/PKGBUILD +++ b/multilib/lib32-openssl/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 39457 2011-02-10 15:44:47Z bluewind $ +# $Id: PKGBUILD 55269 2011-09-08 08:35:01Z bluewind $ # Maintainer: Pierre Schmitz <pierre@archlinux.de> _pkgbasename=openssl pkgname=lib32-$_pkgbasename _ver=1.0.0d # use a pacman compatible version scheme -pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}} +pkgver=1.0.0.e pkgrel=1 pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security (32-bit)' arch=('x86_64') diff --git a/multilib/libtool-multilib/PKGBUILD b/multilib/libtool-multilib/PKGBUILD index 3f777ffa4..77ca73c32 100644 --- a/multilib/libtool-multilib/PKGBUILD +++ b/multilib/libtool-multilib/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 54231 2011-08-14 23:28:02Z heftig $ +# $Id: PKGBUILD 55288 2011-09-08 23:39:10Z heftig $ # Maintainer: Jan "heftig" Steffens <jan.steffens@gmail.com> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> @@ -42,9 +42,9 @@ build() { check() { cd "$srcdir/libtool-64" - #make check + make check cd "$srcdir/libtool-32" - #make check + make check } package_libtool-multilib() { diff --git a/testing/glibc/PKGBUILD b/testing/glibc/PKGBUILD new file mode 100644 index 000000000..ced42f275 --- /dev/null +++ b/testing/glibc/PKGBUILD @@ -0,0 +1,207 @@ +# $Id: PKGBUILD 137534 2011-09-08 21:30:58Z 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.14 +pkgrel=6 +_glibcdate=20110908 +pkgdesc="GNU C Library" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/libc" +license=('GPL' 'LGPL') +groups=('base') +depends=('linux-api-headers>=3.0' 'tzdata') +makedepends=('gcc>=4.6') +backup=(etc/gai.conf + etc/locale.gen + etc/nscd.conf) +options=('!strip') +install=glibc.install +source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.tar.xz + glibc-2.10-dont-build-timezone.patch + glibc-2.10-bz4781.patch + glibc-__i686.patch + glibc-2.12.1-static-shared-getpagesize.patch + glibc-2.12.2-ignore-origin-of-privileged-program.patch + glibc-2.13-futex.patch + glibc-2.13-dlclose-search-reset.patch + glibc-2.14-libdl-crash.patch + glibc-2.14-avoid-assertion-on-empty-dns-answer.patch + glibc-2.14-reexport-rpc-interface.patch + glibc-2.14-reinstall-nis-rpc-headers.patch + nscd + locale.gen.txt + locale-gen) +md5sums=('069069eb9100cc7affd7ad884cb3c3e9' + '4dadb9203b69a3210d53514bb46f41c3' + '0c5540efc51c0b93996c51b57a8540ae' + '40cd342e21f71f5e49e32622b25acc52' + 'a3ac6f318d680347bb6e2805d42b73b2' + 'b042647ea7d6f22ad319e12e796bd13e' + '7d0154b7e17ea218c9fa953599d24cc4' + '22d09c58718fb3d1d31c3a6c14ca6886' + 'cea62cc6b903d222c5f26e05a3c0e0e6' + '13728807283f111e5d9d38cf38e0a461' + 'c5de2a946215d647c8af5432ec4b0da0' + '55febbb72139ac7b65757df085024b83' + 'b587ee3a70c9b3713099295609afde49' + '07ac979b6ab5eeb778d55f041529d623' + '476e9113489f93b348b21e144b6a8fcf') + + +mksource() { + git clone git://sourceware.org/git/glibc.git + pushd glibc + git checkout -b glibc-2.14-arch origin/release/2.14/master + popd + tar -cvJf glibc-${pkgver}_${_glibcdate}.tar.xz glibc/* +} + +build() { + cd ${srcdir}/glibc + + # timezone data is in separate package (tzdata) + patch -Np1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch + + # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781 + patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch + + # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411 + # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html + patch -Np1 -i ${srcdir}/glibc-__i686.patch + + # http://sourceware.org/bugzilla/show_bug.cgi?id=11929 + # using Fedora "fix" as patch in that bug report causes breakages... + patch -Np1 -i ${srcdir}/glibc-2.12.1-static-shared-getpagesize.patch + + # http://www.exploit-db.com/exploits/15274/ + # 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=12403 + patch -Np1 -i ${srcdir}/glibc-2.13-futex.patch + + # https://bugzilla.redhat.com/show_bug.cgi?id=593675 + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=2f811bf8 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.13-dlclose-search-reset.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 + + # http://sourceware.org/bugzilla/show_bug.cgi?id=13013 + # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=032c0ee3 (only fedora branch...) + patch -Np1 -i ${srcdir}/glibc-2.14-avoid-assertion-on-empty-dns-answer.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 + + cd ${srcdir} + mkdir glibc-build + cd glibc-build + + if [[ ${CARCH} = "i686" ]]; then + # Hack to fix NPTL issues with Xen, only required on 32bit platforms + export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs" + fi + + echo "slibdir=/lib" >> configparms + + # remove hardening options from CFLAGS for building libraries + CFLAGS=${CFLAGS/-fstack-protector/} + CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/} + + ${srcdir}/glibc/configure --prefix=/usr \ + --libdir=/usr/lib --libexecdir=/usr/lib \ + --with-headers=/usr/include \ + --enable-add-ons=nptl,libidn \ + --enable-kernel=2.6.27 \ + --with-tls --with-__thread \ + --enable-bind-now --without-gd \ + --without-cvs --disable-profile \ + --disable-multi-arch + + # build libraries with hardening disabled + echo "build-programs=no" >> configparms + make + + # re-enable hardening for programs + sed -i "s#=no#=yes#" configparms + echo "CC += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms + echo "CXX += -fstack-protector -D_FORTIFY_SOURCE=2" >> configparms + make + + # remove harding in preparation to run test-suite + sed -i '2,4d' configparms +} + +check() { + cd ${srcdir}/glibc-build + + # some errors are expected - manually check log files + make -k check || true +} + +package() { + cd ${srcdir}/glibc-build + make install_root=${pkgdir} install + + rm -f ${pkgdir}/etc/ld.so.{cache,conf} + + install -dm755 ${pkgdir}/etc/rc.d + install -dm755 ${pkgdir}/usr/sbin + install -dm755 ${pkgdir}/usr/lib/locale + install -m644 ${srcdir}/glibc/nscd/nscd.conf ${pkgdir}/etc/nscd.conf + install -m755 ${srcdir}/nscd ${pkgdir}/etc/rc.d/nscd + install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/sbin + install -m644 ${srcdir}/glibc/posix/gai.conf ${pkgdir}/etc/gai.conf + + sed -i -e 's/^\tserver-user/#\tserver-user/' ${pkgdir}/etc/nscd.conf + + # create /etc/locale.gen + install -m644 ${srcdir}/locale.gen.txt ${pkgdir}/etc/locale.gen + sed -i "s|/| |g" ${srcdir}/glibc/localedata/SUPPORTED + sed -i 's|\\| |g' ${srcdir}/glibc/localedata/SUPPORTED + sed -i "s|SUPPORTED-LOCALES=||" ${srcdir}/glibc/localedata/SUPPORTED + cat ${srcdir}/glibc/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen + sed -i "s|^|#|g" ${pkgdir}/etc/locale.gen + + if [[ ${CARCH} = "x86_64" ]]; then + # fix for the linker + sed -i '/RTLDLIST/s%lib64%lib%' ${pkgdir}/usr/bin/ldd + # Comply with multilib binaries, they look for the linker in /lib64 + mkdir ${pkgdir}/lib64 + cd ${pkgdir}/lib64 + ln -v -s ../lib/ld* . + fi + + # manually strip files as stripping libpthread-*.so and libthread_db.so + # with the default $STRIP_SHARED breaks gdb and stripping ld-*.so breaks + # valgrind on x86_64 + + cd $pkgdir + strip $STRIP_BINARIES sbin/{ldconfig,sln} \ + usr/bin/{gencat,getconf,getent,iconv,locale} \ + usr/bin/{localedef,pcprofiledump,rpcgen,sprof} \ + usr/lib/getconf/* \ + usr/sbin/{iconvconfig,nscd} + [[ $CARCH = "i686" ]] && strip $STRIP_BINARIES usr/bin/lddlibc4 + + strip $STRIP_STATIC usr/lib/*.a \ + lib/{{ld,libpthread}-${pkgver},libthread_db-1.0}.so + + strip $STRIP_SHARED lib/{libanl,libBrokenLocale,libc,libcidn,libcrypt}-${pkgver}.so \ + 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,{audit,gconv}/*.so} +} diff --git a/testing/glibc/glibc-2.10-bz4781.patch b/testing/glibc/glibc-2.10-bz4781.patch new file mode 100644 index 000000000..cf1a97a18 --- /dev/null +++ b/testing/glibc/glibc-2.10-bz4781.patch @@ -0,0 +1,42 @@ +diff -Naur glibc-old/sysdeps/unix/sysv/linux/i386/clone.S glibc/sysdeps/unix/sysv/linux/i386/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/i386/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -120,9 +120,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (eip); + /* Note: %esi is zero. */ + movl %esi,%ebp /* terminate the stack frame */ + #ifdef RESET_PID +@@ -155,7 +152,6 @@ + jmp L(haspid) + .previous + #endif +- cfi_endproc; + + cfi_startproc + PSEUDO_END (BP_SYM (__clone)) +diff -Naur glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S glibc/sysdeps/unix/sysv/linux/x86_64/clone.S +--- glibc-old/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-09 13:35:30.000000000 +1000 ++++ glibc/sysdeps/unix/sysv/linux/x86_64/clone.S 2009-05-23 13:27:46.000000000 +1000 +@@ -89,9 +89,6 @@ + ret + + L(thread_start): +- cfi_startproc; +- /* Clearing frame pointer is insufficient, use CFI. */ +- cfi_undefined (rip); + /* Clear the frame pointer. The ABI suggests this be done, to mark + the outermost frame obviously. */ + xorl %ebp, %ebp +@@ -116,7 +113,6 @@ + /* Call exit with return value from function call. */ + movq %rax, %rdi + call HIDDEN_JUMPTARGET (_exit) +- cfi_endproc; + + cfi_startproc; + PSEUDO_END (BP_SYM (__clone)) diff --git a/testing/glibc/glibc-2.10-dont-build-timezone.patch b/testing/glibc/glibc-2.10-dont-build-timezone.patch new file mode 100644 index 000000000..d3abeff17 --- /dev/null +++ b/testing/glibc/glibc-2.10-dont-build-timezone.patch @@ -0,0 +1,13 @@ +timezone data has been split into the package sys-libs/timezone-data + +--- glibc-2.4/Makeconfig ++++ glibc-2.4/Makeconfig +@@ -931,7 +931,7 @@ + stdlib stdio-common libio malloc string wcsmbs time dirent \ + grp pwd posix io termios resource misc socket sysvipc gmon \ + gnulib iconv iconvdata wctype manual shadow gshadow po argp \ +- crypt nss localedata timezone rt conform debug \ ++ crypt nss localedata rt conform debug \ + $(add-on-subdirs) $(dlfcn) $(binfmt-subdir) + + ifndef avoid-generated diff --git a/testing/glibc/glibc-2.12.1-static-shared-getpagesize.patch b/testing/glibc/glibc-2.12.1-static-shared-getpagesize.patch new file mode 100644 index 000000000..e84754279 --- /dev/null +++ b/testing/glibc/glibc-2.12.1-static-shared-getpagesize.patch @@ -0,0 +1,11 @@ +--- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/getpagesize.c ++++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/getpagesize.c +@@ -28,7 +28,7 @@ + int + __getpagesize () + { +-#ifdef __ASSUME_AT_PAGESIZE ++#if 0 && defined __ASSUME_AT_PAGESIZE + assert (GLRO(dl_pagesize) != 0); + return GLRO(dl_pagesize); + #else diff --git a/testing/glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch b/testing/glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch new file mode 100644 index 000000000..ce089b49c --- /dev/null +++ b/testing/glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch @@ -0,0 +1,26 @@ +From d14e6b09d60d52cc12f0396c3106b14e1bd0fe8f Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@redhat.com> +Date: Thu, 9 Dec 2010 15:00:59 +0100 +Subject: [PATCH 1/1] Ignore origin of privileged program + +--- + ChangeLog | 5 +++++ + elf/dl-object.c | 3 +++ + 2 files changed, 8 insertions(+), 0 deletions(-) + +diff --git a/elf/dl-object.c b/elf/dl-object.c +index 22a1635..7674d49 100644 +--- a/elf/dl-object.c ++++ b/elf/dl-object.c +@@ -214,6 +214,9 @@ _dl_new_object (char *realname, const char *libname, int type, + out: + new->l_origin = origin; + } ++ else if (INTUSE(__libc_enable_secure) && type == lt_executable) ++ /* The origin of a privileged program cannot be trusted. */ ++ new->l_origin = (char *) -1; + + return new; + } +-- +1.7.2 diff --git a/testing/glibc/glibc-2.13-dlclose-search-reset.patch b/testing/glibc/glibc-2.13-dlclose-search-reset.patch new file mode 100644 index 000000000..3ad8b418a --- /dev/null +++ b/testing/glibc/glibc-2.13-dlclose-search-reset.patch @@ -0,0 +1,196 @@ +From 2f811bf88bed4a6c0dec8778847ba441736d509d Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@redhat.com> +Date: Wed, 26 May 2010 18:28:59 +0200 +Subject: [PATCH] Fix scope handling during dl_close + +--- + ChangeLog | 12 ++++++++++++ + elf/Makefile | 10 +++++++++- + elf/dl-close.c | 7 +++++++ + elf/unload8.c | 33 +++++++++++++++++++++++++++++++++ + elf/unload8mod1.c | 7 +++++++ + elf/unload8mod1x.c | 1 + + elf/unload8mod2.c | 7 +++++++ + elf/unload8mod3.c | 27 +++++++++++++++++++++++++++ + 8 files changed, 103 insertions(+), 1 deletions(-) + create mode 100644 elf/unload8.c + create mode 100644 elf/unload8mod1.c + create mode 100644 elf/unload8mod1x.c + create mode 100644 elf/unload8mod2.c + create mode 100644 elf/unload8mod3.c + +diff --git a/elf/Makefile b/elf/Makefile +index 59e835f..65b6deb 100644 +--- a/elf/Makefile ++++ b/elf/Makefile +@@ -89,6 +89,7 @@ distribute := rtld-Rules \ + unload4mod1.c unload4mod2.c unload4mod3.c unload4mod4.c \ + unload6mod1.c unload6mod2.c unload6mod3.c \ + unload7mod1.c unload7mod2.c \ ++ unload8mod1.c unload8mod1x.c unload8mod2.c unload8mod3.c \ + tst-audit1.c tst-audit2.c tst-audit3.c tst-audit4.c \ + tst-auditmod1.c tst-auditmod3a.c tst-auditmod3b.c \ + tst-auditmod4a.c tst-auditmod4b.c \ +@@ -196,7 +197,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ + tst-align tst-align2 $(tests-execstack-$(have-z-execstack)) \ + tst-dlmodcount tst-dlopenrpath tst-deep1 \ + tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \ +- unload3 unload4 unload5 unload6 unload7 tst-global1 order2 \ ++ unload3 unload4 unload5 unload6 unload7 unload8 tst-global1 order2 \ + tst-audit1 tst-audit2 \ + tst-stackguard1 tst-addr1 tst-thrlock \ + tst-unique1 tst-unique2 +@@ -247,6 +248,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ + unload4mod1 unload4mod2 unload4mod3 unload4mod4 \ + unload6mod1 unload6mod2 unload6mod3 \ + unload7mod1 unload7mod2 \ ++ unload8mod1 unload8mod1x unload8mod2 unload8mod3 \ + order2mod1 order2mod2 order2mod3 order2mod4 \ + tst-unique1mod1 tst-unique1mod2 \ + tst-unique2mod1 tst-unique2mod2 +@@ -522,6 +524,9 @@ $(objpfx)unload6mod2.so: $(libdl) + $(objpfx)unload6mod3.so: $(libdl) + $(objpfx)unload7mod1.so: $(libdl) + $(objpfx)unload7mod2.so: $(objpfx)unload7mod1.so ++$(objpfx)unload8mod1.so: $(objpfx)unload8mod2.so ++$(objpfx)unload8mod2.so: $(objpfx)unload8mod3.so ++$(objpfx)unload8mod3.so: $(libdl) + $(objpfx)tst-initordera2.so: $(objpfx)tst-initordera1.so + $(objpfx)tst-initorderb2.so: $(objpfx)tst-initorderb1.so $(objpfx)tst-initordera2.so + $(objpfx)tst-initordera3.so: $(objpfx)tst-initorderb2.so $(objpfx)tst-initorderb1.so +@@ -823,6 +828,9 @@ $(objpfx)unload7: $(libdl) + $(objpfx)unload7.out: $(objpfx)unload7mod1.so $(objpfx)unload7mod2.so + unload7-ENV = MALLOC_PERTURB_=85 + ++$(objpfx)unload8: $(libdl) ++$(objpfx)unload8.out: $(objpfx)unload8mod1.so $(objpfx)unload8mod1x.so ++ + ifdef libdl + $(objpfx)tst-tls9-static: $(common-objpfx)dlfcn/libdl.a + $(objpfx)tst-tls9-static.out: $(objpfx)tst-tlsmod5.so $(objpfx)tst-tlsmod6.so +diff --git a/elf/dl-close.c b/elf/dl-close.c +index 700e765..f47d5f8 100644 +--- a/elf/dl-close.c ++++ b/elf/dl-close.c +@@ -421,6 +421,13 @@ _dl_close_worker (struct link_map *map) + + imap->l_scope_max = new_size; + } ++ else if (new_list != NULL) ++ { ++ /* We didn't change the scope array, so reset the search ++ list. */ ++ imap->l_searchlist.r_list = NULL; ++ imap->l_searchlist.r_nlist = 0; ++ } + + /* The loader is gone, so mark the object as not having one. + Note: l_idx != IDX_STILL_USED -> object will be removed. */ +diff --git a/elf/unload8.c b/elf/unload8.c +new file mode 100644 +index 0000000..f984a38 +--- /dev/null ++++ b/elf/unload8.c +@@ -0,0 +1,33 @@ ++#include <dlfcn.h> ++#include <stdio.h> ++ ++int ++main (void) ++{ ++ void *h = dlopen ("$ORIGIN/unload8mod1.so", RTLD_LAZY); ++ if (h == NULL) ++ { ++ puts ("dlopen unload8mod1.so failed"); ++ return 1; ++ } ++ ++ void *h2 = dlopen ("$ORIGIN/unload8mod1x.so", RTLD_LAZY); ++ if (h2 == NULL) ++ { ++ puts ("dlopen unload8mod1x.so failed"); ++ return 1; ++ } ++ dlclose (h2); ++ ++ int (*mod1) (void) = dlsym (h, "mod1"); ++ if (mod1 == NULL) ++ { ++ puts ("dlsym failed"); ++ return 1; ++ } ++ ++ mod1 (); ++ dlclose (h); ++ ++ return 0; ++} +diff --git a/elf/unload8mod1.c b/elf/unload8mod1.c +new file mode 100644 +index 0000000..fe7e81c +--- /dev/null ++++ b/elf/unload8mod1.c +@@ -0,0 +1,7 @@ ++extern void mod2 (void); ++ ++void ++mod1 (void) ++{ ++ mod2 (); ++} +diff --git a/elf/unload8mod1x.c b/elf/unload8mod1x.c +new file mode 100644 +index 0000000..835b634 +--- /dev/null ++++ b/elf/unload8mod1x.c +@@ -0,0 +1 @@ ++int mod1x; +diff --git a/elf/unload8mod2.c b/elf/unload8mod2.c +new file mode 100644 +index 0000000..2fd8b67 +--- /dev/null ++++ b/elf/unload8mod2.c +@@ -0,0 +1,7 @@ ++extern void mod3 (void); ++ ++void ++mod2 (void) ++{ ++ mod3 (); ++} +diff --git a/elf/unload8mod3.c b/elf/unload8mod3.c +new file mode 100644 +index 0000000..d49e22b +--- /dev/null ++++ b/elf/unload8mod3.c +@@ -0,0 +1,27 @@ ++#include <dlfcn.h> ++#include <stdio.h> ++#include <stdlib.h> ++ ++void ++mod3_fini2 (void) ++{ ++} ++ ++void ++mod3_fini (void) ++{ ++ mod3_fini2 (); ++} ++ ++void ++mod3 (void) ++{ ++ void *h = dlopen ("$ORIGIN/unload8mod2.so", RTLD_LAZY); ++ if (h == NULL) ++ { ++ puts ("dlopen unload8mod2.so failed"); ++ exit (1); ++ } ++ ++ atexit (mod3_fini); ++} +-- +1.7.3.4 + diff --git a/testing/glibc/glibc-2.13-futex.patch b/testing/glibc/glibc-2.13-futex.patch new file mode 100644 index 000000000..9b9c3ac45 --- /dev/null +++ b/testing/glibc/glibc-2.13-futex.patch @@ -0,0 +1,31 @@ +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S ++++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S +@@ -210,7 +210,7 @@ pthread_rwlock_timedrdlock: + cfi_restore(%r12) + retq + +-#ifdef __ASSUME_PRIVATE_FUTEX ++#ifdef __ASSUME_FUTEX_CLOCK_REALTIME + cfi_adjust_cfa_offset(16) + cfi_rel_offset(%r12, 8) + cfi_rel_offset(%r13, 0) +--- a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S ++++ a/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S +@@ -192,7 +192,7 @@ pthread_rwlock_timedwrlock: + + 7: movq %rdx, %rax + +-#ifndef __ASSUME_PRIVATE_FUTEX ++#ifndef __ASSUME_FUTEX_CLOCK_REALTIME + addq $16, %rsp + cfi_adjust_cfa_offset(-16) + popq %r14 +@@ -207,7 +207,7 @@ pthread_rwlock_timedwrlock: + cfi_restore(%r12) + retq + +-#ifdef __ASSUME_PRIVATE_FUTEX ++#ifdef __ASSUME_FUTEX_CLOCK_REALTIME + cfi_adjust_cfa_offset(16) + cfi_rel_offset(%r12, 8) + cfi_rel_offset(%r13, 0) diff --git a/testing/glibc/glibc-2.14-avoid-assertion-on-empty-dns-answer.patch b/testing/glibc/glibc-2.14-avoid-assertion-on-empty-dns-answer.patch new file mode 100644 index 000000000..ef91116e5 --- /dev/null +++ b/testing/glibc/glibc-2.14-avoid-assertion-on-empty-dns-answer.patch @@ -0,0 +1,26 @@ +From 032c0ee3ee28841d684950e33a77210118697566 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab <schwab@redhat.com> +Date: Thu, 1 Sep 2011 10:46:14 +0200 +Subject: [PATCH] Avoid assertion failure when first DNS answer was empty + +--- + ChangeLog | 4 ++++ + resolv/res_query.c | 2 +- + 2 files changed, 5 insertions(+), 1 deletions(-) + +diff --git a/resolv/res_query.c b/resolv/res_query.c +index 2f7cfaa..2ded9fb 100644 +--- a/resolv/res_query.c ++++ b/resolv/res_query.c +@@ -248,7 +248,7 @@ __libc_res_nquery(res_state statp, + && *resplen2 > (int) sizeof (HEADER)) + { + /* Special case of partial answer. */ +- assert (hp != hp2); ++ assert (n == 0 || hp != hp2); + hp = hp2; + } + else if (answerp2 != NULL && *resplen2 < (int) sizeof (HEADER) +-- +1.7.3.4 + diff --git a/testing/glibc/glibc-2.14-libdl-crash.patch b/testing/glibc/glibc-2.14-libdl-crash.patch new file mode 100644 index 000000000..ee29f8c20 --- /dev/null +++ b/testing/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/testing/glibc/glibc-2.14-reexport-rpc-interface.patch b/testing/glibc/glibc-2.14-reexport-rpc-interface.patch new file mode 100644 index 000000000..e2beea881 --- /dev/null +++ b/testing/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/testing/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch b/testing/glibc/glibc-2.14-reinstall-nis-rpc-headers.patch new file mode 100644 index 000000000..eb0fd822d --- /dev/null +++ b/testing/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/testing/glibc/glibc-__i686.patch b/testing/glibc/glibc-__i686.patch new file mode 100644 index 000000000..28d5dd424 --- /dev/null +++ b/testing/glibc/glibc-__i686.patch @@ -0,0 +1,13 @@ +diff -Naur glibc-old//sysdeps/i386/Makefile glibc//sysdeps/i386/Makefile +--- glibc-old//sysdeps/i386/Makefile 2010-03-18 11:52:30.000000000 +1000 ++++ glibc//sysdeps/i386/Makefile 2010-04-16 15:05:50.000000000 +1000 +@@ -1,6 +1,7 @@ + # The mpn functions need a #define for asm syntax flavor. +-# Every i386 port in use uses gas syntax (I think). +-asm-CPPFLAGS += -DGAS_SYNTAX ++# Every i386 port in use uses gas syntax (I think). Don't replace ++# __i686 in __i686.get_pc_thunk.bx. ++asm-CPPFLAGS += -DGAS_SYNTAX -U __i686 + + # The i386 `long double' is a distinct type we support. + long-double-fcts = yes diff --git a/testing/glibc/glibc.install b/testing/glibc/glibc.install new file mode 100644 index 000000000..7f85ade96 --- /dev/null +++ b/testing/glibc/glibc.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(libc.info{,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11}) + +post_upgrade() { + sbin/ldconfig -r . + [ -x sbin/init ] && sbin/init u + usr/sbin/locale-gen + + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + usr/bin/install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/testing/glibc/locale-gen b/testing/glibc/locale-gen new file mode 100755 index 000000000..5aff344c4 --- /dev/null +++ b/testing/glibc/locale-gen @@ -0,0 +1,42 @@ +#!/bin/sh + +set -e + +LOCALEGEN=/etc/locale.gen +LOCALES=/usr/share/i18n/locales +if [ -n "$POSIXLY_CORRECT" ]; then + unset POSIXLY_CORRECT +fi + + +[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0; + +# Remove all old locale dir and locale-archive before generating new +# locale data. +rm -rf /usr/lib/locale/* || true + +umask 022 + +is_entry_ok() { + if [ -n "$locale" -a -n "$charset" ] ; then + true + else + echo "error: Bad entry '$locale $charset'" + false + fi +} + +echo "Generating locales..." +while read locale charset; do \ + case $locale in \#*) continue;; "") continue;; esac; \ + is_entry_ok || continue + echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \ + echo -n ".$charset"; \ + echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \ + echo -n '...'; \ + if [ -f $LOCALES/$locale ]; then input=$locale; else \ + input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \ + localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \ + echo ' done'; \ +done < $LOCALEGEN +echo "Generation complete." diff --git a/testing/glibc/locale.gen.txt b/testing/glibc/locale.gen.txt new file mode 100644 index 000000000..ccdd81734 --- /dev/null +++ b/testing/glibc/locale.gen.txt @@ -0,0 +1,23 @@ +# Configuration file for locale-gen +# +# lists of locales that are to be generated by the locale-gen command. +# +# Each line is of the form: +# +# <locale> <charset> +# +# where <locale> is one of the locales given in /usr/share/i18n/locales +# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps +# +# Examples: +# en_US ISO-8859-1 +# en_US.UTF-8 UTF-8 +# de_DE ISO-8859-1 +# de_DE@euro ISO-8859-15 +# +# The locale-gen command will generate all the locales, +# placing them in /usr/lib/locale. +# +# A list of supported locales is included in this file. +# Uncomment the ones you need. +# diff --git a/testing/glibc/nscd b/testing/glibc/nscd new file mode 100755 index 000000000..8b14f2a3f --- /dev/null +++ b/testing/glibc/nscd @@ -0,0 +1,40 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/nscd` +case "$1" in + start) + stat_busy "Starting nscd" + # create necessary directories if they don't already exist + mkdir -p /var/run/nscd /var/db/nscd 2>/dev/null + # remove stale files + rm -f /var/db/nscd/* /var/run/nscd/* 2>/dev/null + [ -z "$PID" ] && /usr/sbin/nscd + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon nscd + stat_done + fi + ;; + stop) + stat_busy "Stopping nscd" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon nscd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/libtool/PKGBUILD b/testing/libtool/PKGBUILD new file mode 100644 index 000000000..80148151a --- /dev/null +++ b/testing/libtool/PKGBUILD @@ -0,0 +1,48 @@ +# $Id: PKGBUILD 137506 2011-09-08 07:11:50Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> + +# NOTE: requires rebuilt with each new gcc version + +pkgname=('libtool' 'libltdl') +pkgver=2.4 +pkgrel=5 +pkgdesc="A generic library support script" +arch=('i686' 'x86_64') +url="http://www.gnu.org/software/libtool" +license=('GPL') +options=('!libtool') +source=(ftp://ftp.gnu.org/pub/gnu/libtool/${pkgname}-${pkgver}.tar.xz) +md5sums=('4e6144439d95d7332dc50ace6dd24c55') + +build() { + cd ${srcdir}/${pkgbase}-${pkgver} + ./configure --prefix=/usr + make +} + +check() { + cd ${srcdir}/${pkgbase}-${pkgver} + make check +} + +package_libtool() { + depends=('sh' "libltdl=$pkgver" 'gcc=4.6.1') + groups=('base-devel') + install=libtool.install + + cd ${srcdir}/${pkgbase}-${pkgver} + + make DESTDIR=${pkgdir} install-binSCRIPTS install-man install-info \ + install-data-local + rm -rf ${pkgdir}/usr/share/libtool/libltdl/ +} + +package_libltdl() { + pkgdesc="A system independent dlopen wrapper for GNU libtool" + + cd ${srcdir}/${pkgbase}-${pkgver} + make DESTDIR=${pkgdir} install-libLTLIBRARIES install-includeHEADERS \ + install-ltdlincludeHEADERS install-data-local + rm -rf ${pkgdir}/usr/share/{aclocal,libtool/config} +} diff --git a/testing/libtool/libtool.install b/testing/libtool/libtool.install new file mode 100644 index 000000000..73cf56422 --- /dev/null +++ b/testing/libtool/libtool.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(libtool.info libtool.info-1 libtool.info-2) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} |