summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/binutils/PKGBUILD10
-rw-r--r--core/crda/PKGBUILD6
-rw-r--r--core/cryptsetup/PKGBUILD4
-rw-r--r--core/curl/PKGBUILD9
-rw-r--r--core/dbus/PKGBUILD49
-rw-r--r--core/dhcpcd/PKGBUILD22
-rw-r--r--core/dhcpcd/dhcpcd.service4
-rw-r--r--core/dialog/PKGBUILD6
-rw-r--r--core/dirmngr/PKGBUILD4
-rw-r--r--core/dosfstools/PKGBUILD6
-rw-r--r--core/e2fsprogs/PKGBUILD10
-rw-r--r--core/file/PKGBUILD6
-rw-r--r--core/flex/PKGBUILD15
-rw-r--r--core/flex/lex.sh3
-rw-r--r--core/gcc/PKGBUILD18
-rw-r--r--core/gcc/gcc_mips64el_lib.patch24
-rw-r--r--core/gdbm/PKGBUILD31
-rw-r--r--core/gettext/PKGBUILD8
-rw-r--r--core/glibc/PKGBUILD77
-rw-r--r--core/glibc/glibc-2.18-getaddrinfo-CVE-2013-4458.patch41
-rw-r--r--core/glibc/glibc-2.18-getaddrinfo-assertion.patch39
-rw-r--r--core/glibc/glibc-2.18-make-4.patch45
-rw-r--r--core/glibc/glibc-2.18-malloc-corrupt-CVE-2013-4332.patch54
-rw-r--r--core/glibc/glibc-2.18-ptr-mangle-CVE-2013-4788.patch485
-rw-r--r--core/glibc/glibc-2.18-readdir_r-CVE-2013-4237.patch281
-rw-r--r--core/glibc/glibc-2.18-scanf-parse-0e-0.patch67
-rw-r--r--core/glibc/glibc-2.18-strcoll-CVE-2012-4412+4424.patch1004
-rw-r--r--core/glibc/glibc-2.18-strstr-hackfix.patch13
-rw-r--r--core/glibc/glibc-2.18-xattr-compat-hack.patch19
-rw-r--r--core/glibc/glibc.install2
-rwxr-xr-xcore/glibc/locale-gen60
-rw-r--r--core/gnupg/PKGBUILD4
-rw-r--r--core/grep/PKGBUILD6
-rw-r--r--core/inetutils/PKGBUILD10
-rw-r--r--core/iproute2/PKGBUILD8
-rw-r--r--core/iptables/0503-extension_cppflags.patch13
-rw-r--r--core/iptables/PKGBUILD14
-rw-r--r--core/isl/PKGBUILD13
-rw-r--r--core/iw/PKGBUILD6
-rw-r--r--core/kmod/PKGBUILD7
-rw-r--r--core/krb5/PKGBUILD19
-rw-r--r--core/ldns/PKGBUILD9
-rw-r--r--core/libcap/PKGBUILD11
-rw-r--r--core/libgcrypt/PKGBUILD24
-rw-r--r--core/libmpc/PKGBUILD8
-rw-r--r--core/libpcap/PKGBUILD13
-rw-r--r--core/libsasl/PKGBUILD19
-rw-r--r--core/libsasl/cyrus-sasl-sql.patch39
-rw-r--r--core/libusb/PKGBUILD (renamed from core/libusbx/PKGBUILD)14
-rw-r--r--core/lvm2/PKGBUILD6
-rw-r--r--core/man-db/PKGBUILD8
-rw-r--r--core/nfs-utils/PKGBUILD68
-rw-r--r--core/nfs-utils/blkmapd.service3
-rw-r--r--core/nfs-utils/exports15
-rw-r--r--core/nfs-utils/id_resolver.conf3
-rw-r--r--core/nfs-utils/nfs40
-rw-r--r--core/nfs-utils/nfs-client.target8
-rw-r--r--core/nfs-utils/nfs-server.target10
-rw-r--r--core/nfs-utils/nfsd.service6
-rw-r--r--core/nfs-utils/proc-fs-nfsd.mount2
-rw-r--r--core/nfs-utils/rpc-gssd.service6
-rw-r--r--core/nfs-utils/rpc-idmapd.service6
-rw-r--r--core/nfs-utils/rpc-mountd.service5
-rw-r--r--core/nfs-utils/rpc-statd.service7
-rw-r--r--core/nfs-utils/rpc-svcgssd.service5
-rw-r--r--core/nfs-utils/var-lib-nfs-rpc_pipefs.mount2
-rw-r--r--core/nilfs-utils/PKGBUILD10
-rw-r--r--core/openldap/PKGBUILD6
-rw-r--r--core/openldap/openldap.install1
-rw-r--r--core/openssh/PKGBUILD26
-rw-r--r--core/openssh/lowercase.patch32
-rw-r--r--core/openssh/sshdgenkeys.service10
-rw-r--r--core/openssl/PKGBUILD24
-rw-r--r--core/openssl/openssl-1.0.1-Check-DTLS_BAD_VER-for-version-number.patch31
-rw-r--r--core/openssl/openssl-1.0.1-e_aes_cbc_hmac_sha1.c-fix-rare-bad-record-mac-on-AES.patch32
-rw-r--r--core/openssl/openssl-1.0.1e-fix_pod_syntax-1.patch393
-rw-r--r--core/openssl/openssl-1.0.1f-perl-5.18.patch356
-rw-r--r--core/pam/PKGBUILD10
-rw-r--r--core/pciutils/PKGBUILD8
-rw-r--r--core/pcre/PKGBUILD15
-rw-r--r--core/perl/PKGBUILD11
-rw-r--r--core/perl/perl.install10
-rw-r--r--core/procps-ng/PKGBUILD10
-rw-r--r--core/pth/PKGBUILD5
-rw-r--r--core/s-nail/PKGBUILD25
-rw-r--r--core/s-nail/maildir.patch253
-rw-r--r--core/s-nail/mimeheader.patch147
-rw-r--r--core/s-nail/sort.patch75
-rw-r--r--core/sudo/PKGBUILD12
-rw-r--r--core/sudo/sudo.pam5
-rw-r--r--core/systemd/0001-Make-hibernation-test-work-for-swap-files.patch28
-rw-r--r--core/systemd/0001-acpi-fpdt-break-on-zero-or-negative-length-read.patch26
-rw-r--r--core/systemd/0001-cryptsetup-generator-auto-add-deps-for-device-as-pas.patch45
-rw-r--r--core/systemd/0001-do-not-accept-garbage-from-acpi-firmware-performance.patch33
-rw-r--r--core/systemd/0001-fstab-generator-Do-not-try-to-fsck-non-devices.patch33
-rw-r--r--core/systemd/0001-systemd-order-remote-mounts-from-mountinfo-before-re.patch41
-rw-r--r--core/systemd/0001-tmpfiles.d-include-setgid-perms-for-run-log-journal.patch26
-rw-r--r--core/systemd/PKGBUILD36
-rw-r--r--core/systemd/systemd.install14
-rw-r--r--core/util-linux/0001-lsblk-fix-D-segfault.patch45
-rw-r--r--core/util-linux/0001-pylibmount-correctly-import-from-pylibmount.so.patch30
-rw-r--r--core/util-linux/PKGBUILD19
-rw-r--r--core/wireless_tools/PKGBUILD21
-rw-r--r--core/wireless_tools/dense.patch49
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;
- }
-