diff options
Diffstat (limited to 'core')
104 files changed, 1658 insertions, 3154 deletions
diff --git a/core/binutils/PKGBUILD b/core/binutils/PKGBUILD index 8009c93f1..edd433c64 100644 --- a/core/binutils/PKGBUILD +++ b/core/binutils/PKGBUILD @@ -1,18 +1,20 @@ -# $Id: PKGBUILD 201559 2013-12-15 06:41:35Z allan $ +# $Id: PKGBUILD 205615 2014-02-10 03:07:50Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc pkgname=binutils pkgver=2.24 -pkgrel=1 +pkgrel=2 pkgdesc="A set of programs to assemble and manipulate binary and object files" arch=('i686' 'x86_64' 'mips64el') url="http://www.gnu.org/software/binutils/" license=('GPL') groups=('base-devel') -depends=('glibc>=2.18' 'zlib') +depends=('glibc>=2.19' 'zlib') checkdepends=('dejagnu' 'bc') +conflicts=('binutils-multilib') +replaces=('binutils-multilib') options=('staticlibs' '!distcc' '!ccache') install=binutils.install source=(ftp://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.bz2{,.sig}) @@ -36,7 +38,7 @@ build() { --with-bugurl=https://bugs.archlinux.org/ \ --enable-threads --enable-shared \ --enable-ld=default --enable-gold --enable-plugins \ - --disable-werror --disable-multilib + --disable-werror # check the host environment and makes sure all the necessary tools are available make configure-host diff --git a/core/crda/PKGBUILD b/core/crda/PKGBUILD index 2a6568539..97541e8dd 100644 --- a/core/crda/PKGBUILD +++ b/core/crda/PKGBUILD @@ -1,14 +1,14 @@ -# $Id: PKGBUILD 186207 2013-05-22 04:47:50Z foutrelis $ +# $Id: PKGBUILD 203561 2014-01-13 17:11:37Z andyrtr $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=crda pkgver=1.1.3 -pkgrel=2 +pkgrel=3 pkgdesc="Central Regulatory Domain Agent for wireless networks" arch=(i686 x86_64 'mips64el') url="http://wireless.kernel.org/en/developers/Regulatory/CRDA" license=('custom') -depends=('wireless-regdb' 'libnl' 'libgcrypt' 'systemd-tools' 'iw') +depends=('wireless-regdb' 'libnl' 'libgcrypt' 'systemd' 'iw') makedepends=('python2-m2crypto') install=crda.install source=(http://wireless.kernel.org/download/crda/${pkgname}-${pkgver}.tar.bz2 diff --git a/core/cryptsetup/PKGBUILD b/core/cryptsetup/PKGBUILD index 985ca277c..3ca0ff89d 100644 --- a/core/cryptsetup/PKGBUILD +++ b/core/cryptsetup/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 202619 2013-12-22 13:44:39Z thomas $ +# $Id: PKGBUILD 203562 2014-01-13 17:11:38Z andyrtr $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=cryptsetup pkgver=1.6.3 -pkgrel=1 +pkgrel=2 pkgdesc="Userspace setup tool for transparent encryption of block devices using dm-crypt" arch=(i686 x86_64 'mips64el') license=('GPL') diff --git a/core/curl/PKGBUILD b/core/curl/PKGBUILD index 9cb6bee57..a12afcd78 100644 --- a/core/curl/PKGBUILD +++ b/core/curl/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 202635 2013-12-23 02:04:37Z dreisner $ +# $Id: PKGBUILD 204940 2014-02-01 03:04:49Z dreisner $ # Maintainer: Dave Reisner <dreisner@archlinux.org> # Contributor: Angel Velasquez <angvp@archlinux.org> # Contributor: Eric Belanger <eric@archlinux.org> @@ -6,18 +6,18 @@ # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=curl -pkgver=7.34.0 +pkgver=7.35.0 pkgrel=1 pkgdesc="An URL retrieval utility and library" arch=('i686' 'x86_64' 'mips64el') url="http://curl.haxx.se" license=('MIT') -depends=('ca-certificates' 'libssh2' 'openssl' 'zlib') +depends=('ca-certificates' 'krb5' 'libssh2' 'openssl' 'zlib') provides=('libcurl.so') options=('strip' 'debug') source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc} curlbuild.h) -md5sums=('d5b7edccbd1793e3549842e01331da20' +md5sums=('f5ae45ed6e86debb721b68392b5ce13c' 'SKIP' '751bd433ede935c8fae727377625a8ae') @@ -33,6 +33,7 @@ build() { --enable-manual \ --enable-versioned-symbols \ --enable-threaded-resolver \ + --with-gssapi \ --without-libidn \ --with-random=/dev/urandom \ --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt diff --git a/core/dbus/PKGBUILD b/core/dbus/PKGBUILD index 1c2b0f966..3ce1871f0 100644 --- a/core/dbus/PKGBUILD +++ b/core/dbus/PKGBUILD @@ -1,32 +1,24 @@ -# $Id: PKGBUILD 200253 2013-11-23 20:09:30Z tomegun $ +# $Id: PKGBUILD 204675 2014-01-24 19:00:33Z dreisner $ # Maintainer: Tom Gundersen <teg@jklm.no> # Maintainer: Jan de Groot <jgc@archlinux.org> # Contributor: Link Dupont <link@subpop.net> # -pkgname=dbus -pkgver=1.6.18 +pkgbase=dbus +pkgname=('dbus' 'libdbus') +pkgver=1.8.0 pkgrel=1 pkgdesc="Freedesktop.org message bus system" url="http://www.freedesktop.org/Software/dbus" arch=(i686 x86_64 mips64el) license=('GPL' 'custom') -depends=('expat' 'coreutils' 'filesystem') -makedepends=('libx11' 'systemd') -optdepends=('libx11: dbus-launch support') -provides=('dbus-core') -conflicts=('dbus-core') -replaces=('dbus-core') +makedepends=('libx11' 'systemd' 'xmlto' 'docbook-xsl') source=(http://dbus.freedesktop.org/releases/dbus/dbus-$pkgver.tar.gz - 30-dbus systemd-user-session.patch memleak.patch) -md5sums=('b02e9c95027a416987b81f9893831061' - '3314d727fa57fc443fce25b5cbeebbcc' - 'd8a1bd529b3ddca671ee1a695a143db9' - 'cf86d68e39d975cec1e9f0342eb9b142') + 30-dbus) +md5sums=('059fbe84e39fc99c67a14f15b1f39dff' + '3314d727fa57fc443fce25b5cbeebbcc') prepare() { cd dbus-$pkgver - patch -Np1 -i ../systemd-user-session.patch - patch -Np1 -i ../memleak.patch } build() { @@ -44,7 +36,13 @@ build() { make } -package(){ +package_dbus(){ + depends=('libdbus' 'expat') + optdepends=('libx11: dbus-launch support') + provides=('dbus-core') + conflicts=('dbus-core') + replaces=('dbus-core') + cd dbus-$pkgver make DESTDIR="$pkgdir" install @@ -53,4 +51,21 @@ package(){ install -Dm755 ../30-dbus "$pkgdir/etc/X11/xinit/xinitrc.d/30-dbus" install -Dm644 COPYING "$pkgdir/usr/share/licenses/dbus/COPYING" + + # split out libdbus-1 + rm -rf "$srcdir/_libdbus" + install -dm755 "$srcdir"/_libdbus/usr/lib/dbus-1.0 + mv "$pkgdir"/usr/include "$srcdir"/_libdbus/usr/ + mv "$pkgdir"/usr/lib/pkgconfig "$srcdir"/_libdbus/usr/lib/ + mv "$pkgdir"/usr/lib/libdbus* "$srcdir"/_libdbus/usr/lib/ + mv "$pkgdir"/usr/lib/dbus-1.0/include "$srcdir"/_libdbus/usr/lib/dbus-1.0/ + install -Dm644 COPYING "$srcdir"/_libdbus/usr/share/licenses/libdbus/COPYING +} + +package_libdbus(){ + pkgdesc="DBus library" + depends=('glibc') + + + mv "$srcdir"/_libdbus/* "$pkgdir" } diff --git a/core/dhcpcd/PKGBUILD b/core/dhcpcd/PKGBUILD index 3dc822836..412bbfaf9 100644 --- a/core/dhcpcd/PKGBUILD +++ b/core/dhcpcd/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 199762 2013-11-15 21:24:38Z ronald $ +# $Id: PKGBUILD 205513 2014-02-06 15:35:30Z ronald $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Tom Killian <tom.archlinux.org> # Contributor: Judd Vinet <jvinet.zeroflux.org> pkgname=dhcpcd -pkgver=6.1.0 +pkgver=6.2.1 pkgrel=1 pkgdesc="RFC2131 compliant DHCP client daemon" url="http://roy.marples.name/projects/dhcpcd/" @@ -18,12 +18,12 @@ options=('emptydirs') # We Need the Empty /var/lib/dhcpcd Directory source=("http://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.bz2" 'dhcpcd_.service' 'dhcpcd.service') -sha1sums=('dcd6970db0440398aaf3ae4b58cc262a67b2e472' +sha1sums=('02319be210f10e73a3add726ae3fd96f69743cff' '6f1633edde14d29b5cdc09c4f029a450ef2ebc96' - '7f3e62908037b888df2f6b87af1c7611f462dd08') + '52c1bad9ab43e9a253c1eb175e7eefb13497b8f9') build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd "${srcdir}/${pkgname}-${pkgver}" # configure variables ./configure \ @@ -37,18 +37,18 @@ build() { } package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install # Install License - install -d $pkgdir/usr/share/licenses/$pkgname + install -d "$pkgdir/usr/share/licenses/$pkgname" sed 26q "$srcdir/$pkgname-$pkgver/control.h" \ >>"$pkgdir/usr/share/licenses/$pkgname/LICENSE" # Set Options in /etc/dhcpcd.conf - echo noipv4ll >> ${pkgdir}/etc/dhcpcd.conf # Disable ip4vall + echo noipv4ll >> "${pkgdir}/etc/dhcpcd.conf" # Disable ip4vall # install systemd files - install -Dm644 ${srcdir}/dhcpcd_.service ${pkgdir}/usr/lib/systemd/system/dhcpcd@.service - install -Dm644 ${srcdir}/dhcpcd.service ${pkgdir}/usr/lib/systemd/system/dhcpcd.service # FS#31543 + install -Dm644 "${srcdir}/dhcpcd_.service" "${pkgdir}/usr/lib/systemd/system/dhcpcd@.service" + install -Dm644 "${srcdir}/dhcpcd.service" "${pkgdir}/usr/lib/systemd/system/dhcpcd.service" # FS#31543 } diff --git a/core/dhcpcd/dhcpcd.service b/core/dhcpcd/dhcpcd.service index 489023d3e..e7dc2890a 100644 --- a/core/dhcpcd/dhcpcd.service +++ b/core/dhcpcd/dhcpcd.service @@ -6,8 +6,8 @@ Before=network.target [Service] Type=forking PIDFile=/run/dhcpcd.pid -ExecStart=/bin/dhcpcd -q -b -ExecStop=/bin/dhcpcd -x +ExecStart=/usr/bin/dhcpcd -q -b +ExecStop=/usr/bin/dhcpcd -x [Install] WantedBy=multi-user.target diff --git a/core/dialog/PKGBUILD b/core/dialog/PKGBUILD index 01252795c..afd113d74 100644 --- a/core/dialog/PKGBUILD +++ b/core/dialog/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 197224 2013-10-24 09:07:05Z foutrelis $ +# $Id: PKGBUILD 204572 2014-01-23 02:27:38Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: Andreas Radke <andyrtr@archlinux.org> pkgname=dialog -pkgver=1.2_20130928 +pkgver=1.2_20140112 pkgrel=1 epoch=1 pkgdesc="A tool to display dialog boxes from shell scripts" @@ -15,7 +15,7 @@ license=('LGPL2.1') depends=('ncurses') options=('staticlibs') source=(ftp://invisible-island.net/$pkgname/$pkgname-${pkgver/_/-}.tgz) -sha256sums=('6fcf8daa50335e4d08da9f4f5ea5e1025efe84c3a719a56e871eb83ed0fd2b4c') +sha256sums=('8d30043872c57d4d3b3b05e4390ece356843f2a71303c91a2f8a536b369e0077') build() { cd "$srcdir/$pkgname-${pkgver/_/-}" diff --git a/core/dirmngr/PKGBUILD b/core/dirmngr/PKGBUILD index 30240c121..5159752ed 100644 --- a/core/dirmngr/PKGBUILD +++ b/core/dirmngr/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 184781 2013-05-08 13:18:15Z tpowa $ +# $Id: PKGBUILD 203563 2014-01-13 17:11:39Z andyrtr $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> pkgname=dirmngr pkgver=1.1.1 -pkgrel=1 +pkgrel=2 pkgdesc="A daemon to handle CRL and certificate requests" arch=('i686' 'x86_64' 'mips64el') license=('GPL') diff --git a/core/dosfstools/PKGBUILD b/core/dosfstools/PKGBUILD index 4714cb9a7..5f0137718 100644 --- a/core/dosfstools/PKGBUILD +++ b/core/dosfstools/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 200725 2013-12-03 16:03:02Z tpowa $ +# $Id: PKGBUILD 204794 2014-01-27 09:03:20Z tpowa $ # Maintainer: dorphell <dorphell@archlinux.org> # Committer: Judd Vinet <jvinet@zeroflux.org> pkgname=dosfstools -pkgver=3.0.24 +pkgver=3.0.25 pkgrel=1 pkgdesc="DOS filesystem utilities" arch=(i686 x86_64 'mips64el') @@ -10,7 +10,7 @@ depends=('glibc') source=(http://www.daniel-baumann.ch/files/software/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) url="http://www.daniel-baumann.ch/software/dosfstools/" license=('GPL2') -md5sums=('41931f36ebee6e79e9dafe85cc916f2b' +md5sums=('6d000d9f68b7766dfe12c88c4aaaa293' 'SKIP') build() { diff --git a/core/e2fsprogs/PKGBUILD b/core/e2fsprogs/PKGBUILD index 2def1a4df..23b8784a2 100644 --- a/core/e2fsprogs/PKGBUILD +++ b/core/e2fsprogs/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 197436 2013-10-26 01:07:56Z allan $ +# $Id: PKGBUILD 204953 2014-02-01 17:23:07Z ronald $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgname=e2fsprogs -pkgver=1.42.8 -pkgrel=2 +pkgver=1.42.9 +pkgrel=1 pkgdesc="Ext2/3/4 filesystem utilities" arch=('i686' 'x86_64' 'mips64el') license=('GPL' 'LGPL' 'MIT') @@ -17,7 +17,7 @@ source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/${pkgname}-${pk backup=('etc/mke2fs.conf') options=('staticlibs') install=${pkgname}.install -sha1sums=('79cdb2374a9c0e68f01739598679db06d546b897' +sha1sums=('fb8e3662302bcab1682d567d6ee0ff051faa1bbd' 'f4a0d5b0cdb980e3fedd6f5e7dde0b0ffb7bbdfb') build() { @@ -44,7 +44,7 @@ package() { sed -i -e 's#^ET_DIR=.*#ET_DIR="/usr/share/et"#' "${pkgdir}/usr/bin/compile_et" # remove static libraries with a shared counterpart - rm ${pkgdir}/usr/lib/lib{com_err,e2p,ext2fs,ss}.a + rm "${pkgdir}"/usr/lib/lib{com_err,e2p,ext2fs,ss}.a # install MIT license install -Dm644 "${srcdir}/MIT-LICENSE" \ diff --git a/core/file/PKGBUILD b/core/file/PKGBUILD index 2c1380caa..32337b30f 100644 --- a/core/file/PKGBUILD +++ b/core/file/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 201433 2013-12-11 15:08:39Z allan $ +# $Id: PKGBUILD 205932 2014-02-14 08:16:42Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: Andreas Radke <andyrtr@archlinux.org> pkgname=file -pkgver=5.16 +pkgver=5.17 pkgrel=1 pkgdesc="File type identification utility" arch=('i686' 'x86_64' 'mips64el') @@ -12,7 +12,7 @@ groups=('base' 'base-devel') url="http://www.darwinsys.com/file/" depends=('glibc' 'zlib') source=(ftp://ftp.astron.com/pub/${pkgname}/${pkgname}-${pkgver}.tar.gz) -md5sums=('359c0cf41c3d438d17b4d293f3b950dc') +md5sums=('e19c47e069ced7b01ccb4db402cc01d3') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/core/flex/PKGBUILD b/core/flex/PKGBUILD index 801252b58..51dccdc63 100644 --- a/core/flex/PKGBUILD +++ b/core/flex/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 196829 2013-10-20 11:50:22Z allan $ +# $Id: PKGBUILD 205933 2014-02-14 08:16:43Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgname=flex -pkgver=2.5.37 +pkgver=2.5.38 pkgrel=1 pkgdesc="A tool for generating text-scanning programs" arch=('i686' 'x86_64' 'mips64el') @@ -11,12 +11,9 @@ url="http://flex.sourceforge.net" license=('custom') groups=('base-devel') depends=('glibc' 'm4' 'sh') -options=('staticlibs') install=flex.install -source=(http://downloads.sourceforge.net/sourceforge/flex/flex-$pkgver.tar.bz2 - lex.sh) -md5sums=('c75940e1fc25108f2a7b3ef42abdae06' - 'f725259ec23a9e87ee29e2ef82eda9a5') +source=(http://downloads.sourceforge.net/sourceforge/flex/flex-$pkgver.tar.bz2) +md5sums=('b230c88e65996ff74994d08a2a2e0f27') build() { cd $srcdir/$pkgname-$pkgver @@ -27,7 +24,7 @@ build() { check() { cd $srcdir/$pkgname-$pkgver - # these tests used features removed in bison-2.6 + # these tests are incompatible with latest bison sed -i -e '/test-bison-yylloc/d' -e '/test-bison-yylval/d' tests/Makefile.in make check @@ -37,7 +34,7 @@ package() { cd $srcdir/$pkgname-$pkgver make DESTDIR=$pkgdir install - install -Dm755 $srcdir/lex.sh $pkgdir/usr/bin/lex + ln -s flex ${pkgdir}/usr/bin/lex install -Dm644 COPYING \ $pkgdir/usr/share/licenses/$pkgname/license.txt diff --git a/core/flex/lex.sh b/core/flex/lex.sh deleted file mode 100644 index 13e7de692..000000000 --- a/core/flex/lex.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -exec /usr/bin/flex -l "$@" diff --git a/core/gcc/PKGBUILD b/core/gcc/PKGBUILD index 608f101fd..5b576678b 100644 --- a/core/gcc/PKGBUILD +++ b/core/gcc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 202694 2013-12-25 03:04:31Z allan $ +# $Id: PKGBUILD 205614 2014-02-10 03:07:49Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -11,13 +11,13 @@ else fi pkgver=4.8.2 _pkgver=4.8 -pkgrel=7 -_snapshot=4.8-20131219 +pkgrel=8 +_snapshot=4.8-20140206 pkgdesc="The GNU Compiler Collection" arch=('i686' 'x86_64' 'mips64el') license=('GPL' 'LGPL' 'FDL' 'custom') url="http://gcc.gnu.org" -makedepends=('binutils>=2.23' 'libmpc' 'cloog' 'doxygen') +makedepends=('binutils>=2.24' 'libmpc' 'cloog' 'doxygen') [[ "$CARCH" != "mips64el" ]] && makedepends+=('gcc-ada') checkdepends=('dejagnu' 'inetutils') options=('!emptydirs') @@ -25,7 +25,7 @@ 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 gcc-4.8-filename-output.patch gcc-4.8-lambda-ICE.patch) -md5sums=('666ef08f87649f941bc5512e13a88fdc' +md5sums=('9d35549404a2326540fb88301ebd1977' '40cb437805e2f7a006aa0d0c3098ab0f' '6eb6e080dbf7bc6825f53a0aaa6c4ef9') @@ -131,7 +131,7 @@ package_gcc-libs() { pkgdesc="Runtime libraries shipped by GCC" groups=('base') - depends=('glibc>=2.17') + depends=('glibc>=2.19') options=('!emptydirs') install=gcc-libs.install @@ -181,7 +181,7 @@ package_gcc-libs() package_gcc() { pkgdesc="The GNU Compiler Collection - C and C++ frontends" - depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.23' 'libmpc' 'cloog') + depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.24' 'libmpc' 'cloog') groups=('base-devel') options=('staticlibs') install=gcc.install @@ -319,11 +319,11 @@ package_gcc-ada() ln -s gcc ${pkgdir}/usr/bin/gnatgcc - # insist on dynamic linking + # insist on dynamic linking, but keep static libraries because gnatmake complains mv ${pkgdir}/${_libdir}/adalib/libgna{rl,t}-${_pkgver}.so ${pkgdir}/usr/lib ln -s libgnarl-${_pkgver}.so ${pkgdir}/usr/lib/libgnarl.so ln -s libgnat-${_pkgver}.so ${pkgdir}/usr/lib/libgnat.so - rm -f ${pkgdir}/${_libdir}/adalib/libgna{rl,t}.* + rm ${pkgdir}/${_libdir}/adalib/libgna{rl,t}.so # Install Runtime Library Exception install -d ${pkgdir}/usr/share/licenses/gcc-ada/ diff --git a/core/gcc/gcc_mips64el_lib.patch b/core/gcc/gcc_mips64el_lib.patch deleted file mode 100644 index c938d9b30..000000000 --- a/core/gcc/gcc_mips64el_lib.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -ru gcc-4.7-20120324.orig/gcc/config/mips/linux64.h gcc-4.7-20120324/gcc/config/mips/linux64.h ---- gcc-4.7-20120324.orig/gcc/config/mips/linux64.h 2012-04-06 11:32:50.545152897 +0200 -+++ gcc-4.7-20120324/gcc/config/mips/linux64.h 2012-04-06 12:06:58.501290352 +0200 -@@ -23,9 +23,9 @@ - #define GNU_USER_LINK_EMULATION64 "elf64%{EB:b}%{EL:l}tsmip" - #define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32" - --#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1" -+#define GLIBC_DYNAMIC_LINKER32 "/lib32/ld.so.1" - #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld.so.1" --#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1" -+#define GLIBC_DYNAMIC_LINKERN32 "/lib/ld.so.1" - #define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0" - #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" - #define GNU_USER_DYNAMIC_LINKERN32 \ -diff -ru gcc-4.7-20120324.orig/gcc/config/mips/t-linux64 gcc-4.7-20120324/gcc/config/mips/t-linux64 ---- gcc-4.7-20120324.orig/gcc/config/mips/t-linux64 2012-04-06 11:32:50.379989000 +0200 -+++ gcc-4.7-20120324/gcc/config/mips/t-linux64 2012-04-06 12:05:55.461021317 +0200 -@@ -18,4 +18,4 @@ - - MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64 - MULTILIB_DIRNAMES = n32 32 64 --MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64 -+MULTILIB_OSDIRNAMES = ../lib ../lib32 ../lib64 diff --git a/core/gdbm/PKGBUILD b/core/gdbm/PKGBUILD index 97e801b2d..59b0722a4 100644 --- a/core/gdbm/PKGBUILD +++ b/core/gdbm/PKGBUILD @@ -1,21 +1,23 @@ -# $Id: PKGBUILD 197797 2013-10-30 10:37:51Z allan $ +# $Id: PKGBUILD 203669 2014-01-13 20:48:15Z eric $ +# Maintainer: # Contributor: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgname=gdbm -pkgver=1.10 -pkgrel=3 +pkgver=1.11 +pkgrel=1 pkgdesc="GNU database library" url="http://www.gnu.org/software/gdbm/gdbm.html" -license=('GPL') +license=('GPL3') arch=('i686' 'x86_64' 'mips64el') depends=('glibc' 'sh') -source=(ftp://ftp.gnu.org/gnu/gdbm/${pkgname}-${pkgver}.tar.gz +source=(ftp://ftp.gnu.org/gnu/gdbm/${pkgname}-${pkgver}.tar.gz{,.sig} gdbm-1.10-zeroheaders.patch) options=('!makeflags') install=gdbm.install -md5sums=('88770493c2559dc80b561293e39d3570' +md5sums=('72c832680cf0999caedbe5b265c8c1bd' + 'SKIP' 'ac255b10452005237836cd2d3a470733') prepare() { @@ -32,13 +34,8 @@ prepare() { build() { cd "${srcdir}/${pkgname}-${pkgver}" - - ./configure --prefix=/usr \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --enable-libgdbm-compat - - make prefix=/usr + ./configure --prefix=/usr --enable-libgdbm-compat + make } check() { @@ -48,12 +45,8 @@ check() { package() { cd "${srcdir}/${pkgname}-${pkgver}" - make prefix="${pkgdir}"/usr \ - manprefix="${pkgdir}"/usr/share/man \ - man3dir="${pkgdir}"/usr/share/man/man3 \ - infodir="${pkgdir}"/usr/share/info \ - install - + make DESTDIR="${pkgdir}" install + # create symlinks for compatibility install -dm755 "${pkgdir}"/usr/include/gdbm ln -sf ../gdbm.h "${pkgdir}"/usr/include/gdbm/gdbm.h diff --git a/core/gettext/PKGBUILD b/core/gettext/PKGBUILD index 27a87056a..ad2995152 100644 --- a/core/gettext/PKGBUILD +++ b/core/gettext/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 197811 2013-10-30 11:03:28Z allan $ +# $Id: PKGBUILD 203560 2014-01-13 16:35:40Z tpowa $ # Maintainer: pkgname=gettext -pkgver=0.18.3.1 -pkgrel=2 +pkgver=0.18.3.2 +pkgrel=1 pkgdesc="GNU internationalization library" arch=('i686' 'x86_64' 'mips64el') url="http://www.gnu.org/software/gettext/" @@ -14,7 +14,7 @@ optdepends=('cvs: for autopoint tool') options=(!docs) install=gettext.install source=(ftp://ftp.gnu.org/pub/gnu/gettext/${pkgname}-${pkgver}.tar.gz{,.sig}) -md5sums=('3fc808f7d25487fc72b5759df7419e02' +md5sums=('241aba309d07aa428252c74b40a818ef' 'SKIP') build() { diff --git a/core/glibc/PKGBUILD b/core/glibc/PKGBUILD index 990d71597..302b4d6bc 100644 --- a/core/glibc/PKGBUILD +++ b/core/glibc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 201557 2013-12-15 06:41:32Z allan $ +# $Id: PKGBUILD 205934 2014-02-14 08:16:44Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -7,79 +7,35 @@ # NOTE: adjust version in install script when locale files are updated pkgname=glibc -pkgver=2.18 -pkgrel=11 +pkgver=2.19 +pkgrel=2 pkgdesc="GNU C Library" arch=('i686' 'x86_64' 'mips64el') url="http://www.gnu.org/software/libc" license=('GPL' 'LGPL') groups=('base') -depends=('linux-api-headers>=3.7' 'tzdata' 'filesystem>=2013.01') -makedepends=('gcc>=4.7') +depends=('linux-api-headers>=3.13' 'tzdata' 'filesystem>=2013.01') +makedepends=('gcc>=4.8') backup=(etc/gai.conf etc/locale.gen etc/nscd.conf) options=('!strip' 'staticlibs') install=glibc.install source=(http://ftp.gnu.org/gnu/libc/${pkgname}-${pkgver}.tar.xz{,.sig} - glibc-2.18-make-4.patch - glibc-2.18-readdir_r-CVE-2013-4237.patch - glibc-2.18-malloc-corrupt-CVE-2013-4332.patch - glibc-2.18-strcoll-CVE-2012-4412+4424.patch - glibc-2.18-ptr-mangle-CVE-2013-4788.patch - glibc-2.18-getaddrinfo-CVE-2013-4458.patch - glibc-2.18-getaddrinfo-assertion.patch - glibc-2.18-scanf-parse-0e-0.patch - glibc-2.18-strstr-hackfix.patch - nscd.service - nscd.tmpfiles + glibc-2.18-xattr-compat-hack.patch locale.gen.txt locale-gen) -md5sums=('88fbbceafee809e82efd52efa1e3c58f' +md5sums=('e26b8cc666b162f999404b03970f14e4' 'SKIP' - 'e1883c2d1b01ff73650db5f5bb5a5a52' - '154da6bf5a5248f42a7bf5bf08e01a47' - 'b79561ab9dce900e9bbeaf0d49927c2b' - 'c7264b99d0f7e51922a4d3126182c40a' - '9749ba386b08a8fe53e7ecede9bf2dfb' - '71329fccb8eb583fb0d67b55f1e8df68' - 'd4d86add33f22125777e0ecff06bc9bb' - '01d19fe9b2aea489cf5651530e0369f2' - '4441f6dfe7d75ced1fa75e54dd21d36e' - 'd5fab2cd3abea65aa5ae696ea4a47d6b' - 'da662ca76e7c8d7efbc7986ab7acea2d' + '7ca96c68a37f2a4ab91792bfa0160a24' '07ac979b6ab5eeb778d55f041529d623' - 'b5fd017036fb91199ee76f670da8c15b') + '476e9113489f93b348b21e144b6a8fcf') prepare() { cd ${srcdir}/${pkgname}-${pkgver} - - # compatibility with make-4.0 (submitted upstream) - patch -p1 -i $srcdir/glibc-2.18-make-4.patch - - # upstream commit 91ce4085 - patch -p1 -i $srcdir/glibc-2.18-readdir_r-CVE-2013-4237.patch - - # upstream commits 1159a193, 55e17aad and b73ed247 - patch -p1 -i $srcdir/glibc-2.18-malloc-corrupt-CVE-2013-4332.patch - - # upstream commits 1326ba1a, 141f3a77 and 303e567a - patch -p1 -i $srcdir/glibc-2.18-strcoll-CVE-2012-4412+4424.patch - - # upstream commits c61b4d41 and 0b1f8e35 - patch -p1 -i $srcdir/glibc-2.18-ptr-mangle-CVE-2013-4788.patch - - # upstream commit 7cbcdb36 - patch -p1 -i $srcdir/glibc-2.18-getaddrinfo-CVE-2013-4458.patch - - # upstream commit 894f3f10 - patch -p1 -i $srcdir/glibc-2.18-getaddrinfo-assertion.patch - - # upstream commit a4966c61 - patch -p1 -i $srcdir/glibc-2.18-scanf-parse-0e-0.patch - - # hack fix for strstr issues on x86 - patch -p1 -i $srcdir/glibc-2.18-strstr-hackfix.patch + + # hack fix for {linux,sys}/xattr.h incompatibility + patch -p1 -i $srcdir/glibc-2.18-xattr-compat-hack.patch mkdir ${srcdir}/glibc-build } @@ -159,8 +115,8 @@ package() { install -dm755 ${pkgdir}/usr/lib/{locale,systemd/system,tmpfiles.d} install -m644 ${srcdir}/${pkgname}-${pkgver}/nscd/nscd.conf ${pkgdir}/etc/nscd.conf - install -m644 ${srcdir}/nscd.service ${pkgdir}/usr/lib/systemd/system - install -m644 ${srcdir}/nscd.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/nscd.conf + install -m644 ${srcdir}/${pkgname}-${pkgver}/nscd/nscd.service ${pkgdir}/usr/lib/systemd/system + install -m644 ${srcdir}/${pkgname}-${pkgver}/nscd/nscd.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/nscd.conf install -m644 ${srcdir}/${pkgname}-${pkgver}/posix/gai.conf ${pkgdir}/etc/gai.conf @@ -172,8 +128,9 @@ package() { ${srcdir}/glibc-${pkgver}/localedata/SUPPORTED >> ${pkgdir}/etc/locale.gen # remove the static libraries that have a shared counterpart - # note: keep libc, libdl, libm, libpthread for binutils testsuite - rm $pkgdir/usr/lib/lib{anl,BrokenLocale,crypt,nsl,resolv,rt,util}.a + # libc, libdl, libm and libpthread are required for toolchain testsuites + # in addition libcrypt appears widely required + rm $pkgdir/usr/lib/lib{anl,BrokenLocale,nsl,resolv,rt,util}.a # Do not strip the following files for improved debugging support # ("improved" as in not breaking gdb and valgrind...): diff --git a/core/glibc/glibc-2.18-getaddrinfo-CVE-2013-4458.patch b/core/glibc/glibc-2.18-getaddrinfo-CVE-2013-4458.patch deleted file mode 100644 index a7bc67c6f..000000000 --- a/core/glibc/glibc-2.18-getaddrinfo-CVE-2013-4458.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c -index e6ce4cf..8ff74b4 100644 ---- a/sysdeps/posix/getaddrinfo.c -+++ b/sysdeps/posix/getaddrinfo.c -@@ -197,7 +197,22 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp, - &rc, &herrno, NULL, &localcanon)); \ - if (rc != ERANGE || herrno != NETDB_INTERNAL) \ - break; \ -- tmpbuf = extend_alloca (tmpbuf, tmpbuflen, 2 * tmpbuflen); \ -+ if (!malloc_tmpbuf && __libc_use_alloca (alloca_used + 2 * tmpbuflen)) \ -+ tmpbuf = extend_alloca_account (tmpbuf, tmpbuflen, 2 * tmpbuflen, \ -+ alloca_used); \ -+ else \ -+ { \ -+ char *newp = realloc (malloc_tmpbuf ? tmpbuf : NULL, \ -+ 2 * tmpbuflen); \ -+ if (newp == NULL) \ -+ { \ -+ result = -EAI_MEMORY; \ -+ goto free_and_return; \ -+ } \ -+ tmpbuf = newp; \ -+ malloc_tmpbuf = true; \ -+ tmpbuflen = 2 * tmpbuflen; \ -+ } \ - } \ - if (status == NSS_STATUS_SUCCESS && rc == 0) \ - h = &th; \ -@@ -209,7 +224,8 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp, - { \ - __set_h_errno (herrno); \ - _res.options |= old_res_options & RES_USE_INET6; \ -- return -EAI_SYSTEM; \ -+ result = -EAI_SYSTEM; \ -+ goto free_and_return; \ - } \ - if (herrno == TRY_AGAIN) \ - no_data = EAI_AGAIN; \ --- -1.8.4.1 - diff --git a/core/glibc/glibc-2.18-getaddrinfo-assertion.patch b/core/glibc/glibc-2.18-getaddrinfo-assertion.patch deleted file mode 100644 index 2f1f7c694..000000000 --- a/core/glibc/glibc-2.18-getaddrinfo-assertion.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c -index 0f4b885..e6ce4cf 100644 ---- a/sysdeps/posix/getaddrinfo.c -+++ b/sysdeps/posix/getaddrinfo.c -@@ -1666,13 +1666,13 @@ rfc3484_sort (const void *p1, const void *p2, void *arg) - - /* Fill in the results in all the records. */ - for (int i = 0; i < src->nresults; ++i) -- if (src->results[i].index == a1_index) -+ if (a1_index != -1 && src->results[i].index == a1_index) - { - assert (src->results[i].native == -1 - || src->results[i].native == a1_native); - src->results[i].native = a1_native; - } -- else if (src->results[i].index == a2_index) -+ else if (a2_index != -1 && src->results[i].index == a2_index) - { - assert (src->results[i].native == -1 - || src->results[i].native == a2_native); -@@ -2532,7 +2532,14 @@ getaddrinfo (const char *name, const char *service, - tmp.addr[0] = 0; - tmp.addr[1] = 0; - tmp.addr[2] = htonl (0xffff); -- tmp.addr[3] = sinp->sin_addr.s_addr; -+ /* Special case for lo interface, the source address -+ being possibly different than the interface -+ address. */ -+ if ((ntohl(sinp->sin_addr.s_addr) & 0xff000000) -+ == 0x7f000000) -+ tmp.addr[3] = htonl(0x7f000001); -+ else -+ tmp.addr[3] = sinp->sin_addr.s_addr; - } - else - { --- -1.8.4.1 - diff --git a/core/glibc/glibc-2.18-make-4.patch b/core/glibc/glibc-2.18-make-4.patch deleted file mode 100644 index 374933464..000000000 --- a/core/glibc/glibc-2.18-make-4.patch +++ /dev/null @@ -1,45 +0,0 @@ -From dc76f0c32dae689a08aa21a1d206d4cd62adb278 Mon Sep 17 00:00:00 2001 -From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com> -Date: Thu, 10 Oct 2013 14:26:12 +0900 -Subject: [PATCH] configure: allow building with GNU Make 4 - -Currently, configure errors telling make 4 is too old -since it does not match our regexp. - -configure.in: allow GNU Make 4.* - -Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com> ---- - configure | 2 +- - configure.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure b/configure -index 5e2f4d0..e139bf0 100755 ---- a/configure -+++ b/configure -@@ -4761,7 +4761,7 @@ $as_echo_n "checking version of $MAKE... " >&6; } - ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` - case $ac_prog_version in - '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; -- 3.79* | 3.[89]*) -+ 3.79* | 3.[89]* | 4.*) - ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; - *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - -diff --git a/configure.in b/configure.in -index a7f9881..95c36b6 100644 ---- a/configure.in -+++ b/configure.in -@@ -984,7 +984,7 @@ AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v, - critic_missing="$critic_missing gcc") - AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version, - [GNU Make[^0-9]*\([0-9][0-9.]*\)], -- [3.79* | 3.[89]*], critic_missing="$critic_missing make") -+ [3.79* | 3.[89]* | 4.*], critic_missing="$critic_missing make") - - AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version, - [GNU gettext.* \([0-9]*\.[0-9.]*\)], --- -1.8.4.1 - diff --git a/core/glibc/glibc-2.18-malloc-corrupt-CVE-2013-4332.patch b/core/glibc/glibc-2.18-malloc-corrupt-CVE-2013-4332.patch deleted file mode 100644 index 093db86c9..000000000 --- a/core/glibc/glibc-2.18-malloc-corrupt-CVE-2013-4332.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/malloc/malloc.c b/malloc/malloc.c -index dd295f5..7f43ba3 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -3082,6 +3082,13 @@ __libc_pvalloc(size_t bytes) - size_t page_mask = GLRO(dl_pagesize) - 1; - size_t rounded_bytes = (bytes + page_mask) & ~(page_mask); - -+ /* Check for overflow. */ -+ if (bytes > SIZE_MAX - 2*pagesz - MINSIZE) -+ { -+ __set_errno (ENOMEM); -+ return 0; -+ } -+ - void *(*hook) (size_t, size_t, const void *) = - force_reg (__memalign_hook); - if (__builtin_expect (hook != NULL, 0)) -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 7f43ba3..3148c5f 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -3046,6 +3046,13 @@ __libc_valloc(size_t bytes) - - size_t pagesz = GLRO(dl_pagesize); - -+ /* Check for overflow. */ -+ if (bytes > SIZE_MAX - pagesz - MINSIZE) -+ { -+ __set_errno (ENOMEM); -+ return 0; -+ } -+ - void *(*hook) (size_t, size_t, const void *) = - force_reg (__memalign_hook); - if (__builtin_expect (hook != NULL, 0)) -diff --git a/malloc/malloc.c b/malloc/malloc.c -index 3148c5f..f7718a9 100644 ---- a/malloc/malloc.c -+++ b/malloc/malloc.c -@@ -3015,6 +3015,13 @@ __libc_memalign(size_t alignment, size_t bytes) - /* Otherwise, ensure that it is at least a minimum chunk size */ - if (alignment < MINSIZE) alignment = MINSIZE; - -+ /* Check for overflow. */ -+ if (bytes > SIZE_MAX - alignment - MINSIZE) -+ { -+ __set_errno (ENOMEM); -+ return 0; -+ } -+ - arena_get(ar_ptr, bytes + alignment + MINSIZE); - if(!ar_ptr) - return 0; diff --git a/core/glibc/glibc-2.18-ptr-mangle-CVE-2013-4788.patch b/core/glibc/glibc-2.18-ptr-mangle-CVE-2013-4788.patch deleted file mode 100644 index 09a439440..000000000 --- a/core/glibc/glibc-2.18-ptr-mangle-CVE-2013-4788.patch +++ /dev/null @@ -1,485 +0,0 @@ -diff --git a/csu/libc-start.c b/csu/libc-start.c -index e5da3ef..c898d06 100644 ---- a/csu/libc-start.c -+++ b/csu/libc-start.c -@@ -37,6 +37,12 @@ extern void __pthread_initialize_minimal (void); - in thread local area. */ - uintptr_t __stack_chk_guard attribute_relro; - # endif -+# ifndef THREAD_SET_POINTER_GUARD -+/* Only exported for architectures that don't store the pointer guard -+ value in thread local area. */ -+uintptr_t __pointer_chk_guard_local -+ attribute_relro attribute_hidden __attribute__ ((nocommon)); -+# endif - #endif - - #ifdef HAVE_PTR_NTHREADS -@@ -195,6 +201,16 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), - # else - __stack_chk_guard = stack_chk_guard; - # endif -+ -+ /* Set up the pointer guard value. */ -+ uintptr_t pointer_chk_guard = _dl_setup_pointer_guard (_dl_random, -+ stack_chk_guard); -+# ifdef THREAD_SET_POINTER_GUARD -+ THREAD_SET_POINTER_GUARD (pointer_chk_guard); -+# else -+ __pointer_chk_guard_local = pointer_chk_guard; -+# endif -+ - #endif - - /* Register the destructor of the dynamic linker if there is any. */ -diff --git a/elf/Makefile b/elf/Makefile -index aaa9534..cb8da93 100644 ---- a/elf/Makefile -+++ b/elf/Makefile -@@ -121,7 +121,8 @@ endif - tests = tst-tls1 tst-tls2 tst-tls9 tst-leaks1 \ - tst-array1 tst-array2 tst-array3 tst-array4 tst-array5 - tests-static = tst-tls1-static tst-tls2-static tst-stackguard1-static \ -- tst-leaks1-static tst-array1-static tst-array5-static -+ tst-leaks1-static tst-array1-static tst-array5-static \ -+ tst-ptrguard1-static - ifeq (yes,$(build-shared)) - tests-static += tst-tls9-static - tst-tls9-static-ENV = \ -@@ -145,7 +146,8 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ - tst-audit1 tst-audit2 tst-audit8 \ - tst-stackguard1 tst-addr1 tst-thrlock \ - tst-unique1 tst-unique2 tst-unique3 tst-unique4 \ -- tst-initorder tst-initorder2 tst-relsort1 tst-null-argv -+ tst-initorder tst-initorder2 tst-relsort1 tst-null-argv \ -+ tst-ptrguard1 - # reldep9 - test-srcs = tst-pathopt - selinux-enabled := $(shell cat /selinux/enforce 2> /dev/null) -@@ -1016,6 +1018,9 @@ LDFLAGS-order2mod2.so = $(no-as-needed) - tst-stackguard1-ARGS = --command "$(host-test-program-cmd) --child" - tst-stackguard1-static-ARGS = --command "$(objpfx)tst-stackguard1-static --child" - -+tst-ptrguard1-ARGS = --command "$(host-test-program-cmd) --child" -+tst-ptrguard1-static-ARGS = --command "$(objpfx)tst-ptrguard1-static --child" -+ - $(objpfx)tst-leaks1: $(libdl) - $(objpfx)tst-leaks1-mem: $(objpfx)tst-leaks1.out - $(common-objpfx)malloc/mtrace $(objpfx)tst-leaks1.mtrace > $@ -diff --git a/elf/tst-ptrguard1-static.c b/elf/tst-ptrguard1-static.c -new file mode 100644 -index 0000000..7aff3b7 ---- /dev/null -+++ b/elf/tst-ptrguard1-static.c -@@ -0,0 +1 @@ -+#include "tst-ptrguard1.c" -diff --git a/elf/tst-ptrguard1.c b/elf/tst-ptrguard1.c -new file mode 100644 -index 0000000..c344a04 ---- /dev/null -+++ b/elf/tst-ptrguard1.c -@@ -0,0 +1,202 @@ -+/* Copyright (C) 2013 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 -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <http://www.gnu.org/licenses/>. */ -+ -+#include <errno.h> -+#include <stdbool.h> -+#include <stdio.h> -+#include <stdlib.h> -+#include <string.h> -+#include <sys/wait.h> -+#include <stackguard-macros.h> -+#include <tls.h> -+#include <unistd.h> -+ -+#ifndef POINTER_CHK_GUARD -+extern uintptr_t __pointer_chk_guard; -+# define POINTER_CHK_GUARD __pointer_chk_guard -+#endif -+ -+static const char *command; -+static bool child; -+static uintptr_t ptr_chk_guard_copy; -+static bool ptr_chk_guard_copy_set; -+static int fds[2]; -+ -+static void __attribute__ ((constructor)) -+con (void) -+{ -+ ptr_chk_guard_copy = POINTER_CHK_GUARD; -+ ptr_chk_guard_copy_set = true; -+} -+ -+static int -+uintptr_t_cmp (const void *a, const void *b) -+{ -+ if (*(uintptr_t *) a < *(uintptr_t *) b) -+ return 1; -+ if (*(uintptr_t *) a > *(uintptr_t *) b) -+ return -1; -+ return 0; -+} -+ -+static int -+do_test (void) -+{ -+ if (!ptr_chk_guard_copy_set) -+ { -+ puts ("constructor has not been run"); -+ return 1; -+ } -+ -+ if (ptr_chk_guard_copy != POINTER_CHK_GUARD) -+ { -+ puts ("POINTER_CHK_GUARD changed between constructor and do_test"); -+ return 1; -+ } -+ -+ if (child) -+ { -+ write (2, &ptr_chk_guard_copy, sizeof (ptr_chk_guard_copy)); -+ return 0; -+ } -+ -+ if (command == NULL) -+ { -+ puts ("missing --command or --child argument"); -+ return 1; -+ } -+ -+#define N 16 -+ uintptr_t child_ptr_chk_guards[N + 1]; -+ child_ptr_chk_guards[N] = ptr_chk_guard_copy; -+ int i; -+ for (i = 0; i < N; ++i) -+ { -+ if (pipe (fds) < 0) -+ { -+ printf ("couldn't create pipe: %m\n"); -+ return 1; -+ } -+ -+ pid_t pid = fork (); -+ if (pid < 0) -+ { -+ printf ("fork failed: %m\n"); -+ return 1; -+ } -+ -+ if (!pid) -+ { -+ if (ptr_chk_guard_copy != POINTER_CHK_GUARD) -+ { -+ puts ("POINTER_CHK_GUARD changed after fork"); -+ exit (1); -+ } -+ -+ close (fds[0]); -+ close (2); -+ dup2 (fds[1], 2); -+ close (fds[1]); -+ -+ system (command); -+ exit (0); -+ } -+ -+ close (fds[1]); -+ -+ if (TEMP_FAILURE_RETRY (read (fds[0], &child_ptr_chk_guards[i], -+ sizeof (uintptr_t))) != sizeof (uintptr_t)) -+ { -+ puts ("could not read ptr_chk_guard value from child"); -+ return 1; -+ } -+ -+ close (fds[0]); -+ -+ pid_t termpid; -+ int status; -+ termpid = TEMP_FAILURE_RETRY (waitpid (pid, &status, 0)); -+ if (termpid == -1) -+ { -+ printf ("waitpid failed: %m\n"); -+ return 1; -+ } -+ else if (termpid != pid) -+ { -+ printf ("waitpid returned %ld != %ld\n", -+ (long int) termpid, (long int) pid); -+ return 1; -+ } -+ else if (!WIFEXITED (status) || WEXITSTATUS (status)) -+ { -+ puts ("child hasn't exited with exit status 0"); -+ return 1; -+ } -+ } -+ -+ qsort (child_ptr_chk_guards, N + 1, sizeof (uintptr_t), uintptr_t_cmp); -+ -+ /* The default pointer guard is the same as the default stack guard. -+ They are only set to default if dl_random is NULL. */ -+ uintptr_t default_guard = 0; -+ unsigned char *p = (unsigned char *) &default_guard; -+ p[sizeof (uintptr_t) - 1] = 255; -+ p[sizeof (uintptr_t) - 2] = '\n'; -+ p[0] = 0; -+ -+ /* Test if the pointer guard canaries are either randomized, -+ or equal to the default pointer guard value. -+ Even with randomized pointer guards it might happen -+ that the random number generator generates the same -+ values, but if that happens in more than half from -+ the 16 runs, something is very wrong. */ -+ int ndifferences = 0; -+ int ndefaults = 0; -+ for (i = 0; i < N; ++i) -+ { -+ if (child_ptr_chk_guards[i] != child_ptr_chk_guards[i+1]) -+ ndifferences++; -+ else if (child_ptr_chk_guards[i] == default_guard) -+ ndefaults++; -+ } -+ -+ printf ("differences %d defaults %d\n", ndifferences, ndefaults); -+ -+ if (ndifferences < N / 2 && ndefaults < N / 2) -+ { -+ puts ("pointer guard values are not randomized enough"); -+ puts ("nor equal to the default value"); -+ return 1; -+ } -+ -+ return 0; -+} -+ -+#define OPT_COMMAND 10000 -+#define OPT_CHILD 10001 -+#define CMDLINE_OPTIONS \ -+ { "command", required_argument, NULL, OPT_COMMAND }, \ -+ { "child", no_argument, NULL, OPT_CHILD }, -+#define CMDLINE_PROCESS \ -+ case OPT_COMMAND: \ -+ command = optarg; \ -+ break; \ -+ case OPT_CHILD: \ -+ child = true; \ -+ break; -+#define TEST_FUNCTION do_test () -+#include "../test-skeleton.c" -diff --git a/ports/sysdeps/ia64/stackguard-macros.h b/ports/sysdeps/ia64/stackguard-macros.h -index dc683c2..3907293 100644 ---- a/ports/sysdeps/ia64/stackguard-macros.h -+++ b/ports/sysdeps/ia64/stackguard-macros.h -@@ -2,3 +2,6 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("adds %0 = -8, r13;; ld8 %0 = [%0]" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("adds %0 = -16, r13;; ld8 %0 = [%0]" : "=r" (x)); x; }) -diff --git a/ports/sysdeps/tile/stackguard-macros.h b/ports/sysdeps/tile/stackguard-macros.h -index 589ea2b..f2e041b 100644 ---- a/ports/sysdeps/tile/stackguard-macros.h -+++ b/ports/sysdeps/tile/stackguard-macros.h -@@ -4,11 +4,17 @@ - # if __WORDSIZE == 64 - # define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -16; ld %0, %0" : "=r" (x)); x; }) -+# define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("addi %0, tp, -24; ld %0, %0" : "=r" (x)); x; }) - # else - # define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -8; ld4s %0, %0" : "=r" (x)); x; }) -+# define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("addi %0, tp, -12; ld4s %0, %0" : "=r" (x)); x; }) - # endif - #else - # define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("addi %0, tp, -8; lw %0, %0" : "=r" (x)); x; }) -+# define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("addi %0, tp, -12; lw %0, %0" : "=r" (x)); x; }) - #endif -diff --git a/sysdeps/generic/stackguard-macros.h b/sysdeps/generic/stackguard-macros.h -index ababf65..4fa3d96 100644 ---- a/sysdeps/generic/stackguard-macros.h -+++ b/sysdeps/generic/stackguard-macros.h -@@ -2,3 +2,6 @@ - - extern uintptr_t __stack_chk_guard; - #define STACK_CHK_GUARD __stack_chk_guard -+ -+extern uintptr_t __pointer_chk_guard_local; -+#define POINTER_CHK_GUARD __pointer_chk_guard_local -diff --git a/sysdeps/i386/stackguard-macros.h b/sysdeps/i386/stackguard-macros.h -index 8c31e19..0397629 100644 ---- a/sysdeps/i386/stackguard-macros.h -+++ b/sysdeps/i386/stackguard-macros.h -@@ -2,3 +2,11 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("movl %%gs:0x14, %0" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("movl %%gs:%c1, %0" : "=r" (x) \ -+ : "i" (offsetof (tcbhead_t, pointer_guard))); \ -+ x; \ -+ }) -diff --git a/sysdeps/powerpc/powerpc32/stackguard-macros.h b/sysdeps/powerpc/powerpc32/stackguard-macros.h -index 839f6a4..b3d0af8 100644 ---- a/sysdeps/powerpc/powerpc32/stackguard-macros.h -+++ b/sysdeps/powerpc/powerpc32/stackguard-macros.h -@@ -2,3 +2,13 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("lwz %0,-28680(2)" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("lwz %0,%1(2)" \ -+ : "=r" (x) \ -+ : "i" (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) \ -+ ); \ -+ x; \ -+ }) -diff --git a/sysdeps/powerpc/powerpc64/stackguard-macros.h b/sysdeps/powerpc/powerpc64/stackguard-macros.h -index 9da879c..4620f96 100644 ---- a/sysdeps/powerpc/powerpc64/stackguard-macros.h -+++ b/sysdeps/powerpc/powerpc64/stackguard-macros.h -@@ -2,3 +2,13 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ld %0,-28688(13)" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("ld %0,%1(2)" \ -+ : "=r" (x) \ -+ : "i" (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t)) \ -+ ); \ -+ x; \ -+ }) -diff --git a/sysdeps/s390/s390-32/stackguard-macros.h b/sysdeps/s390/s390-32/stackguard-macros.h -index b74c579..449e8d4 100644 ---- a/sysdeps/s390/s390-32/stackguard-macros.h -+++ b/sysdeps/s390/s390-32/stackguard-macros.h -@@ -2,3 +2,14 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ear %0,%%a0; l %0,0x14(%0)" : "=a" (x)); x; }) -+ -+/* On s390/s390x there is no unique pointer guard, instead we use the -+ same value as the stack guard. */ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("ear %0,%%a0; l %0,%1(%0)" \ -+ : "=a" (x) \ -+ : "i" (offsetof (tcbhead_t, stack_guard))); \ -+ x; \ -+ }) -diff --git a/sysdeps/s390/s390-64/stackguard-macros.h b/sysdeps/s390/s390-64/stackguard-macros.h -index 0cebb5f..c8270fb 100644 ---- a/sysdeps/s390/s390-64/stackguard-macros.h -+++ b/sysdeps/s390/s390-64/stackguard-macros.h -@@ -2,3 +2,17 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ear %0,%%a0; sllg %0,%0,32; ear %0,%%a1; lg %0,0x28(%0)" : "=a" (x)); x; }) -+ -+/* On s390/s390x there is no unique pointer guard, instead we use the -+ same value as the stack guard. */ -+#define POINTER_CHK_GUARD \ -+ ({ \ -+ uintptr_t x; \ -+ asm ("ear %0,%%a0;" \ -+ "sllg %0,%0,32;" \ -+ "ear %0,%%a1;" \ -+ "lg %0,%1(%0)" \ -+ : "=a" (x) \ -+ : "i" (offsetof (tcbhead_t, stack_guard))); \ -+ x; \ -+ }) -diff --git a/sysdeps/sparc/sparc32/stackguard-macros.h b/sysdeps/sparc/sparc32/stackguard-macros.h -index c0b02b0..1eef0f1 100644 ---- a/sysdeps/sparc/sparc32/stackguard-macros.h -+++ b/sysdeps/sparc/sparc32/stackguard-macros.h -@@ -2,3 +2,6 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ld [%%g7+0x14], %0" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("ld [%%g7+0x18], %0" : "=r" (x)); x; }) -diff --git a/sysdeps/sparc/sparc64/stackguard-macros.h b/sysdeps/sparc/sparc64/stackguard-macros.h -index 80f0635..cc0c12c 100644 ---- a/sysdeps/sparc/sparc64/stackguard-macros.h -+++ b/sysdeps/sparc/sparc64/stackguard-macros.h -@@ -2,3 +2,6 @@ - - #define STACK_CHK_GUARD \ - ({ uintptr_t x; asm ("ldx [%%g7+0x28], %0" : "=r" (x)); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; asm ("ldx [%%g7+0x30], %0" : "=r" (x)); x; }) -diff --git a/sysdeps/x86_64/stackguard-macros.h b/sysdeps/x86_64/stackguard-macros.h -index d7fedb3..1948800 100644 ---- a/sysdeps/x86_64/stackguard-macros.h -+++ b/sysdeps/x86_64/stackguard-macros.h -@@ -4,3 +4,8 @@ - ({ uintptr_t x; \ - asm ("mov %%fs:%c1, %0" : "=r" (x) \ - : "i" (offsetof (tcbhead_t, stack_guard))); x; }) -+ -+#define POINTER_CHK_GUARD \ -+ ({ uintptr_t x; \ -+ asm ("mov %%fs:%c1, %0" : "=r" (x) \ -+ : "i" (offsetof (tcbhead_t, pointer_guard))); x; }) -diff --git a/elf/Makefile b/elf/Makefile -index cb8da93..27d249b 100644 ---- a/elf/Makefile -+++ b/elf/Makefile -@@ -1019,6 +1019,9 @@ tst-stackguard1-ARGS = --command "$(host-test-program-cmd) --child" - tst-stackguard1-static-ARGS = --command "$(objpfx)tst-stackguard1-static --child" - - tst-ptrguard1-ARGS = --command "$(host-test-program-cmd) --child" -+# When built statically, the pointer guard interface uses -+# __pointer_chk_guard_local. -+CFLAGS-tst-ptrguard1-static.c = -DPTRGUARD_LOCAL - tst-ptrguard1-static-ARGS = --command "$(objpfx)tst-ptrguard1-static --child" - - $(objpfx)tst-leaks1: $(libdl) -diff --git a/sysdeps/generic/stackguard-macros.h b/sysdeps/generic/stackguard-macros.h -index 4fa3d96..b4a6b23 100644 ---- a/sysdeps/generic/stackguard-macros.h -+++ b/sysdeps/generic/stackguard-macros.h -@@ -3,5 +3,10 @@ - extern uintptr_t __stack_chk_guard; - #define STACK_CHK_GUARD __stack_chk_guard - -+#ifdef PTRGUARD_LOCAL - extern uintptr_t __pointer_chk_guard_local; --#define POINTER_CHK_GUARD __pointer_chk_guard_local -+# define POINTER_CHK_GUARD __pointer_chk_guard_local -+#else -+extern uintptr_t __pointer_chk_guard; -+# define POINTER_CHK_GUARD __pointer_chk_guard -+#endif diff --git a/core/glibc/glibc-2.18-readdir_r-CVE-2013-4237.patch b/core/glibc/glibc-2.18-readdir_r-CVE-2013-4237.patch deleted file mode 100644 index 7277ca229..000000000 --- a/core/glibc/glibc-2.18-readdir_r-CVE-2013-4237.patch +++ /dev/null @@ -1,281 +0,0 @@ -diff --git a/manual/conf.texi b/manual/conf.texi -index 7eb8b36..c720063 100644 ---- a/manual/conf.texi -+++ b/manual/conf.texi -@@ -1149,6 +1149,9 @@ typed ahead as input. @xref{I/O Queues}. - @deftypevr Macro int NAME_MAX - The uniform system limit (if any) for the length of a file name component, not - including the terminating null character. -+ -+@strong{Portability Note:} On some systems, @theglibc{} defines -+@code{NAME_MAX}, but does not actually enforce this limit. - @end deftypevr - - @comment limits.h -@@ -1157,6 +1160,9 @@ including the terminating null character. - The uniform system limit (if any) for the length of an entire file name (that - is, the argument given to system calls such as @code{open}), including the - terminating null character. -+ -+@strong{Portability Note:} @Theglibc{} does not enforce this limit -+even if @code{PATH_MAX} is defined. - @end deftypevr - - @cindex limits, pipe buffer size -@@ -1476,6 +1482,9 @@ Inquire about the value of @code{POSIX_REC_MIN_XFER_SIZE}. - Inquire about the value of @code{POSIX_REC_XFER_ALIGN}. - @end table - -+@strong{Portability Note:} On some systems, @theglibc{} does not -+enforce @code{_PC_NAME_MAX} or @code{_PC_PATH_MAX} limits. -+ - @node Utility Limits - @section Utility Program Capacity Limits - -diff --git a/manual/filesys.texi b/manual/filesys.texi -index 1df9cf2..814c210 100644 ---- a/manual/filesys.texi -+++ b/manual/filesys.texi -@@ -444,9 +444,9 @@ symbols are declared in the header file @file{dirent.h}. - @comment POSIX.1 - @deftypefun {struct dirent *} readdir (DIR *@var{dirstream}) - This function reads the next entry from the directory. It normally --returns a pointer to a structure containing information about the file. --This structure is statically allocated and can be rewritten by a --subsequent call. -+returns a pointer to a structure containing information about the -+file. This structure is associated with the @var{dirstream} handle -+and can be rewritten by a subsequent call. - - @strong{Portability Note:} On some systems @code{readdir} may not - return entries for @file{.} and @file{..}, even though these are always -@@ -461,19 +461,61 @@ conditions are defined for this function: - The @var{dirstream} argument is not valid. - @end table - --@code{readdir} is not thread safe. Multiple threads using --@code{readdir} on the same @var{dirstream} may overwrite the return --value. Use @code{readdir_r} when this is critical. -+To distinguish between an end-of-directory condition or an error, you -+must set @code{errno} to zero before calling @code{readdir}. To avoid -+entering an infinite loop, you should stop reading from the directory -+after the first error. -+ -+In POSIX.1-2008, @code{readdir} is not thread-safe. In @theglibc{} -+implementation, it is safe to call @code{readdir} concurrently on -+different @var{dirstream}s, but multiple threads accessing the same -+@var{dirstream} result in undefined behavior. @code{readdir_r} is a -+fully thread-safe alternative, but suffers from poor portability (see -+below). It is recommended that you use @code{readdir}, with external -+locking if multiple threads access the same @var{dirstream}. - @end deftypefun - - @comment dirent.h - @comment GNU - @deftypefun int readdir_r (DIR *@var{dirstream}, struct dirent *@var{entry}, struct dirent **@var{result}) --This function is the reentrant version of @code{readdir}. Like --@code{readdir} it returns the next entry from the directory. But to --prevent conflicts between simultaneously running threads the result is --not stored in statically allocated memory. Instead the argument --@var{entry} points to a place to store the result. -+This function is a version of @code{readdir} which performs internal -+locking. Like @code{readdir} it returns the next entry from the -+directory. To prevent conflicts between simultaneously running -+threads the result is stored inside the @var{entry} object. -+ -+@strong{Portability Note:} It is recommended to use @code{readdir} -+instead of @code{readdir_r} for the following reasons: -+ -+@itemize @bullet -+@item -+On systems which do not define @code{NAME_MAX}, it may not be possible -+to use @code{readdir_r} safely because the caller does not specify the -+length of the buffer for the directory entry. -+ -+@item -+On some systems, @code{readdir_r} cannot read directory entries with -+very long names. If such a name is encountered, @theglibc{} -+implementation of @code{readdir_r} returns with an error code of -+@code{ENAMETOOLONG} after the final directory entry has been read. On -+other systems, @code{readdir_r} may return successfully, but the -+@code{d_name} member may not be NUL-terminated or may be truncated. -+ -+@item -+POSIX-1.2008 does not guarantee that @code{readdir} is thread-safe, -+even when access to the same @var{dirstream} is serialized. But in -+current implementations (including @theglibc{}), it is safe to call -+@code{readdir} concurrently on different @var{dirstream}s, so there is -+no need to use @code{readdir_r} in most multi-threaded programs. In -+the rare case that multiple threads need to read from the same -+@var{dirstream}, it is still better to use @code{readdir} and external -+synchronization. -+ -+@item -+It is expected that future versions of POSIX will obsolete -+@code{readdir_r} and mandate the level of thread safety for -+@code{readdir} which is provided by @theglibc{} and other -+implementations today. -+@end itemize - - Normally @code{readdir_r} returns zero and sets @code{*@var{result}} - to @var{entry}. If there are no more entries in the directory or an -@@ -481,15 +523,6 @@ error is detected, @code{readdir_r} sets @code{*@var{result}} to a - null pointer and returns a nonzero error code, also stored in - @code{errno}, as described for @code{readdir}. - --@strong{Portability Note:} On some systems @code{readdir_r} may not --return a NUL terminated string for the file name, even when there is no --@code{d_reclen} field in @code{struct dirent} and the file --name is the maximum allowed size. Modern systems all have the --@code{d_reclen} field, and on old systems multi-threading is not --critical. In any case there is no such problem with the @code{readdir} --function, so that even on systems without the @code{d_reclen} member one --could use multiple threads by using external locking. -- - It is also important to look at the definition of the @code{struct - dirent} type. Simply passing a pointer to an object of this type for - the second parameter of @code{readdir_r} might not be enough. Some -diff --git a/sysdeps/posix/dirstream.h b/sysdeps/posix/dirstream.h -index a7a074d..8e8570d 100644 ---- a/sysdeps/posix/dirstream.h -+++ b/sysdeps/posix/dirstream.h -@@ -39,6 +39,8 @@ struct __dirstream - - off_t filepos; /* Position of next entry to read. */ - -+ int errcode; /* Delayed error code. */ -+ - /* Directory block. */ - char data[0] __attribute__ ((aligned (__alignof__ (void*)))); - }; -diff --git a/sysdeps/posix/opendir.c b/sysdeps/posix/opendir.c -index ddfc3a7..fc05b0f 100644 ---- a/sysdeps/posix/opendir.c -+++ b/sysdeps/posix/opendir.c -@@ -231,6 +231,7 @@ __alloc_dir (int fd, bool close_fd, int flags, const struct stat64 *statp) - dirp->size = 0; - dirp->offset = 0; - dirp->filepos = 0; -+ dirp->errcode = 0; - - return dirp; - } -diff --git a/sysdeps/posix/readdir_r.c b/sysdeps/posix/readdir_r.c -index b5a8e2e..8ed5c3f 100644 ---- a/sysdeps/posix/readdir_r.c -+++ b/sysdeps/posix/readdir_r.c -@@ -40,6 +40,7 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result) - DIRENT_TYPE *dp; - size_t reclen; - const int saved_errno = errno; -+ int ret; - - __libc_lock_lock (dirp->lock); - -@@ -70,10 +71,10 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result) - bytes = 0; - __set_errno (saved_errno); - } -+ if (bytes < 0) -+ dirp->errcode = errno; - - dp = NULL; -- /* Reclen != 0 signals that an error occurred. */ -- reclen = bytes != 0; - break; - } - dirp->size = (size_t) bytes; -@@ -106,29 +107,46 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result) - dirp->filepos += reclen; - #endif - -- /* Skip deleted files. */ -+#ifdef NAME_MAX -+ if (reclen > offsetof (DIRENT_TYPE, d_name) + NAME_MAX + 1) -+ { -+ /* The record is very long. It could still fit into the -+ caller-supplied buffer if we can skip padding at the -+ end. */ -+ size_t namelen = _D_EXACT_NAMLEN (dp); -+ if (namelen <= NAME_MAX) -+ reclen = offsetof (DIRENT_TYPE, d_name) + namelen + 1; -+ else -+ { -+ /* The name is too long. Ignore this file. */ -+ dirp->errcode = ENAMETOOLONG; -+ dp->d_ino = 0; -+ continue; -+ } -+ } -+#endif -+ -+ /* Skip deleted and ignored files. */ - } - while (dp->d_ino == 0); - - if (dp != NULL) - { --#ifdef GETDENTS_64BIT_ALIGNED -- /* The d_reclen value might include padding which is not part of -- the DIRENT_TYPE data structure. */ -- reclen = MIN (reclen, -- offsetof (DIRENT_TYPE, d_name) + sizeof (dp->d_name)); --#endif - *result = memcpy (entry, dp, reclen); --#ifdef GETDENTS_64BIT_ALIGNED -+#ifdef _DIRENT_HAVE_D_RECLEN - entry->d_reclen = reclen; - #endif -+ ret = 0; - } - else -- *result = NULL; -+ { -+ *result = NULL; -+ ret = dirp->errcode; -+ } - - __libc_lock_unlock (dirp->lock); - -- return dp != NULL ? 0 : reclen ? errno : 0; -+ return ret; - } - - #ifdef __READDIR_R_ALIAS -diff --git a/sysdeps/posix/rewinddir.c b/sysdeps/posix/rewinddir.c -index 2935a8e..d4991ad 100644 ---- a/sysdeps/posix/rewinddir.c -+++ b/sysdeps/posix/rewinddir.c -@@ -33,6 +33,7 @@ rewinddir (dirp) - dirp->filepos = 0; - dirp->offset = 0; - dirp->size = 0; -+ dirp->errcode = 0; - #ifndef NOT_IN_libc - __libc_lock_unlock (dirp->lock); - #endif -diff --git a/sysdeps/unix/sysv/linux/i386/readdir64_r.c b/sysdeps/unix/sysv/linux/i386/readdir64_r.c -index 8ebbcfd..a7d114e 100644 ---- a/sysdeps/unix/sysv/linux/i386/readdir64_r.c -+++ b/sysdeps/unix/sysv/linux/i386/readdir64_r.c -@@ -18,7 +18,6 @@ - #define __READDIR_R __readdir64_r - #define __GETDENTS __getdents64 - #define DIRENT_TYPE struct dirent64 --#define GETDENTS_64BIT_ALIGNED 1 - - #include <sysdeps/posix/readdir_r.c> - -diff --git a/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c b/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c -index 5ed8e95..290f2c8 100644 ---- a/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c -+++ b/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c -@@ -1,5 +1,4 @@ - #define readdir64_r __no_readdir64_r_decl --#define GETDENTS_64BIT_ALIGNED 1 - #include <sysdeps/posix/readdir_r.c> - #undef readdir64_r - weak_alias (__readdir_r, readdir64_r) --- -1.8.3.4 - diff --git a/core/glibc/glibc-2.18-scanf-parse-0e-0.patch b/core/glibc/glibc-2.18-scanf-parse-0e-0.patch deleted file mode 100644 index 651e56590..000000000 --- a/core/glibc/glibc-2.18-scanf-parse-0e-0.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff --git a/stdio-common/tst-sscanf.c b/stdio-common/tst-sscanf.c -index 1edb227..3c34f58 100644 ---- a/stdio-common/tst-sscanf.c -+++ b/stdio-common/tst-sscanf.c -@@ -109,6 +109,19 @@ struct test double_tests[] = - { L("-inf"), L("%g"), 1 } - }; - -+struct test2 -+{ -+ const CHAR *str; -+ const CHAR *fmt; -+ int retval; -+ char residual; -+} double_tests2[] = -+{ -+ { L("0e+0"), L("%g%c"), 1, 0 }, -+ { L("0xe+0"), L("%g%c"), 2, '+' }, -+ { L("0x.e+0"), L("%g%c"), 2, '+' }, -+}; -+ - int - main (void) - { -@@ -196,5 +209,26 @@ main (void) - } - } - -+ for (i = 0; i < sizeof (double_tests2) / sizeof (double_tests2[0]); ++i) -+ { -+ double dummy; -+ int ret; -+ char c = 0; -+ -+ if ((ret = SSCANF (double_tests2[i].str, double_tests2[i].fmt, -+ &dummy, &c)) != double_tests2[i].retval) -+ { -+ printf ("double_tests2[%d] returned %d != %d\n", -+ i, ret, double_tests2[i].retval); -+ result = 1; -+ } -+ else if (ret == 2 && c != double_tests2[i].residual) -+ { -+ printf ("double_tests2[%d] stopped at '%c' != '%c'\n", -+ i, c, double_tests2[i].residual); -+ result = 1; -+ } -+ } -+ - return result; - } -diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c -index 78dc2fc..e6fa8f3 100644 ---- a/stdio-common/vfscanf.c -+++ b/stdio-common/vfscanf.c -@@ -1966,6 +1966,8 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr, - if (width > 0) - --width; - } -+ else -+ got_digit = 1; - } - - while (1) --- -1.8.4.2 - diff --git a/core/glibc/glibc-2.18-strcoll-CVE-2012-4412+4424.patch b/core/glibc/glibc-2.18-strcoll-CVE-2012-4412+4424.patch deleted file mode 100644 index 5558c1fe9..000000000 --- a/core/glibc/glibc-2.18-strcoll-CVE-2012-4412+4424.patch +++ /dev/null @@ -1,1004 +0,0 @@ -diff --git a/string/strcoll_l.c b/string/strcoll_l.c -index ecda08f..bb34a72 100644 ---- a/string/strcoll_l.c -+++ b/string/strcoll_l.c -@@ -41,11 +41,434 @@ - - #include "../locale/localeinfo.h" - -+/* Track status while looking for sequences in a string. */ -+typedef struct -+{ -+ int len; /* Length of the current sequence. */ -+ size_t val; /* Position of the sequence relative to the -+ previous non-ignored sequence. */ -+ size_t idxnow; /* Current index in sequences. */ -+ size_t idxmax; /* Maximum index in sequences. */ -+ size_t idxcnt; /* Current count of indices. */ -+ size_t backw; /* Current Backward sequence index. */ -+ size_t backw_stop; /* Index where the backward sequences stop. */ -+ const USTRING_TYPE *us; /* The string. */ -+ int32_t *idxarr; /* Array to cache weight indices. */ -+ unsigned char *rulearr; /* Array to cache rules. */ -+ unsigned char rule; /* Saved rule for the first sequence. */ -+ int32_t idx; /* Index to weight of the current sequence. */ -+ int32_t save_idx; /* Save looked up index of a forward -+ sequence after the last backward -+ sequence. */ -+ const USTRING_TYPE *back_us; /* Beginning of the backward sequence. */ -+} coll_seq; -+ -+/* Get next sequence. The weight indices are cached, so we don't need to -+ traverse the string. */ -+static void -+get_next_seq_cached (coll_seq *seq, int nrules, int pass, -+ const unsigned char *rulesets, -+ const USTRING_TYPE *weights) -+{ -+ size_t val = seq->val = 0; -+ int len = seq->len; -+ size_t backw_stop = seq->backw_stop; -+ size_t backw = seq->backw; -+ size_t idxcnt = seq->idxcnt; -+ size_t idxmax = seq->idxmax; -+ size_t idxnow = seq->idxnow; -+ unsigned char *rulearr = seq->rulearr; -+ int32_t *idxarr = seq->idxarr; -+ -+ while (len == 0) -+ { -+ ++val; -+ if (backw_stop != ~0ul) -+ { -+ /* There is something pushed. */ -+ if (backw == backw_stop) -+ { -+ /* The last pushed character was handled. Continue -+ with forward characters. */ -+ if (idxcnt < idxmax) -+ { -+ idxnow = idxcnt; -+ backw_stop = ~0ul; -+ } -+ else -+ { -+ /* Nothing any more. The backward sequence -+ ended with the last sequence in the string. */ -+ idxnow = ~0ul; -+ break; -+ } -+ } -+ else -+ idxnow = --backw; -+ } -+ else -+ { -+ backw_stop = idxcnt; -+ -+ while (idxcnt < idxmax) -+ { -+ if ((rulesets[rulearr[idxcnt] * nrules + pass] -+ & sort_backward) == 0) -+ /* No more backward characters to push. */ -+ break; -+ ++idxcnt; -+ } -+ -+ if (backw_stop == idxcnt) -+ { -+ /* No sequence at all or just one. */ -+ if (idxcnt == idxmax) -+ /* Note that LEN is still zero. */ -+ break; -+ -+ backw_stop = ~0ul; -+ idxnow = idxcnt++; -+ } -+ else -+ /* We pushed backward sequences. */ -+ idxnow = backw = idxcnt - 1; -+ } -+ len = weights[idxarr[idxnow]++]; -+ } -+ -+ /* Update the structure. */ -+ seq->val = val; -+ seq->len = len; -+ seq->backw_stop = backw_stop; -+ seq->backw = backw; -+ seq->idxcnt = idxcnt; -+ seq->idxnow = idxnow; -+} -+ -+/* Get next sequence. Traverse the string as required. */ -+static void -+get_next_seq (coll_seq *seq, int nrules, const unsigned char *rulesets, -+ const USTRING_TYPE *weights, const int32_t *table, -+ const USTRING_TYPE *extra, const int32_t *indirect) -+{ -+#include WEIGHT_H -+ size_t val = seq->val = 0; -+ int len = seq->len; -+ size_t backw_stop = seq->backw_stop; -+ size_t backw = seq->backw; -+ size_t idxcnt = seq->idxcnt; -+ size_t idxmax = seq->idxmax; -+ size_t idxnow = seq->idxnow; -+ unsigned char *rulearr = seq->rulearr; -+ int32_t *idxarr = seq->idxarr; -+ const USTRING_TYPE *us = seq->us; -+ -+ while (len == 0) -+ { -+ ++val; -+ if (backw_stop != ~0ul) -+ { -+ /* There is something pushed. */ -+ if (backw == backw_stop) -+ { -+ /* The last pushed character was handled. Continue -+ with forward characters. */ -+ if (idxcnt < idxmax) -+ { -+ idxnow = idxcnt; -+ backw_stop = ~0ul; -+ } -+ else -+ /* Nothing any more. The backward sequence ended with -+ the last sequence in the string. Note that LEN -+ is still zero. */ -+ break; -+ } -+ else -+ idxnow = --backw; -+ } -+ else -+ { -+ backw_stop = idxmax; -+ -+ while (*us != L('\0')) -+ { -+ int32_t tmp = findidx (&us, -1); -+ rulearr[idxmax] = tmp >> 24; -+ idxarr[idxmax] = tmp & 0xffffff; -+ idxcnt = idxmax++; -+ -+ if ((rulesets[rulearr[idxcnt] * nrules] -+ & sort_backward) == 0) -+ /* No more backward characters to push. */ -+ break; -+ ++idxcnt; -+ } -+ -+ if (backw_stop >= idxcnt) -+ { -+ /* No sequence at all or just one. */ -+ if (idxcnt == idxmax || backw_stop > idxcnt) -+ /* Note that LEN is still zero. */ -+ break; -+ -+ backw_stop = ~0ul; -+ idxnow = idxcnt; -+ } -+ else -+ /* We pushed backward sequences. */ -+ idxnow = backw = idxcnt - 1; -+ } -+ len = weights[idxarr[idxnow]++]; -+ } -+ -+ /* Update the structure. */ -+ seq->val = val; -+ seq->len = len; -+ seq->backw_stop = backw_stop; -+ seq->backw = backw; -+ seq->idxcnt = idxcnt; -+ seq->idxmax = idxmax; -+ seq->idxnow = idxnow; -+ seq->us = us; -+} -+ -+/* Get next sequence. Traverse the string as required. This function does not -+ set or use any index or rule cache. */ -+static void -+get_next_seq_nocache (coll_seq *seq, int nrules, const unsigned char *rulesets, -+ const USTRING_TYPE *weights, const int32_t *table, -+ const USTRING_TYPE *extra, const int32_t *indirect, -+ int pass) -+{ -+#include WEIGHT_H -+ size_t val = seq->val = 0; -+ int len = seq->len; -+ size_t backw_stop = seq->backw_stop; -+ size_t backw = seq->backw; -+ size_t idxcnt = seq->idxcnt; -+ size_t idxmax = seq->idxmax; -+ int32_t idx = seq->idx; -+ const USTRING_TYPE *us = seq->us; -+ -+ while (len == 0) -+ { -+ ++val; -+ if (backw_stop != ~0ul) -+ { -+ /* There is something pushed. */ -+ if (backw == backw_stop) -+ { -+ /* The last pushed character was handled. Continue -+ with forward characters. */ -+ if (idxcnt < idxmax) -+ { -+ idx = seq->save_idx; -+ backw_stop = ~0ul; -+ } -+ else -+ { -+ /* Nothing anymore. The backward sequence ended with -+ the last sequence in the string. Note that len is -+ still zero. */ -+ idx = 0; -+ break; -+ } -+ } -+ else -+ { -+ /* XXX Traverse BACKW sequences from the beginning of -+ BACKW_STOP to get the next sequence. Is ther a quicker way -+ to do this? */ -+ size_t i = backw_stop; -+ us = seq->back_us; -+ while (i < backw) -+ { -+ int32_t tmp = findidx (&us, -1); -+ idx = tmp & 0xffffff; -+ i++; -+ } -+ --backw; -+ us = seq->us; -+ } -+ } -+ else -+ { -+ backw_stop = idxmax; -+ int32_t prev_idx = idx; -+ -+ while (*us != L('\0')) -+ { -+ int32_t tmp = findidx (&us, -1); -+ unsigned char rule = tmp >> 24; -+ prev_idx = idx; -+ idx = tmp & 0xffffff; -+ idxcnt = idxmax++; -+ -+ /* Save the rule for the first sequence. */ -+ if (__glibc_unlikely (idxcnt == 0)) -+ seq->rule = rule; -+ -+ if ((rulesets[rule * nrules + pass] -+ & sort_backward) == 0) -+ /* No more backward characters to push. */ -+ break; -+ ++idxcnt; -+ } -+ -+ if (backw_stop >= idxcnt) -+ { -+ /* No sequence at all or just one. */ -+ if (idxcnt == idxmax || backw_stop > idxcnt) -+ /* Note that len is still zero. */ -+ break; -+ -+ backw_stop = ~0ul; -+ } -+ else -+ { -+ /* We pushed backward sequences. If the stream ended with the -+ backward sequence, then we process the last sequence we -+ found. Otherwise we process the sequence before the last -+ one since the last one was a forward sequence. */ -+ seq->back_us = seq->us; -+ seq->us = us; -+ backw = idxcnt; -+ if (idxmax > idxcnt) -+ { -+ backw--; -+ seq->save_idx = idx; -+ idx = prev_idx; -+ } -+ if (backw > backw_stop) -+ backw--; -+ } -+ } -+ -+ len = weights[idx++]; -+ /* Skip over indices of previous levels. */ -+ for (int i = 0; i < pass; i++) -+ { -+ idx += len; -+ len = weights[idx]; -+ idx++; -+ } -+ } -+ -+ /* Update the structure. */ -+ seq->val = val; -+ seq->len = len; -+ seq->backw_stop = backw_stop; -+ seq->backw = backw; -+ seq->idxcnt = idxcnt; -+ seq->idxmax = idxmax; -+ seq->us = us; -+ seq->idx = idx; -+} -+ -+/* Compare two sequences. This version does not use the index and rules -+ cache. */ -+static int -+do_compare_nocache (coll_seq *seq1, coll_seq *seq2, int position, -+ const USTRING_TYPE *weights) -+{ -+ int seq1len = seq1->len; -+ int seq2len = seq2->len; -+ size_t val1 = seq1->val; -+ size_t val2 = seq2->val; -+ int idx1 = seq1->idx; -+ int idx2 = seq2->idx; -+ int result = 0; -+ -+ /* Test for position if necessary. */ -+ if (position && val1 != val2) -+ { -+ result = val1 > val2 ? 1 : -1; -+ goto out; -+ } -+ -+ /* Compare the two sequences. */ -+ do -+ { -+ if (weights[idx1] != weights[idx2]) -+ { -+ /* The sequences differ. */ -+ result = weights[idx1] - weights[idx2]; -+ goto out; -+ } -+ -+ /* Increment the offsets. */ -+ ++idx1; -+ ++idx2; -+ -+ --seq1len; -+ --seq2len; -+ } -+ while (seq1len > 0 && seq2len > 0); -+ -+ if (position && seq1len != seq2len) -+ result = seq1len - seq2len; -+ -+out: -+ seq1->len = seq1len; -+ seq2->len = seq2len; -+ seq1->idx = idx1; -+ seq2->idx = idx2; -+ return result; -+} -+ -+/* Compare two sequences using the index cache. */ -+static int -+do_compare (coll_seq *seq1, coll_seq *seq2, int position, -+ const USTRING_TYPE *weights) -+{ -+ int seq1len = seq1->len; -+ int seq2len = seq2->len; -+ size_t val1 = seq1->val; -+ size_t val2 = seq2->val; -+ int32_t *idx1arr = seq1->idxarr; -+ int32_t *idx2arr = seq2->idxarr; -+ int idx1now = seq1->idxnow; -+ int idx2now = seq2->idxnow; -+ int result = 0; -+ -+ /* Test for position if necessary. */ -+ if (position && val1 != val2) -+ { -+ result = val1 > val2 ? 1 : -1; -+ goto out; -+ } -+ -+ /* Compare the two sequences. */ -+ do -+ { -+ if (weights[idx1arr[idx1now]] != weights[idx2arr[idx2now]]) -+ { -+ /* The sequences differ. */ -+ result = weights[idx1arr[idx1now]] - weights[idx2arr[idx2now]]; -+ goto out; -+ } -+ -+ /* Increment the offsets. */ -+ ++idx1arr[idx1now]; -+ ++idx2arr[idx2now]; -+ -+ --seq1len; -+ --seq2len; -+ } -+ while (seq1len > 0 && seq2len > 0); -+ -+ if (position && seq1len != seq2len) -+ result = seq1len - seq2len; -+ -+out: -+ seq1->len = seq1len; -+ seq2->len = seq2len; -+ return result; -+} -+ - int --STRCOLL (s1, s2, l) -- const STRING_TYPE *s1; -- const STRING_TYPE *s2; -- __locale_t l; -+STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l) - { - struct __locale_data *current = l->__locales[LC_COLLATE]; - uint_fast32_t nrules = current->values[_NL_ITEM_INDEX (_NL_COLLATE_NRULES)].word; -@@ -56,34 +479,6 @@ STRCOLL (s1, s2, l) - const USTRING_TYPE *weights; - const USTRING_TYPE *extra; - const int32_t *indirect; -- uint_fast32_t pass; -- int result = 0; -- const USTRING_TYPE *us1; -- const USTRING_TYPE *us2; -- size_t s1len; -- size_t s2len; -- int32_t *idx1arr; -- int32_t *idx2arr; -- unsigned char *rule1arr; -- unsigned char *rule2arr; -- size_t idx1max; -- size_t idx2max; -- size_t idx1cnt; -- size_t idx2cnt; -- size_t idx1now; -- size_t idx2now; -- size_t backw1_stop; -- size_t backw2_stop; -- size_t backw1; -- size_t backw2; -- int val1; -- int val2; -- int position; -- int seq1len; -- int seq2len; -- int use_malloc; -- --#include WEIGHT_H - - if (nrules == 0) - return STRCMP (s1, s2); -@@ -98,7 +493,6 @@ STRCOLL (s1, s2, l) - current->values[_NL_ITEM_INDEX (CONCAT(_NL_COLLATE_EXTRA,SUFFIX))].string; - indirect = (const int32_t *) - current->values[_NL_ITEM_INDEX (CONCAT(_NL_COLLATE_INDIRECT,SUFFIX))].string; -- use_malloc = 0; - - assert (((uintptr_t) table) % __alignof__ (table[0]) == 0); - assert (((uintptr_t) weights) % __alignof__ (weights[0]) == 0); -@@ -106,18 +500,13 @@ STRCOLL (s1, s2, l) - assert (((uintptr_t) indirect) % __alignof__ (indirect[0]) == 0); - - /* We need this a few times. */ -- s1len = STRLEN (s1); -- s2len = STRLEN (s2); -+ size_t s1len = STRLEN (s1); -+ size_t s2len = STRLEN (s2); - - /* Catch empty strings. */ -- if (__builtin_expect (s1len == 0, 0) || __builtin_expect (s2len == 0, 0)) -+ if (__glibc_unlikely (s1len == 0) || __glibc_unlikely (s2len == 0)) - return (s1len != 0) - (s2len != 0); - -- /* We need the elements of the strings as unsigned values since they -- are used as indeces. */ -- us1 = (const USTRING_TYPE *) s1; -- us2 = (const USTRING_TYPE *) s2; -- - /* Perform the first pass over the string and while doing this find - and store the weights for each character. Since we want this to - be as fast as possible we are using `alloca' to store the temporary -@@ -127,411 +516,124 @@ STRCOLL (s1, s2, l) - - Please note that the localedef programs makes sure that `position' - is not used at the first level. */ -- if (! __libc_use_alloca ((s1len + s2len) * (sizeof (int32_t) + 1))) -- { -- idx1arr = (int32_t *) malloc ((s1len + s2len) * (sizeof (int32_t) + 1)); -- idx2arr = &idx1arr[s1len]; -- rule1arr = (unsigned char *) &idx2arr[s2len]; -- rule2arr = &rule1arr[s1len]; -- -- if (idx1arr == NULL) -- /* No memory. Well, go with the stack then. -- -- XXX Once this implementation is stable we will handle this -- differently. Instead of precomputing the indeces we will -- do this in time. This means, though, that this happens for -- every pass again. */ -- goto try_stack; -- use_malloc = 1; -- } -- else -- { -- try_stack: -- idx1arr = (int32_t *) alloca (s1len * sizeof (int32_t)); -- idx2arr = (int32_t *) alloca (s2len * sizeof (int32_t)); -- rule1arr = (unsigned char *) alloca (s1len); -- rule2arr = (unsigned char *) alloca (s2len); -- } - -- idx1cnt = 0; -- idx2cnt = 0; -- idx1max = 0; -- idx2max = 0; -- idx1now = 0; -- idx2now = 0; -- backw1_stop = ~0ul; -- backw2_stop = ~0ul; -- backw1 = ~0ul; -- backw2 = ~0ul; -- seq1len = 0; -- seq2len = 0; -- position = rulesets[0] & sort_position; -- while (1) -- { -- val1 = 0; -- val2 = 0; -- -- /* Get the next non-IGNOREd element for string `s1'. */ -- if (seq1len == 0) -- do -- { -- ++val1; -- -- if (backw1_stop != ~0ul) -- { -- /* The is something pushed. */ -- if (backw1 == backw1_stop) -- { -- /* The last pushed character was handled. Continue -- with forward characters. */ -- if (idx1cnt < idx1max) -- { -- idx1now = idx1cnt; -- backw1_stop = ~0ul; -- } -- else -- /* Nothing anymore. The backward sequence ended with -- the last sequence in the string. Note that seq1len -- is still zero. */ -- break; -- } -- else -- idx1now = --backw1; -- } -- else -- { -- backw1_stop = idx1max; -- -- while (*us1 != L('\0')) -- { -- int32_t tmp = findidx (&us1, -1); -- rule1arr[idx1max] = tmp >> 24; -- idx1arr[idx1max] = tmp & 0xffffff; -- idx1cnt = idx1max++; -- -- if ((rulesets[rule1arr[idx1cnt] * nrules] -- & sort_backward) == 0) -- /* No more backward characters to push. */ -- break; -- ++idx1cnt; -- } -- -- if (backw1_stop >= idx1cnt) -- { -- /* No sequence at all or just one. */ -- if (idx1cnt == idx1max || backw1_stop > idx1cnt) -- /* Note that seq1len is still zero. */ -- break; -- -- backw1_stop = ~0ul; -- idx1now = idx1cnt; -- } -- else -- /* We pushed backward sequences. */ -- idx1now = backw1 = idx1cnt - 1; -- } -- } -- while ((seq1len = weights[idx1arr[idx1now]++]) == 0); -- -- /* And the same for string `s2'. */ -- if (seq2len == 0) -- do -- { -- ++val2; -- -- if (backw2_stop != ~0ul) -- { -- /* The is something pushed. */ -- if (backw2 == backw2_stop) -- { -- /* The last pushed character was handled. Continue -- with forward characters. */ -- if (idx2cnt < idx2max) -- { -- idx2now = idx2cnt; -- backw2_stop = ~0ul; -- } -- else -- /* Nothing anymore. The backward sequence ended with -- the last sequence in the string. Note that seq2len -- is still zero. */ -- break; -- } -- else -- idx2now = --backw2; -- } -- else -- { -- backw2_stop = idx2max; -- -- while (*us2 != L('\0')) -- { -- int32_t tmp = findidx (&us2, -1); -- rule2arr[idx2max] = tmp >> 24; -- idx2arr[idx2max] = tmp & 0xffffff; -- idx2cnt = idx2max++; -- -- if ((rulesets[rule2arr[idx2cnt] * nrules] -- & sort_backward) == 0) -- /* No more backward characters to push. */ -- break; -- ++idx2cnt; -- } -- -- if (backw2_stop >= idx2cnt) -- { -- /* No sequence at all or just one. */ -- if (idx2cnt == idx2max || backw2_stop > idx2cnt) -- /* Note that seq1len is still zero. */ -- break; -- -- backw2_stop = ~0ul; -- idx2now = idx2cnt; -- } -- else -- /* We pushed backward sequences. */ -- idx2now = backw2 = idx2cnt - 1; -- } -- } -- while ((seq2len = weights[idx2arr[idx2now]++]) == 0); -- -- /* See whether any or both strings are empty. */ -- if (seq1len == 0 || seq2len == 0) -- { -- if (seq1len == seq2len) -- /* Both ended. So far so good, both strings are equal at the -- first level. */ -- break; -- -- /* This means one string is shorter than the other. Find out -- which one and return an appropriate value. */ -- result = seq1len == 0 ? -1 : 1; -- goto free_and_return; -- } -+ coll_seq seq1, seq2; -+ bool use_malloc = false; -+ int result = 0; - -- /* Test for position if necessary. */ -- if (position && val1 != val2) -- { -- result = val1 - val2; -- goto free_and_return; -- } -+ memset (&seq1, 0, sizeof (seq1)); -+ seq2 = seq1; - -- /* Compare the two sequences. */ -- do -- { -- if (weights[idx1arr[idx1now]] != weights[idx2arr[idx2now]]) -- { -- /* The sequences differ. */ -- result = weights[idx1arr[idx1now]] - weights[idx2arr[idx2now]]; -- goto free_and_return; -- } -+ size_t size_max = SIZE_MAX / (sizeof (int32_t) + 1); - -- /* Increment the offsets. */ -- ++idx1arr[idx1now]; -- ++idx2arr[idx2now]; -+ /* If the strings are long enough to cause overflow in the size request, then -+ skip the allocation and proceed with the non-cached routines. */ -+ if (MIN (s1len, s2len) > size_max -+ || MAX (s1len, s2len) > size_max - MIN (s1len, s2len)) -+ goto begin_collate; - -- --seq1len; -- --seq2len; -- } -- while (seq1len > 0 && seq2len > 0); -+ if (! __libc_use_alloca ((s1len + s2len) * (sizeof (int32_t) + 1))) -+ { -+ seq1.idxarr = (int32_t *) malloc ((s1len + s2len) * (sizeof (int32_t) + 1)); - -- if (position && seq1len != seq2len) -+ /* If we failed to allocate memory, we leave everything as NULL so that -+ we use the nocache version of traversal and comparison functions. */ -+ if (seq1.idxarr != NULL) - { -- result = seq1len - seq2len; -- goto free_and_return; -+ seq2.idxarr = &seq1.idxarr[s1len]; -+ seq1.rulearr = (unsigned char *) &seq2.idxarr[s2len]; -+ seq2.rulearr = &seq1.rulearr[s1len]; -+ use_malloc = true; - } - } -+ else -+ { -+ seq1.idxarr = (int32_t *) alloca (s1len * sizeof (int32_t)); -+ seq2.idxarr = (int32_t *) alloca (s2len * sizeof (int32_t)); -+ seq1.rulearr = (unsigned char *) alloca (s1len); -+ seq2.rulearr = (unsigned char *) alloca (s2len); -+ } - -- /* Now the remaining passes over the weights. We now use the -- indeces we found before. */ -- for (pass = 1; pass < nrules; ++pass) -+ int rule; -+ -+ begin_collate: -+ rule = 0; -+ /* Cache values in the first pass and if needed, use them in subsequent -+ passes. */ -+ for (int pass = 0; pass < nrules; ++pass) - { -+ seq1.idxcnt = 0; -+ seq1.idx = 0; -+ seq2.idx = 0; -+ seq1.backw_stop = ~0ul; -+ seq1.backw = ~0ul; -+ seq2.idxcnt = 0; -+ seq2.backw_stop = ~0ul; -+ seq2.backw = ~0ul; -+ -+ /* We need the elements of the strings as unsigned values since they -+ are used as indices. */ -+ seq1.us = (const USTRING_TYPE *) s1; -+ seq2.us = (const USTRING_TYPE *) s2; -+ - /* We assume that if a rule has defined `position' in one section - this is true for all of them. */ -- idx1cnt = 0; -- idx2cnt = 0; -- backw1_stop = ~0ul; -- backw2_stop = ~0ul; -- backw1 = ~0ul; -- backw2 = ~0ul; -- position = rulesets[rule1arr[0] * nrules + pass] & sort_position; -+ int position = rulesets[rule * nrules + pass] & sort_position; - - while (1) - { -- val1 = 0; -- val2 = 0; -- -- /* Get the next non-IGNOREd element for string `s1'. */ -- if (seq1len == 0) -- do -- { -- ++val1; -- -- if (backw1_stop != ~0ul) -- { -- /* The is something pushed. */ -- if (backw1 == backw1_stop) -- { -- /* The last pushed character was handled. Continue -- with forward characters. */ -- if (idx1cnt < idx1max) -- { -- idx1now = idx1cnt; -- backw1_stop = ~0ul; -- } -- else -- { -- /* Nothing anymore. The backward sequence -- ended with the last sequence in the string. */ -- idx1now = ~0ul; -- break; -- } -- } -- else -- idx1now = --backw1; -- } -- else -- { -- backw1_stop = idx1cnt; -- -- while (idx1cnt < idx1max) -- { -- if ((rulesets[rule1arr[idx1cnt] * nrules + pass] -- & sort_backward) == 0) -- /* No more backward characters to push. */ -- break; -- ++idx1cnt; -- } -- -- if (backw1_stop == idx1cnt) -- { -- /* No sequence at all or just one. */ -- if (idx1cnt == idx1max) -- /* Note that seq1len is still zero. */ -- break; -- -- backw1_stop = ~0ul; -- idx1now = idx1cnt++; -- } -- else -- /* We pushed backward sequences. */ -- idx1now = backw1 = idx1cnt - 1; -- } -- } -- while ((seq1len = weights[idx1arr[idx1now]++]) == 0); -- -- /* And the same for string `s2'. */ -- if (seq2len == 0) -- do -- { -- ++val2; -- -- if (backw2_stop != ~0ul) -- { -- /* The is something pushed. */ -- if (backw2 == backw2_stop) -- { -- /* The last pushed character was handled. Continue -- with forward characters. */ -- if (idx2cnt < idx2max) -- { -- idx2now = idx2cnt; -- backw2_stop = ~0ul; -- } -- else -- { -- /* Nothing anymore. The backward sequence -- ended with the last sequence in the string. */ -- idx2now = ~0ul; -- break; -- } -- } -- else -- idx2now = --backw2; -- } -- else -- { -- backw2_stop = idx2cnt; -- -- while (idx2cnt < idx2max) -- { -- if ((rulesets[rule2arr[idx2cnt] * nrules + pass] -- & sort_backward) == 0) -- /* No more backward characters to push. */ -- break; -- ++idx2cnt; -- } -- -- if (backw2_stop == idx2cnt) -- { -- /* No sequence at all or just one. */ -- if (idx2cnt == idx2max) -- /* Note that seq2len is still zero. */ -- break; -- -- backw2_stop = ~0ul; -- idx2now = idx2cnt++; -- } -- else -- /* We pushed backward sequences. */ -- idx2now = backw2 = idx2cnt - 1; -- } -- } -- while ((seq2len = weights[idx2arr[idx2now]++]) == 0); -+ if (__glibc_unlikely (seq1.idxarr == NULL)) -+ { -+ get_next_seq_nocache (&seq1, nrules, rulesets, weights, table, -+ extra, indirect, pass); -+ get_next_seq_nocache (&seq2, nrules, rulesets, weights, table, -+ extra, indirect, pass); -+ } -+ else if (pass == 0) -+ { -+ get_next_seq (&seq1, nrules, rulesets, weights, table, extra, -+ indirect); -+ get_next_seq (&seq2, nrules, rulesets, weights, table, extra, -+ indirect); -+ } -+ else -+ { -+ get_next_seq_cached (&seq1, nrules, pass, rulesets, weights); -+ get_next_seq_cached (&seq2, nrules, pass, rulesets, weights); -+ } - - /* See whether any or both strings are empty. */ -- if (seq1len == 0 || seq2len == 0) -+ if (seq1.len == 0 || seq2.len == 0) - { -- if (seq1len == seq2len) -+ if (seq1.len == seq2.len) - /* Both ended. So far so good, both strings are equal - at this level. */ - break; - - /* This means one string is shorter than the other. Find out - which one and return an appropriate value. */ -- result = seq1len == 0 ? -1 : 1; -+ result = seq1.len == 0 ? -1 : 1; - goto free_and_return; - } - -- /* Test for position if necessary. */ -- if (position && val1 != val2) -- { -- result = val1 - val2; -- goto free_and_return; -- } -- -- /* Compare the two sequences. */ -- do -- { -- if (weights[idx1arr[idx1now]] != weights[idx2arr[idx2now]]) -- { -- /* The sequences differ. */ -- result = (weights[idx1arr[idx1now]] -- - weights[idx2arr[idx2now]]); -- goto free_and_return; -- } -- -- /* Increment the offsets. */ -- ++idx1arr[idx1now]; -- ++idx2arr[idx2now]; -- -- --seq1len; -- --seq2len; -- } -- while (seq1len > 0 && seq2len > 0); -- -- if (position && seq1len != seq2len) -- { -- result = seq1len - seq2len; -- goto free_and_return; -- } -+ if (__glibc_unlikely (seq1.idxarr == NULL)) -+ result = do_compare_nocache (&seq1, &seq2, position, weights); -+ else -+ result = do_compare (&seq1, &seq2, position, weights); -+ if (result != 0) -+ goto free_and_return; - } -+ -+ if (__glibc_likely (seq1.rulearr != NULL)) -+ rule = seq1.rulearr[0]; -+ else -+ rule = seq1.rule; - } - - /* Free the memory if needed. */ - free_and_return: - if (use_malloc) -- free (idx1arr); -+ free (seq1.idxarr); - - return result; - } diff --git a/core/glibc/glibc-2.18-strstr-hackfix.patch b/core/glibc/glibc-2.18-strstr-hackfix.patch deleted file mode 100644 index 6149f88bc..000000000 --- a/core/glibc/glibc-2.18-strstr-hackfix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/sysdeps/x86_64/multiarch/strstr.c b/sysdeps/x86_64/multiarch/strstr.c -index cd63b68..03d8b9a 100644 ---- a/sysdeps/x86_64/multiarch/strstr.c -+++ b/sysdeps/x86_64/multiarch/strstr.c -@@ -86,7 +86,7 @@ - /* Simple replacement of movdqu to address 4KB boundary cross issue. - If EOS occurs within less than 16B before 4KB boundary, we don't - cross to next page. */ --static __m128i -+static inline __m128i - __m128i_strloadu (const unsigned char * p, __m128i zero) - { - if (__builtin_expect ((int) ((size_t) p & 0xfff) > 0xff0, 0)) diff --git a/core/glibc/glibc-2.18-xattr-compat-hack.patch b/core/glibc/glibc-2.18-xattr-compat-hack.patch new file mode 100644 index 000000000..7486922d7 --- /dev/null +++ b/core/glibc/glibc-2.18-xattr-compat-hack.patch @@ -0,0 +1,19 @@ +diff -Naur glibc-2.18-orig/misc/sys/xattr.h glibc-2.18/misc/sys/xattr.h +--- glibc-2.18-orig/misc/sys/xattr.h 2013-08-11 08:52:55.000000000 +1000 ++++ glibc-2.18/misc/sys/xattr.h 2014-01-07 15:45:50.533969040 +1000 +@@ -26,13 +26,8 @@ + + /* The following constants should be used for the fifth parameter of + `*setxattr'. */ +-enum +-{ +- XATTR_CREATE = 1, /* set value, fail if attr already exists. */ +-#define XATTR_CREATE XATTR_CREATE +- XATTR_REPLACE = 2 /* set value, fail if attr does not exist. */ +-#define XATTR_REPLACE XATTR_REPLACE +-}; ++#define XATTR_CREATE 1 ++#define XATTR_REPLACE 2 + + /* Set the attribute NAME of the file pointed to by PATH to VALUE (which + is SIZE bytes long). Return 0 on success, -1 for errors. */ diff --git a/core/glibc/glibc.install b/core/glibc/glibc.install index 6b405486e..31ce3dae2 100644 --- a/core/glibc/glibc.install +++ b/core/glibc/glibc.install @@ -4,7 +4,7 @@ filelist=(libc.info{,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11}) post_upgrade() { ldconfig -r . - if [[ $(vercmp 2.18 $2) = 1 ]]; then + if [[ $(vercmp 2.19-2 $2) = 1 ]]; then locale-gen fi diff --git a/core/glibc/locale-gen b/core/glibc/locale-gen index 51191f810..5aff344c4 100755 --- a/core/glibc/locale-gen +++ b/core/glibc/locale-gen @@ -4,53 +4,39 @@ set -e LOCALEGEN=/etc/locale.gen LOCALES=/usr/share/i18n/locales -unset POSIXLY_CORRECT +if [ -n "$POSIXLY_CORRECT" ]; then + unset POSIXLY_CORRECT +fi -[ -s "$LOCALEGEN" ] || exit 0 + +[ -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/* +rm -rf /usr/lib/locale/* || true umask 022 -gen() { - local locale=$1 - local charset=$2 - local input= - - if [ -z "$locale" ] || [ -z "$charset" ]; then - echo "error: Bad entry '$locale $charset'" - return - fi - - printf ' %s.%s\n' "$(echo "$locale" | sed 's/\([^.\@]*\).*/\1/')" "$charset" - - 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" +is_entry_ok() { + if [ -n "$locale" -a -n "$charset" ] ; then + true + else + echo "error: Bad entry '$locale $charset'" + false + fi } -maxjobs=$(grep -c processor /proc/cpuinfo 2>/dev/null || echo 1) echo "Generating locales..." while read locale charset; do \ - case $locale in - \#*|'') - continue - ;; - esac - gen "$locale" "$charset" & - - # keep no more than $maxjobs jobs in flight - while [ $(jobs | wc -l) -ge $maxjobs ]; do - sleep 0.25 - jobs >/dev/null - done + 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 -wait - echo "Generation complete." diff --git a/core/gnupg/PKGBUILD b/core/gnupg/PKGBUILD index 412da5996..084e34af6 100644 --- a/core/gnupg/PKGBUILD +++ b/core/gnupg/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 195927 2013-10-05 17:40:59Z bisson $ +# $Id: PKGBUILD 203564 2014-01-13 17:11:40Z andyrtr $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Andreas Radke <andyrtr@archlinux.org> @@ -6,7 +6,7 @@ pkgname=gnupg pkgver=2.0.22 -pkgrel=1 +pkgrel=2 pkgdesc='Complete and free implementation of the OpenPGP standard' url='http://www.gnupg.org/' license=('GPL') diff --git a/core/grep/PKGBUILD b/core/grep/PKGBUILD index caabdfaa2..902c0d0fa 100644 --- a/core/grep/PKGBUILD +++ b/core/grep/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 197799 2013-10-30 10:37:55Z allan $ +# $Id: PKGBUILD 203054 2014-01-03 00:30:46Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgname=grep -pkgver=2.15 +pkgver=2.16 pkgrel=1 pkgdesc="A string search utility" arch=('i686' 'x86_64' 'mips64el') @@ -14,7 +14,7 @@ depends=('glibc' 'pcre' 'sh') makedepends=('texinfo') install=${pkgname}.install source=(ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) -md5sums=('8cab8ca52bcae735af40278423c7c942' +md5sums=('502350a6c8f7c2b12ee58829e760b44d' 'SKIP') build() { diff --git a/core/inetutils/PKGBUILD b/core/inetutils/PKGBUILD index 602334876..58f2a2f56 100644 --- a/core/inetutils/PKGBUILD +++ b/core/inetutils/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 201551 2013-12-14 23:02:04Z eric $ +# $Id: PKGBUILD 204528 2014-01-22 01:54:27Z eric $ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=inetutils -pkgver=1.9.1.341 -pkgrel=2 +pkgver=1.9.2 +pkgrel=1 pkgdesc="A collection of common network programs" arch=('i686' 'x86_64' 'mips64el') url="http://www.gnu.org/software/inetutils/" @@ -16,11 +16,11 @@ backup=('etc/xinetd.d/telnet' 'etc/xinetd.d/talk' 'etc/pam.d/rlogin' 'etc/pam.d/rsh') options=('!emptydirs') install=inetutils.install -source=(ftp://ftp.archlinux.org/other/packages/inetutils/${pkgname}-${pkgver}.tar.xz{,.sig} +source=(http://ftp.gnu.org/gnu/inetutils/${pkgname}-${pkgver}.tar.xz{,.sig} ftpd.service rlogin.pam rlogin@.service rlogin.socket rlogin.xinetd rsh.pam rsh@.service rsh.socket rsh.xinetd talk.service talk.socket talk.xinetd telnet@.service telnet.socket telnet.xinetd) -sha1sums=('eaccc1568c9cc624f6cda3a265fb92ec72c7304d' +sha1sums=('f9fc5c3ba7046d95fdfd0f1c6adf508220082893' 'SKIP' 'aa4730d662398b6c33df2b6fc116ab6b5c3cd120' '387b371cbaa3611b95d30f806c0dd08b621a584a' diff --git a/core/iproute2/PKGBUILD b/core/iproute2/PKGBUILD index 35f426749..845d5aade 100644 --- a/core/iproute2/PKGBUILD +++ b/core/iproute2/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 199763 2013-11-15 21:24:40Z ronald $ +# $Id: PKGBUILD 203666 2014-01-13 18:57:04Z foutrelis $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Judd Vinet <jvinet@zeroflux.org> pkgname=iproute2 -pkgver=3.11.0 +pkgver=3.12.0 pkgrel=1 pkgdesc="IP Routing Utilities" arch=('i686' 'x86_64' 'mips64el') license=('GPL2') url="http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2" -depends=('glibc' 'db' 'iptables') +depends=('glibc' 'iptables') makedepends=('linux-atm') optdepends=('linux-atm: ATM support') groups=('base') @@ -22,7 +22,7 @@ backup=('etc/iproute2/ematch_map' 'etc/iproute2/rt_dsfield' 'etc/iproute2/rt_pro source=(http://www.kernel.org/pub/linux/utils/net/$pkgname/$pkgname-$pkgver.tar.xz iproute2-fhs.patch unwanted-link-help.patch) -sha1sums=('efb5ca0688e28967ec146ac37cc728c4f53c9d8f' +sha1sums=('9397376e5d4dcbb1182745cd58625895fcdb868d' '35b8cf2dc94b73eccad427235c07596146cd6f6c' '3b1335f4025f657f388fbf4e5a740871e3129c2a') diff --git a/core/iptables/0503-extension_cppflags.patch b/core/iptables/0503-extension_cppflags.patch deleted file mode 100644 index 0eb645731..000000000 --- a/core/iptables/0503-extension_cppflags.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: b/extensions/GNUmakefile.in -=================================================================== ---- a/extensions/GNUmakefile.in 2012-03-27 12:14:05.000000000 -0400 -+++ b/extensions/GNUmakefile.in 2012-03-27 16:03:48.378790221 -0400 -@@ -21,7 +21,7 @@ - kinclude_CPPFLAGS = @kinclude_CPPFLAGS@ - - AM_CFLAGS = ${regular_CFLAGS} --AM_CPPFLAGS = ${regular_CPPFLAGS} -I${top_builddir}/include -I${top_builddir} -I${top_srcdir}/include ${kinclude_CPPFLAGS} -+AM_CPPFLAGS = ${CPPFLAGS} ${regular_CPPFLAGS} -I${top_builddir}/include -I${top_builddir} -I${top_srcdir}/include ${kinclude_CPPFLAGS} - AM_DEPFLAGS = -Wp,-MMD,$(@D)/.$(@F).d,-MT,$@ - AM_LDFLAGS = @noundef_LDFLAGS@ - diff --git a/core/iptables/PKGBUILD b/core/iptables/PKGBUILD index 17675f234..c61d2d72d 100644 --- a/core/iptables/PKGBUILD +++ b/core/iptables/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 199764 2013-11-15 21:24:41Z ronald $ +# $Id: PKGBUILD 203667 2014-01-13 18:57:06Z foutrelis $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Contributor: Thomas Baechler <thomas@archlinux.org> pkgname=iptables -pkgver=1.4.20 +pkgver=1.4.21 pkgrel=1 pkgdesc='Linux kernel packet control tool' arch=('i686' 'x86_64' 'mips64el') @@ -20,11 +20,10 @@ source=(http://www.netfilter.org/projects/iptables/files/${pkgname}-${pkgver}.ta empty-nat.rules empty-raw.rules empty-security.rules - 0503-extension_cppflags.patch iptables.service ip6tables.service iptables-flush) -sha1sums=('7219b32657e9f794ff1b5a2476363c59f9c2175c' +sha1sums=('85d4160537546a23a7e42bc26dd7ee62a0ede4c8' 'SKIP' '83b3363878e3660ce23b2ad325b53cbd6c796ecf' 'f085a71f467e4d7cb2cf094d9369b0bcc4bab6ec' @@ -33,18 +32,19 @@ sha1sums=('7219b32657e9f794ff1b5a2476363c59f9c2175c' '1694d79b3e6e9d9d543f6a6e75fed06066c9a6c6' '7db53bb882f62f6c677cc8559cff83d8bae2ef73' 'ebbd1424a1564fd45f455a81c61ce348f0a14c2e' - '44626980a52e49f345a0b1e1ca03060f3a35763c' '9306cba67dbeaa004af084a816f66920a6a10faf' '38fa2ffe7965e63b494d333f69193029c1258c28' 'e7abda09c61142121b6695928d3b71ccd8fdf73a') -build() { +prepare() { cd "${srcdir}/${pkgname}-${pkgver}" # use system one rm include/linux/types.h +} - patch -Np1 -i ${srcdir}/0503-extension_cppflags.patch +build() { + cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr \ --libexecdir=/usr/lib/iptables --sysconfdir=/etc \ diff --git a/core/isl/PKGBUILD b/core/isl/PKGBUILD index 14e023272..3b3d1e11e 100644 --- a/core/isl/PKGBUILD +++ b/core/isl/PKGBUILD @@ -1,16 +1,17 @@ -# $Id: PKGBUILD 201470 2013-12-12 15:38:37Z allan $ +# $Id: PKGBUILD 204392 2014-01-19 00:33:31Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> pkgname=isl -pkgver=0.12.1 -pkgrel=2 +pkgver=0.12.2 +pkgrel=1 pkgdesc="Library for manipulating sets and relations of integer points bounded by linear constraints" arch=('i686' 'x86_64' 'mips64el') url="http://freecode.com/projects/isl" depends=('gmp') license=('MIT') source=(http://isl.gforge.inria.fr/$pkgname-$pkgver.tar.bz2) -md5sums=('27d381085ff1b5733c3e8a9b6ad24a4d') +md5sums=('e039bfcfb6c2ab039b8ee69bf883e824') + build() { cd "$srcdir/$pkgname-$pkgver" @@ -25,10 +26,10 @@ check() { package() { cd "$srcdir/$pkgname-$pkgver" - make -j1 DESTDIR="$pkgdir/" install + make DESTDIR="$pkgdir/" install install -dm755 $pkgdir/usr/share/gdb/auto-load/usr/lib/ - mv $pkgdir/{,/usr/share/gdb/auto-load/}usr/lib/libisl.so.10.2.1-gdb.py + mv $pkgdir/{,/usr/share/gdb/auto-load/}usr/lib/libisl.so.10.2.2-gdb.py install -Dm644 LICENSE $pkgdir/usr/share/licenses/isl/LICENSE } diff --git a/core/iw/PKGBUILD b/core/iw/PKGBUILD index 66ccfb288..9eff5e362 100644 --- a/core/iw/PKGBUILD +++ b/core/iw/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 195909 2013-10-05 07:30:47Z thomas $ +# $Id: PKGBUILD 204472 2014-01-20 18:47:27Z thomas $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=iw -pkgver=3.11 +pkgver=3.13 pkgrel=1 pkgdesc="nl80211 based CLI configuration utility for wireless devices" arch=("i686" "x86_64" 'mips64el') @@ -11,7 +11,7 @@ license=("GPL") depends=("libnl") makedepends=("linux-api-headers") source=(https://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar.xz) -sha256sums=('e90327323821a8219abac56298919076c4bac6636464ca91356f02cfe40530ff') +sha256sums=('70c1c0f5145542b4d04dd52ad637920718515245e3dd3b4dc4c8e3b57b110dc6') build() { cd "$srcdir"/$pkgname-$pkgver diff --git a/core/kmod/PKGBUILD b/core/kmod/PKGBUILD index 2cc64e971..e6aa9ed2b 100644 --- a/core/kmod/PKGBUILD +++ b/core/kmod/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 197816 2013-10-30 11:04:03Z allan $ +# $Id: PKGBUILD 203021 2014-01-01 17:44:12Z dreisner $ # Maintainer: Dave Reisner <dreisner@archlinux.org> pkgname=kmod -pkgver=15 +pkgver=16 pkgrel=1 pkgdesc="Linux kernel module handling" arch=('i686' 'x86_64' 'mips64el') @@ -10,12 +10,13 @@ url='http://git.kernel.org/?p=utils/kernel/kmod/kmod.git;a=summary' license=('GPL2') depends=('glibc' 'zlib') makedepends=('gtk-doc') +options=('strip' 'debug') provides=('module-init-tools=3.16' 'libkmod.so') conflicts=('module-init-tools') replaces=('module-init-tools') source=("ftp://ftp.kernel.org/pub/linux/utils/kernel/$pkgname/$pkgname-$pkgver.tar.xz" "depmod-search.conf") -md5sums=('d03372179ed2cfa0c52b6672cf438901' +md5sums=('3006a0287211212501cdfe1211b29f09' 'dd62cbf62bd8f212f51ef8c43bec9a77') build() { diff --git a/core/krb5/PKGBUILD b/core/krb5/PKGBUILD index a18e8d724..25a0ff30a 100644 --- a/core/krb5/PKGBUILD +++ b/core/krb5/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 199942 2013-11-20 02:11:51Z eric $ +# $Id: PKGBUILD 204797 2014-01-27 13:46:43Z eric $ # Maintainer: Stéphane Gaudreault <stephane@archlinux.org> pkgname=krb5 -pkgver=1.11.4 +pkgver=1.12.1 pkgrel=1 pkgdesc="The Kerberos network authentication system" arch=('i686' 'x86_64' 'mips64el') @@ -19,7 +19,7 @@ source=(http://web.mit.edu/kerberos/dist/${pkgname}/${pkgver%.*}/${pkgname}-${pk krb5-kpropd.service krb5-kpropd@.service krb5-kpropd.socket) -sha1sums=('a432489410efa3ff27ac0ae54f55edeede3ed63f' +sha1sums=('d59e8dc0fc9e1890e109cd033756539984e3d3fe' '09e478cddfb9d46d2981dd25ef96b8c3fd91e1aa' '59bbc7e686cbb4bcefddf0f134d928d7bd5e7722' '2ef2476a8673b3b702e829d8f451c839c2273b02' @@ -28,10 +28,15 @@ sha1sums=('a432489410efa3ff27ac0ae54f55edeede3ed63f' 'f3677d30dbbd7106c581379c2c6ebb1bf7738912') prepare() { - tar -xf ${pkgname}-${pkgver}.tar.gz - cd ${pkgname}-${pkgver}/src - # cf https://bugs.gentoo.org/show_bug.cgi?id=448778 - patch -Np2 -i "${srcdir}"/krb5-config_LDFLAGS.patch + tar -xf ${pkgname}-${pkgver}.tar.gz + # the signature and source are bundled together, so signature check needs to be done here + local statusfile=$(mktemp) + (( SKIPPGPCHECK )) || gpg --quiet --batch --status-file "$statusfile" --verify krb5-${pkgver}.tar.gz.asc krb5-${pkgver}.tar.gz 2> /dev/null + rm "$statusfile" + + cd ${pkgname}-${pkgver}/src + # cf https://bugs.gentoo.org/show_bug.cgi?id=448778 + (cd build-tools; patch -Np2 -i "${srcdir}"/krb5-config_LDFLAGS.patch; cd ..) # FS#25384 sed -i "/KRB5ROOT=/s/\/local//" util/ac_check_krb5.m4 diff --git a/core/ldns/PKGBUILD b/core/ldns/PKGBUILD index 98ac36415..62b22876f 100644 --- a/core/ldns/PKGBUILD +++ b/core/ldns/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 197817 2013-10-30 11:04:09Z allan $ +# $Id: PKGBUILD 205001 2014-02-02 20:56:10Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: mathieui <mathieui@mathieui.net> # Contributor: jiribb <jiribb@gmail.com> pkgname=ldns -pkgver=1.6.16 -pkgrel=1.1 +pkgver=1.6.17 +pkgrel=1 pkgdesc='Fast DNS library supporting recent RFCs' url='http://www.nlnetlabs.nl/projects/ldns/' license=('custom:BSD') @@ -14,7 +14,7 @@ depends=('openssl' 'dnssec-anchors') optdepends=('libpcap: ldns-dpa tool') makedepends=('libpcap') source=("http://www.nlnetlabs.nl/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz") -sha1sums=('5b4fc6c5c3078cd061905c47178478cb1015c62a') +sha1sums=('4218897b3c002aadfc7280b3f40cda829e05c9a4') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -23,7 +23,6 @@ build() { --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ - --enable-static=no \ --disable-rpath \ --with-drill \ --with-examples \ diff --git a/core/libcap/PKGBUILD b/core/libcap/PKGBUILD index 24d2ade35..9c3a0fa0d 100644 --- a/core/libcap/PKGBUILD +++ b/core/libcap/PKGBUILD @@ -1,19 +1,18 @@ -#$Id: PKGBUILD 185557 2013-05-15 05:24:44Z allan $ +#$Id: PKGBUILD 203339 2014-01-08 11:40:25Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: Hugo Doria <hugo@archlinux.org> pkgname=libcap -pkgver=2.22 -pkgrel=5 +pkgver=2.24 +pkgrel=1 pkgdesc="POSIX 1003.1e capabilities" arch=('i686' 'x86_64' 'mips64el') url="http://sites.google.com/site/fullycapable/" license=('GPL2') depends=('glibc' 'attr') options=('!staticlibs') -source=(ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.asc}) -md5sums=('b4896816b626bea445f0b3849bdd4077' - '9d0983e25e5a251d098507f9561d2b27') +source=(https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-${pkgver}.tar.xz) +md5sums=('d43ab9f680435a7fff35b4ace8d45b80') prepare() { cd ${srcdir}/${pkgname}-${pkgver} diff --git a/core/libgcrypt/PKGBUILD b/core/libgcrypt/PKGBUILD index 5028378bf..4a0072ae3 100644 --- a/core/libgcrypt/PKGBUILD +++ b/core/libgcrypt/PKGBUILD @@ -1,8 +1,12 @@ -# $Id: PKGBUILD 197821 2013-10-30 11:04:40Z allan $ +# $Id: PKGBUILD 204931 2014-01-31 15:34:43Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> +# after a .so bump first rebuild dirmngr +# with sudo testing-x86_64-build -- -I libgcrypt-1.6.0-1-x86_64.pkg.tar.xz +# then cp /usr/lib/libgcrypt.so.11 /var/lib/archbuild/staging-x86_64/root/usr/lib/ and do staging-x86_64-build + pkgname=libgcrypt -pkgver=1.5.3 +pkgver=1.6.1 pkgrel=1 pkgdesc="General purpose cryptographic library based on the code from GnuPG" arch=(i686 x86_64 'mips64el') @@ -11,13 +15,15 @@ license=('LGPL') depends=('libgpg-error>=1.10-2') options=('!emptydirs') install=$pkgname.install -source=(ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2 - #ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/libgcrypt/${pkgname}-${pkgver}.tar.bz2 -) -sha1sums=('2c6553cc17f2a1616d512d6870fe95edf6b0e26e') +source=(ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('f03d9b63ac3b17a6972fc11150d136925b702f02') + +#prepare() { +# cd ${pkgname}-${pkgver} +#} build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} ./configure --prefix=/usr \ --disable-static \ --disable-padlock-support @@ -25,11 +31,11 @@ build() { } check() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} make check } package() { - cd ${srcdir}/${pkgname}-${pkgver} + cd ${pkgname}-${pkgver} make DESTDIR=${pkgdir} install } diff --git a/core/libmpc/PKGBUILD b/core/libmpc/PKGBUILD index 535e95513..ac7cbf8e0 100644 --- a/core/libmpc/PKGBUILD +++ b/core/libmpc/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 197164 2013-10-23 13:05:01Z allan $ +# $Id: PKGBUILD 204788 2014-01-27 08:27:19Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> pkgname=libmpc -pkgver=1.0.1 +pkgver=1.0.2 pkgrel=2 pkgdesc="Library for the arithmetic of complex numbers with arbitrarily high precision" arch=('i686' 'x86_64' 'mips64el') @@ -11,8 +11,8 @@ license=('LGPL') depends=('mpfr') install=libmpc.install source=(http://www.multiprecision.org/mpc/download/mpc-${pkgver/_/-}.tar.gz{,.sig}) -md5sums=('b32a2e1a3daa392372fbd586d1ed3679' - 'c064863fbbb5831ba4f75f1181333862') +md5sums=('68fadff3358fb3e7976c7a398a0af4c3' + 'SKIP') build() { cd "${srcdir}/mpc-${pkgver}" diff --git a/core/libpcap/PKGBUILD b/core/libpcap/PKGBUILD index 0e2a133fc..dfc6b9248 100644 --- a/core/libpcap/PKGBUILD +++ b/core/libpcap/PKGBUILD @@ -1,22 +1,25 @@ -# $Id: PKGBUILD 200644 2013-11-30 17:42:00Z thomas $ +# $Id: PKGBUILD 204851 2014-01-29 11:26:56Z andyrtr $ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=libpcap -pkgver=1.5.1 +pkgver=1.5.3 pkgrel=1 pkgdesc="A system-independent interface for user-level packet capture" arch=('i686' 'x86_64' 'mips64el') url="http://www.tcpdump.org/" license=('BSD') depends=('glibc' 'libnl' 'sh' 'libusbx') -makedepends=('flex') +makedepends=('flex' 'bluez-libs') source=(http://www.tcpdump.org/release/libpcap-${pkgver}.tar.gz{,.sig}) -sha256sums=('259db4fe1e9f0b6b9c43a057ec5916dec7d0a821b00d6d6c4dff7db2445fa7e4' +sha256sums=('9ae92159c1060f15e6a90f2c4ad227268b6aaa382c316fa49a31c496b9979e93' 'SKIP') build() { cd ${srcdir}/${pkgname}-${pkgver} - ./configure --prefix=/usr --enable-ipv6 --with-libnl + ./configure --prefix=/usr \ + --enable-ipv6 \ + --enable-bluetooth \ + --with-libnl make } diff --git a/core/libsasl/PKGBUILD b/core/libsasl/PKGBUILD index 3632f77fc..ae2f71f57 100644 --- a/core/libsasl/PKGBUILD +++ b/core/libsasl/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 197827 2013-10-30 11:05:21Z allan $ +# $Id: PKGBUILD 205603 2014-02-09 10:29:30Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> # This package spans multiple repositories. @@ -8,13 +8,13 @@ #pkgname=('cyrus-sasl' 'cyrus-sasl-gssapi' 'cyrus-sasl-ldap' 'cyrus-sasl-sql') pkgname=libsasl pkgver=2.1.26 -pkgrel=6 +pkgrel=7 pkgdesc="Cyrus Simple Authentication Service Layer (SASL) library" arch=('i686' 'x86_64' 'mips64el') url="http://cyrusimap.web.cmu.edu/" license=('custom') options=('!makeflags') -makedepends=('postgresql-libs' 'libmariadbclient' 'libldap' 'krb5' 'openssl' 'sqlite2') +makedepends=('postgresql-libs' 'libmariadbclient' 'libldap' 'krb5' 'openssl' 'sqlite') source=(ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-${pkgver}.tar.gz cyrus-sasl-2.1.22-qa.patch cyrus-sasl-2.1.26-size_t.patch @@ -26,7 +26,8 @@ source=(ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-${pkgver}.tar.gz saslauthd.service saslauthd.conf.d tmpfiles.conf - CVE-2013-4122.patch) + CVE-2013-4122.patch + cyrus-sasl-sql.patch) md5sums=('a7f4e5e559a0e37b3ffc438c9456e425' '79b8a5e8689989e2afd4b7bda595a7b1' 'f45aa8c42b32e0569ab3d14a83485b37' @@ -38,7 +39,8 @@ md5sums=('a7f4e5e559a0e37b3ffc438c9456e425' '3499dcd610ad1ad58e0faffde2aa7a23' '49219af5641150edec288a3fdb65e7c1' '45bb0192d2f188066240b9a66ee6365f' - 'c5f0ec88c584a75c14d7f402eaeed7ef') + 'c5f0ec88c584a75c14d7f402eaeed7ef' + '82c0f66fdc5c1145eb48ea9116c27931') prepare() { cd cyrus-sasl-$pkgver @@ -50,6 +52,7 @@ prepare() { patch -Np1 -i ../0026_drop_krb5support_dependency.patch patch -Np1 -i ../0030-dont_use_la_files_for_opening_plugins.patch patch -Np1 -i ../CVE-2013-4122.patch + patch -Np0 -i ../cyrus-sasl-sql.patch sed 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' -i configure.in } @@ -102,11 +105,15 @@ build() { --enable-ntlm \ --disable-passdss \ --enable-sql \ + --with-mysql \ + --with-pgsql=/usr/lib \ + --with-sqlite3=/usr/lib \ --enable-ldapdb \ --disable-macos-framework \ --with-pam \ --with-saslauthd=/var/run/saslauthd \ --with-ldap \ + --with-dblib=gdbm \ --with-configdir=/etc/sasl2:/etc/sasl:/usr/lib/sasl2 \ --sysconfdir=/etc \ --with-devrandom=/dev/urandom @@ -176,7 +183,7 @@ package_cyrus-sasl-ldap() { package_cyrus-sasl-sql() { pkgdesc="SQL auxprop module for Cyrus SASL" - depends=("libsasl=${pkgver}" 'postgresql-libs' 'libmariadbclient' 'sqlite2') + depends=("libsasl=${pkgver}" 'postgresql-libs' 'libmariadbclient' 'sqlite') replaces=('cyrus-sasl-plugins') cd cyrus-sasl-$pkgver/plugins diff --git a/core/libsasl/cyrus-sasl-sql.patch b/core/libsasl/cyrus-sasl-sql.patch new file mode 100644 index 000000000..2dcdad822 --- /dev/null +++ b/core/libsasl/cyrus-sasl-sql.patch @@ -0,0 +1,39 @@ +--- configure.in 2012-10-12 16:05:48.000000000 +0200 ++++ configure.in 2013-05-11 18:48:59.021848013 +0200 +@@ -861,9 +860,9 @@ + notfound) AC_WARN([SQLite Library not found]); true;; + *) + if test -d ${with_sqlite}/lib; then +- LIB_SQLITE="-L${with_sqlite}/lib -R${with_sqlite}/lib" ++ LIB_SQLITE="-L${with_sqlite}/lib" + else +- LIB_SQLITE="-L${with_sqlite} -R${with_sqlite}" ++ LIB_SQLITE="-L${with_sqlite}" + fi + + LIB_SQLITE_DIR=$LIB_SQLITE +@@ -913,9 +912,9 @@ + notfound) AC_WARN([SQLite3 Library not found]); true;; + *) + if test -d ${with_sqlite3}/lib; then +- LIB_SQLITE3="-L${with_sqlite3}/lib -R${with_sqlite3}/lib" ++ LIB_SQLITE3="-L${with_sqlite3}/lib" + else +- LIB_SQLITE3="-L${with_sqlite3} -R${with_sqlite3}" ++ LIB_SQLITE3="-L${with_sqlite3}" + fi + + LIB_SQLITE3_DIR=$LIB_SQLITE3 +--- configure.in ++++ configure.in +@@ -674,7 +674,9 @@ + LIB_PGSQL_DIR=$LIB_PGSQL + LIB_PGSQL="$LIB_PGSQL -lpq" + +- if test -d ${with_pgsql}/include/pgsql; then ++ if test -d ${with_pgsql}/include/postgresql/pgsql; then ++ CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/include/postgresql/pgsql" ++ elif test -d ${with_pgsql}/include/pgsql; then + CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/include/pgsql" + elif test -d ${with_pgsql}/pgsql/include; then + CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/pgsql/include" diff --git a/core/libusbx/PKGBUILD b/core/libusb/PKGBUILD index 78f874dd4..b5ec8c9a4 100644 --- a/core/libusbx/PKGBUILD +++ b/core/libusb/PKGBUILD @@ -1,7 +1,7 @@ -# $Id: PKGBUILD 197829 2013-10-30 11:05:34Z allan $ +# $Id: PKGBUILD 206056 2014-02-16 12:47:08Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> -pkgname=libusbx -pkgver=1.0.17 +pkgname=libusb +pkgver=1.0.18 pkgrel=1 depends=('glibc' 'systemd') pkgdesc="Library that provides generic access to USB device" @@ -9,9 +9,10 @@ arch=(i686 x86_64 mips64el) url="http://libusbx.org" license=('LGPL') source=(http://downloads.sourceforge.net/${pkgname}/releases/${pkgver}/${pkgname}-${pkgver}.tar.bz2) -replaces=('libusb1' 'libusb') -provides=("libusb=$pkgver") -conflicts=("libusb") +replaces=('libusb1' 'libusbx') +provides=("libusbx=$pkgver") +conflicts=("libusbx") +md5sums=('4a6d049923efc6496f1d383054dac1a6') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -28,4 +29,3 @@ package () { cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="${pkgdir}" install } -md5sums=('99467ca2cb81c19c4a172de9f30e7576') diff --git a/core/lvm2/PKGBUILD b/core/lvm2/PKGBUILD index 5c7031372..c8f4987d0 100644 --- a/core/lvm2/PKGBUILD +++ b/core/lvm2/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 199802 2013-11-16 17:53:26Z thomas $ +# $Id: PKGBUILD 204497 2014-01-21 09:38:00Z thomas $ # Maintainer: Eric Bélanger <eric@archlinux.org> # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgbase=lvm2 pkgname=('lvm2' 'device-mapper') -pkgver=2.02.104 +pkgver=2.02.105 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') url="http://sourceware.org/lvm2/" @@ -22,7 +22,7 @@ source=(ftp://sources.redhat.com/pub/lvm2/LVM2.${pkgver}.tgz{,.asc} lvm-monitoring.service lvmetad.service lvmetad.socket) -sha1sums=('4c296453e10deafe02004fde40075cdb3792eeb2' +sha1sums=('796163e766480cdc427cd443dc1336ae8e8e3bd7' 'SKIP' '76e83966d1bc84f9a1e30bcaff84b8b8fefbca0f' 'ff0fdf0a3005a41acd4b36865056109effc3474b' diff --git a/core/man-db/PKGBUILD b/core/man-db/PKGBUILD index 85387f10a..aeb5a7523 100644 --- a/core/man-db/PKGBUILD +++ b/core/man-db/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 197832 2013-10-30 11:05:56Z allan $ +# $Id: PKGBUILD 204740 2014-01-26 11:28:37Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> # Contributor: Sergej Pupykin <sergej@aur.archlinux.org> pkgname=man-db -pkgver=2.6.5 +pkgver=2.6.6 pkgrel=1 pkgdesc="A utility for reading man pages" arch=('i686' 'x86_64' 'mips64el') @@ -20,7 +20,7 @@ replaces=('man') install=${pkgname}.install source=(http://savannah.nongnu.org/download/man-db/$pkgname-$pkgver.tar.xz{,.sig} convert-mans man-db.cron.daily) -md5sums=('36f59d9314b45a266ba350584b4d7cc1' +md5sums=('5d65d66191080c144437a6c854e17868' 'SKIP' '2b7662a7d5b33fe91f9f3e034361a2f6' '934fd047fecb915038bf4bf844ea609c') @@ -40,7 +40,7 @@ build() { check() { cd ${srcdir}/${pkgname}-${pkgver} - make -k check + make check } package() { diff --git a/core/nfs-utils/PKGBUILD b/core/nfs-utils/PKGBUILD index 8f1f2c7ab..5ab139634 100644 --- a/core/nfs-utils/PKGBUILD +++ b/core/nfs-utils/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 200306 2013-11-25 08:16:32Z tpowa $ +# $Id: PKGBUILD 203559 2014-01-13 16:35:26Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Contributor: John Proctor <jproctor@prium.net> # Contributor: dibblethewrecker <dibblethewrecker.at.jiwe.org> @@ -7,7 +7,7 @@ pkgname=nfs-utils pkgver=1.2.9 -pkgrel=1 +pkgrel=5 pkgdesc="Support programs for Network File Systems" arch=('i686' 'x86_64' 'mips64el') url='http://nfs.sourceforge.net' @@ -20,7 +20,6 @@ source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgn nfs-server.conf exports idmapd.conf - nfs nfs-utils-1.1.4-mtab-sym.patch nfs-utils-1.1.4-no-exec.patch rpc-gssd.service @@ -31,32 +30,34 @@ source=(http://downloads.sourceforge.net/project/nfs/${pkgname}/${pkgver}/${pkgn nfsd.service var-lib-nfs-rpc_pipefs.mount proc-fs-nfsd.mount + nfs-client.target + nfs-server.target blkmapd.service nfs-utils.conf id_resolver.conf start-statd.patch) install=nfs-utils.install optdepends=('sqlite: for nfsdcltrack usage') - md5sums=('18869d16db3f49c053f8c68eba3fe2e0' 'f73f197a16b02c3e248488ec35c4cf43' '9cef69bc686cc5dcac23fbb51450747d' - 'ff585faf410a62c4333a027c50b56bae' + 'e6ad3c7a59c7e4c24965a0e7da35026c' 'eb4f4027fab6fc1201f1ca04f5954c76' - 'f5e7bba09a46c5c5d7007cac6eff9df5' '7674106eaaa4c149bccd4f05fe3604e9' '4f4827dfc93008dfadd0a530ad0872b2' - '6aeb4a80b2a5162f5951438474ea22f3' - 'ff95ad9275ef774e0a2ea8adfe55ee66' - '2e991f0e440b4809e22b6c7689544fc0' - '42d0088add3beab0284be1379391382b' - '60d82e2d2d19d21ceb72665e54bf913e' - '3bcc9901478f4f9ea0a03b67171c13e3' - '1cd65909fa0983047f3f06a3ab352401' - '8f1b5282795895c9b8ce8430d20cdda6' - '8f03e708b230619ffc2a799a48bffb53' + 'b9329c9d4a6b4a72ab2a04aac9229171' + '656ac433c4443eba6b47744a53a3c7d9' + '295ec0c9c049e146992561650fec9d52' + '6ff4f297df4e90440b8bdbc6b1a78480' + '20d5b8120d1049b27dd44dc4c57f667d' + '01a1dd533382630ccecc9b882c47aa2f' + 'f48da2fb07b1d5f016d63c16b0979ebb' + '972eb80ff8c94c647b977a8a3cdd985f' + 'a13e9f388cd939d68fa6ada205eb4e25' + '1ee3eea917131f04bb08f2f858be7724' + 'f513ab0eae74918df08f329b0c6a9b6f' '8ac484023d786766d287ccbe878ae4ba' - 'bed57f7c3911af695ec7b469248c104a' + 'a43aabf0b8d02406b1babc3a206d952a' 'f8bb29c2ca1ce178e6371091a3e1090d') prepare() { @@ -83,29 +84,22 @@ build() { package() { cd $srcdir/${pkgname}-${pkgver} - # fix make install - make DESTDIR=$pkgdir install - # support python2 (FS#25120) + make DESTDIR="$pkgdir" install sed -i '1s/python$/python2/' "$pkgdir"/usr/bin/{nfsiostat,mountstats} + install -D -m 644 utils/mount/nfsmount.conf "$pkgdir"/etc/nfsmount.conf - # Configuration - install -D -m 644 ../exports "$pkgdir/"etc/exports - install -D -m 644 ../idmapd.conf "$pkgdir/"etc/idmapd.conf - install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf - install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf - install -D -m 644 ../nfs "$pkgdir/"etc/conf.d/nfs - install -D -m 644 utils/mount/nfsmount.conf "$pkgdir/"etc/nfsmount.conf - # keyutils id_resolver #35463 - install -D -m 644 ../id_resolver.conf "$pkgdir/"etc/request-key.d/id_resolver.conf - # systemd files - for i in ${srcdir}/*.{service,mount}; do - install -D -m 644 $i "$pkgdir/usr/lib/systemd/system/${i##*/}" + cd .. + install -D -m 644 nfs-common.conf "$pkgdir"/etc/conf.d/nfs-common.conf + install -D -m 644 nfs-server.conf "$pkgdir"/etc/conf.d/nfs-server.conf + install -D -m 644 exports "$pkgdir"/etc/exports + install -D -m 644 idmapd.conf "$pkgdir"/etc/idmapd.conf + install -D -m 644 id_resolver.conf "$pkgdir"/etc/request-key.d/id_resolver.conf + install -D -m 644 nfs-utils.conf "$pkgdir"/usr/lib/modules-load.d/nfs-utils.conf + for i in *.service *.mount *.target; do + install -D -m 644 $i "$pkgdir"/usr/lib/systemd/system/$i done - install -D -m 644 ../nfs-utils.conf "$pkgdir/"usr/lib/modules-load.d/nfs-utils.conf - # directories - mkdir "$pkgdir/"etc/exports.d - mkdir -m 555 "$pkgdir/"var/lib/nfs/rpc_pipefs - mkdir "$pkgdir/"var/lib/nfs/v4recovery + mkdir "$pkgdir"/etc/exports.d + mkdir -m 555 "$pkgdir"/var/lib/nfs/rpc_pipefs + mkdir "$pkgdir"/var/lib/nfs/v4recovery } - diff --git a/core/nfs-utils/blkmapd.service b/core/nfs-utils/blkmapd.service index fa7ce394b..04711d09c 100644 --- a/core/nfs-utils/blkmapd.service +++ b/core/nfs-utils/blkmapd.service @@ -1,5 +1,6 @@ [Unit] -Description=pNFS block layout mapping daemon +Description=pNFS Block Layout Client Mapping Daemon +Documentation=man:blkmapd(8) After=var-lib-nfs-rpc_pipefs.mount nfsd.service Requires=var-lib-nfs-rpc_pipefs.mount diff --git a/core/nfs-utils/exports b/core/nfs-utils/exports index 8f4aac598..59dfa2e7c 100644 --- a/core/nfs-utils/exports +++ b/core/nfs-utils/exports @@ -1,15 +1,12 @@ -# /etc/exports -# -# List of directories exported to NFS clients. See exports(5). -# Use exportfs -arv to reread. +# /etc/exports - exports(5) - directories exported to NFS clients # # Example for NFSv2 and NFSv3: -# /srv/home hostname1(rw,sync) hostname2(ro,sync) -# +# /srv/home hostname1(rw,sync) hostname2(ro,sync) # Example for NFSv4: -# /srv/nfs4 hostname1(rw,sync,fsid=0) +# /srv/nfs4 hostname1(rw,sync,fsid=0) # /srv/nfs4/home hostname1(rw,sync,nohide) # Using Kerberos and integrity checking: -# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt) -# /srv/nfs4/home gss/krb5i(rw,sync,nohide) +# /srv/nfs4 *(rw,sync,sec=krb5i,fsid=0) +# /srv/nfs4/home *(rw,sync,sec=krb5i,nohide) # +# Use `exportfs -arv` to reload. diff --git a/core/nfs-utils/id_resolver.conf b/core/nfs-utils/id_resolver.conf index 9c0fee337..92f78281f 100644 --- a/core/nfs-utils/id_resolver.conf +++ b/core/nfs-utils/id_resolver.conf @@ -1 +1,2 @@ -create id_resolver * * /usr/bin/nfsidmap %k %d
\ No newline at end of file +create id_resolver * * /usr/bin/nfsidmap %k %d + diff --git a/core/nfs-utils/nfs b/core/nfs-utils/nfs deleted file mode 100644 index 2d33cf3d4..000000000 --- a/core/nfs-utils/nfs +++ /dev/null @@ -1,40 +0,0 @@ -# -# Optinal options passed to rquotad -RPCRQUOTADOPTS="" -# -# Optional arguments passed to in-kernel lockd -#LOCKDARG= -# TCP port rpc.lockd should listen on. -#LOCKD_TCPPORT=32803 -# UDP port rpc.lockd should listen on. -#LOCKD_UDPPORT=32769 -# -# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8) -RPCNFSDARGS="" -# Number of nfs server processes to be started. -# The default is 8. -RPCNFSDCOUNT=8 -# Set V4 grace period in seconds -#NFSD_V4_GRACE=90 -# -# Optional arguments passed to rpc.mountd. See rpc.mountd(8) -RPCMOUNTDOPTS="" -# -# Optional arguments passed to rpc.statd. See rpc.statd(8) -STATDARG="" -# -# Optional arguments passed to rpc.idmapd. See rpc.idmapd(8) -RPCIDMAPDARGS="" -# -# Optional arguments passed to rpc.gssd. See rpc.gssd(8) -RPCGSSDARGS="" -# -# Optional arguments passed to rpc.svcgssd. See rpc.svcgssd(8) -RPCSVCGSSDARGS="" -# -# To enable RDMA support on the server by setting this to -# the port the server should listen on -#RDMA_PORT=20049 -# -# Optional arguments passed to blkmapd. See blkmapd(8) -BLKMAPDARGS="" diff --git a/core/nfs-utils/nfs-client.target b/core/nfs-utils/nfs-client.target new file mode 100644 index 000000000..1bec662ab --- /dev/null +++ b/core/nfs-utils/nfs-client.target @@ -0,0 +1,8 @@ +[Unit] +Description=NFS Client Daemons +Before=remote-fs-pre.target +Wants=rpc-statd.service +Wants=rpc-gssd.service + +[Install] +WantedBy=multi-user.target diff --git a/core/nfs-utils/nfs-server.target b/core/nfs-utils/nfs-server.target new file mode 100644 index 000000000..52f0f04a4 --- /dev/null +++ b/core/nfs-utils/nfs-server.target @@ -0,0 +1,10 @@ +[Unit] +Description=NFS File Server Daemons +Wants=rpc-mountd.service +Wants=rpc-idmapd.service +Wants=rpc-rquotad.service +Wants=rpc-statd.service +Wants=rpc-svcgssd.service + +[Install] +WantedBy=multi-user.target diff --git a/core/nfs-utils/nfsd.service b/core/nfs-utils/nfsd.service index d63e49016..83db80657 100644 --- a/core/nfs-utils/nfsd.service +++ b/core/nfs-utils/nfsd.service @@ -1,13 +1,17 @@ [Unit] -Description=NFS server +Description=NFS Server Daemon +Documentation=man:rpc.nfsd(8) After=rpcbind.service Requires=rpcbind.service +Before=nfs-server.target +PartOf=nfs-server.target [Service] Type=oneshot EnvironmentFile=/etc/conf.d/nfs-server.conf ExecStart=/usr/bin/rpc.nfsd $NFSD_OPTS $NFSD_COUNT ExecStartPost=/usr/bin/exportfs -a +ExecReload=/usr/bin/exportfs -a -r ExecStop=/usr/bin/rpc.nfsd 0 ExecStopPost=/usr/bin/exportfs -a -u RemainAfterExit=yes diff --git a/core/nfs-utils/proc-fs-nfsd.mount b/core/nfs-utils/proc-fs-nfsd.mount index e5ee6fbf6..26b58b968 100644 --- a/core/nfs-utils/proc-fs-nfsd.mount +++ b/core/nfs-utils/proc-fs-nfsd.mount @@ -1,5 +1,5 @@ [Unit] -Description=RPC Pipe File System +Description=NFS Configuration File System DefaultDependencies=no [Mount] diff --git a/core/nfs-utils/rpc-gssd.service b/core/nfs-utils/rpc-gssd.service index 182d9b72c..8674fb2e5 100644 --- a/core/nfs-utils/rpc-gssd.service +++ b/core/nfs-utils/rpc-gssd.service @@ -1,8 +1,10 @@ [Unit] -Description=RPC GSS-API client-side daemon +Description=RPC GSS-API Client Daemon +Documentation=man:rpc.gssd(8) After=rpcbind.service var-lib-nfs-rpc_pipefs.mount Requires=rpcbind.service var-lib-nfs-rpc_pipefs.mount -Before=remote-fs-pre.target +Before=nfs-client.target remote-fs-pre.target +PartOf=nfs-client.target [Service] Type=forking diff --git a/core/nfs-utils/rpc-idmapd.service b/core/nfs-utils/rpc-idmapd.service index 1167daf36..609cde6ed 100644 --- a/core/nfs-utils/rpc-idmapd.service +++ b/core/nfs-utils/rpc-idmapd.service @@ -1,8 +1,10 @@ [Unit] -Description=NFSv4 ID-name mapping daemon +Description=NFS v4 ID-Name Mapping Daemon +Documentation=man:rpc.idmapd(8) man:idmapd.conf(5) After=var-lib-nfs-rpc_pipefs.mount nfsd.service Requires=var-lib-nfs-rpc_pipefs.mount -Before=remote-fs-pre.target +Before=nfs-server.target +PartOf=nfs-server.target [Service] Type=forking diff --git a/core/nfs-utils/rpc-mountd.service b/core/nfs-utils/rpc-mountd.service index 7528884c2..2969ee6b0 100644 --- a/core/nfs-utils/rpc-mountd.service +++ b/core/nfs-utils/rpc-mountd.service @@ -1,7 +1,10 @@ [Unit] -Description=NFS Mount Daemon +Description=NFS Mount Server Daemon +Documentation=man:rpc.mountd(8) After=rpcbind.service nfsd.service Requires=rpcbind.service nfsd.service +Before=nfs-server.target +PartOf=nfs-server.target [Service] Type=forking diff --git a/core/nfs-utils/rpc-statd.service b/core/nfs-utils/rpc-statd.service index c2fd63b3d..c5a1c359a 100644 --- a/core/nfs-utils/rpc-statd.service +++ b/core/nfs-utils/rpc-statd.service @@ -1,8 +1,11 @@ [Unit] -Description=NFSv2/3 Network Status Monitor Daemon +Description=NFS v2/3 Network Status Monitor Daemon +Documentation=man:rpc.statd(8) After=rpcbind.service Requires=rpcbind.service -Before=remote-fs-pre.target +Before=nfs-server.target +PartOf=nfs-server.target +Wants=remote-fs-pre.target [Service] Type=forking diff --git a/core/nfs-utils/rpc-svcgssd.service b/core/nfs-utils/rpc-svcgssd.service index 876bad38c..f52f26aec 100644 --- a/core/nfs-utils/rpc-svcgssd.service +++ b/core/nfs-utils/rpc-svcgssd.service @@ -1,7 +1,10 @@ [Unit] -Description=RPC GSS-API server-side daemon +Description=RPC GSS-API Server Daemon +Documentation=man:rpc.svcgssd(8) After=rpcbind.service Requires=rpcbind.service +Before=nfs-server.target +PartOf=nfs-server.target [Service] Type=forking diff --git a/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount b/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount index 4bd440f24..c41665822 100644 --- a/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount +++ b/core/nfs-utils/var-lib-nfs-rpc_pipefs.mount @@ -1,5 +1,5 @@ [Unit] -Description=RPC pipe filesystem +Description=RPC Pipe File System [Mount] What=rpc_pipefs diff --git a/core/nilfs-utils/PKGBUILD b/core/nilfs-utils/PKGBUILD index 7829ccb7a..122d2c5ce 100644 --- a/core/nilfs-utils/PKGBUILD +++ b/core/nilfs-utils/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 197802 2013-10-30 10:38:00Z allan $ +# $Id: PKGBUILD 206066 2014-02-16 17:07:26Z dan $ # Maintainer: Dan McGee <dan@archlinux.org> # Contributor: Geoffroy Carrier <geoffroy.carrier@koon.fr> pkgname=nilfs-utils -pkgver=2.1.5 -pkgrel=3 +pkgver=2.1.6 +pkgrel=1 pkgdesc="A log-structured file system supporting continuous snapshotting (userspace utils)" arch=('i686' 'x86_64' 'mips64el') url="http://www.nilfs.org/" @@ -12,11 +12,11 @@ license=('GPL2' 'LGPL2.1') backup=('etc/nilfs_cleanerd.conf') depends=('util-linux') source=(http://www.nilfs.org/download/$pkgname-$pkgver.tar.bz2) -md5sums=('f072cc53c288492061b3199d63e32177') +md5sums=('3d8166ba2346b61ac8dd83a64e92ae0f') build() { cd $pkgname-$pkgver - ./configure --sbindir=/usr/bin --enable-libmount + ./configure --sbindir=/usr/bin --with-libmount make } diff --git a/core/openldap/PKGBUILD b/core/openldap/PKGBUILD index d3e96081f..e87362833 100644 --- a/core/openldap/PKGBUILD +++ b/core/openldap/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 200710 2013-12-02 22:13:10Z eric $ +# $Id: PKGBUILD 205013 2014-02-02 21:19:24Z eric $ # Maintainer: pkgbase=openldap pkgname=('libldap' 'openldap') -pkgver=2.4.38 +pkgver=2.4.39 pkgrel=1 arch=('i686' 'x86_64' 'mips64el') url="http://www.openldap.org/" @@ -11,7 +11,7 @@ license=('custom') makedepends=('libltdl' 'libsasl' 'e2fsprogs' 'util-linux' 'chrpath') source=(ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${pkgbase}-${pkgver}.tgz slapd.service slapd.tmpfiles openldap-ntlm.patch) -sha1sums=('b15132075661761dca822270cdbeddc3c49a6193' +sha1sums=('2b8e8401214867c361f7212e7058f95118b5bd6c' '2441815efbfa01ad7a1d39068e5503b53d1d04b0' '59241a813d7508294e4ef1cec3bfe1f5495e109d' 'e4afd9f1c810ef4c4cd8fe1101dfe5887f2b7eef') diff --git a/core/openldap/openldap.install b/core/openldap/openldap.install index cf3cb9f25..a34ca1a10 100644 --- a/core/openldap/openldap.install +++ b/core/openldap/openldap.install @@ -1,4 +1,5 @@ post_install(){ + systemd-tmpfiles --create slapd.conf groupadd -g 439 ldap &>/dev/null useradd -u 439 -g ldap -d /var/lib/openldap -s /bin/false ldap &>/dev/null chown -R ldap:ldap var/lib/openldap &>/dev/null diff --git a/core/openssh/PKGBUILD b/core/openssh/PKGBUILD index 7749fca8a..f3ca270fd 100644 --- a/core/openssh/PKGBUILD +++ b/core/openssh/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 199078 2013-11-08 16:53:32Z bisson $ +# $Id: PKGBUILD 205496 2014-02-06 05:24:35Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Aaron Griffin <aaron@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgname=openssh -pkgver=6.4p1 -pkgrel=1 +pkgver=6.5p1 +pkgrel=2 pkgdesc='Free version of the SSH connectivity tools' url='http://www.openssh.org/portable.html' license=('custom:BSD') @@ -14,14 +14,16 @@ makedepends=('linux-headers') depends=('krb5' 'openssl' 'libedit' 'ldns') optdepends=('xorg-xauth: X11 forwarding' 'x11-ssh-askpass: input passphrase in X') -source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz" +source=("ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/${pkgname}-${pkgver}.tar.gz"{,.asc} + 'lowercase.patch' 'sshdgenkeys.service' 'sshd@.service' 'sshd.service' 'sshd.socket' 'sshd.pam') -sha1sums=('cf5fe0eb118d7e4f9296fbc5d6884965885fc55d' - '6df5be396f8c593bb511a249a1453294d18a01a6' +sha1sums=('3363a72b4fee91b29cf2024ff633c17f6cd2f86d' 'SKIP' + '3163a71cbaeac39d0783ad4c501fd0630d6c0c22' + 'cc1ceec606c98c7407e7ac21ade23aed81e31405' '6a0ff3305692cf83aca96e10f3bb51e1c26fccda' 'ec49c6beba923e201505f5669cea48cad29014db' 'e12fa910b26a5634e5a6ac39ce1399a132cf6796' @@ -31,6 +33,11 @@ backup=('etc/ssh/ssh_config' 'etc/ssh/sshd_config' 'etc/pam.d/sshd') install=install +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i ../lowercase.patch +} + build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -56,9 +63,10 @@ build() { check() { cd "${srcdir}/${pkgname}-${pkgver}" - make tests || - grep $USER /etc/passwd | grep -q /bin/false - # connect.sh fails when run with stupid login shell + make tests || true + # hard to suitably test connectivity: + # - fails with /bin/false as login shell + # - fails with firewall activated, etc. } package() { diff --git a/core/openssh/lowercase.patch b/core/openssh/lowercase.patch new file mode 100644 index 000000000..50b9e6e7d --- /dev/null +++ b/core/openssh/lowercase.patch @@ -0,0 +1,32 @@ +From d56b44d2dfa093883a5c4e91be3f72d99946b170 Mon Sep 17 00:00:00 2001 +From: Damien Miller <djm@mindrot.org> +Date: Tue, 04 Feb 2014 00:26:04 +0000 +Subject: - djm@cvs.openbsd.org 2014/02/04 00:24:29 + + [ssh.c] + delay lowercasing of hostname until right before hostname + canonicalisation to unbreak case-sensitive matching of ssh_config; + reported by Ike Devolder; ok markus@ +--- +diff --git a/ssh.c b/ssh.c +index ec95733..add760c 100644 +--- a/ssh.c ++++ b/ssh.c +@@ -780,7 +780,6 @@ main(int ac, char **av) + if (!host) + usage(); + +- lowercase(host); + host_arg = xstrdup(host); + + OpenSSL_add_all_algorithms(); +@@ -914,6 +913,7 @@ main(int ac, char **av) + } + + /* If canonicalization requested then try to apply it */ ++ lowercase(host); + if (options.canonicalize_hostname != SSH_CANONICALISE_NO) + addrs = resolve_canonicalize(&host, options.port); + /* +-- +cgit v0.9.2 diff --git a/core/openssh/sshdgenkeys.service b/core/openssh/sshdgenkeys.service index 8c27d7110..1d01b7acf 100644 --- a/core/openssh/sshdgenkeys.service +++ b/core/openssh/sshdgenkeys.service @@ -2,12 +2,14 @@ Description=SSH Key Generation ConditionPathExists=|!/etc/ssh/ssh_host_key ConditionPathExists=|!/etc/ssh/ssh_host_key.pub -ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key -ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key.pub -ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key -ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key.pub ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key.pub +ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key +ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key.pub +ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key +ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key.pub +ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key +ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key.pub [Service] ExecStart=/usr/bin/ssh-keygen -A diff --git a/core/openssl/PKGBUILD b/core/openssl/PKGBUILD index b5a2f6e9c..5a16e550f 100644 --- a/core/openssl/PKGBUILD +++ b/core/openssl/PKGBUILD @@ -1,12 +1,12 @@ -# $Id: PKGBUILD 199034 2013-11-07 14:18:31Z pierre $ +# $Id: PKGBUILD 203278 2014-01-07 10:02:52Z pierre $ # Maintainer: Pierre Schmitz <pierre@archlinux.de> pkgname=openssl -_ver=1.0.1e +_ver=1.0.1f # use a pacman compatible version scheme pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}} #pkgver=$_ver -pkgrel=5 +pkgrel=1 pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security' arch=('i686' 'x86_64' 'mips64el') url='https://www.openssl.org' @@ -19,16 +19,12 @@ source=("https://www.openssl.org/source/${pkgname}-${_ver}.tar.gz" "https://www.openssl.org/source/${pkgname}-${_ver}.tar.gz.asc" 'no-rpath.patch' 'ca-dir.patch' - 'openssl-1.0.1e-fix_pod_syntax-1.patch' - 'openssl-1.0.1-Check-DTLS_BAD_VER-for-version-number.patch' - 'openssl-1.0.1-e_aes_cbc_hmac_sha1.c-fix-rare-bad-record-mac-on-AES.patch') -md5sums=('66bf6f10f060d561929de96f9dfe5b8c' + 'openssl-1.0.1f-perl-5.18.patch') +md5sums=('f26b09c028a0541cab33da697d522b25' 'SKIP' 'dc78d3d06baffc16217519242ce92478' '3bf51be3a1bbd262be46dc619f92aa90' - '88d3bef4bbdc640b0412315d8d347bdf' - 'ae7848bb152b8834ceff30c8c480d422' - 'c5cc62a47cef72f4e5ad119a88e97ae4') + 'ea2a61c8bd43788d81d98f1ac36c98ac') prepare() { cd $srcdir/$pkgname-$_ver @@ -38,13 +34,7 @@ prepare() { # set ca dir to /etc/ssl by default patch -p0 -i $srcdir/ca-dir.patch - patch -p1 -i $srcdir/openssl-1.0.1e-fix_pod_syntax-1.patch - # OpenSSL 1.0.0k, 1.0.1.d, 1.0.1e fail handshake with DTLS1_BAD_VER - # http://rt.openssl.org/Ticket/Display.html?id=2984 - patch -p1 -i $srcdir/openssl-1.0.1-Check-DTLS_BAD_VER-for-version-number.patch - # Communication problems with 1.0.1e - # http://rt.openssl.org/Ticket/Display.html?id=3002 - patch -p1 -i $srcdir/openssl-1.0.1-e_aes_cbc_hmac_sha1.c-fix-rare-bad-record-mac-on-AES.patch + patch -p1 -i $srcdir/openssl-1.0.1f-perl-5.18.patch } build() { diff --git a/core/openssl/openssl-1.0.1-Check-DTLS_BAD_VER-for-version-number.patch b/core/openssl/openssl-1.0.1-Check-DTLS_BAD_VER-for-version-number.patch deleted file mode 100644 index 5a88220c3..000000000 --- a/core/openssl/openssl-1.0.1-Check-DTLS_BAD_VER-for-version-number.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 9fe4603b8245425a4c46986ed000fca054231253 Mon Sep 17 00:00:00 2001 -From: David Woodhouse <dwmw2@infradead.org> -Date: Tue, 12 Feb 2013 14:55:32 +0000 -Subject: Check DTLS_BAD_VER for version number. - -The version check for DTLS1_VERSION was redundant as -DTLS1_VERSION > TLS1_1_VERSION, however we do need to -check for DTLS1_BAD_VER for compatibility. - -PR:2984 -(cherry picked from commit d980abb22e22661e98e5cee33d760ab0c7584ecc) ---- - ssl/s3_cbc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ssl/s3_cbc.c b/ssl/s3_cbc.c -index 02edf3f..443a31e 100644 ---- a/ssl/s3_cbc.c -+++ b/ssl/s3_cbc.c -@@ -148,7 +148,7 @@ int tls1_cbc_remove_padding(const SSL* s, - unsigned padding_length, good, to_check, i; - const unsigned overhead = 1 /* padding length byte */ + mac_size; - /* Check if version requires explicit IV */ -- if (s->version >= TLS1_1_VERSION || s->version == DTLS1_VERSION) -+ if (s->version >= TLS1_1_VERSION || s->version == DTLS1_BAD_VER) - { - /* These lengths are all public so we can test them in - * non-constant time. --- -1.8.4.2 - diff --git a/core/openssl/openssl-1.0.1-e_aes_cbc_hmac_sha1.c-fix-rare-bad-record-mac-on-AES.patch b/core/openssl/openssl-1.0.1-e_aes_cbc_hmac_sha1.c-fix-rare-bad-record-mac-on-AES.patch deleted file mode 100644 index f1a251227..000000000 --- a/core/openssl/openssl-1.0.1-e_aes_cbc_hmac_sha1.c-fix-rare-bad-record-mac-on-AES.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9ab3ce124616cb12bd39c6aa1e1bde0f46969b29 Mon Sep 17 00:00:00 2001 -From: Andy Polyakov <appro@openssl.org> -Date: Mon, 18 Mar 2013 19:29:41 +0100 -Subject: e_aes_cbc_hmac_sha1.c: fix rare bad record mac on AES-NI plaforms. - -PR: 3002 -(cherry picked from commit 5c60046553716fcf160718f59160493194f212dc) ---- - crypto/evp/e_aes_cbc_hmac_sha1.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/crypto/evp/e_aes_cbc_hmac_sha1.c b/crypto/evp/e_aes_cbc_hmac_sha1.c -index 483e04b..fb2c884 100644 ---- a/crypto/evp/e_aes_cbc_hmac_sha1.c -+++ b/crypto/evp/e_aes_cbc_hmac_sha1.c -@@ -328,10 +328,11 @@ static int aesni_cbc_hmac_sha1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, - - if (res!=SHA_CBLOCK) continue; - -- mask = 0-((inp_len+8-j)>>(sizeof(j)*8-1)); -+ /* j is not incremented yet */ -+ mask = 0-((inp_len+7-j)>>(sizeof(j)*8-1)); - data->u[SHA_LBLOCK-1] |= bitlen&mask; - sha1_block_data_order(&key->md,data,1); -- mask &= 0-((j-inp_len-73)>>(sizeof(j)*8-1)); -+ mask &= 0-((j-inp_len-72)>>(sizeof(j)*8-1)); - pmac->u[0] |= key->md.h0 & mask; - pmac->u[1] |= key->md.h1 & mask; - pmac->u[2] |= key->md.h2 & mask; --- -1.8.4.2 - diff --git a/core/openssl/openssl-1.0.1e-fix_pod_syntax-1.patch b/core/openssl/openssl-1.0.1e-fix_pod_syntax-1.patch deleted file mode 100644 index ba25afec3..000000000 --- a/core/openssl/openssl-1.0.1e-fix_pod_syntax-1.patch +++ /dev/null @@ -1,393 +0,0 @@ -Submitted By: Martin Ward <macros_the_black at ntlworld dot com> -Date: 2013-06-18 -Initial Package Version: 1.0.1e -Upstream Status: Unknown -Origin: self, based on fedora -Description: Fixes install with perl-5.18. - -diff -Naur openssl-1.0.1e.orig/doc/apps/cms.pod openssl-1.0.1e/doc/apps/cms.pod ---- openssl-1.0.1e.orig/doc/apps/cms.pod 2013-06-06 14:35:15.867871879 +0100 -+++ openssl-1.0.1e/doc/apps/cms.pod 2013-06-06 14:35:25.791747119 +0100 -@@ -450,28 +450,28 @@ - - =over 4 - --=item 0 -+=item C<0> - - the operation was completely successfully. - --=item 1 -+=item C<1> - - an error occurred parsing the command options. - --=item 2 -+=item C<2> - - one of the input files could not be read. - --=item 3 -+=item C<3> - - an error occurred creating the CMS file or when reading the MIME - message. - --=item 4 -+=item C<4> - - an error occurred decrypting or verifying the message. - --=item 5 -+=item C<5> - - the message was verified correctly but an error occurred writing out - the signers certificates. -diff -Naur openssl-1.0.1e.orig/doc/apps/smime.pod openssl-1.0.1e/doc/apps/smime.pod ---- openssl-1.0.1e.orig/doc/apps/smime.pod 2013-06-06 14:35:15.867871879 +0100 -+++ openssl-1.0.1e/doc/apps/smime.pod 2013-06-06 14:35:25.794747082 +0100 -@@ -308,28 +308,28 @@ - - =over 4 - --=item 0 -+=item C<0> - - the operation was completely successfully. - --=item 1 -+=item C<1> - - an error occurred parsing the command options. - --=item 2 -+=item C<2> - - one of the input files could not be read. - --=item 3 -+=item C<3> - - an error occurred creating the PKCS#7 file or when reading the MIME - message. - --=item 4 -+=item C<4> - - an error occurred decrypting or verifying the message. - --=item 5 -+=item C<5> - - the message was verified correctly but an error occurred writing out - the signers certificates. -diff -Naur openssl-1.0.1e.orig/doc/crypto/X509_STORE_CTX_get_error.pod openssl-1.0.1e/doc/crypto/X509_STORE_CTX_get_error.pod ---- openssl-1.0.1e.orig/doc/crypto/X509_STORE_CTX_get_error.pod 2013-06-06 14:35:15.874871791 +0100 -+++ openssl-1.0.1e/doc/crypto/X509_STORE_CTX_get_error.pod 2013-06-06 14:37:13.826388940 +0100 -@@ -278,6 +278,8 @@ - an application specific error. This will never be returned unless explicitly - set by an application. - -+=back -+ - =head1 NOTES - - The above functions should be used instead of directly referencing the fields -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_accept.pod openssl-1.0.1e/doc/ssl/SSL_accept.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_accept.pod 2013-06-06 14:35:15.871871829 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_accept.pod 2013-06-06 14:35:25.796747057 +0100 -@@ -44,12 +44,12 @@ - - =over 4 - --=item 1 -+=item C<1> - - The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been - established. - --=item 0 -+=item C<0> - - The TLS/SSL handshake was not successful but was shut down controlled and - by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_clear.pod openssl-1.0.1e/doc/ssl/SSL_clear.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_clear.pod 2013-06-06 14:35:15.871871829 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_clear.pod 2013-06-06 14:35:25.803746969 +0100 -@@ -56,12 +56,12 @@ - - =over 4 - --=item 0 -+=item C<0> - - The SSL_clear() operation could not be performed. Check the error stack to - find out the reason. - --=item 1 -+=item C<1> - - The SSL_clear() operation was successful. - -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_COMP_add_compression_method.pod openssl-1.0.1e/doc/ssl/SSL_COMP_add_compression_method.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_COMP_add_compression_method.pod 2013-06-06 14:35:15.870871842 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_COMP_add_compression_method.pod 2013-06-06 14:35:25.806746931 +0100 -@@ -53,11 +53,11 @@ - - =over 4 - --=item 0 -+=item C<0> - - The operation succeeded. - --=item 1 -+=item C<1> - - The operation failed. Check the error queue to find out the reason. - -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_connect.pod openssl-1.0.1e/doc/ssl/SSL_connect.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_connect.pod 2013-06-06 14:35:15.869871854 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_connect.pod 2013-06-06 14:35:25.808746906 +0100 -@@ -41,12 +41,12 @@ - - =over 4 - --=item 1 -+=item C<1> - - The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been - established. - --=item 0 -+=item C<0> - - The TLS/SSL handshake was not successful but was shut down controlled and - by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_CTX_add_session.pod openssl-1.0.1e/doc/ssl/SSL_CTX_add_session.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_CTX_add_session.pod 2013-06-06 14:35:15.871871829 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_CTX_add_session.pod 2013-06-06 14:35:25.816746805 +0100 -@@ -52,13 +52,13 @@ - - =over 4 - --=item 0 -+=item C<0> - - The operation failed. In case of the add operation, it was tried to add - the same (identical) session twice. In case of the remove operation, the - session was not found in the cache. - --=item 1 -+=item C<1> - - The operation succeeded. - -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_CTX_load_verify_locations.pod openssl-1.0.1e/doc/ssl/SSL_CTX_load_verify_locations.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_CTX_load_verify_locations.pod 2013-06-06 14:35:15.870871842 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_CTX_load_verify_locations.pod 2013-06-06 14:35:25.818746780 +0100 -@@ -100,13 +100,13 @@ - - =over 4 - --=item 0 -+=item C<0> - - The operation failed because B<CAfile> and B<CApath> are NULL or the - processing at one of the locations specified failed. Check the error - stack to find out the reason. - --=item 1 -+=item C<1> - - The operation succeeded. - -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_CTX_set_client_CA_list.pod openssl-1.0.1e/doc/ssl/SSL_CTX_set_client_CA_list.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_CTX_set_client_CA_list.pod 2013-06-06 14:35:15.871871829 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_CTX_set_client_CA_list.pod 2013-06-06 14:35:25.821746742 +0100 -@@ -66,11 +66,11 @@ - - =over 4 - --=item 1 -+=item C<1> - - The operation succeeded. - --=item 0 -+=item C<0> - - A failure while manipulating the STACK_OF(X509_NAME) object occurred or - the X509_NAME could not be extracted from B<cacert>. Check the error stack -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_CTX_set_session_id_context.pod openssl-1.0.1e/doc/ssl/SSL_CTX_set_session_id_context.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_CTX_set_session_id_context.pod 2013-06-06 14:35:15.871871829 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_CTX_set_session_id_context.pod 2013-06-06 14:35:25.828746654 +0100 -@@ -64,13 +64,13 @@ - - =over 4 - --=item 0 -+=item C<0> - - The length B<sid_ctx_len> of the session id context B<sid_ctx> exceeded - the maximum allowed length of B<SSL_MAX_SSL_SESSION_ID_LENGTH>. The error - is logged to the error stack. - --=item 1 -+=item C<1> - - The operation succeeded. - -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_CTX_set_ssl_version.pod openssl-1.0.1e/doc/ssl/SSL_CTX_set_ssl_version.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_CTX_set_ssl_version.pod 2013-06-06 14:35:15.871871829 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_CTX_set_ssl_version.pod 2013-06-06 14:35:25.831746617 +0100 -@@ -42,11 +42,11 @@ - - =over 4 - --=item 0 -+=item C<0> - - The new choice failed, check the error stack to find out the reason. - --=item 1 -+=item C<1> - - The operation succeeded. - -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_CTX_use_psk_identity_hint.pod openssl-1.0.1e/doc/ssl/SSL_CTX_use_psk_identity_hint.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_CTX_use_psk_identity_hint.pod 2013-06-06 14:35:15.870871842 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_CTX_use_psk_identity_hint.pod 2013-06-06 14:36:42.456783309 +0100 -@@ -81,6 +81,8 @@ - - Return values from the server callback are interpreted as follows: - -+=over -+ - =item > 0 - - PSK identity was found and the server callback has provided the PSK -@@ -94,9 +96,11 @@ - connection will fail with decryption_error before it will be finished - completely. - --=item 0 -+=item C<0> - - PSK identity was not found. An "unknown_psk_identity" alert message - will be sent and the connection setup fails. - -+=back -+ - =cut -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_do_handshake.pod openssl-1.0.1e/doc/ssl/SSL_do_handshake.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_do_handshake.pod 2013-06-06 14:35:15.869871854 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_do_handshake.pod 2013-06-06 14:35:25.839746516 +0100 -@@ -45,12 +45,12 @@ - - =over 4 - --=item 1 -+=item C<1> - - The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been - established. - --=item 0 -+=item C<0> - - The TLS/SSL handshake was not successful but was shut down controlled and - by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_read.pod openssl-1.0.1e/doc/ssl/SSL_read.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_read.pod 2013-06-06 14:35:15.871871829 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_read.pod 2013-06-06 14:35:25.847746415 +0100 -@@ -86,7 +86,7 @@ - The read operation was successful; the return value is the number of - bytes actually read from the TLS/SSL connection. - --=item 0 -+=item C<0> - - The read operation was not successful. The reason may either be a clean - shutdown due to a "close notify" alert sent by the peer (in which case -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_session_reused.pod openssl-1.0.1e/doc/ssl/SSL_session_reused.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_session_reused.pod 2013-06-06 14:35:15.871871829 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_session_reused.pod 2013-06-06 14:35:25.849746390 +0100 -@@ -27,11 +27,11 @@ - - =over 4 - --=item 0 -+=item C<0> - - A new session was negotiated. - --=item 1 -+=item C<1> - - A session was reused. - -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_set_fd.pod openssl-1.0.1e/doc/ssl/SSL_set_fd.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_set_fd.pod 2013-06-06 14:35:15.869871854 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_set_fd.pod 2013-06-06 14:35:25.852746353 +0100 -@@ -35,11 +35,11 @@ - - =over 4 - --=item 0 -+=item C<0> - - The operation failed. Check the error stack to find out why. - --=item 1 -+=item C<1> - - The operation succeeded. - -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_set_session.pod openssl-1.0.1e/doc/ssl/SSL_set_session.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_set_session.pod 2013-06-06 14:35:15.870871842 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_set_session.pod 2013-06-06 14:35:25.855746315 +0100 -@@ -37,11 +37,11 @@ - - =over 4 - --=item 0 -+=item C<0> - - The operation failed; check the error stack to find out the reason. - --=item 1 -+=item C<1> - - The operation succeeded. - -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_shutdown.pod openssl-1.0.1e/doc/ssl/SSL_shutdown.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_shutdown.pod 2013-06-06 14:35:15.870871842 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_shutdown.pod 2013-06-06 14:35:25.857746290 +0100 -@@ -92,12 +92,12 @@ - - =over 4 - --=item 1 -+=item C<1> - - The shutdown was successfully completed. The "close notify" alert was sent - and the peer's "close notify" alert was received. - --=item 0 -+=item C<0> - - The shutdown is not yet finished. Call SSL_shutdown() for a second time, - if a bidirectional shutdown shall be performed. -diff -Naur openssl-1.0.1e.orig/doc/ssl/SSL_write.pod openssl-1.0.1e/doc/ssl/SSL_write.pod ---- openssl-1.0.1e.orig/doc/ssl/SSL_write.pod 2013-06-06 14:35:15.870871842 +0100 -+++ openssl-1.0.1e/doc/ssl/SSL_write.pod 2013-06-06 14:35:25.865746189 +0100 -@@ -79,7 +79,7 @@ - The write operation was successful, the return value is the number of - bytes actually written to the TLS/SSL connection. - --=item 0 -+=item C<0> - - The write operation was not successful. Probably the underlying connection - was closed. Call SSL_get_error() with the return value B<ret> to find out, diff --git a/core/openssl/openssl-1.0.1f-perl-5.18.patch b/core/openssl/openssl-1.0.1f-perl-5.18.patch new file mode 100644 index 000000000..c66209637 --- /dev/null +++ b/core/openssl/openssl-1.0.1f-perl-5.18.patch @@ -0,0 +1,356 @@ +Forward-ported from openssl-1.0.1e-perl-5.18.patch +Fixes install with perl-5.18. + +https://bugs.gentoo.org/show_bug.cgi?id=497286 + +Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> + +--- openssl-1.0.1f/doc/apps/cms.pod ++++ openssl-1.0.1f/doc/apps/cms.pod +@@ -450,28 +450,28 @@ + + =over 4 + +-=item 0 ++=item C<0> + + the operation was completely successfully. + +-=item 1 ++=item C<1> + + an error occurred parsing the command options. + +-=item 2 ++=item C<2> + + one of the input files could not be read. + +-=item 3 ++=item C<3> + + an error occurred creating the CMS file or when reading the MIME + message. + +-=item 4 ++=item C<4> + + an error occurred decrypting or verifying the message. + +-=item 5 ++=item C<5> + + the message was verified correctly but an error occurred writing out + the signers certificates. +--- openssl-1.0.1f/doc/apps/smime.pod ++++ openssl-1.0.1f/doc/apps/smime.pod +@@ -308,28 +308,28 @@ + + =over 4 + +-=item 0 ++=item C<0> + + the operation was completely successfully. + +-=item 1 ++=item C<1> + + an error occurred parsing the command options. + +-=item 2 ++=item C<2> + + one of the input files could not be read. + +-=item 3 ++=item C<3> + + an error occurred creating the PKCS#7 file or when reading the MIME + message. + +-=item 4 ++=item C<4> + + an error occurred decrypting or verifying the message. + +-=item 5 ++=item C<5> + + the message was verified correctly but an error occurred writing out + the signers certificates. +--- openssl-1.0.1f/doc/ssl/SSL_accept.pod ++++ openssl-1.0.1f/doc/ssl/SSL_accept.pod +@@ -44,13 +44,13 @@ + + =over 4 + +-=item 0 ++=item C<0> + + The TLS/SSL handshake was not successful but was shut down controlled and + by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the + return value B<ret> to find out the reason. + +-=item 1 ++=item C<1> + + The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been + established. +--- openssl-1.0.1f/doc/ssl/SSL_clear.pod ++++ openssl-1.0.1f/doc/ssl/SSL_clear.pod +@@ -56,12 +56,12 @@ + + =over 4 + +-=item 0 ++=item C<0> + + The SSL_clear() operation could not be performed. Check the error stack to + find out the reason. + +-=item 1 ++=item C<1> + + The SSL_clear() operation was successful. + +--- openssl-1.0.1f/doc/ssl/SSL_COMP_add_compression_method.pod ++++ openssl-1.0.1f/doc/ssl/SSL_COMP_add_compression_method.pod +@@ -53,11 +53,11 @@ + + =over 4 + +-=item 0 ++=item C<0> + + The operation succeeded. + +-=item 1 ++=item C<1> + + The operation failed. Check the error queue to find out the reason. + +--- openssl-1.0.1f/doc/ssl/SSL_connect.pod ++++ openssl-1.0.1f/doc/ssl/SSL_connect.pod +@@ -41,13 +41,13 @@ + + =over 4 + +-=item 0 ++=item C<0> + + The TLS/SSL handshake was not successful but was shut down controlled and + by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the + return value B<ret> to find out the reason. + +-=item 1 ++=item C<1> + + The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been + established. +--- openssl-1.0.1f/doc/ssl/SSL_CTX_add_session.pod ++++ openssl-1.0.1f/doc/ssl/SSL_CTX_add_session.pod +@@ -52,13 +52,13 @@ + + =over 4 + +-=item 0 ++=item C<0> + + The operation failed. In case of the add operation, it was tried to add + the same (identical) session twice. In case of the remove operation, the + session was not found in the cache. + +-=item 1 ++=item C<1> + + The operation succeeded. + +--- openssl-1.0.1f/doc/ssl/SSL_CTX_load_verify_locations.pod ++++ openssl-1.0.1f/doc/ssl/SSL_CTX_load_verify_locations.pod +@@ -100,13 +100,13 @@ + + =over 4 + +-=item 0 ++=item C<0> + + The operation failed because B<CAfile> and B<CApath> are NULL or the + processing at one of the locations specified failed. Check the error + stack to find out the reason. + +-=item 1 ++=item C<1> + + The operation succeeded. + +--- openssl-1.0.1f/doc/ssl/SSL_CTX_set_client_CA_list.pod ++++ openssl-1.0.1f/doc/ssl/SSL_CTX_set_client_CA_list.pod +@@ -66,13 +66,13 @@ + + =over 4 + +-=item 0 ++=item C<0> + + A failure while manipulating the STACK_OF(X509_NAME) object occurred or + the X509_NAME could not be extracted from B<cacert>. Check the error stack + to find out the reason. + +-=item 1 ++=item C<1> + + The operation succeeded. + +--- openssl-1.0.1f/doc/ssl/SSL_CTX_set_session_id_context.pod ++++ openssl-1.0.1f/doc/ssl/SSL_CTX_set_session_id_context.pod +@@ -64,13 +64,13 @@ + + =over 4 + +-=item 0 ++=item C<0> + + The length B<sid_ctx_len> of the session id context B<sid_ctx> exceeded + the maximum allowed length of B<SSL_MAX_SSL_SESSION_ID_LENGTH>. The error + is logged to the error stack. + +-=item 1 ++=item C<1> + + The operation succeeded. + +--- openssl-1.0.1f/doc/ssl/SSL_CTX_set_ssl_version.pod ++++ openssl-1.0.1f/doc/ssl/SSL_CTX_set_ssl_version.pod +@@ -42,11 +42,11 @@ + + =over 4 + +-=item 0 ++=item C<0> + + The new choice failed, check the error stack to find out the reason. + +-=item 1 ++=item C<1> + + The operation succeeded. + +--- openssl-1.0.1f/doc/ssl/SSL_CTX_use_psk_identity_hint.pod ++++ openssl-1.0.1f/doc/ssl/SSL_CTX_use_psk_identity_hint.pod +@@ -96,7 +96,7 @@ + connection will fail with decryption_error before it will be finished + completely. + +-=item 0 ++=item C<0> + + PSK identity was not found. An "unknown_psk_identity" alert message + will be sent and the connection setup fails. +--- openssl-1.0.1f/doc/ssl/SSL_do_handshake.pod ++++ openssl-1.0.1f/doc/ssl/SSL_do_handshake.pod +@@ -45,13 +45,13 @@ + + =over 4 + +-=item 0 ++=item C<0> + + The TLS/SSL handshake was not successful but was shut down controlled and + by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the + return value B<ret> to find out the reason. + +-=item 1 ++=item C<1> + + The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been + established. +--- openssl-1.0.1f/doc/ssl/SSL_read.pod ++++ openssl-1.0.1f/doc/ssl/SSL_read.pod +@@ -86,7 +86,7 @@ + The read operation was successful; the return value is the number of + bytes actually read from the TLS/SSL connection. + +-=item 0 ++=item C<0> + + The read operation was not successful. The reason may either be a clean + shutdown due to a "close notify" alert sent by the peer (in which case +--- openssl-1.0.1f/doc/ssl/SSL_session_reused.pod ++++ openssl-1.0.1f/doc/ssl/SSL_session_reused.pod +@@ -27,11 +27,11 @@ + + =over 4 + +-=item 0 ++=item C<0> + + A new session was negotiated. + +-=item 1 ++=item C<1> + + A session was reused. + +--- openssl-1.0.1f/doc/ssl/SSL_set_fd.pod ++++ openssl-1.0.1f/doc/ssl/SSL_set_fd.pod +@@ -35,11 +35,11 @@ + + =over 4 + +-=item 0 ++=item C<0> + + The operation failed. Check the error stack to find out why. + +-=item 1 ++=item C<1> + + The operation succeeded. + +--- openssl-1.0.1f/doc/ssl/SSL_set_session.pod ++++ openssl-1.0.1f/doc/ssl/SSL_set_session.pod +@@ -37,11 +37,11 @@ + + =over 4 + +-=item 0 ++=item C<0> + + The operation failed; check the error stack to find out the reason. + +-=item 1 ++=item C<1> + + The operation succeeded. + +--- openssl-1.0.1f/doc/ssl/SSL_shutdown.pod ++++ openssl-1.0.1f/doc/ssl/SSL_shutdown.pod +@@ -92,14 +92,14 @@ + + =over 4 + +-=item 0 ++=item C<0> + + The shutdown is not yet finished. Call SSL_shutdown() for a second time, + if a bidirectional shutdown shall be performed. + The output of L<SSL_get_error(3)|SSL_get_error(3)> may be misleading, as an + erroneous SSL_ERROR_SYSCALL may be flagged even though no error occurred. + +-=item 1 ++=item C<1> + + The shutdown was successfully completed. The "close notify" alert was sent + and the peer's "close notify" alert was received. +--- openssl-1.0.1f/doc/ssl/SSL_write.pod ++++ openssl-1.0.1f/doc/ssl/SSL_write.pod +@@ -79,7 +79,7 @@ + The write operation was successful, the return value is the number of + bytes actually written to the TLS/SSL connection. + +-=item 0 ++=item C<0> + + The write operation was not successful. Probably the underlying connection + was closed. Call SSL_get_error() with the return value B<ret> to find out, diff --git a/core/pam/PKGBUILD b/core/pam/PKGBUILD index bcb75977e..af3ca9f0c 100644 --- a/core/pam/PKGBUILD +++ b/core/pam/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 197836 2013-10-30 11:06:23Z allan $ +# $Id: PKGBUILD 205604 2014-02-09 10:29:31Z andyrtr $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgname=pam pkgver=1.1.8 -pkgrel=2 +pkgrel=3 pkgdesc="PAM (Pluggable Authentication Modules) library" arch=('i686' 'x86_64' 'mips64el') license=('GPL2') -url="http://www.kernel.org/pub/linux/libs/pam/" -depends=('glibc' 'db' 'cracklib' 'libtirpc' 'pambase') +url="http://linux-pam.org" +depends=('glibc' 'cracklib' 'libtirpc' 'pambase') makedepends=('flex' 'w3m' 'docbook-xml>=4.4' 'docbook-xsl') backup=(etc/security/{access.conf,group.conf,limits.conf,namespace.conf,namespace.init,pam_env.conf,time.conf} etc/default/passwd etc/environment) source=(https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-$pkgver.tar.bz2 @@ -23,7 +23,7 @@ md5sums=('35b6091af95981b1b2cd60d813b5e4ee' build() { cd $srcdir/Linux-PAM-$pkgver - ./configure --libdir=/usr/lib --sbindir=/usr/bin + ./configure --libdir=/usr/lib --sbindir=/usr/bin --disable-db make cd $srcdir/pam_unix2-2.9.1 diff --git a/core/pciutils/PKGBUILD b/core/pciutils/PKGBUILD index cb47cdaf7..de9313aeb 100644 --- a/core/pciutils/PKGBUILD +++ b/core/pciutils/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 197782 2013-10-30 07:26:12Z tpowa $ +# $Id: PKGBUILD 204793 2014-01-27 09:03:19Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> pkgname=pciutils -pkgver=3.2.0 -pkgrel=4 +pkgver=3.2.1 +pkgrel=1 pkgdesc="PCI bus configuration space access library and tools" arch=(i686 x86_64 'mips64el') license=('GPL2') @@ -11,7 +11,7 @@ url="http://mj.ucw.cz/sw/pciutils/" depends=('glibc' 'hwids' 'kmod') source=(#ftp://ftp.kernel.org/pub/software/utils/${pkgname}/${pkgname}-${pkgver}.tar.bz2 ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/${pkgname}-${pkgver}.tar.gz) -md5sums=('3fccb0b28879adb57d8156115f8003c8') +md5sums=('fdc92c4665bb169022ffe730b3c08313') build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/core/pcre/PKGBUILD b/core/pcre/PKGBUILD index 8b86dc848..199aec60b 100644 --- a/core/pcre/PKGBUILD +++ b/core/pcre/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 202198 2013-12-19 09:22:02Z allan $ +# $Id: PKGBUILD 204393 2014-01-19 00:33:32Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: Eric Belanger <eric@archlinux.org> # Contributor: John Proctor <jproctor@prium.net> pkgname=pcre pkgver=8.34 -pkgrel=1 +pkgrel=2 pkgdesc="A library that implements Perl 5-style regular expressions" arch=('i686' 'x86_64' 'mips64el') url="http://www.pcre.org/" license=('BSD') -depends=('gcc-libs') +depends=('readline' 'zlib' 'bzip2') source=(ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${pkgname}-${pkgver}.tar.bz2{,.sig}) md5sums=('5439e321351bddd5533551bbce128d07' 'SKIP') @@ -18,8 +18,13 @@ md5sums=('5439e321351bddd5533551bbce128d07' build() { cd "${srcdir}"/${pkgname}-${pkgver} ./configure --prefix=/usr \ - --enable-pcre16 --enable-pcre32 --enable-jit \ - --enable-utf --enable-unicode-properties + --enable-unicode-properties \ + --enable-pcre16 \ + --enable-pcre32 \ + --enable-jit \ + --enable-pcregrep-libz \ + --enable-pcregrep-libbz2 \ + --enable-pcretest-libreadline make } diff --git a/core/perl/PKGBUILD b/core/perl/PKGBUILD index 91c24e45e..7623417fb 100644 --- a/core/perl/PKGBUILD +++ b/core/perl/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 193454 2013-08-20 18:08:57Z bluewind $ +# $Id: PKGBUILD 204014 2014-01-14 08:12:09Z bluewind $ # Maintainer: Florian Pritz <bluewind@xinu.at> # Contributor: Angel Velasquez <angvp@archlinux.org> # Contributor: kevin <kevin.archlinux.org> @@ -6,21 +6,20 @@ # Contributor: francois <francois.archlinux.org> pkgname=perl -pkgver=5.18.1 -pkgrel=1 +pkgver=5.18.2 +pkgrel=2 pkgdesc="A highly capable, feature-rich programming language" arch=(i686 x86_64 'mips64el') license=('GPL' 'PerlArtistic') url="http://www.perl.org" groups=('base') -depends=('gdbm' 'db' 'coreutils' 'glibc' 'sh') +depends=('gdbm' 'db' 'glibc') source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2 perlbin.sh perlbin.csh provides.pl) -install=perl.install options=('makeflags' '!purge') -md5sums=('4ec1a3f3824674552e749ae420c5e68c' +md5sums=('d549b16ee4e9210988da39193a9389c1' '5ed2542fdb9a60682f215bd33701e61a' '1f0cbbee783e8a6d32f01be5118e0d5e' '999c3eea6464860704abbb055a0f0896') diff --git a/core/perl/perl.install b/core/perl/perl.install deleted file mode 100644 index a355c5bbe..000000000 --- a/core/perl/perl.install +++ /dev/null @@ -1,10 +0,0 @@ -# arg 1: the new package version -post_install() { - for ver in 5.8.{0,1,2,3,4,5,6,7,8}; do - [ -h usr/lib/perl5/$ver ] && rm usr/lib/perl5/$ver - [ -h usr/lib/perl5/site_perl/$ver ] && rm usr/lib/perl5/site_perl/$ver - [ -h usr/bin/perl$ver ] && rm usr/bin/perl$ver - done - return 0 -} - diff --git a/core/procps-ng/PKGBUILD b/core/procps-ng/PKGBUILD index 83e61d1e2..6c1b0f86b 100644 --- a/core/procps-ng/PKGBUILD +++ b/core/procps-ng/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 201333 2013-12-09 03:38:18Z bisson $ +# $Id: PKGBUILD 204689 2014-01-25 04:07:27Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Eric Bélanger <eric@archlinux.org> pkgname=procps-ng pkgver=3.3.9 -pkgrel=1 +pkgrel=2 pkgdesc='Utilities for monitoring your system and its processes' url='http://sourceforge.net/projects/procps-ng/' license=('GPL' 'LGPL') @@ -21,6 +21,11 @@ replaces=('procps' 'sysvinit-tools') install=install +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + sed 's:<ncursesw/:<:g' -i watch.c +} + build() { cd "${srcdir}/${pkgname}-${pkgver}" ./configure \ @@ -30,6 +35,7 @@ build() { --libdir=/usr/lib \ --bindir=/usr/bin \ --sbindir=/usr/bin \ + --enable-watch8bit \ make } diff --git a/core/pth/PKGBUILD b/core/pth/PKGBUILD index 9a2b8a3a2..4cb127aa3 100644 --- a/core/pth/PKGBUILD +++ b/core/pth/PKGBUILD @@ -1,9 +1,8 @@ -# $Id: PKGBUILD 197839 2013-10-30 11:06:47Z allan $ -# Maintainer: damir <damir@archlinux.org> +# $Id: PKGBUILD 203545 2014-01-13 14:20:07Z dan $ pkgname=pth pkgver=2.0.7 -pkgrel=4.2 +pkgrel=5 pkgdesc="The GNU Portable Threads." arch=('i686' 'x86_64' 'mips64el') url="http://www.gnu.org/software/pth/" diff --git a/core/s-nail/PKGBUILD b/core/s-nail/PKGBUILD index 222e1b37d..a51680193 100644 --- a/core/s-nail/PKGBUILD +++ b/core/s-nail/PKGBUILD @@ -1,20 +1,26 @@ -# $Id: PKGBUILD 202657 2013-12-23 17:15:07Z bisson $ +# $Id: PKGBUILD 205863 2014-02-12 06:21:09Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Stéphane Gaudreault <stephane@archlinux.org> # Contributor: Sergej Pupykin <pupykin.s@arch@gmail.com> # Contributor: Andreas Wagner <Andreas.Wagner@em.uni-frankfurt.de> pkgname=s-nail -pkgver=14.5 -pkgrel=1 +pkgver=14.5.2 +pkgrel=4 pkgdesc='Mail processing system with a command syntax reminiscent of ed' -url='http://sourceforge.net/projects/s-nail/' +url='http://sdaoden.users.sourceforge.net/code.html#s-nail' license=('custom:BSD') arch=('i686' 'x86_64' 'mips64el') depends=('openssl') optdepends=('smtp-forwarder: for sending mail') -source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}-${pkgver//./_}.tar.gz") -sha1sums=('0c7341f7404f7113a3c4ed915adfed720379e8e7') +source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}-${pkgver//./_}.tar.xz" + 'mimeheader.patch' + 'maildir.patch' + 'sort.patch') +sha1sums=('26ad43f5f41b429d5f13a3ce73a3dff75325950c' + 'e72ed84f584ebc50eb9d04779b8b754afa446bf4' + '9ba91a0c697c121d9de4ff67766ec90f4ee354b5' + '909da731e590d1d2877ed38bed667440a02d1259') groups=('base') backup=('etc/mail.rc') @@ -22,6 +28,13 @@ replaces=('mailx' 'mailx-heirloom' 'heirloom-mailx') provides=('mailx' 'mailx-heirloom' 'heirloom-mailx') conflicts=('mailx' 'mailx-heirloom' 'heirloom-mailx') +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i ../mimeheader.patch + patch -p1 -i ../maildir.patch + patch -p1 -i ../sort.patch +} + build() { cd "${srcdir}/${pkgname}-${pkgver}" make \ diff --git a/core/s-nail/maildir.patch b/core/s-nail/maildir.patch new file mode 100644 index 000000000..d9b16c348 --- /dev/null +++ b/core/s-nail/maildir.patch @@ -0,0 +1,253 @@ +s-nail-14_5_2-maildir.patch, 2014-02-10: + +Apply: + $ cd s-nail-14.5.2 + $ patch -bu < s-nail-14_5_2-maildir.patch + +Description: + To overcome a general design problem of the Berkeley Mail codebase + i once added realpath(3) calls to be able to resolve the path of + a mailbox file: like that changing a directory wouldn't cause the + program to "hang" because the (relatively) opened mailbox became + inaccessible. (Again: the real solution will take many years.) + + My first KISS solution to one aspect of the general problem was + [3adf33ee] (schdir(): realpath() local files before leaving CWD.., + 2013-01-08), and it should possibly have worked with maildir boxes, + because we'd only did anything once the user actively used the `chdir' + command (and who does), but Christos Zoulas from NetBSD actually forced + me to do more (after i've reported the general Berkeley bug), and that + led to the current code, which always calls realpath(3). + Anyway, i wasn't in the position to reflect the impact of doing so at + that time. And the entire codebase needs to be reworked anyway. (:( + + Anyway -- this patch is an adjusted combination of the [1c2563b] + (lex.c:_update_mailname(): continue if realname() fails.., 2014-02-10) + and [13f325f] (Avoid "cannot canonicalize" maildir warning.., 2014-02-10) + changesets that have been pushed to [master], and make maildir mailboxes + usable again. + +Notes: + The patch is so large because it was cherry-picked from [crawl] onto + [master] and (thus) includes the very large [nyd] topic branch style-and- + much-more changes. Sorry for that. + + lex.c | 11 +++-- + maildir.c | 152 +++++++++++++++++++++++++++++++++----------------------------- + 2 files changed, 87 insertions(+), 76 deletions(-) + +diff --git a/lex.c b/lex.c +index 922faf8..3b3b3cc 100644 +--- a/lex.c ++++ b/lex.c +@@ -164,7 +164,7 @@ _update_mailname(char const *name) + { + char tbuf[MAXPATHLEN], *mailp, *dispp; + size_t i, j; +- bool_t rv; ++ bool_t rv = TRU1; + + /* Don't realpath(3) if it's only an update request */ + if (name != NULL) { +@@ -174,9 +174,10 @@ _update_mailname(char const *name) + if (realpath(name, mailname) == NULL) { + fprintf(stderr, tr(151, "Can't canonicalize `%s'\n"), name); + rv = FAL0; +- goto jleave; ++ goto jdocopy; + } + } else ++jdocopy: + #endif + n_strlcpy(mailname, name, sizeof(mailname)); + } +@@ -197,9 +198,10 @@ _update_mailname(char const *name) + + /* We want to see the name of the folder .. on the screen */ + i = strlen(mailp); +- if ((rv = (i < sizeof(displayname) - 1))) ++ if (i < sizeof(displayname) - 1) + memcpy(dispp, mailp, i + 1); + else { ++ rv = FAL0; + /* Avoid disrupting multibyte sequences (if possible) */ + #ifndef HAVE_C90AMEND1 + j = sizeof(displayname) / 3 - 1; +@@ -212,9 +214,6 @@ _update_mailname(char const *name) + snprintf(dispp, sizeof(displayname), "%.*s...%s", + (int)j, mailp, mailp + i); + } +-#ifdef HAVE_REALPATH +-jleave: +-#endif + return rv; + } + +diff --git a/maildir.c b/maildir.c +index 32180bd..3d45f77 100644 +--- a/maildir.c ++++ b/maildir.c +@@ -1,5 +1,5 @@ + /*@ S-nail - a mail user agent derived from Berkeley Mail. +- *@ Maildir folder support. ++ *@ Maildir folder support. FIXME rewrite - why do we chdir(2)?? + * + * Copyright (c) 2000-2004 Gunnar Ritter, Freiburg i. Br., Germany. + * Copyright (c) 2012 - 2014 Steffen "Daode" Nurpmeso <sdaoden@users.sf.net>. +@@ -101,75 +101,87 @@ jleave: ; + FL int + maildir_setfile(char const * volatile name, int nmail, int isedit) + { +- sighandler_type volatile saveint; +- struct cw cw; +- int i = -1, omsgCount; +- +- (void)&saveint; +- (void)&i; +- omsgCount = msgCount; +- if (cwget(&cw) == STOP) { +- fprintf(stderr, "Fatal: Cannot open current directory\n"); +- return -1; +- } +- if (!nmail) +- quit(); +- saveint = safe_signal(SIGINT, SIG_IGN); +- if (chdir(name) < 0) { +- fprintf(stderr, "Cannot change directory to \"%s\".\n", name); +- cwrelse(&cw); +- return -1; +- } +- if (!nmail) { +- edit = (isedit != 0); +- if (mb.mb_itf) { +- fclose(mb.mb_itf); +- mb.mb_itf = NULL; +- } +- if (mb.mb_otf) { +- fclose(mb.mb_otf); +- mb.mb_otf = NULL; +- } +- initbox(name); +- mb.mb_type = MB_MAILDIR; +- } +- _maildir_table = NULL; +- if (sigsetjmp(_maildir_jmp, 1) == 0) { +- if (nmail) +- mktable(); +- if (saveint != SIG_IGN) +- safe_signal(SIGINT, maildircatch); +- i = maildir_setfile1(name, nmail, omsgCount); +- } +- if (nmail && _maildir_table != NULL) +- free(_maildir_table); +- safe_signal(SIGINT, saveint); +- if (i < 0) { +- mb.mb_type = MB_VOID; +- *mailname = '\0'; +- msgCount = 0; +- } +- if (cwret(&cw) == STOP) { +- fputs("Fatal: Cannot change back to current directory.\n", +- stderr); +- abort(); +- } +- cwrelse(&cw); +- setmsize(msgCount); +- if (nmail && mb.mb_sorted && msgCount > omsgCount) { +- mb.mb_threaded = 0; +- sort((void *)-1); +- } +- if (!nmail) +- sawcom = FAL0; +- if (!nmail && !edit && msgCount == 0) { +- if (mb.mb_type == MB_MAILDIR && !ok_blook(emptystart)) +- fprintf(stderr, "No mail at %s\n", name); +- return 1; +- } +- if (nmail && msgCount > omsgCount) +- newmailinfo(omsgCount); +- return 0; ++ sighandler_type volatile saveint; ++ struct cw cw; ++ int i = -1, omsgCount; ++ ++ /* TODO ince we have a VOID box... */ ++ omsgCount = msgCount; ++ if (cwget(&cw) == STOP) { ++ fprintf(stderr, "Cannot open current directory"); ++ goto jleave; ++ } ++ ++ if (!nmail) ++ quit(); ++ ++ saveint = safe_signal(SIGINT, SIG_IGN); ++ ++ if (!nmail) { ++ edit = (isedit != 0); ++ if (mb.mb_itf) { ++ fclose(mb.mb_itf); ++ mb.mb_itf = NULL; ++ } ++ if (mb.mb_otf) { ++ fclose(mb.mb_otf); ++ mb.mb_otf = NULL; ++ } ++ initbox(name); ++ mb.mb_type = MB_MAILDIR; ++ } ++ ++ if (chdir(name) < 0) { ++ fprintf(stderr, "Cannot change directory to \"%s\".\n", name);/*TODO tr*/ ++ mb.mb_type = MB_VOID; ++ *mailname = '\0'; ++ msgCount = 0; ++ cwrelse(&cw); ++ safe_signal(SIGINT, saveint); ++ goto jleave; ++ } ++ ++ _maildir_table = NULL; ++ if (sigsetjmp(_maildir_jmp, 1) == 0) { ++ if (nmail) ++ mktable(); ++ if (saveint != SIG_IGN) ++ safe_signal(SIGINT, &maildircatch); ++ i = maildir_setfile1(name, nmail, omsgCount); ++ } ++ if (nmail && _maildir_table != NULL) ++ free(_maildir_table); ++ ++ safe_signal(SIGINT, saveint); ++ ++ if (i < 0) { ++ mb.mb_type = MB_VOID; ++ *mailname = '\0'; ++ msgCount = 0; ++ } ++ ++ if (cwret(&cw) == STOP) ++ panic("Cannot change back to current directory.");/* TODO tr */ ++ cwrelse(&cw); ++ ++ setmsize(msgCount); ++ if (nmail && mb.mb_sorted && msgCount > omsgCount) { ++ mb.mb_threaded = 0; ++ sort((void*)-1); ++ } ++ if (!nmail) ++ sawcom = FAL0; ++ if (!nmail && !edit && msgCount == 0) { ++ if (mb.mb_type == MB_MAILDIR /* XXX ?? */ && !ok_blook(emptystart)) ++ fprintf(stderr, tr(258, "No mail at %s\n"), name); ++ i = 1; ++ goto jleave; ++ } ++ if (nmail && msgCount > omsgCount) ++ newmailinfo(omsgCount); ++ i = 0; ++jleave: ++ return i; + } + + static int diff --git a/core/s-nail/mimeheader.patch b/core/s-nail/mimeheader.patch new file mode 100644 index 000000000..2f7163b36 --- /dev/null +++ b/core/s-nail/mimeheader.patch @@ -0,0 +1,147 @@ +s-nail-14_5_2-mimeheader.patch, 2014-02-05: + +Apply: + $ cd s-nail-14.5.2 + $ patch -bu < s-nail-14_5_2-mimeheader.patch + +Description: + mime_fromhdr(): fix my rewrite again.. + + My hasty rewrite [0f9ad93] (mime_fromhdr(): partial rewrite using + n_iconv_str(), 2013-03-12), just about ninety (90) minutes before + the release of S-nail v14.1 already caused the bugfix [b608c6b] + (mime_fromhdr(): never return NULL output.., 2013-03-14), which + was the sole reason for the release of S-nail v14.2. + + Well, about a year later, after tens of thousands of mails, + including multibyte ones, i wrote myself a message that has shown + that the rewrite was still buggy -- the header + + Subject: ehm, .getElementById("blink") needs <span + =?US-ASCII?Q?id=3D"blink">,?= not =?US-ASCII?Q?class=3D"id"?= + + cannot be viewed correctly, the ", not" will be lost. + The reason is now understood and this changeset should fix + mime_fromhdr() so that it'll do what it is assumed to do in the + current codebase, unless i'm terribly mistaken. + + Because i bickered some time in private, i WANT to add that the + real problem is that the codebase is weird INSOFAR as that i still + don't really understand the WAY it works, because THAT IS SICK. + I.e., in my brain i assume this function effectively is + rfc_2047_decode(), meant to decode encoded words as specified in + RFC 2047, but that's simply not true, and FOR QUITE SOME TIME, + because of the embedded newlines that may be in the data and need + to passed through for at least the case that we send data to the + display. I slowly get around that schizophrenic codebase while + also converting it to a straight one, but that will take years. + Until then we need to strip whitespace in between multiple + adjacent encoded words, while passing through newlines and + whitespace that follows newlines, regardless of whatever. + I hope this will do it until we are sane. +--- + mime.c | 63 +++++++++++++++++++++++++++++++++++++++------------------------ + 1 file changed, 39 insertions(+), 24 deletions(-) + +diff --git a/mime.c b/mime.c +index ccb0061..6ee55cc 100644 +--- a/mime.c ++++ b/mime.c +@@ -863,20 +863,26 @@ jclear: + goto jleave; + } + +-/* +- * Convert header fields from RFC 1522 format +- * TODO mime_fromhdr(): NO error handling, fat; REWRITE **ASAP** +- */ + FL void + mime_fromhdr(struct str const *in, struct str *out, enum tdflags flags) + { +- /* TODO mime_fromhdr(): is called with strings that contain newlines; +- * TODO this is the usual newline problem all around the codebase; +- * TODO i.e., if we strip it, then the display misses it ;} */ ++ /* TODO mime_fromhdr(): is called with strings that contain newlines; ++ * TODO this is the usual newline problem all around the codebase; ++ * TODO i.e., if we strip it, then the display misses it ;> ++ * TODO this is why it is so messy and why S-nail v14.2 plus additional ++ * TODO patch for v14.5.2 (and maybe even v14.5.3 subminor) occurred, and ++ * TODO why our display reflects what is contained in the message: the 1:1 ++ * TODO relationship of message content and display! ++ * TODO instead a header line should be decoded to what it is (a single ++ * TODO line that is) and it should be objective to the backend wether ++ * TODO it'll be folded to fit onto the display or not, e.g., for search ++ * TODO purposes etc. then the only condition we have to honour in here ++ * TODO is that whitespace in between multiple adjacent MIME encoded words ++ * TODO á la RFC 2047 is discarded; i.e.: this function should deal with ++ * TODO RFC 2047 and be renamed: mime_fromhdr() -> mime_rfc2047_decode() */ + struct str cin, cout; + char *p, *op, *upper, *cs, *cbeg; +- int convert; +- size_t lastoutl = (size_t)-1; ++ ui32_t convert, lastenc, lastoutl; + #ifdef HAVE_ICONV + char const *tcs; + iconv_t fhicd = (iconv_t)-1; +@@ -894,6 +900,7 @@ mime_fromhdr(struct str const *in, struct str *out, enum tdflags flags) + #endif + p = in->s; + upper = p + in->l; ++ lastenc = lastoutl = 0; + + while (p < upper) { + op = p; +@@ -949,8 +956,7 @@ mime_fromhdr(struct str const *in, struct str *out, enum tdflags flags) + --cout.l; + } else + (void)qp_decode(&cout, &cin, NULL); +- if (lastoutl != (size_t)-1) +- out->l = lastoutl; ++ out->l = lastenc; + #ifdef HAVE_ICONV + if ((flags & TD_ICONV) && fhicd != (iconv_t)-1) { + cin.s = NULL, cin.l = 0; /* XXX string pool ! */ +@@ -966,21 +972,30 @@ mime_fromhdr(struct str const *in, struct str *out, enum tdflags flags) + #ifdef HAVE_ICONV + } + #endif +- lastoutl = out->l; ++ lastenc = lastoutl = out->l; + free(cout.s); +- } else { +-jnotmime: +- p = op; +- convert = 1; +- while ((op = p + convert) < upper && +- (op[0] != '=' || op[1] != '?')) +- ++convert; +- out = n_str_add_buf(out, p, convert); +- p += convert; +- if (! blankchar(p[-1])) +- lastoutl = (size_t)-1; +- } ++ } else ++jnotmime: { ++ bool_t onlyws; ++ ++ p = op; ++ onlyws = (lastenc > 0); ++ for (;;) { ++ if (++op == upper) ++ break; ++ if (op[0] == '=' && (PTRCMP(op + 1, ==, upper) || op[1] == '?')) ++ break; ++ if (onlyws && !blankchar(*op)) ++ onlyws = FAL0; ++ } ++ ++ out = n_str_add_buf(out, p, PTR2SIZE(op - p)); ++ p = op; ++ if (!onlyws || lastoutl != lastenc) ++ lastenc = out->l; ++ lastoutl = out->l; + } ++ } + out->s[out->l] = '\0'; + + if (flags & TD_ISPR) { diff --git a/core/s-nail/sort.patch b/core/s-nail/sort.patch new file mode 100644 index 000000000..fdb8d526d --- /dev/null +++ b/core/s-nail/sort.patch @@ -0,0 +1,75 @@ +s-nail-14_5_2-sort.patch, 2014-01-30: + +Apply: + $ cd s-nail-14.5.2 + $ patch -bu < s-nail-14_5_2-sort.patch + +Description: +Reverses (sort(),thread(): use srelax()!, 2014-01-18, [a9b67e9]), which +was a hasty commit of an untested diff that i've added few minutes +beforehand. +It was of course wrong. +The problem (no memory relaxation during entire sort operation) requires +a different approach (either only relax when we don't need to hold +dope storage (as for SORT_TO/SORT_FROM/SORT_SUBJECT/+) or use heap +memory for those allocations, then). + +s-nail-14_5_2-sort-alt.patch is an alternative working thesis that uses +heap allocations, thus continues to relax the dope storage. +This version has been pushed to [master]. + +diff --git a/thread.c b/thread.c +index 3ac5966..9ec1ac9 100644 +--- a/thread.c ++++ b/thread.c +@@ -361,8 +361,6 @@ makethreads(struct message *m, long cnt, int nmail) + return; + mprime = nextprime(cnt); + mt = scalloc(mprime, sizeof *mt); +- +- srelax_hold(); + for (i = 0; i < cnt; i++) { + if ((m[i].m_flag&MHIDDEN) == 0) { + mlook(NULL, mt, &m[i], mprime); +@@ -376,7 +374,6 @@ makethreads(struct message *m, long cnt, int nmail) + m[i].m_level = 0; + if (!nmail && !(inhook&2)) + m[i].m_collapsed = 0; +- srelax(); + } + /* + * Most folders contain the eldest messages first. Traversing +@@ -387,12 +384,8 @@ makethreads(struct message *m, long cnt, int nmail) + * are replies to the one message, and are sorted such that + * youngest messages occur first. + */ +- for (i = cnt-1; i >= 0; i--) { ++ for (i = cnt-1; i >= 0; i--) + lookup(&m[i], mt, mprime); +- srelax(); +- } +- srelax_rele(); +- + threadroot = interlink(m, cnt, nmail); + finalize(threadroot); + free(mt); +@@ -572,8 +565,6 @@ sort(void *vp) + default: + break; + } +- +- srelax_hold(); + for (n = 0, i = 0; i < msgCount; i++) { + mp = &message[i]; + if ((mp->m_flag&MHIDDEN) == 0) { +@@ -637,10 +628,7 @@ sort(void *vp) + mp->m_child = mp->m_younger = mp->m_elder = mp->m_parent = NULL; + mp->m_level = 0; + mp->m_collapsed = 0; +- srelax(); + } +- srelax_rele(); +- + if (n > 0) { + qsort(ms, n, sizeof *ms, func); + threadroot = &message[ms[0].ms_n]; diff --git a/core/sudo/PKGBUILD b/core/sudo/PKGBUILD index 84511dd8a..8b986a145 100644 --- a/core/sudo/PKGBUILD +++ b/core/sudo/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 197841 2013-10-30 11:07:01Z allan $ +# $Id: PKGBUILD 205612 2014-02-09 15:37:47Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Allan McRae <allan@archlinux.org> # Contributor: Tom Newsom <Jeepster@gmx.co.uk> pkgname=sudo -_sudover=1.8.8 +_sudover=1.8.9p5 pkgver=${_sudover/p/.p} pkgrel=1 pkgdesc="Give certain users the ability to run some commands as root" @@ -12,13 +12,13 @@ arch=('i686' 'x86_64' 'mips64el') url="http://www.sudo.ws/sudo/" license=('custom') groups=('base-devel') -depends=('glibc' 'pam') +depends=('glibc' 'pam' 'libldap') backup=('etc/sudoers' 'etc/pam.d/sudo') source=(http://www.sudo.ws/sudo/dist/$pkgname-$_sudover.tar.gz{,.sig} sudo.pam) -sha256sums=('9f911c1e9297fb8006deb52fa81197a8d06b9d54e70672f723c467ecae992fc9' +sha256sums=('bc9d5c96de5f8b4d2b014f87a37870aef60d2891c869202454069150a21a5c21' 'SKIP' - 'e7de79d2c73f2b32b20a8e797e54777a2bf19788ec03e48decd6c15cd93718ae') + 'd1738818070684a5d2c9b26224906aad69a4fea77aabd960fc2675aee2df1fa2') build() { cd "$srcdir/$pkgname-$_sudover" @@ -29,6 +29,8 @@ build() { --libexecdir=/usr/lib \ --with-logfac=auth \ --with-pam \ + --with-ldap \ + --with-ldap-conf-file=/etc/openldap/ldap.conf \ --with-env-editor \ --with-passprompt="[sudo] password for %p: " \ --with-all-insults diff --git a/core/sudo/sudo.pam b/core/sudo/sudo.pam index 4e586cd22..ab053c543 100644 --- a/core/sudo/sudo.pam +++ b/core/sudo/sudo.pam @@ -1,3 +1,4 @@ #%PAM-1.0 -auth required pam_unix.so -auth required pam_nologin.so +auth include system-auth +account include system-auth +session include system-auth diff --git a/core/systemd/0001-Make-hibernation-test-work-for-swap-files.patch b/core/systemd/0001-Make-hibernation-test-work-for-swap-files.patch new file mode 100644 index 000000000..e780e01b6 --- /dev/null +++ b/core/systemd/0001-Make-hibernation-test-work-for-swap-files.patch @@ -0,0 +1,28 @@ +From 0c6f1f4ea4980ff719979d36f10bd6ea3e464c02 Mon Sep 17 00:00:00 2001 +From: Jan Janssen <medhefgo@web.de> +Date: Thu, 31 Oct 2013 17:22:03 +0100 +Subject: [PATCH] Make hibernation test work for swap files + +Suspend to disk works for swap files too (even if it is located +on an ecrypted file system): +https://www.kernel.org/doc/Documentation/power/swsusp-and-swap-files.txt +--- + src/shared/sleep-config.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/sleep-config.c b/src/shared/sleep-config.c +index d068bfc..2bb0493 100644 +--- a/src/shared/sleep-config.c ++++ b/src/shared/sleep-config.c +@@ -206,7 +206,7 @@ static int hibernation_partition_size(size_t *size, size_t *used) { + if (!d) + return -ENOMEM; + +- if (!streq(type, "partition")) { ++ if (!streq(type, "partition") && !streq(type, "file")) { + log_debug("Partition %s has type %s, ignoring.", d, type); + continue; + } +-- +1.8.5.2 + diff --git a/core/systemd/0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch b/core/systemd/0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch new file mode 100644 index 000000000..2594d5066 --- /dev/null +++ b/core/systemd/0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch @@ -0,0 +1,26 @@ +From f576cd2092bc40f9998415cdc3caf10035d4743a Mon Sep 17 00:00:00 2001 +From: Pavel Holica <conscript89@gmail.com> +Date: Wed, 6 Nov 2013 23:24:16 +0100 +Subject: [PATCH] acpi-fpdt: break on zero or negative length read + +https://bugzilla.redhat.com/show_bug.cgi?id=1027478 +--- + src/shared/acpi-fpdt.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c +index 75648b4..7bae47f 100644 +--- a/src/shared/acpi-fpdt.c ++++ b/src/shared/acpi-fpdt.c +@@ -109,6 +109,8 @@ int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) { + for (rec = (struct acpi_fpdt_header *)(buf + sizeof(struct acpi_table_header)); + (char *)rec < buf + l; + rec = (struct acpi_fpdt_header *)((char *)rec + rec->length)) { ++ if (rec->length <= 0) ++ break; + if (rec->type != ACPI_FPDT_TYPE_BOOT) + continue; + if (rec->length != sizeof(struct acpi_fpdt_header)) +-- +1.8.5.2 + diff --git a/core/systemd/0001-cryptsetup-generator-auto-add-deps-for-device-as-pas.patch b/core/systemd/0001-cryptsetup-generator-auto-add-deps-for-device-as-pas.patch new file mode 100644 index 000000000..dd8c9ff74 --- /dev/null +++ b/core/systemd/0001-cryptsetup-generator-auto-add-deps-for-device-as-pas.patch @@ -0,0 +1,45 @@ +From 66a5dbdf282435403f947c2caadd04bb0cdec752 Mon Sep 17 00:00:00 2001 +From: Dave Reisner <dreisner@archlinux.org> +Date: Sat, 8 Feb 2014 12:54:58 -0500 +Subject: [PATCH] cryptsetup-generator: auto add deps for device as password + +If the password is a device file, we can add Requires/After dependencies +on the device rather than requiring the user to do so. +--- + src/cryptsetup/cryptsetup-generator.c | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) + +diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c +index 9c98f0b..46ad9b8 100644 +--- a/src/cryptsetup/cryptsetup-generator.c ++++ b/src/cryptsetup/cryptsetup-generator.c +@@ -130,11 +130,21 @@ static int create_disk( + streq(password, "/dev/random") || + streq(password, "/dev/hw_random")) + fputs("After=systemd-random-seed.service\n", f); +- else if (!streq(password, "-") && +- !streq(password, "none")) +- fprintf(f, +- "RequiresMountsFor=%s\n", +- password); ++ ++ else if (!streq(password, "-") && !streq(password, "none")) { ++ _cleanup_free_ char *uu = fstab_node_to_udev_node(password); ++ if (uu == NULL) ++ return log_oom(); ++ ++ if (is_device_path(uu)) { ++ _cleanup_free_ char *dd = unit_name_from_path(uu, ".device"); ++ if (dd == NULL) ++ return log_oom(); ++ ++ fprintf(f, "After=%1$s\nRequires=%1$s\n", dd); ++ } else ++ fprintf(f, "RequiresMountsFor=%s\n", password); ++ } + } + + if (is_device_path(u)) +-- +1.8.5.4 + diff --git a/core/systemd/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch b/core/systemd/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch new file mode 100644 index 000000000..d0533c84c --- /dev/null +++ b/core/systemd/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch @@ -0,0 +1,33 @@ +From 6c7980093c4e39d07bf06484f96f489e236c7c29 Mon Sep 17 00:00:00 2001 +From: Kay Sievers <kay@vrfy.org> +Date: Thu, 10 Oct 2013 01:38:11 +0200 +Subject: [PATCH] do not accept "garbage" from acpi firmware performance data + (FPDT) + +00000000 46 42 50 54 38 00 00 00 02 00 30 02 00 00 00 00 |FBPT8.....0.....| +00000010 23 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |#E..............| +00000020 f5 6a 51 00 00 00 00 00 00 00 00 00 00 00 00 00 |.jQ.............| +00000030 00 00 00 00 00 00 00 00 70 74 61 6c 58 00 00 00 |........ptalX...| +--- + src/shared/acpi-fpdt.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/shared/acpi-fpdt.c b/src/shared/acpi-fpdt.c +index af58c7c..75648b4 100644 +--- a/src/shared/acpi-fpdt.c ++++ b/src/shared/acpi-fpdt.c +@@ -146,6 +146,11 @@ int acpi_get_boot_usec(usec_t *loader_start, usec_t *loader_exit) { + if (brec.type != ACPI_FPDT_BOOT_REC) + return -EINVAL; + ++ if (brec.startup_start == 0 || brec.exit_services_exit < brec.startup_start) ++ return -EINVAL; ++ if (brec.exit_services_exit > NSEC_PER_HOUR) ++ return -EINVAL; ++ + if (loader_start) + *loader_start = brec.startup_start / 1000; + if (loader_exit) +-- +1.8.5.4 + diff --git a/core/systemd/0001-fstab-generator-Do-not-try-to-fsck-non-devices.patch b/core/systemd/0001-fstab-generator-Do-not-try-to-fsck-non-devices.patch new file mode 100644 index 000000000..e0f3d4ce3 --- /dev/null +++ b/core/systemd/0001-fstab-generator-Do-not-try-to-fsck-non-devices.patch @@ -0,0 +1,33 @@ +From 92e94a2b145eb3bee7035907cd8482285bb680ef Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org> +Date: Sun, 22 Dec 2013 09:17:14 +0100 +Subject: [PATCH] fstab-generator: Do not try to fsck non-devices + +This fixes a regression introduced in 64e70e4 where the mount fails +when fstab is misconfigured with fs_passno > 0 on a virtual file +system like nfs, and the type is specified as "auto". + +This is a backport of e2f123b97, but it since not all fsck-related patches +have been backported to this version, the implementation is a bit different. +--- + src/fstab-generator/fstab-generator.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c +index c0c2992..cf8b371 100644 +--- a/src/fstab-generator/fstab-generator.c ++++ b/src/fstab-generator/fstab-generator.c +@@ -210,7 +210,9 @@ static int add_mount( + post); + + if (passno > 0) { +- if (streq(where, "/")) { ++ if(!is_device_path(what)) { ++ log_warning("Checking was requested for \"%s\", but it is not a device.", what); ++ } else if (streq(where, "/")) { + lnk = strjoin(arg_dest, "/", SPECIAL_LOCAL_FS_TARGET, ".wants/", "systemd-fsck-root.service", NULL); + if (!lnk) + return log_oom(); +-- +1.8.5.2 + diff --git a/core/systemd/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch b/core/systemd/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch new file mode 100644 index 000000000..6e7f37bfe --- /dev/null +++ b/core/systemd/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch @@ -0,0 +1,41 @@ +From 77009452cfd25208509b14ea985e81fdf9f7d40e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> +Date: Thu, 3 Oct 2013 22:15:08 -0400 +Subject: [PATCH] systemd: order remote mounts from mountinfo before + remote-fs.target + +Usually the network is stopped before filesystems are umounted. +Ordering network filesystems before remote-fs.target means that their +unmounting will be performed earlier, and can terminate sucessfully. + +https://bugs.freedesktop.org/show_bug.cgi?id=70002 +--- + src/core/mount.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/core/mount.c b/src/core/mount.c +index 3d46557..93bfa99 100644 +--- a/src/core/mount.c ++++ b/src/core/mount.c +@@ -1440,6 +1440,9 @@ static int mount_add_one( + + u = manager_get_unit(m, e); + if (!u) { ++ const char* const target = ++ fstype_is_network(fstype) ? SPECIAL_REMOTE_FS_TARGET : SPECIAL_LOCAL_FS_TARGET; ++ + delete = true; + + u = unit_new(m, sizeof(Mount)); +@@ -1466,7 +1469,7 @@ static int mount_add_one( + goto fail; + } + +- r = unit_add_dependency_by_name(u, UNIT_BEFORE, SPECIAL_LOCAL_FS_TARGET, NULL, true); ++ r = unit_add_dependency_by_name(u, UNIT_BEFORE, target, NULL, true); + if (r < 0) + goto fail; + +-- +1.8.5.2 + diff --git a/core/systemd/0001-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch b/core/systemd/0001-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch new file mode 100644 index 000000000..58158f04a --- /dev/null +++ b/core/systemd/0001-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch @@ -0,0 +1,26 @@ +From 7074fecf6747c9a6ad872cc87701481e8bece8b0 Mon Sep 17 00:00:00 2001 +From: Dave Reisner <dreisner@archlinux.org> +Date: Wed, 2 Oct 2013 15:35:16 -0400 +Subject: [PATCH] tmpfiles.d: include setgid perms for /run/log/journal + +4608af4333d0f7f5 set permissions for journal storage on persistent disk +but not the volatile storage. + +ref: https://bugs.archlinux.org/task/37170 +--- + tmpfiles.d/systemd.conf | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf +index b630440..a05c657 100644 +--- a/tmpfiles.d/systemd.conf ++++ b/tmpfiles.d/systemd.conf +@@ -26,3 +26,5 @@ F /run/nologin 0644 - - - "System is booting up. See pam_nologin(8)" + + m /var/log/journal 2755 root systemd-journal - - + m /var/log/journal/%m 2755 root systemd-journal - - ++m /run/log/journal 2755 root systemd-journal - - ++m /run/log/journal/%m 2755 root systemd-journal - - +-- +1.8.5.4 + diff --git a/core/systemd/PKGBUILD b/core/systemd/PKGBUILD index 23023060a..57d98d7c5 100644 --- a/core/systemd/PKGBUILD +++ b/core/systemd/PKGBUILD @@ -4,10 +4,10 @@ pkgbase=systemd pkgname=('systemd' 'systemd-sysvcompat') pkgver=208 -pkgrel=3 +pkgrel=11 arch=('i686' 'x86_64' 'mips64el') url="http://www.freedesktop.org/wiki/Software/systemd" -makedepends=('acl' 'cryptsetup' 'dbus-core' 'docbook-xsl' 'gobject-introspection' 'gperf' +makedepends=('acl' 'cryptsetup' 'libdbus' 'docbook-xsl' 'gobject-introspection' 'gperf' 'gtk-doc' 'intltool' 'kmod' 'libcap' 'libgcrypt' 'libmicrohttpd' 'libxslt' 'linux-api-headers' 'pam' 'python' 'quota-tools' 'xz') options=('strip' 'debug') @@ -15,6 +15,8 @@ source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" 'initcpio-hook-udev' 'initcpio-install-systemd' 'initcpio-install-udev' + '0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch' + '0001-Make-hibernation-test-work-for-swap-files.patch' '0001-fix-lingering-references-to-var-lib-backlight-random.patch' '0001-mount-check-for-NULL-before-reading-pm-what.patch' '0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch' @@ -25,11 +27,18 @@ source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz" '0004-Remove-FsckPassNo-from-systemd-fsck-root.service.patch' '0005-mount-service-drop-FsckPassNo-support.patch' '0006-efi-boot-generator-hookup-to-fsck.patch' - '0007-fsck-root-only-run-when-requested-in-fstab.patch') + '0007-fsck-root-only-run-when-requested-in-fstab.patch' + '0001-fstab-generator-Do-not-try-to-fsck-non-devices.patch' + '0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch' + '0001-cryptsetup-generator-auto-add-deps-for-device-as-pas.patch' + '0001-do-not-accept-garbage-from-acpi-firmware-performance.patch' + '0001-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch') md5sums=('df64550d92afbffb4f67a434193ee165' '29245f7a240bfba66e2b1783b63b6b40' '8b68b0218a3897d4d37a6ccf47914774' 'bde43090d4ac0ef048e3eaee8202a407' + '8f1182afa1156f0076a912b23e761e02' + 'a5c6564d5435ee99814effd2aa9baf93' '1b191c4e7a209d322675fd199e3abc66' 'a693bef63548163ffc165f4c4801ebf7' 'ccafe716d87df9c42af0d1960b5a4105' @@ -40,10 +49,16 @@ md5sums=('df64550d92afbffb4f67a434193ee165' '2096f33bd36dfa0a7f0431d0a429787a' 'd2481a6ea199b581e243a950125b0ca6' 'c2aee634a3a6c50778968f0d5c756f40' - 'ef8b8212d504bb73c10bf4e85f0703b2') + 'ef8b8212d504bb73c10bf4e85f0703b2' + '4ba2317bf4d7708fca406f49482b1bf3' + '078f10d6fc315b329844cd20fa742eee' + 'f3e4e5b840cace769556e802466574da' + '707d64bad7461c04d4cfce21bfddf712' + '13232b7f28100e40990dde1c9e411596') prepare() { cd "$pkgname-$pkgver" + patch -Np1 < "$srcdir"/0001-fix-lingering-references-to-var-lib-backlight-random.patch patch -Np1 < "$srcdir"/0001-mount-check-for-NULL-before-reading-pm-what.patch patch -Np1 < "$srcdir"/0001-shared-util-fix-off-by-one-error-in-tag_to_udev_node.patch @@ -59,6 +74,17 @@ prepare() { patch -Np1 < "$srcdir"/0005-mount-service-drop-FsckPassNo-support.patch patch -Np1 < "$srcdir"/0006-efi-boot-generator-hookup-to-fsck.patch patch -Np1 < "$srcdir"/0007-fsck-root-only-run-when-requested-in-fstab.patch + # Fix FS#38210 (result of the previous backport) + patch -Np1 < "$srcdir"/0001-fstab-generator-Do-not-try-to-fsck-non-devices.patch + # Fix FS#38123 + patch -Np1 < "$srcdir"/0001-Make-hibernation-test-work-for-swap-files.patch + # Fix FS#35671 + patch -Np1 <"$srcdir"/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch + # Fix FS#38403 + patch -Np1 <"$srcdir"/0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch + patch -Np1 <"$srcdir"/0001-cryptsetup-generator-auto-add-deps-for-device-as-pas.patch + patch -Np1 <"$srcdir"/0001-d""o-not-accept-garbage-from-acpi-firmware-performance.patch + patch -Np1 <"$srcdir"/0001-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch autoreconf } @@ -119,8 +145,6 @@ package_systemd() { make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install - printf "d /run/console 0755 root root\n" > "$pkgdir/usr/lib/tmpfiles.d/console.conf" - # fix .so links in manpage stubs find "$pkgdir/usr/share/man" -type f -name '*.[[:digit:]]' \ -exec sed -ri '1s|^\.so (.*)\.([0-9]+)|.so man\2/\1.\2|' {} + diff --git a/core/systemd/systemd.install b/core/systemd/systemd.install index 1e79585d7..38a28f2c9 100644 --- a/core/systemd/systemd.install +++ b/core/systemd/systemd.install @@ -1,7 +1,7 @@ #!/bin/sh sd_booted() { - [ -e sys/fs/cgroup/systemd ] + [[ -d /run/systemd/systemd/ ]] } add_privs() { @@ -11,6 +11,12 @@ add_privs() { fi } +add_journal_acls() { + # ignore errors, since the filesystem might not support ACLs + setfacl -Rnm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx /var/log/journal/ 2>/dev/null + : +} + post_common() { systemd-machine-id-setup @@ -54,6 +60,8 @@ _208_changes() { post_install() { post_common + add_journal_acls + # enable getty@tty1 by default, but don't track the file systemctl enable getty@tty1.service @@ -115,6 +123,10 @@ post_upgrade() { if [ "$(vercmp 208-1 "$2")" -eq 1 ]; then _208_changes fi + + if [ "$(vercmp 208-8 "$2")" -eq 1 ]; then + add_journal_acls + fi } # vim:set ts=2 sw=2 et: diff --git a/core/util-linux/0001-lsblk-fix-D-segfault.patch b/core/util-linux/0001-lsblk-fix-D-segfault.patch deleted file mode 100644 index 8e4d7c6d2..000000000 --- a/core/util-linux/0001-lsblk-fix-D-segfault.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 71d842c01992b3678de4da4773ed54f08c0ab4f6 Mon Sep 17 00:00:00 2001 -From: Karel Zak <kzak@redhat.com> -Date: Mon, 18 Nov 2013 11:27:35 +0100 -Subject: [PATCH] lsblk: fix -D segfault - -References: https://bugzilla.redhat.com/show_bug.cgi?id=1031262 -Signed-off-by: Karel Zak <kzak@redhat.com> ---- - misc-utils/lsblk.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c -index 9f7f1b6..9b53be3 100644 ---- a/misc-utils/lsblk.c -+++ b/misc-utils/lsblk.c -@@ -903,7 +903,7 @@ static void set_tt_data(struct blkdev_cxt *cxt, int col, int id, struct tt_line - if (cxt->discard && p) - tt_line_set_data(ln, col, p); - else -- tt_line_set_data(ln, col, "0"); -+ tt_line_set_data(ln, col, xstrdup("0")); - break; - case COL_DGRAN: - if (lsblk->bytes) -@@ -936,7 +936,7 @@ static void set_tt_data(struct blkdev_cxt *cxt, int col, int id, struct tt_line - if (cxt->discard && p) - tt_line_set_data(ln, col, p); - else -- tt_line_set_data(ln, col, "0"); -+ tt_line_set_data(ln, col, xstrdup("0")); - break; - case COL_WSAME: - if (lsblk->bytes) -@@ -948,7 +948,7 @@ static void set_tt_data(struct blkdev_cxt *cxt, int col, int id, struct tt_line - "queue/write_same_max_bytes", &x) == 0) - p = size_to_human_string(SIZE_SUFFIX_1LETTER, x); - } -- tt_line_set_data(ln, col, p ? p : "0"); -+ tt_line_set_data(ln, col, p ? p : xstrdup("0")); - break; - }; - } --- -1.8.4.2 - diff --git a/core/util-linux/0001-pylibmount-correctly-import-from-pylibmount.so.patch b/core/util-linux/0001-pylibmount-correctly-import-from-pylibmount.so.patch deleted file mode 100644 index 34040b9eb..000000000 --- a/core/util-linux/0001-pylibmount-correctly-import-from-pylibmount.so.patch +++ /dev/null @@ -1,30 +0,0 @@ -From c8e5e6e7323642f7e6f12ee5f5231b0ec44c40ab Mon Sep 17 00:00:00 2001 -From: Dave Reisner <dreisner@archlinux.org> -Date: Thu, 21 Nov 2013 12:25:27 -0500 -Subject: [PATCH] pylibmount: correctly import from pylibmount.so - -Without this, python is unable to find the module: - -$ python -c 'import libmount' -Traceback (most recent call last): - File "<string>", line 1, in <module> - File "/usr/lib/python3.3/site-packages/libmount/__init__.py", line 1, in <module> - from pylibmount import * -ImportError: No module named 'pylibmount' - -Signed-off-by: Dave Reisner <dreisner@archlinux.org> ---- - libmount/python/libmount/__init__.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libmount/python/libmount/__init__.py b/libmount/python/libmount/__init__.py -index 243c639..09104e2 100644 ---- a/libmount/python/libmount/__init__.py -+++ b/libmount/python/libmount/__init__.py -@@ -1,2 +1,2 @@ --from pylibmount import * -+from .pylibmount import * - --- -1.8.4.2 - diff --git a/core/util-linux/PKGBUILD b/core/util-linux/PKGBUILD index aecd7341f..8578fd9f4 100644 --- a/core/util-linux/PKGBUILD +++ b/core/util-linux/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 201467 2013-12-12 15:33:24Z dreisner $ +# $Id: PKGBUILD 204875 2014-01-30 03:12:08Z tomegun $ # Maintainer: Tom Gundersen <teg@jklm.no> # Maintainer: Dave Reisner <dreisner@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgname=util-linux -pkgver=2.24 -pkgrel=2 +pkgver=2.24.1 +pkgrel=1 pkgdesc="Miscellaneous system utilities for Linux" url="http://www.kernel.org/pub/linux/utils/util-linux/" arch=('i686' 'x86_64' 'mips64el') @@ -19,8 +19,6 @@ provides=("util-linux-ng=$pkgver" 'eject') license=('GPL2') options=('strip' 'debug') source=("ftp://ftp.kernel.org/pub/linux/utils/$pkgname/v2.24/$pkgname-$pkgver.tar.xz" - 0001-lsblk-fix-D-segfault.patch - 0001-pylibmount-correctly-import-from-pylibmount.so.patch uuidd.tmpfiles pam-login pam-common @@ -31,21 +29,12 @@ backup=(etc/pam.d/chfn etc/pam.d/su etc/pam.d/su-l) install=util-linux.install -md5sums=('4fac6443427f575fc5f3531a4ad2ca01' - '1899fe3b853a5835c76cca0501b6b518' - 'a18a1e89ffdfa3bc96ae976646a723ec' +md5sums=('88d46ae23ca599ac5af9cf96b531590f' 'a39554bfd65cccfd8254bb46922f4a67' '4368b3f98abd8a32662e094c54e7f9b1' 'a31374fef2cba0ca34dfc7078e2969e4' 'fa85e5cce5d723275b14365ba71a8aad') -prepare() { - cd "$pkgname-$pkgver" - - patch -Np1 <"$srcdir"/0001-lsblk-fix-D-segfault.patch - patch -Np1 <"$srcdir"/0001-pylibmount-correctly-import-from-pylibmount.so.patch -} - build() { cd "$pkgname-$pkgver" diff --git a/core/wireless_tools/PKGBUILD b/core/wireless_tools/PKGBUILD index 8a6b6cb41..8373ceafd 100644 --- a/core/wireless_tools/PKGBUILD +++ b/core/wireless_tools/PKGBUILD @@ -1,32 +1,31 @@ -# $Id: PKGBUILD 186266 2013-05-23 06:41:05Z bisson $ +# $Id: PKGBUILD 205493 2014-02-06 05:23:57Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Giovanni Scafora <giovanni@archlinux.org> # Contributor: Jason Chu <jchu@xentac.net> pkgname=wireless_tools -pkgver=29 -pkgrel=8 +pkgver=30.pre9 +_pkgver=${pkgver%.pre*} +pkgrel=1 pkgdesc='Tools allowing to manipulate the Wireless Extensions' url='http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html' license=('GPL') arch=('i686' 'x86_64' 'mips64el') -source=("http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/${pkgname}.${pkgver}.tar.gz" - 'dense.patch') -sha1sums=('22040ac1497f4c5f8ddeca365591b01ae3475710' - '5c297c7dff1ec1d2a3d918c20622ab3c6daf5b72') +source=("http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/${pkgname}.${pkgver}.tar.gz") +sha1sums=('41db5ced9ed3d8d3cc104ce43c19af1d72f07eec') prepare() { - cd "${srcdir}/${pkgname}.${pkgver}" - patch -p1 -i ../dense.patch # FS#15363 + cd "${srcdir}/${pkgname}.${_pkgver}" + sed '/BUILD_STATIC =/d' -i Makefile } build() { - cd "${srcdir}/${pkgname}.${pkgver}" + cd "${srcdir}/${pkgname}.${_pkgver}" make CFLAGS="${CFLAGS} -I." LDFLAGS="${LDFLAGS}" } package() { - cd "${srcdir}/${pkgname}.${pkgver}" + cd "${srcdir}/${pkgname}.${_pkgver}" make \ INSTALL_DIR="${pkgdir}/usr/bin" \ INSTALL_LIB="${pkgdir}/usr/lib" \ diff --git a/core/wireless_tools/dense.patch b/core/wireless_tools/dense.patch deleted file mode 100644 index 85182cd82..000000000 --- a/core/wireless_tools/dense.patch +++ /dev/null @@ -1,49 +0,0 @@ -The length field of wext data (iw_point.data) is 16 bits. The largest -value is thus 65535. During the attempts to increase buffer size the -buffer starts at 4096 and is doubled after each failure to fill. From the -time this length reaches 65536 it is effectively zero. We thus loose all -potential space from 32768 to 65535. - -This problem is clear when scanning in a RF dense environment. - -Without this patch: -~$ iwlist wlan0 scan -print_scanning_info: Allocation failed - -With this patch: -~$ iwlist wlan0 scan | grep Cell | wc -l -86 - -Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> - ---- -A similar patch was recently created to fix wpa_supplicant. - -I could not find a source code repo for this code and created this patch -against version 30-pre7 downloaded from -http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html - -diff -uprN wireless_tools_org/wireless_tools.30/iwlist.c wireless_tools.30/iwlist.c ---- wireless_tools_org/wireless_tools.30/iwlist.c 2008-01-16 17:45:41.000000000 -0800 -+++ wireless_tools.30/iwlist.c 2009-02-12 14:16:48.000000000 -0800 -@@ -800,7 +800,7 @@ print_scanning_info(int skfd, - if(iw_get_ext(skfd, ifname, SIOCGIWSCAN, &wrq) < 0) - { - /* Check if buffer was too small (WE-17 only) */ -- if((errno == E2BIG) && (range.we_version_compiled > 16)) -+ if((errno == E2BIG) && (range.we_version_compiled > 16) && (buflen < 65535)) - { - /* Some driver may return very large scan results, either - * because there are many cells, or because they have many -@@ -816,6 +816,10 @@ print_scanning_info(int skfd, - else - buflen *= 2; - -+ /* wrq.u.data.length is 16 bits so max size is 65535 */ -+ if(buflen > 65535) -+ buflen = 65535; -+ - /* Try again */ - goto realloc; - } - |