diff options
60 files changed, 2074 insertions, 81 deletions
diff --git a/community-staging/mythtv/mythbackend.service b/community-staging/mythtv/mythbackend.service new file mode 100644 index 000000000..9d92bd644 --- /dev/null +++ b/community-staging/mythtv/mythbackend.service @@ -0,0 +1,12 @@ +[Unit] +Description=MythTV Backend +After=network.target mysqld.service + +[Service] +Type=simple +Environment=HOME=/var/lib/mythtv +User=mythtv +ExecStart=/usr/bin/mythbackend --daemon --logpath /var/log/mythtv + +[Install] +WantedBy=multi-user.target diff --git a/community/calcurse/PKGBUILD b/community/calcurse/PKGBUILD index 018868c1c..8f6eaa35d 100644 --- a/community/calcurse/PKGBUILD +++ b/community/calcurse/PKGBUILD @@ -1,18 +1,19 @@ -# $Id: PKGBUILD 64641 2012-02-17 13:26:11Z lfleischer $ +# $Id: PKGBUILD 73083 2012-06-30 14:19:55Z 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.2 -pkgrel=2 +pkgver=3.0.0 +pkgrel=1 pkgdesc='A text-based personal organizer.' arch=('i686' 'x86_64' 'mips64el') url='http://calcurse.org/' license=('BSD') depends=('ncurses') +install='calcurse.install' source=("http://calcurse.org/files/${pkgname}-${pkgver}.tar.gz") -md5sums=('5cb7d9c9edddc551fc62c9c5733591c5') +md5sums=('3e25d04afeecd8f21e064e8b1db8f02b') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/community/calcurse/calcurse.install b/community/calcurse/calcurse.install new file mode 100644 index 000000000..7ed9cf00e --- /dev/null +++ b/community/calcurse/calcurse.install @@ -0,0 +1,8 @@ +post_upgrade() { + if (( $(vercmp $2 3.0.0) < 0 )); then + cat <<"EOF" +==> The configuration file format has changed in calcurse 3.0.0. +==> Run `calcurse-upgrade` to upgrade your configuration files. +EOF + fi +} diff --git a/community/mythplugins/PKGBUILD b/community/mythplugins/PKGBUILD index 984be7fad..c894be499 100644 --- a/community/mythplugins/PKGBUILD +++ b/community/mythplugins/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 70479 2012-05-09 10:48:34Z jconder $ +# $Id: PKGBUILD 73073 2012-06-30 11:15:54Z jconder $ # Maintainer: Jonathan Conder <jonno.conder@gmail.com> # Contributor: Giovanni Scafora <giovanni@archlinux.org> @@ -13,8 +13,8 @@ pkgname=('mythplugins-mytharchive' 'mythplugins-mythweather' 'mythplugins-mythweb' 'mythplugins-mythzoneminder') -pkgver=0.25 -pkgrel=3 +pkgver=0.25.1 +pkgrel=1 epoch=1 arch=('i686' 'x86_64' 'mips64el') url="http://www.mythtv.org" @@ -27,7 +27,7 @@ makedepends=('cdrkit' 'dvdauthor' 'dvd+rw-tools' 'ffmpeg' 'flac' 'libexif' source=("ftp://ftp.osuosl.org/pub/mythtv/$pkgbase-$pkgver.tar.bz2" 'php54.patch' 'mtd.rc') -md5sums=('b3f2768372a38e92ca94841519daa05e' +md5sums=('5957fd42181f78f18c8a1fd819c9699c' '7a114c1b5a84ab5ee190e63cc9514086' '476c12ba074794ad7f4ae092bdf949d6') diff --git a/community/mythtv/PKGBUILD b/community/mythtv/PKGBUILD index 824e33225..e52fc70cd 100644 --- a/community/mythtv/PKGBUILD +++ b/community/mythtv/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 69571 2012-04-19 02:21:24Z jconder $ +# $Id: PKGBUILD 73064 2012-06-30 06:07:26Z jconder $ # Maintainer: Jonathan Conder <jonno.conder@gmail.com> # Contributor: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Juergen Hoetzel <juergen@archlinux.org> @@ -6,8 +6,8 @@ # Contributor: dorphell <dorphell@archlinux.org> pkgname=mythtv -pkgver=0.25 -pkgrel=3 +pkgver=0.25.1 +pkgrel=1 epoch=1 pkgdesc="A Homebrew PVR project" arch=('i686' 'x86_64') @@ -29,19 +29,19 @@ replaces=('myththemes' 'mythplugins-mythvideo') backup=('etc/conf.d/mythbackend') install='mythtv.install' source=("ftp://ftp.osuosl.org/pub/$pkgname/$pkgname-$pkgver.tar.bz2" - 'mythtv_0.25_gcc_4.7.patch' 'mythbackend.rc' - 'mythbackend.conf') -md5sums=('e49c81de40e279c83dcb1b2aa9a45748' - '6090f5f22a8584db80b76cf19869ee41' - '62fd98347c56b1d9b795792f83269d25' - 'ab962d83614cbd0ac11ce3fcc929829d') + 'mythbackend.conf' + 'mythbackend.service') +md5sums=('4d6375cc3a820abdb2ac5300734687ac' + 'c8f935d42fb8617e9279bd539811ca5f' + 'ab962d83614cbd0ac11ce3fcc929829d' + '813008d14a44e9c6212f364723aeaa74') build() { cd "$srcdir/$pkgname-$pkgver" find 'bindings/python' 'contrib' -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@' - patch -Np1 -i "$srcdir/mythtv_0.25_gcc_4.7.patch" + sed -re 's@Key, &@Key, @' -i 'bindings/php/MythBase.php' ARCH="${CARCH/_/-}" ./configure --prefix=/usr \ @@ -64,6 +64,7 @@ package() { install -D -m755 "$srcdir/mythbackend.rc" "$pkgdir/etc/rc.d/mythbackend" install -D -m644 "$srcdir/mythbackend.conf" "$pkgdir/etc/conf.d/mythbackend" + install -D -m644 "$srcdir/mythbackend.service" "$pkgdir/usr/lib/systemd/system/mythbackend.service" install -D -m644 'database/mc.sql' "$pkgdir/usr/share/mythtv/mc.sql" mkdir -p "$pkgdir/usr/share/mythtv" diff --git a/community/mythtv/mythbackend.rc b/community/mythtv/mythbackend.rc index 2b3c2d52e..488b4cb8e 100644 --- a/community/mythtv/mythbackend.rc +++ b/community/mythtv/mythbackend.rc @@ -8,7 +8,7 @@ # Default values to use if none are supplied in the config file. # # User who should start the mythbackend process -MBE_USER='root' +MBE_USER='mythtv' # Startup options for mythbackend MBE_OPTS='' diff --git a/community/mythtv/mythbackend.service b/community/mythtv/mythbackend.service new file mode 100644 index 000000000..9d92bd644 --- /dev/null +++ b/community/mythtv/mythbackend.service @@ -0,0 +1,12 @@ +[Unit] +Description=MythTV Backend +After=network.target mysqld.service + +[Service] +Type=simple +Environment=HOME=/var/lib/mythtv +User=mythtv +ExecStart=/usr/bin/mythbackend --daemon --logpath /var/log/mythtv + +[Install] +WantedBy=multi-user.target diff --git a/community/mythtv/mythtv.install b/community/mythtv/mythtv.install index c29a53454..eed25b868 100644 --- a/community/mythtv/mythtv.install +++ b/community/mythtv/mythtv.install @@ -1,11 +1,20 @@ -post_install() { - echo "See \"MythTV\" on the Archlinux Wiki for installation information - Extensive!!" +post_upgrade() { + if ! getent passwd mythtv &>/dev/null; then + getent group mythtv &>/dev/null || groupadd -r mythtv >/dev/null + useradd -rmd /var/lib/mythtv -g mythtv -G video,audio,optical -s /bin/bash mythtv >/dev/null + fi } -post_upgrade() { - return +post_install() { + echo -e "For installation information, visit:\nhttps://wiki.archlinux.org/index.php/MythTV" + + post_upgrade } post_remove() { - echo -e "NOTE: mysql database was not removed. To remove run:\nmysql -u root -e 'drop database mythconverg;'" + echo -e "The MythTV database was not removed. To remove it, run:\n mysql -u root -e 'drop database mythconverg;'" + [ -d var/lib/mythtv ] && echo "The MythTV home directory /var/lib/mythtv can also be removed." + + getent passwd mythtv &>/dev/null && userdel mythtv >/dev/null + getent group mythtv &>/dev/null && groupdel mythtv >/dev/null } diff --git a/community/nodejs/PKGBUILD b/community/nodejs/PKGBUILD index bfdd93dae..36f40c85d 100644 --- a/community/nodejs/PKGBUILD +++ b/community/nodejs/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 72985 2012-06-26 13:36:13Z bpiotrowski $ +# $Id: PKGBUILD 73072 2012-06-30 08:03:14Z bpiotrowski $ # Maintainer: Bartłomiej Piotrowski <nospam@bpiotrowski.pl> # Contributor: Thomas Dziedzic < gostrc at gmail > # Contributor: James Campos <james.r.campos@gmail.com> @@ -8,7 +8,7 @@ # Contributor: TIanyi Cui <tianyicui@gmail.com> pkgname=nodejs -pkgver=0.8.0 +pkgver=0.8.1 pkgrel=1 pkgdesc='Evented I/O for V8 javascript' arch=('i686' 'x86_64' 'mips64el') @@ -19,7 +19,7 @@ checkdepends=('curl') # curl used for check() optdepends=('openssl: TLS support') options=('!emptydirs') source=("http://nodejs.org/dist/v${pkgver}/node-v${pkgver}.tar.gz") -md5sums=('7efde00ad3292d4c56ad607ab676d935') +md5sums=('32a6f7b7cf196cb89bd973741ae58dd1') build() { cd node-v${pkgver} diff --git a/community/pcsc-tools/PKGBUILD b/community/pcsc-tools/PKGBUILD index 510ffeff2..1f6508a5d 100644 --- a/community/pcsc-tools/PKGBUILD +++ b/community/pcsc-tools/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 61978 2012-01-12 11:22:03Z giovanni $ +# $Id: PKGBUILD 73087 2012-06-30 14:26:59Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Lorenzo Nizzi Grifi Gargiolli <lorenzo.nizzi.grifi@gmail.com> # Contributor: marc0s <marc0s@fsfe.org> pkgname=pcsc-tools -pkgver=1.4.18 +pkgver=1.4.20 pkgrel=1 pkgdesc="PC/SC Architecture smartcard tools" arch=('i686' 'x86_64' 'mips64el') @@ -13,7 +13,7 @@ license=('GPL') depends=('pcsclite' 'pcsc-perl' 'gtk2-perl' 'glib-perl') makedepends=('pkg-config') source=("http://ludovic.rousseau.free.fr/softwares/${pkgname}/${pkgname}-${pkgver}.tar.gz") -md5sums=('647ec2779cec69c910906fe5496f4e6c') +md5sums=('c85f8b983e4b9a9dcd373725f024c6b8') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/community/pcsclite/PKGBUILD b/community/pcsclite/PKGBUILD index 3f4e3b813..92b2d78c2 100644 --- a/community/pcsclite/PKGBUILD +++ b/community/pcsclite/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 71730 2012-06-02 00:19:22Z giovanni $ +# $Id: PKGBUILD 73085 2012-06-30 14:21:47Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Daniel Plaza <daniel.plaza.espi@gmail.com> pkgname=pcsclite -pkgver=1.8.3 -pkgrel=4 +pkgver=1.8.4 +pkgrel=1 pkgdesc="PC/SC Architecture smartcard middleware library" arch=('i686' 'x86_64' 'mips64el') url="https://alioth.debian.org/projects/pcsclite/" @@ -12,9 +12,9 @@ license=('BSD') depends=('python2' 'systemd-tools') makedepends=('pkg-config') options=('!libtool' '!docs') -source=("https://alioth.debian.org/frs/download.php/3706/pcsc-lite-${pkgver}.tar.bz2" +source=("https://alioth.debian.org/frs/download.php/3734/pcsc-lite-${pkgver}.tar.bz2" 'pcscd') -md5sums=('7ad8c97c89f77aab7a00317eb7e811e9' +md5sums=('3ef6b569128b15969adba25d80ced8d0' 'c97b6bce695222efb0f003d8e8369010') build() { diff --git a/community/sigil/PKGBUILD b/community/sigil/PKGBUILD index 20903dd54..c912d1a35 100644 --- a/community/sigil/PKGBUILD +++ b/community/sigil/PKGBUILD @@ -1,24 +1,24 @@ -# $Id: PKGBUILD 66696 2012-02-27 15:03:06Z giovanni $ +# $Id: PKGBUILD 73075 2012-06-30 11:58:09Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Larry Hajali <larryhaja [at] gmail [dot] com> pkgname=sigil -pkgver=0.5.3 +pkgver=0.5.902 pkgrel=1 -pkgdesc="A WYSIWYG ebook editor" +pkgdesc="WYSIWYG ebook editor" arch=('i686' 'x86_64' 'mips64el') url="http://code.google.com/p/sigil/" license=('GPL3') depends=('qtwebkit') -makedepends=('cmake') +makedepends=('cmake' 'gendesk') install=sigil.install -source=("http://sigil.googlecode.com/files/Sigil-${pkgver}-Code.zip" - "${pkgname}.desktop") -md5sums=('83c1a5608a2ec59a83c86ccc1429b5cc' - 'fef6aa492af487ccccd6b133635cee5a') +source=("http://sigil.googlecode.com/files/Sigil-${pkgver}-Code.zip") +md5sums=('7e44ce266fc2539888edd0e1ee66b05d') build() { cd "${srcdir}" + gendesk -n + mkdir build cd build cmake -G "Unix Makefiles" \ @@ -36,10 +36,13 @@ package() { make install DESTDIR="${pkgdir}" install -d -m 0755 "${pkgdir}"/usr/share/applications - install -m 0644 "${srcdir}"/${pkgname}.desktop "${pkgdir}"/usr/share/applications + install -m 0644 "${srcdir}"/${pkgname}.desktop \ + "${pkgdir}"/usr/share/applications for _pic in 16 32 48 128 256; do install -D -m 0644 ../src/Sigil/Resource_Files/icon/app_icon_${_pic}.png \ "${pkgdir}"/usr/share/icons/hicolor/${_pic}x${_pic}/apps/${pkgname}.png done + install -Dm644 ../src/Sigil/Resource_Files/icon/app_icon_128.png \ + "$pkgdir/usr/share/pixmaps/$pkgname.png" } diff --git a/extra/audacious/PKGBUILD b/extra/audacious/PKGBUILD index 2d25a79d8..f88d2b1e3 100644 --- a/extra/audacious/PKGBUILD +++ b/extra/audacious/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 159763 2012-05-26 15:34:45Z bisson $ +# $Id: PKGBUILD 162785 2012-06-30 13:48:37Z bisson $ # Contributor: Alexander Fehr <pizzapunk gmail com> # Contributor: Giovanni Scafora <giovanni@archlinux.org> # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=audacious -pkgver=3.2.3 +pkgver=3.2.4 pkgrel=1 pkgdesc='Lightweight, advanced audio player focused on audio quality' url='http://audacious-media-player.org/' @@ -14,7 +14,7 @@ depends=('gtk3' 'dbus-glib' 'libguess' 'libsm' 'audacious-plugins' 'hicolor-icon-theme' 'gtk-update-icon-cache' 'desktop-file-utils') optdepends=('unzip-libre: zipped skins support') source=("http://distfiles.audacious-media-player.org/${pkgname}-${pkgver}.tar.bz2") -sha1sums=('23be0fcb0a7d5ec2bc4d4fee436e77f2138903ef') +sha1sums=('24aa75e0a15d2327641c81c6ec7ea153a8df1ae0') provides=('audacious-player') replaces=('audacious-player') diff --git a/extra/lbreakout2/PKGBUILD b/extra/lbreakout2/PKGBUILD index 6b89b083a..35042f76b 100644 --- a/extra/lbreakout2/PKGBUILD +++ b/extra/lbreakout2/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 148808 2012-02-05 11:51:24Z ibiru $ +# $Id: PKGBUILD 162793 2012-06-30 14:10:06Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=lbreakout2 -pkgver=2.6.3 -pkgrel=3 +pkgver=2.6.4 +pkgrel=1 pkgdesc="A breakout game with nice effects, graphics, and sounds" arch=('i686' 'x86_64' 'mips64el') url="http://lgames.sourceforge.net" @@ -14,7 +14,7 @@ backup=('var/games/lbreakout2/lbreakout2.hscr') source=("http://downloads.sourceforge.net/lgames/${pkgname}-${pkgver/_/-}.tar.gz" 'lbreakout2.desktop' 'lbreakout2.png') -md5sums=('43900187bc935475cd6489569cd2230a' +md5sums=('4849af72225a304267eb71a9c100cd48' '14cd34a72a8f4e3b8f385f9023625241' '94e2fa393eb2a7d4494641dec580573b') diff --git a/extra/live-media/PKGBUILD b/extra/live-media/PKGBUILD index 473ae3876..545cc6ac2 100644 --- a/extra/live-media/PKGBUILD +++ b/extra/live-media/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 162236 2012-06-24 06:52:55Z giovanni $ +# $Id: PKGBUILD 162789 2012-06-30 13:56:05Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Gilles CHAUVIN <gcnweb@gmail.com> pkgname=live-media -pkgver=2012.06.23 +pkgver=2012.06.26 pkgrel=1 pkgdesc="A set of C++ libraries for multimedia streaming" arch=('i686' 'x86_64' 'mips64el') @@ -11,7 +11,7 @@ license=('LGPL') url="http://live555.com/liveMedia" depends=('gcc-libs') source=("http://live555.com/liveMedia/public/live.${pkgver}.tar.gz") -md5sums=('c1e6a597c8259a1c9d86a15605277a02') +md5sums=('8b0a51ee8aaa5f065c547b35f8d30dfd') build() { cd ${srcdir}/live diff --git a/extra/pixman/PKGBUILD b/extra/pixman/PKGBUILD index 7d206a3fa..58782f157 100644 --- a/extra/pixman/PKGBUILD +++ b/extra/pixman/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 160261 2012-05-31 17:12:14Z andyrtr $ +# $Id: PKGBUILD 162772 2012-06-30 07:29:52Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Alexander Baldeck <alexander@archlinux.org> pkgname=pixman -pkgver=0.26.0 +pkgver=0.26.2 pkgrel=1 pkgdesc="The pixel-manipulation library for X and cairo" arch=(i686 x86_64 'mips64el') @@ -11,10 +11,8 @@ url="http://xorg.freedesktop.org" license=('custom') depends=('glibc') options=('!libtool') -source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2 - test_failures_on_x86-32.diff) -sha1sums=('d772cf794ec5da0966eba3cb360919a0a5e0d23f' - '24a688271d5cf2c4137a147deaa2975122c01aa8') +source=(http://xorg.freedesktop.org/releases/individual/lib/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('1daf014714cc29147726abada12359345d156705') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -22,7 +20,6 @@ build() { # patch -Np1 -i $srcdir/pixman-loongson2f.patch # autoreconf -i # } - patch -Np1 -i ${srcdir}/test_failures_on_x86-32.diff ./configure --prefix=/usr --disable-static make } diff --git a/extra/r/PKGBUILD b/extra/r/PKGBUILD index fa3893cdf..ac3dafa31 100644 --- a/extra/r/PKGBUILD +++ b/extra/r/PKGBUILD @@ -1,20 +1,20 @@ -# $Id: PKGBUILD 162765 2012-06-29 20:58:34Z ronald $ +# $Id: PKGBUILD 162770 2012-06-30 07:08:33Z ronald $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Damir Perisa <damir.perisa@bluewin.ch> # Contributor: K. Piche <kpiche@rogers.com> pkgname=r pkgver=2.15.1 -pkgrel=1 +pkgrel=2 pkgdesc="Language and environment for statistical computing and graphics" arch=('i686' 'x86_64' 'mips64el') license=('GPL') url=('http://www.r-project.org/') depends=('blas' 'lapack' 'bzip2' 'libpng' 'libjpeg' 'libtiff' 'ncurses' 'pcre' 'readline' 'zlib' 'perl' 'gcc-libs' - 'libxt' 'libxmu' 'pango' 'xz' 'texlive-bin' 'desktop-file-utils') + 'libxt' 'libxmu' 'pango' 'xz' 'desktop-file-utils') makedepends=('openjdk6' 'gcc-fortran' 'tk') -optdepends=('tk: tcl/tk interface') +optdepends=('tk: tcl/tk interface' 'texlive-bin: latex sty files') backup=('etc/R/Makeconf' 'etc/R/Renviron' 'etc/R/ldpaths' 'etc/R/repositories') options=('!makeflags' '!emptydirs') source=("http://cran.r-project.org/src/base/R-2/R-${pkgver}.tar.gz" diff --git a/extra/r/r.install b/extra/r/r.install index 89fea599b..522ce52e7 100644 --- a/extra/r/r.install +++ b/extra/r/r.install @@ -1,7 +1,9 @@ post_install() { update-desktop-database -q - echo ">>> updating the filename database for texlive..." - mktexlsr --quiet usr/share/texmf + if [[ -x /usr/bin/mktexlsr ]]; then + echo ">>> updating the filename database for texlive..." + mktexlsr --quiet usr/share/texmf + fi } post_upgrade() { diff --git a/extra/source-highlight/PKGBUILD b/extra/source-highlight/PKGBUILD index e879e6e6c..a987ebcfa 100644 --- a/extra/source-highlight/PKGBUILD +++ b/extra/source-highlight/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 153975 2012-03-21 06:31:40Z giovanni $ +# $Id: PKGBUILD 162797 2012-06-30 14:35:56Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Douglas Soares de Andrade <douglas@archlinux.org> pkgname=source-highlight -pkgver=3.1.6 -pkgrel=3 +pkgver=3.1.7 +pkgrel=1 pkgdesc="Convert source code to syntax highlighted document" arch=('i686' 'x86_64' 'mips64el') url="http://www.gnu.org/software/src-highlite/" @@ -14,7 +14,7 @@ makedepends=('ctags' 'boost') options=('!libtool') install=$pkgname.install source=("ftp://ftp.gnu.org/gnu/src-highlite/${pkgname}-${pkgver}.tar.gz") -md5sums=('44856c15a5dc8694e30d92f640ed348f') +md5sums=('0ff81588d3536b4c4e571122ba940595') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/virtuoso/PKGBUILD b/extra/virtuoso/PKGBUILD index 143f5a2b7..d505b0ee8 100644 --- a/extra/virtuoso/PKGBUILD +++ b/extra/virtuoso/PKGBUILD @@ -1,23 +1,25 @@ -# $Id: PKGBUILD 157183 2012-04-25 11:45:58Z andrea $ +# $Id: PKGBUILD 162805 2012-06-30 17:32:04Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Massimiliano Torromeo <massimiliano DOT torromeo AT google mail service> pkgname=virtuoso -pkgver=6.1.5 +pkgver=6.1.5.20120630 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') pkgdesc='A scalable cross-platform server that combines SQL/RDF/XML Data Management with Web Application Server and Web Services Platform functionality' url='http://virtuoso.openlinksw.com/wiki/main/Main/' license=('GPL') depends=('libldap') -makedepends=('bison' 'flex') +makedepends=('bison' 'flex' 'gperf') options=('!libtool') -source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-opensource-${pkgver}.tar.gz") -md5sums=('61b53395e14a11dd7e7715b50261b9eb') +source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-opensource-${pkgver}.tar.gz") +#source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-opensource-${pkgver}.tar.gz") +md5sums=('1364679ffdbc6b0c16eadf6dee0e2676') build() { cd ${srcdir}/${pkgname}-opensource-${pkgver} + ./autogen.sh ./configure --prefix=/usr \ --localstatedir=/var \ --sysconfdir=/etc \ diff --git a/extra/vlc/PKGBUILD b/extra/vlc/PKGBUILD index 73f5b0def..dd1465417 100644 --- a/extra/vlc/PKGBUILD +++ b/extra/vlc/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 160375 2012-06-01 12:58:51Z dreisner $ +# $Id: PKGBUILD 162781 2012-06-30 12:58:20Z giovanni $ # Maintainer: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Sarah Hay <sarahhay@mb.sympatico.ca> # Contributor: Martin Sandsmark <martin.sandsmark@kde.org> pkgname=vlc -pkgver=2.0.1 -pkgrel=2 +pkgver=2.0.2 +pkgrel=1 pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player" arch=('i686' 'x86_64' 'mips64el') url="http://www.videolan.org/vlc/" @@ -46,7 +46,8 @@ optdepends+=('libcaca: for colored ASCII art video output' 'aalib: for ASCII art plugin' 'libmtp: for MTP devices support' 'fluidsynth: for synthesizer MIDI FluidSynth' - 'smbclient: for SMB access plugin') + 'smbclient: for SMB access plugin' + 'libcdio: for audio CD playback support') conflicts=('vlc-plugin') replaces=('vlc-plugin') backup=('usr/share/vlc/lua/http/.hosts' @@ -54,7 +55,7 @@ backup=('usr/share/vlc/lua/http/.hosts' options=('!libtool' '!emptydirs') install=vlc.install source=("http://download.videolan.org/pub/videolan/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.xz") -md5sums=('5ad114755670e4881a2b35354e2f79bc') +md5sums=('93e729cc970a4535b3213dbef0e69528') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/multilib-staging/gcc-multilib/PKGBUILD b/multilib-staging/gcc-multilib/PKGBUILD new file mode 100644 index 000000000..d4a2f7ac2 --- /dev/null +++ b/multilib-staging/gcc-multilib/PKGBUILD @@ -0,0 +1,325 @@ +# $Id: PKGBUILD 73094 2012-07-01 03:25:23Z heftig $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Allan McRae <allan@archlinux.org> + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# NOTE: libtool requires rebuilt with each new gcc version + +pkgbase='gcc-multilib' +pkgname=('gcc-multilib' 'gcc-libs-multilib' 'lib32-gcc-libs' 'gcc-fortran-multilib' 'gcc-objc-multilib' 'gcc-ada-multilib' 'gcc-go-multilib') +pkgver=4.7.1 +pkgrel=2 +#_snapshot=4.7-20120505 +_libstdcppmanver=20120605 # Note: check source directory name when updating this +pkgdesc="The GNU Compiler Collection for multilib" +arch=('x86_64') +license=('GPL' 'LGPL' 'FDL' 'custom') +url="http://gcc.gnu.org" +makedepends=('binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl' 'gcc-ada-multilib' + 'lib32-glibc>=2.14') +checkdepends=('dejagnu') +options=('!libtool' '!emptydirs') +source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 + #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2 + ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2 + gcc_pure64-multilib.patch + gcc-4.7.0-cloog-0.17.patch + gcc-4.7.1-libada-pic.patch + gcc-4.7.1-libgo-write.patch) +md5sums=('933e6f15f51c031060af64a9e14149ff' + '767c62f9a047c4434f2345decf1d0819' + 'ec24c32d3d1030c2bc8cb2ad2d1dc629' + '575f7d17b022e609447a590e481b18b5' + '2acbc9d35cc9d72329dc71d6b1f162ef' + 'df82dd175ac566c8a6d46b11ac21f14c') + + +if [ -n "${_snapshot}" ]; then + _basedir="${srcdir}/gcc-${_snapshot}" +else + _basedir="${srcdir}/gcc-${pkgver}" +fi + +build() { + cd ${_basedir} + + # Do not install libiberty + sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in + + # Do not run fixincludes + sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in + + patch -p1 -i ${srcdir}/gcc_pure64-multilib.patch + + # compatibility with latest cloog + patch -p1 -i ${srcdir}/gcc-4.7.0-cloog-0.17.patch + + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53679 + patch -p1 -i ${srcdir}/gcc-4.7.1-libgo-write.patch + + # bug to file... + patch -p1 -i ${srcdir}/gcc-4.7.1-libada-pic.patch + + echo ${pkgver} > gcc/BASE-VER + + cd ${srcdir} + mkdir gcc-build && cd gcc-build + + ${_basedir}/configure --prefix=/usr \ + --libdir=/usr/lib --libexecdir=/usr/lib \ + --mandir=/usr/share/man --infodir=/usr/share/info \ + --with-bugurl=https://bugs.archlinux.org/ \ + --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \ + --enable-shared --enable-threads=posix \ + --with-system-zlib --enable-__cxa_atexit \ + --disable-libunwind-exceptions --enable-clocale=gnu \ + --disable-libstdcxx-pch --enable-libstdcxx-time \ + --enable-gnu-unique-object --enable-linker-build-id \ + --with-ppl --enable-cloog-backend=isl \ + --enable-lto --enable-gold --enable-ld=default \ + --enable-plugin --with-plugin-ld=ld.gold \ + --with-linker-hash-style=gnu \ + --enable-multilib --disable-libssp \ + --disable-build-with-cxx --disable-build-poststage1-with-cxx \ + --enable-checking=release --with-fpmath=sse + make +} + +check() { + cd gcc-build + + # increase stack size to prevent test failures + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827 + ulimit -s 32768 + + # do not abort on error as some are "expected" + make -k check || true + ${_basedir}/contrib/test_summary +} + +package_gcc-libs-multilib() +{ + pkgdesc="Runtime libraries shipped by GCC for multilib" + depends=('glibc>=2.15' "lib32-gcc-libs=$pkgver-$pkgrel") + provides=("gcc-libs=$pkgver-$pkgrel") + conflicts=('gcc-libs') + install=gcc-libs.install + + cd gcc-build + make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared + for lib in libmudflap libgomp libstdc++-v3/src libitm; do + make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES + done + make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install + make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info + make -j1 -C $CHOST/libitm DESTDIR=${pkgdir} install-info + + make -j1 DESTDIR=${pkgdir} install-target-libquadmath + make -j1 DESTDIR=${pkgdir} install-target-libgfortran + make -j1 DESTDIR=${pkgdir} install-target-libobjc + + # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc} + rm -r ${pkgdir}/usr/lib/{gcc/,libgfortran.spec} + + # remove stuff in lib32-gcc-libs + rm -r ${pkgdir}/usr/lib32 + + # remove static libraries + find ${pkgdir} -name *.a -delete + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-libs-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_lib32-gcc-libs() +{ + pkgdesc="Runtime libraries shipped by GCC (32-bit)" + depends=('lib32-glibc>=2.15' "gcc-libs>=$pkgver") + + cd gcc-build + make -j1 -C $CHOST/32/libgcc DESTDIR=${pkgdir} install-shared + for lib in libmudflap libgomp libstdc++-v3/src libitm; do + make -j1 -C $CHOST/32/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES + done + + make -j1 DESTDIR=${pkgdir} install-target-libquadmath + make -j1 DESTDIR=${pkgdir} install-target-libgfortran + make -j1 DESTDIR=${pkgdir} install-target-libobjc + + # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc} + rm ${pkgdir}/usr/lib32/libgfortran.spec + + # remove stuff in gcc-libs-multilib + rm -r ${pkgdir}/usr/lib + rm -r ${pkgdir}/usr/share/info + + # remove static libraries + find ${pkgdir} -name *.a -delete + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-multilib() +{ + pkgdesc="The GNU Compiler Collection - C and C++ frontends for multilib" + depends=("gcc-libs-multilib=$pkgver-$pkgrel" 'binutils-multilib>=2.22' 'libmpc' 'cloog' 'ppl') + groups=('multilib-devel') + provides=("gcc=$pkgver-$pkgrel") + conflicts=('gcc') + install=gcc.install + + cd gcc-build + + make -j1 DESTDIR=${pkgdir} install + + install -d $pkgdir/usr/share/gdb/auto-load/usr/lib + mv $pkgdir{,/usr/share/gdb/auto-load}/usr/lib/libstdc++.so.6.0.17-gdb.py + + # unfortunately it is much, much easier to install the lot and clean-up the mess... + rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*} + rm $pkgdir/usr/lib{,32}/*.so* + rm $pkgdir/usr/lib{,32}/lib{ffi,gfortran,go{,begin},objc,quadmath}.a + rm $pkgdir/usr/lib{,32}/libgfortran.spec + rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{{,32/}ada{include,lib},finclude,include/objc} + rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h} + rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1} + rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{,32/}{libcaf_single,libgfortranbegin}.a + rm -r $pkgdir/usr/lib{,32}/go + rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath,libitm}.info + rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo + rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1 + rm $pkgdir/usr/share/man/man3/ffi* + + # many packages require these symlinks + #install -dm755 ${pkgdir}/lib + #ln -s /usr/bin/cpp ${pkgdir}/lib/cpp + ln -s gcc ${pkgdir}/usr/bin/cc + + # POSIX conformance launcher scripts for c89 and c99 + cat > $pkgdir/usr/bin/c89 <<"EOF" +#!/bin/sh +fl="-std=c89" +for opt; do + case "$opt" in + -ansi|-std=c89|-std=iso9899:1990) fl="";; + -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} +EOF + + cat > $pkgdir/usr/bin/c99 <<"EOF" +#!/bin/sh +fl="-std=c99" +for opt; do + case "$opt" in + -std=c99|-std=iso9899:1999) fl="";; + -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} +EOF + + chmod 755 $pkgdir/usr/bin/c{8,9}9 + + # install the libstdc++ man pages + install -dm755 ${pkgdir}/usr/share/man/man3 + install -m644 ${srcdir}/libstdc++-api.${_libstdcppmanver}.man/man3/* \ + ${pkgdir}/usr/share/man/man3/ + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-fortran-multilib() +{ + pkgdesc="Fortran front-end for GCC for multilib" + depends=("gcc-multilib=$pkgver-$pkgrel") + provides=("gcc-fortran=$pkgver-$pkgrel") + conflicts=('gcc-fortran') + install=gcc-fortran.install + + cd gcc-build + make -j1 DESTDIR=${pkgdir} install-target-libquadmath + make -j1 DESTDIR=$pkgdir install-target-libgfortran + make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS + make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info} + install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951 + + # remove libraries included in gcc-libs + rm ${pkgdir}/usr/lib{,32}/lib{gfortran,quadmath}.so* + rm ${pkgdir}/usr/share/info/libquadmath.info + + ln -s gfortran ${pkgdir}/usr/bin/f95 + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-fortran-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-objc-multilib() +{ + pkgdesc="Objective-C front-end for GCC for multilib" + depends=("gcc-multilib=$pkgver-$pkgrel") + provides=("gcc-objc=$pkgver-$pkgrel") + conflicts=('gcc-objc') + + cd gcc-build + make -j1 DESTDIR=$pkgdir install-target-libobjc + install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ + install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ + + # remove libraries included in gcc-libs + rm ${pkgdir}/usr/lib{,32}/libobjc.so* + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-objc-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-ada-multilib() +{ + pkgdesc="Ada front-end for GCC (GNAT) for multilib" + depends=("gcc-multilib=$pkgver-$pkgrel") + provides=("gcc-ada=$pkgver-$pkgrel") + conflicts=('gcc-ada') + install=gcc-ada.install + + cd gcc-build/gcc + make -j1 DESTDIR=$pkgdir ada.install-{common,info} + install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver + + cd ../$CHOST/32/libada + make -j1 DESTDIR=${pkgdir} INSTALL="install" \ + INSTALL_DATA="install -m644" install-gnatlib + + ln -s gcc ${pkgdir}/usr/bin/gnatgcc + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-ada-multilib/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-go-multilib() +{ + pkgdesc="Go front-end for GCC for multilib" + depends=("gcc-multilib=$pkgver-$pkgrel") + provides=("gcc-go=$pkgver-$pkgrel") + conflicts=('gcc-go') + install=gcc-go.install + + cd gcc-build + make -j1 DESTDIR=$pkgdir install-target-libgo + make -j1 -C gcc DESTDIR=$pkgdir go.install-{common,man,info} + install -Dm755 gcc/go1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/go1 + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-go/RUNTIME.LIBRARY.EXCEPTION +} diff --git a/multilib-staging/gcc-multilib/gcc-4.7.0-cloog-0.17.patch b/multilib-staging/gcc-multilib/gcc-4.7.0-cloog-0.17.patch new file mode 100644 index 000000000..c7146fa04 --- /dev/null +++ b/multilib-staging/gcc-multilib/gcc-4.7.0-cloog-0.17.patch @@ -0,0 +1,24 @@ +diff -Naur gcc-4.6-20120120-orig/configure gcc-4.6-20120120/configure +--- gcc-4.6-20120120-orig/configure 2011-12-18 20:03:44.000000000 +1000 ++++ gcc-4.6-20120120/configure 2012-02-03 17:55:14.885990135 +1000 +@@ -6049,8 +6049,8 @@ + LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${ppllibs}" + + if test "${cloog_org}" = yes ; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.16.1 of CLooG" >&5 +-$as_echo_n "checking for version 0.16.1 of CLooG... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.17 of CLooG" >&5 ++$as_echo_n "checking for version 0.17 of CLooG... " >&6; } + if test "${gcc_cv_cloog_ct_0_14_0+set}" = set; then : + $as_echo_n "(cached) " >&6 + else +@@ -6061,8 +6061,7 @@ + main () + { + #if CLOOG_VERSION_MAJOR != 0 \ +- || CLOOG_VERSION_MINOR != 16 \ +- || CLOOG_VERSION_REVISION < 1 ++ || CLOOG_VERSION_MINOR != 17 + choke me + #endif + ; diff --git a/multilib-staging/gcc-multilib/gcc-4.7.1-libada-pic.patch b/multilib-staging/gcc-multilib/gcc-4.7.1-libada-pic.patch new file mode 100644 index 000000000..591da1e4a --- /dev/null +++ b/multilib-staging/gcc-multilib/gcc-4.7.1-libada-pic.patch @@ -0,0 +1,12 @@ +diff -Naur gcc-4.7.1-orig/libada/Makefile.in gcc-4.7.1/libada/Makefile.in +--- gcc-4.7.1-orig/libada/Makefile.in 2012-06-13 01:12:37.000000000 +1000 ++++ gcc-4.7.1/libada/Makefile.in 2012-06-16 15:04:32.179911023 +1000 +@@ -54,7 +54,7 @@ + PICFLAG = @PICFLAG@ + GNATLIBFLAGS= -W -Wall -gnatpg -nostdinc + GNATLIBCFLAGS= -g -O2 +-GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) \ ++GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) $(PICFLAG) \ + -fexceptions -DIN_RTS @have_getipinfo@ + + host_subdir = @host_subdir@ diff --git a/multilib-staging/gcc-multilib/gcc-4.7.1-libgo-write.patch b/multilib-staging/gcc-multilib/gcc-4.7.1-libgo-write.patch new file mode 100644 index 000000000..a7be83fda --- /dev/null +++ b/multilib-staging/gcc-multilib/gcc-4.7.1-libgo-write.patch @@ -0,0 +1,13 @@ +diff -Naur gcc-4.7.1-orig/libgo/runtime/print.c gcc-4.7.1/libgo/runtime/print.c +--- gcc-4.7.1-orig/libgo/runtime/print.c 2012-05-26 04:22:14.000000000 +1000 ++++ gcc-4.7.1/libgo/runtime/print.c 2012-06-16 15:06:28.553138502 +1000 +@@ -17,7 +17,8 @@ + G* g = runtime_g(); + + if(g == nil || g->writebuf == nil) { +- runtime_write(2, v, n); ++ ssize_t bytesWritten = runtime_write(2, v, n); ++ (void)bytesWritten; + return; + } + diff --git a/multilib-staging/gcc-multilib/gcc-ada.install b/multilib-staging/gcc-multilib/gcc-ada.install new file mode 100644 index 000000000..df0553a4f --- /dev/null +++ b/multilib-staging/gcc-multilib/gcc-ada.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(gnat-style.info gnat_rm.info gnat_ugn.info) + +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 +} diff --git a/multilib-staging/gcc-multilib/gcc-fortran.install b/multilib-staging/gcc-multilib/gcc-fortran.install new file mode 100644 index 000000000..b15d89a97 --- /dev/null +++ b/multilib-staging/gcc-multilib/gcc-fortran.install @@ -0,0 +1,16 @@ +infodir=usr/share/info +file="gfortran.info" + +post_install() { + [ -x usr/bin/install-info ] || return 0 + install-info $infodir/$file.gz $infodir/dir 2> /dev/null +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null +} diff --git a/multilib-staging/gcc-multilib/gcc-go.install b/multilib-staging/gcc-multilib/gcc-go.install new file mode 100644 index 000000000..7dc50dee5 --- /dev/null +++ b/multilib-staging/gcc-multilib/gcc-go.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(gccgo.info) + +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 +} diff --git a/multilib-staging/gcc-multilib/gcc-libs.install b/multilib-staging/gcc-multilib/gcc-libs.install new file mode 100644 index 000000000..23553b8f0 --- /dev/null +++ b/multilib-staging/gcc-multilib/gcc-libs.install @@ -0,0 +1,16 @@ +infodir=usr/share/info +filelist=(libgomp.info libquadmath.info) + +post_upgrade() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + 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 + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/multilib-staging/gcc-multilib/gcc.install b/multilib-staging/gcc-multilib/gcc.install new file mode 100644 index 000000000..3407a5e1f --- /dev/null +++ b/multilib-staging/gcc-multilib/gcc.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info) + +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 +} diff --git a/multilib-staging/gcc-multilib/gcc_pure64-multilib.patch b/multilib-staging/gcc-multilib/gcc_pure64-multilib.patch new file mode 100644 index 000000000..b5576ae0e --- /dev/null +++ b/multilib-staging/gcc-multilib/gcc_pure64-multilib.patch @@ -0,0 +1,22 @@ +diff -u -r gcc-4.7.0/gcc/config/i386/linux64.h gcc-4.7.0-pure64/gcc/config/i386/linux64.h +--- gcc-4.7.0/gcc/config/i386/linux64.h 2011-07-07 17:38:34.000000000 +0200 ++++ gcc-4.7.0-pure64/gcc/config/i386/linux64.h 2012-03-24 11:52:58.926204014 +0100 +@@ -29,5 +29,5 @@ + #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" + + #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2" + #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" +diff -u -r gcc-4.7.0/gcc/config/i386/t-linux64 gcc-4.7.0-pure64/gcc/config/i386/t-linux64 +--- gcc-4.7.0/gcc/config/i386/t-linux64 2011-11-02 16:23:48.000000000 +0100 ++++ gcc-4.7.0-pure64/gcc/config/i386/t-linux64 2012-03-24 11:52:44.119651885 +0100 +@@ -34,6 +34,6 @@ + comma=, + MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) + MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) +-MULTILIB_OSDIRNAMES = m64=../lib64 +-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) ++MULTILIB_OSDIRNAMES = m64=../lib ++MULTILIB_OSDIRNAMES+= m32=../lib32 + MULTILIB_OSDIRNAMES+= mx32=../libx32 diff --git a/staging/gcc/PKGBUILD b/staging/gcc/PKGBUILD new file mode 100644 index 000000000..7bbb7f7c0 --- /dev/null +++ b/staging/gcc/PKGBUILD @@ -0,0 +1,276 @@ +# $Id: PKGBUILD 162787 2012-06-30 13:53:51Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# NOTE: libtool requires rebuilt with each new gcc version + +pkgname=('gcc' 'gcc-libs' 'gcc-fortran' 'gcc-objc' 'gcc-ada' 'gcc-go') +pkgver=4.7.1 +pkgrel=2 +#_snapshot=4.7-20120505 +_libstdcppmanver=20120605 # Note: check source directory name when updating this +pkgdesc="The GNU Compiler Collection" +arch=('i686' 'x86_64') +license=('GPL' 'LGPL' 'FDL' 'custom') +url="http://gcc.gnu.org" +makedepends=('binutils>=2.22' 'libmpc' 'cloog' 'ppl' 'gcc-ada') +checkdepends=('dejagnu') +options=('!libtool' '!emptydirs') +source=(ftp://gcc.gnu.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.bz2 + #ftp://gcc.gnu.org/pub/gcc/snapshots/${_snapshot}/gcc-${_snapshot}.tar.bz2 + ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/libstdc++-api.${_libstdcppmanver}.man.tar.bz2 + gcc_pure64.patch + gcc-4.7.0-cloog-0.17.patch + gcc-4.7.1-libada-pic.patch + gcc-4.7.1-libgo-write.patch) +md5sums=('933e6f15f51c031060af64a9e14149ff' + '767c62f9a047c4434f2345decf1d0819' + 'ced48436c1b3c981d721a829f1094de1' + '575f7d17b022e609447a590e481b18b5' + '2acbc9d35cc9d72329dc71d6b1f162ef' + 'df82dd175ac566c8a6d46b11ac21f14c') + + +if [ -n "${_snapshot}" ]; then + _basedir="${srcdir}/gcc-${_snapshot}" +else + _basedir="${srcdir}/gcc-${pkgver}" +fi + +build() { + cd ${_basedir} + + # Do not install libiberty + sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in + + # Do not run fixincludes + sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in + + if [ "${CARCH}" = "x86_64" ]; then + patch -p1 -i ${srcdir}/gcc_pure64.patch + fi + + # compatibility with latest cloog + patch -p1 -i ${srcdir}/gcc-4.7.0-cloog-0.17.patch + + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53679 + patch -p1 -i ${srcdir}/gcc-4.7.1-libgo-write.patch + + # bug to file... + patch -p1 -i ${srcdir}/gcc-4.7.1-libada-pic.patch + + echo ${pkgver} > gcc/BASE-VER + + cd ${srcdir} + mkdir gcc-build && cd gcc-build + + ${_basedir}/configure --prefix=/usr \ + --libdir=/usr/lib --libexecdir=/usr/lib \ + --mandir=/usr/share/man --infodir=/usr/share/info \ + --with-bugurl=https://bugs.archlinux.org/ \ + --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ \ + --enable-shared --enable-threads=posix \ + --with-system-zlib --enable-__cxa_atexit \ + --disable-libunwind-exceptions --enable-clocale=gnu \ + --disable-libstdcxx-pch --enable-libstdcxx-time \ + --enable-gnu-unique-object --enable-linker-build-id \ + --with-ppl --enable-cloog-backend=isl \ + --enable-lto --enable-gold --enable-ld=default \ + --enable-plugin --with-plugin-ld=ld.gold \ + --with-linker-hash-style=gnu \ + --disable-multilib --disable-libssp \ + --disable-build-with-cxx --disable-build-poststage1-with-cxx \ + --enable-checking=release + make +} + +check() { + cd gcc-build + + # increase stack size to prevent test failures + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31827 + ulimit -s 32768 + + # do not abort on error as some are "expected" + make -k check || true + ${_basedir}/contrib/test_summary +} + +package_gcc-libs() +{ + pkgdesc="Runtime libraries shipped by GCC" + groups=('base') + depends=('glibc>=2.15') + install=gcc-libs.install + + cd gcc-build + make -j1 -C $CHOST/libgcc DESTDIR=${pkgdir} install-shared + for lib in libmudflap libgomp libstdc++-v3/src libitm; do + make -j1 -C $CHOST/$lib DESTDIR=${pkgdir} install-toolexeclibLTLIBRARIES + done + make -j1 -C $CHOST/libstdc++-v3/po DESTDIR=${pkgdir} install + make -j1 -C $CHOST/libgomp DESTDIR=${pkgdir} install-info + make -j1 -C $CHOST/libitm DESTDIR=${pkgdir} install-info + + make -j1 DESTDIR=${pkgdir} install-target-libquadmath + make -j1 DESTDIR=${pkgdir} install-target-libgfortran + make -j1 DESTDIR=${pkgdir} install-target-libobjc + + # remove unnecessary files installed by install-target-{libquadmath,libgfortran,libobjc} + rm -r ${pkgdir}/usr/lib/{gcc/,libgfortran.spec} + + # remove static libraries + find ${pkgdir} -name *.a -delete + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc() +{ + pkgdesc="The GNU Compiler Collection - C and C++ frontends" + depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.22' 'libmpc' 'cloog' 'ppl') + groups=('base-devel') + install=gcc.install + + cd gcc-build + + make -j1 DESTDIR=${pkgdir} install + + install -d $pkgdir/usr/share/gdb/auto-load/usr/lib + mv $pkgdir{,/usr/share/gdb/auto-load}/usr/lib/libstdc++.so.6.0.17-gdb.py + + # unfortunately it is much, much easier to install the lot and clean-up the mess... + rm $pkgdir/usr/bin/{{$CHOST-,}gfortran,{$CHOST-,}gccgo,gnat*} + rm $pkgdir/usr/lib/*.so* + rm $pkgdir/usr/lib/lib{ffi,gfortran,go{,begin},objc,quadmath}.a + rm $pkgdir/usr/lib/libgfortran.spec + rm -r $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{ada{include,lib},finclude,include/objc} + rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/include/{ffi{,target}.h,quadmath{,_weak}.h} + rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{cc1obj{,plus},f951,gnat1,go1} + rm $pkgdir/usr/lib/gcc/$CHOST/${pkgver}/{libcaf_single,libgfortranbegin}.a + rm -r $pkgdir/usr/lib/go + rm $pkgdir/usr/share/info/{gccgo,gfortran,gnat*,libgomp,libquadmath,libitm}.info + rm $pkgdir/usr/share/locale/{de,fr}/LC_MESSAGES/libstdc++.mo + rm $pkgdir/usr/share/man/man1/{gccgo,gfortran}.1 + rm $pkgdir/usr/share/man/man3/ffi* + + # many packages require these symlinks + #install -dm755 ${pkgdir}/lib + #ln -s /usr/bin/cpp ${pkgdir}/lib/cpp + ln -s gcc ${pkgdir}/usr/bin/cc + + # POSIX conformance launcher scripts for c89 and c99 + cat > $pkgdir/usr/bin/c89 <<"EOF" +#!/bin/sh +fl="-std=c89" +for opt; do + case "$opt" in + -ansi|-std=c89|-std=iso9899:1990) fl="";; + -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} +EOF + + cat > $pkgdir/usr/bin/c99 <<"EOF" +#!/bin/sh +fl="-std=c99" +for opt; do + case "$opt" in + -std=c99|-std=iso9899:1999) fl="";; + -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} +EOF + + chmod 755 $pkgdir/usr/bin/c{8,9}9 + + # install the libstdc++ man pages + install -dm755 ${pkgdir}/usr/share/man/man3 + install -m644 ${srcdir}/libstdc++-api.${_libstdcppmanver}.man/man3/* \ + ${pkgdir}/usr/share/man/man3/ + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-fortran() +{ + pkgdesc="Fortran front-end for GCC" + depends=("gcc=$pkgver-$pkgrel") + install=gcc-fortran.install + + cd gcc-build + make -j1 DESTDIR=${pkgdir} install-target-libquadmath + make -j1 DESTDIR=$pkgdir install-target-libgfortran + make -j1 -C $CHOST/libgomp DESTDIR=$pkgdir install-nodist_fincludeHEADERS + make -j1 -C gcc DESTDIR=$pkgdir fortran.install-{common,man,info} + install -Dm755 gcc/f951 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/f951 + + # remove libraries included in gcc-libs + rm ${pkgdir}/usr/lib/lib{gfortran,quadmath}.so* + rm ${pkgdir}/usr/share/info/libquadmath.info + + ln -s gfortran ${pkgdir}/usr/bin/f95 + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-fortran/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-objc() +{ + pkgdesc="Objective-C front-end for GCC" + depends=("gcc=$pkgver-$pkgrel") + + cd gcc-build + make -j1 DESTDIR=$pkgdir install-target-libobjc + install -dm755 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ + install -m755 gcc/cc1obj{,plus} $pkgdir/usr/lib/gcc/$CHOST/$pkgver/ + + # remove libraries included in gcc-libs + rm ${pkgdir}/usr/lib/libobjc.so* + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-objc/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-ada() +{ + pkgdesc="Ada front-end for GCC (GNAT)" + depends=("gcc=$pkgver-$pkgrel") + install=gcc-ada.install + + cd gcc-build/gcc + make -j1 DESTDIR=$pkgdir ada.install-{common,info} + install -m755 gnat1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver + + ln -s gcc ${pkgdir}/usr/bin/gnatgcc + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-ada/RUNTIME.LIBRARY.EXCEPTION +} + +package_gcc-go() +{ + pkgdesc="Go front-end for GCC" + depends=("gcc=$pkgver-$pkgrel") + install=gcc-go.install + + cd gcc-build + make -j1 DESTDIR=$pkgdir install-target-libgo + make -j1 -C gcc DESTDIR=$pkgdir go.install-{common,man,info} + install -Dm755 gcc/go1 $pkgdir/usr/lib/gcc/$CHOST/$pkgver/go1 + + # Install Runtime Library Exception + install -Dm644 ${_basedir}/COPYING.RUNTIME \ + ${pkgdir}/usr/share/licenses/gcc-go/RUNTIME.LIBRARY.EXCEPTION +} diff --git a/staging/gcc/gcc-4.7.0-cloog-0.17.patch b/staging/gcc/gcc-4.7.0-cloog-0.17.patch new file mode 100644 index 000000000..c7146fa04 --- /dev/null +++ b/staging/gcc/gcc-4.7.0-cloog-0.17.patch @@ -0,0 +1,24 @@ +diff -Naur gcc-4.6-20120120-orig/configure gcc-4.6-20120120/configure +--- gcc-4.6-20120120-orig/configure 2011-12-18 20:03:44.000000000 +1000 ++++ gcc-4.6-20120120/configure 2012-02-03 17:55:14.885990135 +1000 +@@ -6049,8 +6049,8 @@ + LDFLAGS="${_cloog_saved_LDFLAGS} ${clooglibs} ${ppllibs}" + + if test "${cloog_org}" = yes ; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.16.1 of CLooG" >&5 +-$as_echo_n "checking for version 0.16.1 of CLooG... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for version 0.17 of CLooG" >&5 ++$as_echo_n "checking for version 0.17 of CLooG... " >&6; } + if test "${gcc_cv_cloog_ct_0_14_0+set}" = set; then : + $as_echo_n "(cached) " >&6 + else +@@ -6061,8 +6061,7 @@ + main () + { + #if CLOOG_VERSION_MAJOR != 0 \ +- || CLOOG_VERSION_MINOR != 16 \ +- || CLOOG_VERSION_REVISION < 1 ++ || CLOOG_VERSION_MINOR != 17 + choke me + #endif + ; diff --git a/staging/gcc/gcc-4.7.1-libada-pic.patch b/staging/gcc/gcc-4.7.1-libada-pic.patch new file mode 100644 index 000000000..591da1e4a --- /dev/null +++ b/staging/gcc/gcc-4.7.1-libada-pic.patch @@ -0,0 +1,12 @@ +diff -Naur gcc-4.7.1-orig/libada/Makefile.in gcc-4.7.1/libada/Makefile.in +--- gcc-4.7.1-orig/libada/Makefile.in 2012-06-13 01:12:37.000000000 +1000 ++++ gcc-4.7.1/libada/Makefile.in 2012-06-16 15:04:32.179911023 +1000 +@@ -54,7 +54,7 @@ + PICFLAG = @PICFLAG@ + GNATLIBFLAGS= -W -Wall -gnatpg -nostdinc + GNATLIBCFLAGS= -g -O2 +-GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) \ ++GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) $(PICFLAG) \ + -fexceptions -DIN_RTS @have_getipinfo@ + + host_subdir = @host_subdir@ diff --git a/staging/gcc/gcc-4.7.1-libgo-write.patch b/staging/gcc/gcc-4.7.1-libgo-write.patch new file mode 100644 index 000000000..a7be83fda --- /dev/null +++ b/staging/gcc/gcc-4.7.1-libgo-write.patch @@ -0,0 +1,13 @@ +diff -Naur gcc-4.7.1-orig/libgo/runtime/print.c gcc-4.7.1/libgo/runtime/print.c +--- gcc-4.7.1-orig/libgo/runtime/print.c 2012-05-26 04:22:14.000000000 +1000 ++++ gcc-4.7.1/libgo/runtime/print.c 2012-06-16 15:06:28.553138502 +1000 +@@ -17,7 +17,8 @@ + G* g = runtime_g(); + + if(g == nil || g->writebuf == nil) { +- runtime_write(2, v, n); ++ ssize_t bytesWritten = runtime_write(2, v, n); ++ (void)bytesWritten; + return; + } + diff --git a/staging/gcc/gcc-ada.install b/staging/gcc/gcc-ada.install new file mode 100644 index 000000000..df0553a4f --- /dev/null +++ b/staging/gcc/gcc-ada.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(gnat-style.info gnat_rm.info gnat_ugn.info) + +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 +} diff --git a/staging/gcc/gcc-fortran.install b/staging/gcc/gcc-fortran.install new file mode 100644 index 000000000..b15d89a97 --- /dev/null +++ b/staging/gcc/gcc-fortran.install @@ -0,0 +1,16 @@ +infodir=usr/share/info +file="gfortran.info" + +post_install() { + [ -x usr/bin/install-info ] || return 0 + install-info $infodir/$file.gz $infodir/dir 2> /dev/null +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null +} diff --git a/staging/gcc/gcc-go.install b/staging/gcc/gcc-go.install new file mode 100644 index 000000000..7dc50dee5 --- /dev/null +++ b/staging/gcc/gcc-go.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(gccgo.info) + +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 +} diff --git a/staging/gcc/gcc-libs.install b/staging/gcc/gcc-libs.install new file mode 100644 index 000000000..23553b8f0 --- /dev/null +++ b/staging/gcc/gcc-libs.install @@ -0,0 +1,16 @@ +infodir=usr/share/info +filelist=(libgomp.info libquadmath.info) + +post_upgrade() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + 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 + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/staging/gcc/gcc.install b/staging/gcc/gcc.install new file mode 100644 index 000000000..3407a5e1f --- /dev/null +++ b/staging/gcc/gcc.install @@ -0,0 +1,20 @@ +infodir=usr/share/info +filelist=(cpp.info cppinternals.info gcc.info gccinstall.info gccint.info) + +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 +} diff --git a/staging/gcc/gcc_pure64.patch b/staging/gcc/gcc_pure64.patch new file mode 100644 index 000000000..a9b09bbcf --- /dev/null +++ b/staging/gcc/gcc_pure64.patch @@ -0,0 +1,26 @@ +diff -Naur gcc-orig/gcc/config/i386/linux64.h gcc/gcc/config/i386/linux64.h +--- gcc-orig/gcc/config/i386/linux64.h 2011-07-08 01:38:34.000000000 +1000 ++++ gcc/gcc/config/i386/linux64.h 2011-07-24 19:48:05.000000000 +1000 +@@ -28,6 +28,6 @@ + #define GNU_USER_LINK_EMULATION64 "elf_x86_64" + #define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64" + +-#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2" +-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2" ++#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld-linux.so.2" ++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2" + #define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2" +diff -Naur gcc-orig/gcc/config/i386/t-linux64 gcc/gcc/config/i386/t-linux64 +--- gcc-orig/gcc/config/i386/t-linux64 2011-07-08 01:38:34.000000000 +1000 ++++ gcc/gcc/config/i386/t-linux64 2011-07-24 19:49:41.000000000 +1000 +@@ -34,8 +34,8 @@ + comma=, + MULTILIB_OPTIONS = $(subst $(comma),/,$(TM_MULTILIB_CONFIG)) + MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS))) +-MULTILIB_OSDIRNAMES = m64=../lib64 +-MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) ++MULTILIB_OSDIRNAMES = m64=../lib ++MULTILIB_OSDIRNAMES+= m32=../lib32 + MULTILIB_OSDIRNAMES+= mx32=../libx32 + + LIBGCC = stmp-multilib diff --git a/staging/ppl/PKGBUILD b/staging/ppl/PKGBUILD new file mode 100644 index 000000000..0e5798dcd --- /dev/null +++ b/staging/ppl/PKGBUILD @@ -0,0 +1,33 @@ +# $Id: PKGBUILD 162774 2012-06-30 08:11:58Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: ezzetabi <ezzetabi at gawab dot com> + +pkgname=ppl +pkgver=1.0 +pkgrel=1 +pkgdesc="A modern library for convex polyhedra and other numerical abstractions." +arch=('i686' 'x86_64') +url="http://bugseng.com/products/ppl" +license=('GPL3') +depends=('gmp>=5.0') +options=('!docs' '!libtool') +source=(http://bugseng.com/products/ppl/download/ftp/releases/$pkgver/ppl-$pkgver.tar.gz{,.sign}) +md5sums=('c4566928c6b7bb63e95f96d1a7b5cb4c' + '5f490df826c76fed296060ca8fca4eb5') + +build() { + cd $srcdir/ppl-$pkgver + ./configure --prefix=/usr --enable-interfaces="c,cxx" + make +} + +check() { + cd $srcdir/ppl-$pkgver + make check +} + +package() { + cd $srcdir/ppl-$pkgver + make DESTDIR=$pkgdir install +} + diff --git a/testing/shadow/LICENSE b/testing/shadow/LICENSE new file mode 100644 index 000000000..c5ab15a56 --- /dev/null +++ b/testing/shadow/LICENSE @@ -0,0 +1,31 @@ +/* + * Copyright (c) 1990 - 1994, Julianne Frances Haugh + * Copyright (c) 1996 - 2000, Marek Michałkiewicz + * Copyright (c) 2001 - 2006, Tomasz Kłoczko + * Copyright (c) 2007 - 2009, Nicolas François + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the copyright holders or contributors may not be used to + * endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ diff --git a/testing/shadow/PKGBUILD b/testing/shadow/PKGBUILD new file mode 100644 index 000000000..c82fb65dc --- /dev/null +++ b/testing/shadow/PKGBUILD @@ -0,0 +1,131 @@ +# $Id: PKGBUILD 162811 2012-06-30 18:46:44Z tomegun $ +# Maintainer: Dave Reisner <dreisner@archlinux.org> +# Maintainer: Aaron Griffin <aaron@archlinux.org> + +pkgname=shadow +pkgver=4.1.5.1 +pkgrel=1 +pkgdesc="Password and account management tool suite with support for shadow files and PAM" +arch=('i686' 'x86_64') +url='http://pkg-shadow.alioth.debian.org/' +license=('BSD') +groups=('base') +depends=('bash' 'pam' 'acl') +backup=(etc/login.defs + etc/pam.d/{chage,passwd,shadow,useradd,usermod,userdel} + etc/pam.d/{chpasswd,newusers,groupadd,groupdel,groupmod} + etc/pam.d/{chgpasswd,groupmems} + etc/default/useradd) +options=('!libtool') +install='shadow.install' +source=("http://pkg-shadow.alioth.debian.org/releases/$pkgname-$pkgver.tar.bz2"{,.sig} + LICENSE + adduser + chgpasswd + chpasswd + defaults.pam + login.defs + newusers + passwd + shadow.cron.daily + useradd.defaults + xstrdup.patch + shadow-strncpy-usage.patch) +sha1sums=('81f38720b953ef9c2c100c43d02dfe19cafd6c30' + '126570e2939bf3b57f28df5197ab9309747a6b5c' + '33a6cf1e44a1410e5c9726c89e5de68b78f5f922' + '78ec184a499f9708adcfcf0b7a3b22a60bf39f91' + '4ad0e059406a305c8640ed30d93c2a1f62c2f4ad' + '12427b1ca92a9b85ca8202239f0d9f50198b818f' + '0e56fed7fc93572c6bf0d8f3b099166558bb46f1' + 'e5cab2118ecb1e61874cde842d7d04d1003f35cb' + '12427b1ca92a9b85ca8202239f0d9f50198b818f' + '611be25d91c3f8f307c7fe2485d5f781e5dee75f' + '5d83ba7e11c765c951867cbe00b0ae7ff57148fa' + '9ae93de5987dd0ae428f0cc1a5a5a5cd53583f19' + '6010fffeed1fc6673ad9875492e1193b1a847b53' + '21e12966a6befb25ec123b403cd9b5c492fe5b16') + +build() { + cd "$pkgname-$pkgver" + + # avoid transitive linking issues with binutils 2.22 + sed -i '/^user\(mod\|add\)_LDADD/s|$| -lattr|' src/Makefile.am + + # link to glibc's crypt(3) + LDFLAGS+=" -lcrypt" + + # need to offer these upstream + patch -Np1 <"$srcdir/xstrdup.patch" + patch -Np1 <"$srcdir/shadow-strncpy-usage.patch" + + # supress etc/pam.d/*, we provide our own + sed -i '/^SUBDIRS/s/pam.d//' etc/Makefile.in + + ./configure \ + --prefix=/usr \ + --libdir=/lib \ + --mandir=/usr/share/man \ + --sysconfdir=/etc \ + --with-libpam \ + --without-selinux + + make +} + +package() { + cd "$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + + # license + install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/shadow/LICENSE" + + # interactive useradd + install -Dm755 "$srcdir/adduser" "$pkgdir/usr/sbin/adduser" + + # useradd defaults + install -Dm644 "$srcdir/useradd.defaults" "$pkgdir/etc/default/useradd" + + # cron job + install -Dm744 "$srcdir/shadow.cron.daily" "$pkgdir/etc/cron.daily/shadow" + + # login.defs + install -Dm644 "$srcdir/login.defs" "$pkgdir/etc/login.defs" + + # PAM config - custom + install -dm755 "$pkgdir/etc/pam.d" + install -t "$pkgdir/etc/pam.d" -m644 "$srcdir"/{passwd,chgpasswd,chpasswd,newusers} + + # PAM config - from tarball + install -Dm644 etc/pam.d/groupmems "$pkgdir/etc/pam.d/groupmems" + + # we use the 'useradd' PAM file for other similar utilities + for file in chage groupadd groupdel groupmod shadow \ + useradd usermod userdel; do + install -Dm644 "$srcdir/defaults.pam" "$pkgdir/etc/pam.d/$file" + done + + # Remove utilities provided by util-linux + rm \ + "$pkgdir"/usr/bin/{chsh,chfn,sg} \ + "$pkgdir"/bin/{login,su} \ + "$pkgdir"/usr/sbin/{vipw,vigr} + + # but we keep newgrp, as sg is really an alias to it + mv "$pkgdir"/usr/bin/{newgrp,sg} + + # ...and their many man pages + find "$pkgdir"/usr/share/man \ + '(' -name 'chsh.1' -o \ + -name 'chfn.1' -o \ + -name 'su.1' -o \ + -name 'login.1' -o \ + -name 'vipw.8' -o \ + -name 'vigr.8' -o \ + -name 'newgrp.1' ')' \ + -delete + rmdir \ + "$pkgdir"/usr/share/man/{fi,id,zh_TW}/man1 \ + "$pkgdir"/usr/share/man/{fi,ko/man8} +} diff --git a/testing/shadow/adduser b/testing/shadow/adduser new file mode 100644 index 000000000..a5d7fd4fa --- /dev/null +++ b/testing/shadow/adduser @@ -0,0 +1,399 @@ +#!/bin/bash +# +# Copyright 1995 Hrvoje Dogan, Croatia. +# Copyright 2002, 2003, 2004 Stuart Winter, West Midlands, England, UK. +# Copyright 2004 Slackware Linux, Inc., Concord, CA, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# +########################################################################## +# Program: /usr/sbin/adduser +# Purpose: Interactive front end to /usr/sbin/useradd for Slackware Linux +# Author : Stuart Winter <stuart@polplex.co.uk> +# Based on the original Slackware adduser by Hrvoje Dogan +# with modifications by Patrick Volkerding +# Version: 1.09 +########################################################################## +# Usage..: adduser [<new_user_name>] +########################################################################## +# History # +########### +# v1.09 - 07/06/04 +# * Added standard Slackware script licence to the head of this file. +# v1.08 - 25/04/04 +# * Disallow user names that begin with a numeric because useradd +# (from shadow v4.03) does not allow them. <sw> +# v1.07 - 07/03/03 +# * When supplying a null string for the uid (meaning 'Choose next available'), +# if there were file names in the range 'a-z' in the pwd then the +# egrep command considered these files rather than the null string. +# The egrep expression is now in quotes. +# Reported & fixed by Vadim O. Ustiansky <sw> +# v1.06 - 31/03/03 +# * Ask to chown user.group the home directory if it already exists. +# This helps reduce later confusion when adding users whose home dir +# already exists (mounted partition for example) and is owned +# by a user other than the user to which the directory is being +# assigned as home. Default is not to chown. +# Brought to my attention by mRgOBLIN. <sw> +# v1.05 - 04/01/03 +# * Advise & prevent users from creating logins with '.' characters +# in the user name. <sw> +# * Made pending account creation info look neater <sw> +# v1.04 - 09/06/02 +# * Catered for shadow-4.0.3's 'useradd' binary that no longer +# will let you create a user that has any uppercase chars in it +# This was reported on the userlocal.org forums +# by 'xcp' - thanks. <sw,pjv> +# v1.03 - 20/05/02 +# * Support 'broken' (null lines in) /etc/passwd and +# /etc/group files <sw> +# * For recycling UIDs (default still 'off'), we now look in +# /etc/login.defs for the UID_MIN value and use it +# If not found then default to 1000 <sw> +# v1.02 - 10/04/02 +# * Fix user-specified UID bug. <pjv> +# v1.01 - 23/03/02 +# * Match Slackware indenting style, simplify. <pjv> +# v1.00 - 22/03/02 +# * Created +####################################################################### + +# Path to files +pfile=/etc/passwd +gfile=/etc/group +sfile=/etc/shells + +# Paths to binaries +useradd=/usr/sbin/useradd +chfn=/usr/bin/chfn +passwd=/usr/bin/passwd + +# Defaults +defhome=/home +defshell=/bin/bash +defgroup=users + +# Determine what the minimum UID is (for UID recycling) +# (we ignore it if it's not at the beginning of the line (i.e. commented out with #)) +export recycleUIDMIN="$(grep ^UID_MIN /etc/login.defs | awk '{print $2}' 2>/dev/null)" +# If we couldn't find it, set it to the default of 1000 +if [ -z "$recycleUIDMIN" ]; then + export recycleUIDMIN=1000 # this is the default from Slackware's /etc/login.defs +fi + + +# This setting enables the 'recycling' of older unused UIDs. +# When you userdel a user, it removes it from passwd and shadow but it will +# never get used again unless you specify it expliticly -- useradd (appears to) just +# look at the last line in passwd and increment the uid. I like the idea of +# recycling uids but you may have very good reasons not to (old forgotten +# confidential files still on the system could then be owned by this new user). +# We'll set this to no because this is what the original adduser shell script +# did and it's what users expect. +recycleuids=no + +# Function to read keyboard input. +# bash1 is broken (even ash will take read -ep!), so we work around +# it (even though bash1 is no longer supported on Slackware). +function get_input() { + local output + if [ "`echo $BASH_VERSION | cut -b1`" = "1" ]; then + echo -n "${1} " >&2 # fudge for use with bash v1 + read output + else # this should work with any other /bin/sh + read -ep "${1} " output + fi + echo $output +} + +# Function to display the account info +function display () { + local goose + goose="$(echo $2 | cut -d ' ' -f 2-)" # lop off the prefixed argument useradd needs + echo -n "$1 " + # If it's null then display the 'other' information + if [ -z "$goose" -a ! -z "$3" ]; then + echo "$3" + else + echo "$goose" + fi +} + +# Function to check whether groups exist in the /etc/group file +function check_group () { + local got_error group + if [ ! -z "$@" ]; then + for group in $@ ; do + local uid_not_named="" uid_not_num="" + grep -v "$^" $gfile | awk -F: '{print $1}' | grep "^${group}$" >/dev/null 2>&1 || uid_not_named=yes + grep -v "$^" $gfile | awk -F: '{print $3}' | grep "^${group}$" >/dev/null 2>&1 || uid_not_num=yes + if [ ! -z "$uid_not_named" -a ! -z "$uid_not_num" ]; then + echo "- Group '$group' does not exist" + got_error=yes + fi + done + fi + # Return exit code of 1 if at least one of the groups didn't exist + if [ ! -z "$got_error" ]; then + return 1 + fi +} + +#: Read the login name for the new user :# +# +# Remember that most Mail Transfer Agents are case independant, so having +# 'uSer' and 'user' may cause confusion/things to break. Because of this, +# useradd from shadow-4.0.3 no longer accepts usernames containing uppercase, +# and we must reject them, too. + +# Set the login variable to the command line param +echo +LOGIN="$1" +needinput=yes +while [ ! -z $needinput ]; do + if [ -z "$LOGIN" ]; then + while [ -z "$LOGIN" ]; do LOGIN="$(get_input "Login name for new user []:")" ; done + fi + grep "^${LOGIN}:" $pfile >/dev/null 2>&1 # ensure it's not already used + if [ $? -eq 0 ]; then + echo "- User '$LOGIN' already exists; please choose another" + unset LOGIN + elif [ ! -z "$( echo $LOGIN | grep "^[0-9]" )" ]; then + echo "- User names cannot begin with a number; please choose another" + unset LOGIN + elif [ ! "$LOGIN" = "`echo $LOGIN | tr A-Z a-z`" ]; then # useradd does not allow uppercase + echo "- User '$LOGIN' contains illegal characters (uppercase); please choose another" + unset LOGIN + elif [ ! -z "$( echo $LOGIN | grep '\.' )" ]; then + echo "- User '$LOGIN' contains illegal characters (period/dot); please choose another" + unset LOGIN + else + unset needinput + fi +done + +# Display the user name passed from the shell if it hasn't changed +if [ "$1" = "$LOGIN" ]; then + echo "Login name for new user: $LOGIN" +fi + +#: Get the UID for the user & ensure it's not already in use :# +# +# Whilst we _can_ allow users with identical UIDs, it's not a 'good thing' because +# when you change password for the uid, it finds the first match in /etc/passwd +# which isn't necessarily the correct user +# +echo +needinput=yes +while [ ! -z "$needinput" ]; do + _UID="$(get_input "User ID ('UID') [ defaults to next available ]:")" + grep -v "^$" $pfile | awk -F: '{print $3}' | grep "^${_UID}$" >/dev/null 2>&1 + if [ $? -eq 0 ]; then + echo "- That UID is already in use; please choose another" + elif [ ! -z "$(echo $_UID | egrep '[A-Za-z]')" ]; then + echo "- UIDs are numerics only" + else + unset needinput + fi +done +# If we were given a UID, then syntax up the variable to pass to useradd +if [ ! -z "$_UID" ]; then + U_ID="-u ${_UID}" +else + # Will we be recycling UIDs? + if [ "$recycleuids" = "yes" ]; then + U_ID="-u $(awk -F: '{uid[$3]=1} END { for (i=ENVIRON["recycleUIDMIN"];i in uid;i++);print i}' $pfile)" + fi +fi + +#: Get the initial group for the user & ensure it exists :# +# +# We check /etc/group for both the text version and the group ID number +echo +needinput=yes +while [ ! -z "$needinput" ]; do + GID="$(get_input "Initial group [ ${defgroup} ]:")" + check_group "$GID" + if [ $? -gt 0 ]; then + echo "- Please choose another" + else + unset needinput + fi +done +# Syntax the variable ready for useradd +if [ -z "$GID" ]; then + GID="-g ${defgroup}" +else + GID="-g ${GID}" +fi + +#: Get additional groups for the user :# +# +echo +needinput=yes +while [ ! -z "$needinput" ]; do + AGID="$(get_input "Additional groups (comma separated) []:")" + AGID="$(echo "$AGID" | tr -d ' ' | tr , ' ')" # fix up for parsing + if [ ! -z "$AGID" ]; then + check_group "$AGID" # check all groups at once (treated as N # of params) + if [ $? -gt 0 ]; then + echo "- Please re-enter the group(s)" + else + unset needinput # we found all groups specified + AGID="-G $(echo "$AGID" | tr ' ' ,)" + fi + else + unset needinput # we don't *have* to have additional groups + fi +done + +#: Get the new user's home dir :# +# +echo +needinput=yes +while [ ! -z "$needinput" ]; do + HME="$(get_input "Home directory [ ${defhome}/${LOGIN} ]")" + if [ -z "$HME" ]; then + HME="${defhome}/${LOGIN}" + fi + # Warn the user if the home dir already exists + if [ -d "$HME" ]; then + echo "- Warning: '$HME' already exists !" + getyn="$(get_input " Do you wish to change the home directory path ? (Y/n) ")" + if [ "$(echo $getyn | grep -i "n")" ]; then + unset needinput + # You're most likely going to only do this if you have the dir *mounted* for this user's $HOME + getyn="$(get_input " Do you want to chown $LOGIN.$( echo $GID | awk '{print $2}') $HME ? (y/N) ")" + if [ "$(echo $getyn | grep -i "y")" ]; then + CHOWNHOMEDIR=$HME # set this to the home directory + fi + fi + else + unset needinput + fi +done +HME="-d ${HME}" + +#: Get the new user's shell :# +echo +needinput=yes +while [ ! -z "$needinput" ]; do + unset got_error + SHL="$(get_input "Shell [ ${defshell} ]")" + if [ -z "$SHL" ]; then + SHL="${defshell}" + fi + # Warn the user if the shell doesn't exist in /etc/shells or as a file + if [ -z "$(grep "^${SHL}$" $sfile)" ]; then + echo "- Warning: ${SHL} is not in ${sfile} (potential problem using FTP)" + got_error=yes + fi + if [ ! -f "$SHL" ]; then + echo "- Warning: ${SHL} does not exist as a file" + got_error=yes + fi + if [ ! -z "$got_error" ]; then + getyn="$(get_input " Do you wish to change the shell ? (Y/n) ")" + if [ "$(echo $getyn | grep -i "n")" ]; then + unset needinput + fi + else + unset needinput + fi +done +SHL="-s ${SHL}" + +#: Get the expiry date :# +echo +needinput=yes +while [ ! -z "$needinput" ]; do + EXP="$(get_input "Expiry date (YYYY-MM-DD) []:")" + if [ ! -z "$EXP" ]; then + # Check to see whether the expiry date is in the valid format + if [ -z "$(echo "$EXP" | grep "^[[:digit:]]\{4\}[-]\?[[:digit:]]\{2\}[-]\?[[:digit:]]\{2\}$")" ]; then + echo "- That is not a valid expiration date" + else + unset needinput + EXP="-e ${EXP}" + fi + else + unset needinput + fi +done + +# Display the info about the new impending account +echo +echo "New account will be created as follows:" +echo +echo "---------------------------------------" +display "Login name.......: " "$LOGIN" +display "UID..............: " "$_UID" "[ Next available ]" +display "Initial group....: " "$GID" +display "Additional groups: " "$AGID" "[ None ]" +display "Home directory...: " "$HME" +display "Shell............: " "$SHL" +display "Expiry date......: " "$EXP" "[ Never ]" +echo + +echo "This is it... if you want to bail out, hit Control-C. Otherwise, press" +echo "ENTER to go ahead and make the account." +read junk + +echo +echo "Creating new account..." +echo +echo + +# Add the account to the system +CMD="$useradd "$HME" -m "$EXP" "$U_ID" "$GID" "$AGID" "$SHL" "$LOGIN"" +$CMD + +if [ $? -gt 0 ]; then + echo "- Error running useradd command -- account not created!" + echo "(cmd: $CMD)" + exit 1 +fi + +# chown the home dir ? We can only do this once the useradd has +# completed otherwise the user name doesn't exist. +if [ ! -z "${CHOWNHOMEDIR}" ]; then + chown "$LOGIN"."$( echo $GID | awk '{print $2}')" "${CHOWNHOMEDIR}" +fi + +# Set the finger information +$chfn "$LOGIN" +if [ $? -gt 0 ]; then + echo "- Warning: an error occurred while setting finger information" +fi + +# Set a password +$passwd "$LOGIN" +if [ $? -gt 0 ]; then + echo "* WARNING: An error occured while setting the password for" + echo " this account. Please manually investigate this *" + exit 1 +fi + +echo +echo +echo "Account setup complete." +exit 0 + diff --git a/testing/shadow/chgpasswd b/testing/shadow/chgpasswd new file mode 100644 index 000000000..8f49f5cc8 --- /dev/null +++ b/testing/shadow/chgpasswd @@ -0,0 +1,4 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +account required pam_permit.so +password include system-auth diff --git a/testing/shadow/chpasswd b/testing/shadow/chpasswd new file mode 100644 index 000000000..5d447985a --- /dev/null +++ b/testing/shadow/chpasswd @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so +password required pam_unix.so sha512 shadow diff --git a/testing/shadow/defaults.pam b/testing/shadow/defaults.pam new file mode 100644 index 000000000..a7bf8a4a5 --- /dev/null +++ b/testing/shadow/defaults.pam @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so +password required pam_permit.so diff --git a/testing/shadow/login.defs b/testing/shadow/login.defs new file mode 100644 index 000000000..2500ee447 --- /dev/null +++ b/testing/shadow/login.defs @@ -0,0 +1,197 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for Linux. --marekm + +# +# Delay in seconds before being allowed another attempt after a login failure +# +FAIL_DELAY 3 + +# +# Enable display of unknown usernames when login failures are recorded. +# +LOG_UNKFAIL_ENAB no + +# +# Enable logging of successful logins +# +LOG_OK_LOGINS no + +# +# Enable "syslog" logging of su activity - in addition to sulog file logging. +# SYSLOG_SG_ENAB does the same for newgrp and sg. +# +SYSLOG_SU_ENAB yes +SYSLOG_SG_ENAB yes + +# +# If defined, either full pathname of a file containing device names or +# a ":" delimited list of device names. Root logins will be allowed only +# upon these devices. +# +CONSOLE /etc/securetty +#CONSOLE console:tty01:tty02:tty03:tty04 + +# +# If defined, all su activity is logged to this file. +# +#SULOG_FILE /var/log/sulog + +# +# If defined, file which maps tty line to TERM environment parameter. +# Each line of the file is in a format something like "vt100 tty01". +# +#TTYTYPE_FILE /etc/ttytype + +# +# If defined, the command name to display when running "su -". For +# example, if this is defined as "su" then a "ps" will display the +# command is "-su". If not defined, then "ps" would display the +# name of the shell actually being run, e.g. something like "-sh". +# +SU_NAME su + +# +# *REQUIRED* +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define both, MAIL_DIR takes precedence. +# QMAIL_DIR is for Qmail +# +#QMAIL_DIR Maildir +MAIL_DIR /var/spool/mail + +# +# If defined, file which inhibits all the usual chatter during the login +# sequence. If a full pathname, then hushed mode will be enabled if the +# user's name or shell are found in the file. If not a full pathname, then +# hushed mode will be enabled if the file exists in the user's home directory. +# +HUSHLOGIN_FILE .hushlogin +#HUSHLOGIN_FILE /etc/hushlogins + +# +# *REQUIRED* The default PATH settings, for superuser and normal users. +# +# (they are minimal, add the rest in the shell startup files) +ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin +ENV_PATH PATH=/bin:/usr/bin + +# +# Terminal permissions +# +# TTYGROUP Login tty will be assigned this group ownership. +# TTYPERM Login tty will be set to this permission. +# +# If you have a "write" program which is "setgid" to a special group +# which owns the terminals, define TTYGROUP to the group number and +# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign +# TTYPERM to either 622 or 600. +# +TTYGROUP tty +TTYPERM 0600 + +# +# Login configuration initializations: +# +# ERASECHAR Terminal ERASE character ('\010' = backspace). +# KILLCHAR Terminal KILL character ('\025' = CTRL/U). +# UMASK Default "umask" value. +# +# The ERASECHAR and KILLCHAR are used only on System V machines. +# The ULIMIT is used only if the system supports it. +# (now it works with setrlimit too; ulimit is in 512-byte units) +# +# Prefix these values with "0" to get octal, "0x" to get hexadecimal. +# +ERASECHAR 0177 +KILLCHAR 025 +UMASK 077 + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_WARN_AGE 7 + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 +# System accounts +SYS_UID_MIN 500 +SYS_UID_MAX 999 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 1000 +GID_MAX 60000 +# System accounts +SYS_GID_MIN 500 +SYS_GID_MAX 999 + +# +# Max number of login retries if password is bad +# +LOGIN_RETRIES 5 + +# +# Max time in seconds for login +# +LOGIN_TIMEOUT 60 + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# List of groups to add to the user's supplementary group set +# when logging in on the console (as determined by the CONSOLE +# setting). Default is none. +# +# Use with caution - it is possible for users to gain permanent +# access to these groups, even when not logged in on the console. +# How to do it is left as an exercise for the reader... +# +#CONSOLE_GROUPS floppy:audio:cdrom + +# +# Should login be allowed if we can't cd to the home directory? +# Default in no. +# +DEFAULT_HOME yes + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# Enable setting of the umask group bits to be the same as owner bits +# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is +# the same as gid, and username is the same as the primary group name. +# +# This also enables userdel to remove user groups if no members exist. +# +USERGROUPS_ENAB yes + diff --git a/testing/shadow/newusers b/testing/shadow/newusers new file mode 100644 index 000000000..5d447985a --- /dev/null +++ b/testing/shadow/newusers @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so +password required pam_unix.so sha512 shadow diff --git a/testing/shadow/passwd b/testing/shadow/passwd new file mode 100644 index 000000000..ab56da496 --- /dev/null +++ b/testing/shadow/passwd @@ -0,0 +1,4 @@ +#%PAM-1.0 +#password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3 +#password required pam_unix.so sha512 shadow use_authtok +password required pam_unix.so sha512 shadow nullok diff --git a/testing/shadow/shadow-strncpy-usage.patch b/testing/shadow/shadow-strncpy-usage.patch new file mode 100644 index 000000000..5aba8fa01 --- /dev/null +++ b/testing/shadow/shadow-strncpy-usage.patch @@ -0,0 +1,25 @@ +diff -u shadow-4.1.5/src/usermod.c.orig shadow-4.1.5/src/usermod.c +--- shadow-4.1.5/src/usermod.c.orig 2012-02-13 08:19:43.792146449 -0500 ++++ shadow-4.1.5/src/usermod.c 2012-02-13 08:21:19.375114500 -0500 +@@ -182,7 +182,7 @@ + struct tm *tp; + + if (date < 0) { +- strncpy (buf, "never", maxsize); ++ strncpy (buf, "never", maxsize - 1); + } else { + time_t t = (time_t) date; + tp = gmtime (&t); +diff -u shadow-4.1.5/src/login.c.orig shadow-4.1.5/src/login.c +--- shadow-4.1.5/src/login.c.orig 2012-02-13 08:19:50.951994454 -0500 ++++ shadow-4.1.5/src/login.c 2012-02-13 08:21:04.490430937 -0500 +@@ -752,7 +752,8 @@ + _("%s login: "), hostn); + } else { + strncpy (loginprompt, _("login: "), +- sizeof (loginprompt)); ++ sizeof (loginprompt) - 1); ++ loginprompt[sizeof (loginprompt) - 1] = '\0'; + } + + retcode = pam_set_item (pamh, PAM_USER_PROMPT, loginprompt); diff --git a/testing/shadow/shadow.cron.daily b/testing/shadow/shadow.cron.daily new file mode 100755 index 000000000..1931a793e --- /dev/null +++ b/testing/shadow/shadow.cron.daily @@ -0,0 +1,6 @@ +#!/bin/sh + +# Verify integrity of password and group files +/usr/sbin/pwck -r +/usr/sbin/grpck -r + diff --git a/testing/shadow/shadow.install b/testing/shadow/shadow.install new file mode 100644 index 000000000..14384c333 --- /dev/null +++ b/testing/shadow/shadow.install @@ -0,0 +1,9 @@ +post_upgrade() { + grpck -r >/dev/null 2>&1 + if [ $? -eq 2 ]; then + printf '%s\n' \ + "==> Warning: /etc/group or /etc/gshadow are inconsistent." \ + " Run 'grpck' to correct this." + fi + return 0 +} diff --git a/testing/shadow/useradd.defaults b/testing/shadow/useradd.defaults new file mode 100644 index 000000000..b800b1777 --- /dev/null +++ b/testing/shadow/useradd.defaults @@ -0,0 +1,9 @@ +# useradd defaults file for ArchLinux +# original changes by TomK +GROUP=100 +HOME=/home +INACTIVE=-1 +EXPIRE= +SHELL=/bin/bash +SKEL=/etc/skel +CREATE_MAIL_SPOOL=no diff --git a/testing/shadow/xstrdup.patch b/testing/shadow/xstrdup.patch new file mode 100644 index 000000000..bce434264 --- /dev/null +++ b/testing/shadow/xstrdup.patch @@ -0,0 +1,9 @@ +--- shadow-4.1.2.1/libmisc/xmalloc.c 2008-08-30 21:55:44.000000000 -0500 ++++ shadow-4.1.2.1/libmisc/xmalloc.c.new 2008-08-30 21:55:36.000000000 -0500 +@@ -61,5 +61,6 @@ + + char *xstrdup (const char *str) + { ++ if(str == NULL) return NULL; + return strcpy (xmalloc (strlen (str) + 1), str); + } diff --git a/testing/util-linux/PKGBUILD b/testing/util-linux/PKGBUILD new file mode 100644 index 000000000..977fba7a2 --- /dev/null +++ b/testing/util-linux/PKGBUILD @@ -0,0 +1,69 @@ +# $Id: PKGBUILD 162814 2012-06-30 21:27:56Z tomegun $ +# Maintainer: Tom Gundersen <teg@jklm.no> +# Contributor: judd <jvinet@zeroflux.org> + +pkgname=util-linux +pkgver=2.21.2 +pkgrel=3 +pkgdesc="Miscellaneous system utilities for Linux" +url="http://www.kernel.org/pub/linux/utils/util-linux/" +arch=('i686' 'x86_64') +groups=('base') +depends=('pam') +conflicts=('util-linux-ng') +provides=("util-linux-ng=${pkgver}") +license=('GPL2') +options=('!libtool') +source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v2.21/${pkgname}-${pkgver}.tar.xz + pam-login + pam-common) +backup=(etc/pam.d/chfn etc/pam.d/chsh etc/pam.d/login) + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # hardware clock + sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i include/pathnames.h + + ./configure --prefix=/usr \ + --libdir=/usr/lib \ + --enable-fs-paths-extra=/usr/bin:/usr/sbin \ + --enable-write \ + --enable-raw \ + --disable-wall \ + --enable-new-mount \ + --enable-login-utils + + make +} + +check() { + make -C "$pkgname-$pkgver" check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + + cd "${pkgdir}" + + install -dm755 var/lib/hwclock + + # broken tool, going away in next major release, so just remove it now + rm "${pkgdir}"/usr/{bin/chkdupexe,share/man/man1/chkdupexe.1} + + # delete stray empty dir, fixed upstream + rm -r usr/share/man/ru + + # setuid chfn and chsh + chmod 4755 "$pkgdir"/usr/bin/ch{sh,fn} + + # install PAM files for login-utils + install -Dm644 "$srcdir/pam-common" "$pkgdir/etc/pam.d/chfn" + install -m644 "$srcdir/pam-common" "$pkgdir/etc/pam.d/chsh" + install -m644 "$srcdir/pam-login" "$pkgdir/etc/pam.d/login" +} +md5sums=('54ba880f1d66782c2287ee2c898520e9' + '4368b3f98abd8a32662e094c54e7f9b1' + 'a31374fef2cba0ca34dfc7078e2969e4') diff --git a/testing/util-linux/pam-common b/testing/util-linux/pam-common new file mode 100644 index 000000000..a7bf8a4a5 --- /dev/null +++ b/testing/util-linux/pam-common @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so +password required pam_permit.so diff --git a/testing/util-linux/pam-login b/testing/util-linux/pam-login new file mode 100644 index 000000000..1960d9497 --- /dev/null +++ b/testing/util-linux/pam-login @@ -0,0 +1,7 @@ +#%PAM-1.0 + +auth required pam_securetty.so +auth requisite pam_nologin.so +auth include system-local-login +account include system-local-login +session include system-local-login diff --git a/testing/xf86-video-intel/PKGBUILD b/testing/xf86-video-intel/PKGBUILD new file mode 100644 index 000000000..6ebe5c8ab --- /dev/null +++ b/testing/xf86-video-intel/PKGBUILD @@ -0,0 +1,57 @@ +# $Id: PKGBUILD 162779 2012-06-30 11:55:07Z andyrtr $ +# Maintainer: AndyRTR <andyrtr@archlinux.org> +# Maintainer: Jan de Groot <jgc@archlinux.org> + +pkgbase=xf86-video-intel +pkgname=('xf86-video-intel-uxa' 'xf86-video-intel-sna') +pkgver=2.19.0 +pkgrel=5 +arch=(i686 x86_64) +url="http://xorg.freedesktop.org/" +license=('custom') +depends=('intel-dri' 'libxvmc' 'libpciaccess' 'libdrm' 'xcb-util>=0.3.9' 'libxfixes' 'systemd-tools') +makedepends=('xorg-server-devel>=1.12.0' 'libx11' 'libdrm' 'xf86driproto' 'glproto' 'mesa' 'libxvmc' 'libxrender') +options=('!libtool') +groups=('xorg-drivers' 'xorg') +source=(${url}/archive/individual/driver/${pkgbase}-${pkgver}.tar.bz2) +sha1sums=('131934cf5e90bd48c883804cc644c4cb8b1de100') + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + mkdir build-{UXA,SNA} + + pushd build-UXA + ../configure --prefix=/usr --enable-dri --enable-uxa + make + popd + + pushd build-SNA + ../configure --prefix=/usr --enable-dri --enable-sna --enable-vmap + make + popd +} + +package_xf86-video-intel-uxa() { + + pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers with UXA acceleration" + provides=('xf86-video-intel') + replaces=('xf86-video-intel') + conflicts=('xf86-video-intel-sna' 'xorg-server<1.12.0' 'xf86-video-i810' 'xf86-video-intel-legacy') + + cd "${srcdir}/${pkgbase}-${pkgver}" + make DESTDIR="${pkgdir}" install -C build-UXA + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} + +package_xf86-video-intel-sna() { + + pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers with SNA acceleration" + provides=('xf86-video-intel') + conflicts=('xf86-video-intel-uxa' 'xorg-server<1.12.0' 'xf86-video-i810' 'xf86-video-intel-legacy') + + cd "${srcdir}/${pkgbase}-${pkgver}" + make DESTDIR="${pkgdir}" install -C build-SNA + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/" +} |