From a3b55a0c47a00ac40bc00a4ce87d93f809273840 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 25 Oct 2012 01:42:20 -0700 Subject: Thu Oct 25 01:42:05 PDT 2012 --- testing/glibc/PKGBUILD | 53 ++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 41 insertions(+), 12 deletions(-) (limited to 'testing/glibc/PKGBUILD') diff --git a/testing/glibc/PKGBUILD b/testing/glibc/PKGBUILD index 6dc93f31e..0d8b274be 100644 --- a/testing/glibc/PKGBUILD +++ b/testing/glibc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 165242 2012-08-14 08:31:14Z allan $ +# $Id: PKGBUILD 169652 2012-10-25 03:25:47Z allan $ # Maintainer: Allan McRae # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -6,7 +6,7 @@ pkgname=glibc pkgver=2.16.0 -pkgrel=3 +pkgrel=5 pkgdesc="GNU C Library" arch=('i686' 'x86_64') url="http://www.gnu.org/software/libc" @@ -21,8 +21,12 @@ options=('!strip') install=glibc.install source=(http://ftp.gnu.org/gnu/libc/${pkgname}-${pkgver}.tar.xz{,.sig} glibc-2.15-fix-res_query-assert.patch - glibc-2.15-revert-c5a0802a.patch + glibc-2.16-unlock-mutex.patch glibc-2.16-rpcgen-cpp-path.patch + glibc-2.16-strncasecmp-segfault.patch + glibc-2.16-strtod-overflow.patch + glibc-2.16-detect-fma.patch + glibc-2.16-glob-use-size_t.patch nscd.rcd nscd.service nscd.tmpfiles @@ -31,14 +35,19 @@ source=(http://ftp.gnu.org/gnu/libc/${pkgname}-${pkgver}.tar.xz{,.sig} md5sums=('80b181b02ab249524ec92822c0174cf7' '2a1221a15575820751c325ef4d2fbb90' '31f415b41197d85d3bbee3d1eecd06a3' - '0a0383d50d63f1c02919fe9943b82014' + '0afcd8c6020d61684aba63ed5f26bd91' 'ea6a43915474e8276e9361eed6a01280' + 'f042d37cc8ca3459023431809039bc88' + '61d322f7681a85d3293ada5c3ccc2c7e' + '2426f593bc43f5499c41d21b57ee0e30' + 'a441353901992feda4b15a11a20140a1' '589d79041aa767a5179eaa4e2737dd3f' - 'ad8a9af15ab7eeaa23dc7ee85024af9f' + 'c1e07c0bec0fe89791bfd9d13fc85edf' 'bccbe5619e75cf1d97312ec3681c605c' '07ac979b6ab5eeb778d55f041529d623' '476e9113489f93b348b21e144b6a8fcf') + build() { cd ${srcdir}/${pkgname}-${pkgver} @@ -46,14 +55,33 @@ build() { # http://sourceware.org/bugzilla/show_bug.cgi?id=13013 patch -p1 -i ${srcdir}/glibc-2.15-fix-res_query-assert.patch - # revert commit c5a0802a - causes various hangs - # https://bugzilla.redhat.com/show_bug.cgi?id=552960 - patch -p1 -i ${srcdir}/glibc-2.15-revert-c5a0802a.patch + # prevent hang by locked mutex + # http://sourceware.org/git/?p=glibc.git;a=patch;h=c30e8edf + patch -p1 -i ${srcdir}/glibc-2.16-unlock-mutex.patch # prevent need for /lib/cpp symlink # http://sourceware.org/git/?p=glibc.git;a=commit;h=bf9b740a patch -p1 -i ${srcdir}/glibc-2.16-rpcgen-cpp-path.patch + # strncasecmp segfault on i686 + # http://sourceware.org/git/?p=glibc.git;a=commit;h=6db8f737 + patch -p1 -i ${srcdir}/glibc-2.16-strncasecmp-segfault.patch + + # strtod integer/buffer overflow + # http://sourceware.org/git/?p=glibc.git;a=commit;h=da1f4319 + patch -p1 -i ${srcdir}/glibc-2.16-strtod-overflow.patch + + # detect FMA supprt + # http://sourceware.org/git/?p=glibc.git;a=commit;h=a5cfcf08 + patch -p1 -i ${srcdir}/glibc-2.16-detect-fma.patch + + # prevent overflow in globc + # http://sourceware.org/git/?p=glibc.git;a=commit;h=6c62f108 + patch -p1 -i ${srcdir}/glibc-2.16-glob-use-size_t.patch + + # ldconfig does not need to look in /usr/lib64 or /usr/libx32 on Arch Linux + sed -i "s#add_system_dir#do_not_add_system_dir#" sysdeps/unix/sysv/linux/x86_64/dl-cache.h + cd ${srcdir} mkdir glibc-build cd glibc-build @@ -64,7 +92,7 @@ build() { export CFLAGS="${CFLAGS} -mno-tls-direct-seg-refs" fi - echo "slibdir=/lib" >> configparms + echo "slibdir=/usr/lib" >> configparms # remove hardening options from CFLAGS for building libraries CFLAGS=${CFLAGS/-fstack-protector/} @@ -96,14 +124,12 @@ build() { check() { cd ${srcdir}/glibc-build - make -k check + make check } package() { cd ${srcdir}/glibc-build - ln -s usr/lib ${pkgdir}/lib - install -dm755 ${pkgdir}/etc touch ${pkgdir}/etc/ld.so.conf @@ -111,6 +137,9 @@ package() { rm -f ${pkgdir}/etc/ld.so.{cache,conf} + # eventually this will move to the filesystem package + ln -s usr/lib ${pkgdir}/lib + install -dm755 ${pkgdir}/{etc/rc.d,usr/{sbin,lib/{,locale,systemd/system,tmpfiles.d}}} install -m644 ${srcdir}/${pkgname}-${pkgver}/nscd/nscd.conf ${pkgdir}/etc/nscd.conf -- cgit v1.2.3-54-g00ecf