From 650a87f5a67f6e71d4a56e52139a718d86ebbb46 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 15 Feb 2012 20:35:25 +0000 Subject: Wed Feb 15 20:35:25 UTC 2012 --- testing/glibc/PKGBUILD | 27 +++- testing/glibc/glibc-2.15-arena.patch | 29 +++++ .../glibc/glibc-2.15-negative-result-cache.patch | 138 +++++++++++++++++++++ .../glibc/glibc-2.15-strcasecmp-disable-avx.patch | 48 +++++++ testing/shadow/PKGBUILD | 7 +- testing/shadow/nscd-error-reporting.patch | 17 +++ testing/xf86-video-savage/PKGBUILD | 24 ++-- 7 files changed, 275 insertions(+), 15 deletions(-) create mode 100644 testing/glibc/glibc-2.15-arena.patch create mode 100644 testing/glibc/glibc-2.15-negative-result-cache.patch create mode 100644 testing/glibc/glibc-2.15-strcasecmp-disable-avx.patch create mode 100644 testing/shadow/nscd-error-reporting.patch (limited to 'testing') diff --git a/testing/glibc/PKGBUILD b/testing/glibc/PKGBUILD index 150204fbf..a5159b34b 100644 --- a/testing/glibc/PKGBUILD +++ b/testing/glibc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 148588 2012-02-04 06:45:28Z allan $ +# $Id: PKGBUILD 150168 2012-02-14 06:50:20Z allan $ # Maintainer: Allan McRae # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -6,7 +6,7 @@ pkgname=glibc pkgver=2.15 -pkgrel=5 +pkgrel=6 _glibcdate=20111227 pkgdesc="GNU C Library" arch=('i686' 'x86_64') @@ -35,8 +35,11 @@ source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.t glibc-2.15-scanf.patch glibc-2.15-ifunc.patch glibc-2.15-avx.patch + glibc-2.15-strcasecmp-disable-avx.patch glibc-2.15-gb18030.patch glibc-2.15-revert-netlink-cache.patch + glibc-2.15-arena.patch + glibc-2.15-negative-result-cache.patch nscd locale.gen.txt locale-gen) @@ -55,8 +58,11 @@ md5sums=('6ffdf5832192b92f98bdd125317c0dfc' '39353f53168f4a7509ba5fe0d9f218b8' '136eb969f5d6bb6f5155f72a1a7cf23e' '41ae047ac88e8f6f547c70b0a0bc3b72' + 'fccb89f6628f59752278e125c35941f8' 'c4cd34f20ccd37817f6c1374bd4ee68e' '6771b0b2bb8aa3870a259fd2f46c424f' + 'a9ffadcfd2d357f91fee0b861fd4a7c6' + '2c46b8e294de24c531f2253ff69aeef3' 'b587ee3a70c9b3713099295609afde49' '07ac979b6ab5eeb778d55f041529d623' '476e9113489f93b348b21e144b6a8fcf') @@ -80,8 +86,9 @@ build() { # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781 patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch - # http://sources.redhat.com/bugzilla/show_bug.cgi?id=411 + # Undefine __i686 for gcc <= 4.6 # http://sourceware.org/ml/libc-alpha/2009-07/msg00072.html + # fix in http://sourceware.org/git/?p=glibc.git;a=commit;h=d4a54ac6 requires additional backporting... patch -Np1 -i ${srcdir}/glibc-__i686.patch # http://www.exploit-db.com/exploits/15274/ @@ -115,6 +122,8 @@ build() { # revert commit c5a0802a - causes various hangs # https://bugzilla.redhat.com/show_bug.cgi?id=769421 + # Note: fedora may have actual fix (not submitted upstream yet...) + # http://pkgs.fedoraproject.org/gitweb/?p=glibc.git;a=blob_plain;f=glibc-rh552960-2.patch patch -Np1 -i ${srcdir}/glibc-2.15-revert-c5a0802a.patch # fix realloc usage in vfscanf @@ -129,6 +138,8 @@ build() { # http://sourceware.org/git/?p=glibc.git;a=commit;h=afc5ed09 # http://sourceware.org/git/?p=glibc.git;a=commit;h=08cf777f patch -Np1 -i ${srcdir}/glibc-2.15-avx.patch + # and "fix" strcasecmp + patch -Np1 -i ${srcdir}/glibc-2.15-strcasecmp-disable-avx.patch # fix GB18030 charmap # http://sourceware.org/bugzilla/show_bug.cgi?id=11837 @@ -137,10 +148,18 @@ build() { patch -Np1 -i ${srcdir}/glibc-2.15-gb18030.patch # fix crash in __nscd_get_mapping if nscd not running - # http://sourceware.org/bugzilla/show_bug.cgi?id=13594 + # http://sourceware.org/bugzilla/show_bug.cgi?id=13594 (potential "fix" in comment) # reverts commit 3a2c0242 and other necessary following changes... patch -Np1 -i ${srcdir}/glibc-2.15-revert-netlink-cache.patch + # handle ARENA_TEST correctly + # http://sourceware.org/git/?p=glibc.git;a=commit;h=41b81892 + patch -Np1 -i ${srcdir}/glibc-2.15-arena.patch + + # Do not cache negative results in nscd if these are transient + # http://sourceware.org/git/?p=glibc.git;a=commit;h=3e1aa84e + patch -Np1 -i ${srcdir}/glibc-2.15-negative-result-cache.patch + install -dm755 ${pkgdir}/etc touch ${pkgdir}/etc/ld.so.conf diff --git a/testing/glibc/glibc-2.15-arena.patch b/testing/glibc/glibc-2.15-arena.patch new file mode 100644 index 000000000..46f52e98d --- /dev/null +++ b/testing/glibc/glibc-2.15-arena.patch @@ -0,0 +1,29 @@ +diff --git a/malloc/arena.c b/malloc/arena.c +index d3cf4b9..b1c9469 100644 +--- a/malloc/arena.c ++++ b/malloc/arena.c +@@ -828,7 +828,7 @@ arena_get2(mstate a_tsd, size_t size) + { + if (mp_.arena_max != 0) + narenas_limit = mp_.arena_max; +- else ++ else if (narenas > mp_.arena_test) + { + int n = __get_nprocs (); + +@@ -842,7 +842,14 @@ arena_get2(mstate a_tsd, size_t size) + } + repeat:; + size_t n = narenas; +- if (__builtin_expect (n <= mp_.arena_test || n < narenas_limit, 0)) ++ /* NB: the following depends on the fact that (size_t)0 - 1 is a ++ very large number and that the underflow is OK. If arena_max ++ is set the value of arena_test is irrelevant. If arena_test ++ is set but narenas is not yet larger or equal to arena_test ++ narenas_limit is 0. There is no possibility for narenas to ++ be too big for the test to always fail since there is not ++ enough address space to create that many arenas. */ ++ if (__builtin_expect (n <= narenas_limit - 1, 0)) + { + if (catomic_compare_and_exchange_bool_acq (&narenas, n + 1, n)) + goto repeat; diff --git a/testing/glibc/glibc-2.15-negative-result-cache.patch b/testing/glibc/glibc-2.15-negative-result-cache.patch new file mode 100644 index 000000000..c09e79a17 --- /dev/null +++ b/testing/glibc/glibc-2.15-negative-result-cache.patch @@ -0,0 +1,138 @@ +diff --git a/nscd/aicache.c b/nscd/aicache.c +index aaaf80d..e1f1244 100644 +--- a/nscd/aicache.c ++++ b/nscd/aicache.c +@@ -1,5 +1,5 @@ + /* Cache handling for host lookup. +- Copyright (C) 2004-2008, 2009, 2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 2004-2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 2004. + +@@ -514,8 +514,9 @@ next_nip: + if (fd != -1) + TEMP_FAILURE_RETRY (send (fd, ¬found, total, MSG_NOSIGNAL)); + +- /* If we cannot permanently store the result, so be it. */ +- if (__builtin_expect (db->negtimeout == 0, 0)) ++ /* If we have a transient error or cannot permanently store the ++ result, so be it. */ ++ if (rc4 == EAGAIN || __builtin_expect (db->negtimeout == 0, 0)) + { + /* Mark the old entry as obsolete. */ + if (dh != NULL) +diff --git a/nscd/grpcache.c b/nscd/grpcache.c +index e9607c6..a698f36 100644 +--- a/nscd/grpcache.c ++++ b/nscd/grpcache.c +@@ -1,5 +1,5 @@ + /* Cache handling for group lookup. +- Copyright (C) 1998-2008, 2009, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1998-2008, 2009, 2011, 2012 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1998. + +@@ -120,8 +120,9 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req, + else + written = total; + +- /* If we cannot permanently store the result, so be it. */ +- if (db->negtimeout == 0) ++ /* If we have a transient error or cannot permanently store ++ the result, so be it. */ ++ if (errno == EAGAIN || __builtin_expect (db->negtimeout == 0, 0)) + { + /* Mark the old entry as obsolete. */ + if (dh != NULL) +diff --git a/nscd/hstcache.c b/nscd/hstcache.c +index 4d68ade..c72feaa 100644 +--- a/nscd/hstcache.c ++++ b/nscd/hstcache.c +@@ -1,5 +1,5 @@ + /* Cache handling for host lookup. +- Copyright (C) 1998-2008, 2009, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1998-2008, 2009, 2011, 2012 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1998. + +@@ -141,8 +141,9 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req, + MSG_NOSIGNAL)) != total) + all_written = false; + +- /* If we cannot permanently store the result, so be it. */ +- if (__builtin_expect (db->negtimeout == 0, 0)) ++ /* If we have a transient error or cannot permanently store ++ the result, so be it. */ ++ if (errval == EAGAIN || __builtin_expect (db->negtimeout == 0, 0)) + { + /* Mark the old entry as obsolete. */ + if (dh != NULL) +diff --git a/nscd/initgrcache.c b/nscd/initgrcache.c +index 4ac9942..2019991 100644 +--- a/nscd/initgrcache.c ++++ b/nscd/initgrcache.c +@@ -1,5 +1,5 @@ + /* Cache handling for host lookup. +- Copyright (C) 2004-2006, 2008, 2009, 2011 Free Software Foundation, Inc. ++ Copyright (C) 2004-2006, 2008, 2009, 2011, 2012 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 2004. + +@@ -202,8 +202,9 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req, + written = TEMP_FAILURE_RETRY (send (fd, ¬found, total, + MSG_NOSIGNAL)); + +- /* If we cannot permanently store the result, so be it. */ +- if (__builtin_expect (db->negtimeout == 0, 0)) ++ /* If we have a transient error or cannot permanently store ++ the result, so be it. */ ++ if (all_tryagain || __builtin_expect (db->negtimeout == 0, 0)) + { + /* Mark the old entry as obsolete. */ + if (dh != NULL) +diff --git a/nscd/pwdcache.c b/nscd/pwdcache.c +index 49e130c..e2ba09d 100644 +--- a/nscd/pwdcache.c ++++ b/nscd/pwdcache.c +@@ -1,5 +1,5 @@ + /* Cache handling for passwd lookup. +- Copyright (C) 1998-2008, 2009, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1998-2008, 2009, 2011, 2012 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1998. + +@@ -124,8 +124,9 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req, + written = TEMP_FAILURE_RETRY (send (fd, ¬found, total, + MSG_NOSIGNAL)); + +- /* If we cannot permanently store the result, so be it. */ +- if (__builtin_expect (db->negtimeout == 0, 0)) ++ /* If we have a transient error or cannot permanently store ++ the result, so be it. */ ++ if (errno == EAGAIN || __builtin_expect (db->negtimeout == 0, 0)) + { + /* Mark the old entry as obsolete. */ + if (dh != NULL) +diff --git a/nscd/servicescache.c b/nscd/servicescache.c +index d3d5dce..a6337e3 100644 +--- a/nscd/servicescache.c ++++ b/nscd/servicescache.c +@@ -1,5 +1,5 @@ + /* Cache handling for services lookup. +- Copyright (C) 2007, 2008, 2009, 2011 Free Software Foundation, Inc. ++ Copyright (C) 2007, 2008, 2009, 2011, 2012 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 2007. + +@@ -108,8 +108,9 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req, + written = TEMP_FAILURE_RETRY (send (fd, ¬found, total, + MSG_NOSIGNAL)); + +- /* If we cannot permanently store the result, so be it. */ +- if (__builtin_expect (db->negtimeout == 0, 0)) ++ /* If we have a transient error or cannot permanently store ++ the result, so be it. */ ++ if (errval == EAGAIN || __builtin_expect (db->negtimeout == 0, 0)) + { + /* Mark the old entry as obsolete. */ + if (dh != NULL) diff --git a/testing/glibc/glibc-2.15-strcasecmp-disable-avx.patch b/testing/glibc/glibc-2.15-strcasecmp-disable-avx.patch new file mode 100644 index 000000000..4c104fa55 --- /dev/null +++ b/testing/glibc/glibc-2.15-strcasecmp-disable-avx.patch @@ -0,0 +1,48 @@ +diff --git a/sysdeps/x86_64/multiarch/strcmp.S b/sysdeps/x86_64/multiarch/strcmp.S +index f93c83d..d8aa889 100644 +--- a/sysdeps/x86_64/multiarch/strcmp.S ++++ b/sysdeps/x86_64/multiarch/strcmp.S +@@ -105,11 +105,6 @@ ENTRY(__strcasecmp) + jne 1f + call __init_cpu_features + 1: +-# ifdef HAVE_AVX_SUPPORT +- leaq __strcasecmp_avx(%rip), %rax +- testl $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip) +- jnz 2f +-# endif + leaq __strcasecmp_sse42(%rip), %rax + testl $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip) + jnz 2f +@@ -128,11 +123,6 @@ ENTRY(__strncasecmp) + jne 1f + call __init_cpu_features + 1: +-# ifdef HAVE_AVX_SUPPORT +- leaq __strncasecmp_avx(%rip), %rax +- testl $bit_AVX, __cpu_features+CPUID_OFFSET+index_AVX(%rip) +- jnz 2f +-# endif + leaq __strncasecmp_sse42(%rip), %rax + testl $bit_SSE4_2, __cpu_features+CPUID_OFFSET+index_SSE4_2(%rip) + jnz 2f +@@ -152,19 +142,6 @@ weak_alias (__strncasecmp, strncasecmp) + # include "strcmp-sse42.S" + + +-# ifdef HAVE_AVX_SUPPORT +-# if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +-# define LABEL(l) .L##l##_avx +-# define GLABEL(l) l##_avx +-# define USE_AVX 1 +-# undef STRCMP_SSE42 +-# define STRCMP_SSE42 STRCMP_AVX +-# define SECTION avx +-# include "strcmp-sse42.S" +-# endif +-# endif +- +- + # undef ENTRY + # define ENTRY(name) \ + .type STRCMP_SSE2, @function; \ diff --git a/testing/shadow/PKGBUILD b/testing/shadow/PKGBUILD index 7409f0f9f..b47226ed4 100644 --- a/testing/shadow/PKGBUILD +++ b/testing/shadow/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 150166 2012-02-14 01:55:53Z dreisner $ +# $Id: PKGBUILD 150202 2012-02-14 16:39:16Z dreisner $ # Maintainer: Dave Reisner # Maintainer: Aaron Griffin pkgname=shadow pkgver=4.1.5 -pkgrel=2 +pkgrel=3 pkgdesc="Password and account management tool suite with support for shadow files and PAM" arch=('i686' 'x86_64') url='http://pkg-shadow.alioth.debian.org/' @@ -30,6 +30,7 @@ source=("http://pkg-shadow.alioth.debian.org/releases/$pkgname-$pkgver.tar.bz2"{ passwd shadow.cron.daily useradd.defaults + nscd-error-reporting.patch xstrdup.patch shadow-strncpy-usage.patch shadow-add-missing-include.patch) @@ -46,6 +47,7 @@ sha1sums=('3ab1ae0e30af36d04445314fcb5a079bdf05de41' '611be25d91c3f8f307c7fe2485d5f781e5dee75f' '5d83ba7e11c765c951867cbe00b0ae7ff57148fa' '9ae93de5987dd0ae428f0cc1a5a5a5cd53583f19' + 'ae6eebb842c433ac4022c493294a13ed68e06acc' '6010fffeed1fc6673ad9875492e1193b1a847b53' '21e12966a6befb25ec123b403cd9b5c492fe5b16' '0697a21f7519de30821da7772677035652df4ad2') @@ -62,6 +64,7 @@ build() { patch -Np1 <"$srcdir/xstrdup.patch" patch -Np1 <"$srcdir/shadow-strncpy-usage.patch" patch -Np1 <"$srcdir/shadow-add-missing-include.patch" + patch -Np1 <"$srcdir/nscd-error-reporting.patch" # supress etc/pam.d/*, we provide our own sed -i '/^SUBDIRS/s/pam.d//' etc/Makefile.in diff --git a/testing/shadow/nscd-error-reporting.patch b/testing/shadow/nscd-error-reporting.patch new file mode 100644 index 000000000..a4075756e --- /dev/null +++ b/testing/shadow/nscd-error-reporting.patch @@ -0,0 +1,17 @@ +diff --git a/upstream/trunk/lib/nscd.c b/upstream/trunk/lib/nscd.c +index 227c205..7adb58f 100644 +--- a/lib/nscd.c ++++ b/lib/nscd.c +@@ -39,8 +39,11 @@ int nscd_flush_cache (const char *service) + /* nscd is not installed, or it is installed but uses an + interpreter that is missing. Probably the former. */ + return 0; ++ } else if (code == 1) { ++ /* nscd is installed, but it isn't active. */ ++ return 0; + } else if (code != 0) { +- (void) fprintf (stderr, _("%s: nscd exited with status %d"), ++ (void) fprintf (stderr, _("%s: nscd exited with status %d\n"), + Prog, code); + (void) fprintf (stderr, _(MSG_NSCD_FLUSH_CACHE_FAILED), Prog); + return -1; diff --git a/testing/xf86-video-savage/PKGBUILD b/testing/xf86-video-savage/PKGBUILD index b09d8495b..74cb1514d 100644 --- a/testing/xf86-video-savage/PKGBUILD +++ b/testing/xf86-video-savage/PKGBUILD @@ -1,29 +1,35 @@ -# $Id: PKGBUILD 150067 2012-02-12 09:45:36Z andyrtr $ +# $Id: PKGBUILD 150182 2012-02-14 09:08:45Z andyrtr $ # Maintainer: Jan de Groot pkgname=xf86-video-savage pkgver=2.3.3 -pkgrel=2 +pkgrel=3 +_gitver=c4022796ec69bb3223d435d8442f9168aebe9c3d pkgdesc="X.org savage video driver" arch=(i686 x86_64) url="http://xorg.freedesktop.org/" license=('custom') depends=('glibc') -makedepends=('xorg-server-devel>=1.11.99.903' 'libdrm' 'xf86driproto' 'mesa>=8.0') # 'glproto') -conflicts=('xorg-server<1.11.99.903') +makedepends=('xorg-server-devel>=1.11.99.903') # 'libdrm' 'xf86driproto' 'mesa>=8.0') # 'glproto') +conflicts=('xorg-server<1.11.99.903' 'savage-dri') options=(!libtool !makeflags) groups=('xorg-drivers' 'xorg') -source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2) -sha256sums=('d3854d375dbf7d83bf90e30d72837ce60d808119c6fa4bb98088e68e7cc7e7b2') +source=(#${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2 + #http://cgit.freedesktop.org/xorg/driver/xf86-video-savage/snapshot/xf86-video-savage-${_gitver}.tar.gz + ftp://ftp..archlinux.org/other/xf86-video-savage/xf86-video-savage-${_gitver}.tar.gz) +md5sums=('3a7921de0d365ab5dd1af15010807e36') build() { - cd "${srcdir}/${pkgname}-${pkgver}" - ./configure --prefix=/usr #--enable-dri + #cd "${srcdir}/${pkgname}-${pkgver}" + cd ${srcdir}/${pkgname}* + autoreconf -fi + ./configure --prefix=/usr --disable-dri make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + #cd "${srcdir}/${pkgname}-${pkgver}" + cd ${srcdir}/${pkgname}* make DESTDIR="${pkgdir}" install install -d -m755 "${pkgdir}/usr/share/licenses/${pkgname}" -- cgit v1.2.3-54-g00ecf