diff options
Diffstat (limited to 'core/glibc/PKGBUILD')
-rw-r--r-- | core/glibc/PKGBUILD | 112 |
1 files changed, 80 insertions, 32 deletions
diff --git a/core/glibc/PKGBUILD b/core/glibc/PKGBUILD index 3a70b66ed..2a06375ec 100644 --- a/core/glibc/PKGBUILD +++ b/core/glibc/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 150228 2012-02-15 09:53:59Z allan $ +# $Id: PKGBUILD 151829 2012-03-03 08:49:00Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc @@ -6,7 +6,7 @@ pkgname=glibc pkgver=2.15 -pkgrel=6 +pkgrel=7 _glibcdate=20111227 pkgdesc="GNU C Library" arch=('i686' 'x86_64') @@ -22,13 +22,12 @@ options=('!strip') install=glibc.install source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.tar.xz glibc-2.10-dont-build-timezone.patch - glibc-2.10-bz4781.patch glibc-__i686.patch glibc-2.12.2-ignore-origin-of-privileged-program.patch glibc-2.14-libdl-crash.patch - glibc-2.14-revert-4768ae77.patch glibc-2.14-reexport-rpc-interface.patch glibc-2.14-reinstall-nis-rpc-headers.patch + glibc-2.15-fix-res_query-assert.patch glibc-2.15-regex.patch glibc-2.15-lddebug-scopes.patch glibc-2.15-revert-c5a0802a.patch @@ -40,29 +39,46 @@ source=(ftp://ftp.archlinux.org/other/glibc/${pkgname}-${pkgver}_${_glibcdate}.t glibc-2.15-revert-netlink-cache.patch glibc-2.15-arena.patch glibc-2.15-negative-result-cache.patch + glibc-2.15-multiarch-x86-strcmp.patch + glibc-2.15-vdso.patch + glibc-2.15-feraiseexcept-plt.patch + glibc-2.15-vfprintf-nargs.patch + glibc-2.15-__libc_res_nquerydomain-out-of-bounds.patch + glibc-2.15-fmtmsg-locking.patch + glibc-2.15-non-signalling-comparisons.patch + glibc-2.15-rintf-rounding.patch + glibc-2.15-nearbyintf-rounding.patch nscd locale.gen.txt locale-gen) md5sums=('6ffdf5832192b92f98bdd125317c0dfc' '4dadb9203b69a3210d53514bb46f41c3' - '0c5540efc51c0b93996c51b57a8540ae' '40cd342e21f71f5e49e32622b25acc52' - 'b042647ea7d6f22ad319e12e796bd13e' + 'e60e33591c9ec1447e4cddadcbb9cf3a' '6970bcfeb3bf88913436d5112d16f588' - '7da8c554a3b591c7401d7023b1928afc' 'c5de2a946215d647c8af5432ec4b0da0' '55febbb72139ac7b65757df085024b83' + '31f415b41197d85d3bbee3d1eecd06a3' 'b3526cbd5e29773560dba725db99af5a' '3c219ddfb619b6df903cac4cc42c611d' '7ae3e426251ae33e73dbad71f9c91378' - '39353f53168f4a7509ba5fe0d9f218b8' - '136eb969f5d6bb6f5155f72a1a7cf23e' + 'f0782ddbf38e0b30ec6b85348816046f' + '3d844b53b2dbb7c996e39c7ad932f55d' '41ae047ac88e8f6f547c70b0a0bc3b72' 'fccb89f6628f59752278e125c35941f8' 'c4cd34f20ccd37817f6c1374bd4ee68e' - '6771b0b2bb8aa3870a259fd2f46c424f' + '94b61302a7ca6c5764d013dc7738fcfe' 'a9ffadcfd2d357f91fee0b861fd4a7c6' '2c46b8e294de24c531f2253ff69aeef3' + '7a2998a04ebfcf8bf820540f490ce714' + '0d77d20fa7fe2f87ad945cb9edb4d91d' + 'bfdefac3d705f41fbf84b1de1dc945af' + 'dded423e264cdd178500f3e8ad62fe66' + '340deaa582a95ddde86edb624c3bfea0' + '6bbac50e6ff82187654e6a0a7bd849e7' + 'c483504cf404ed0b44480af627813a97' + '1419d61fd1dbc6cdc48bb59da86fa66f' + '7ff501435078b1a2622124fbeaafc921' 'b587ee3a70c9b3713099295609afde49' '07ac979b6ab5eeb778d55f041529d623' '476e9113489f93b348b21e144b6a8fcf') @@ -77,34 +93,25 @@ mksource() { tar -cvJf glibc-${pkgver}_${_glibcdate}.tar.xz glibc/* } + build() { cd ${srcdir}/glibc # timezone data is in separate package (tzdata) - patch -Np1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch - - # http://sources.redhat.com/bugzilla/show_bug.cgi?id=4781 - patch -Np1 -i ${srcdir}/glibc-2.10-bz4781.patch + patch -p1 -i ${srcdir}/glibc-2.10-dont-build-timezone.patch - # Undefine __i686 for gcc <= 4.6 + # 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 + patch -p1 -i ${srcdir}/glibc-__i686.patch # http://www.exploit-db.com/exploits/15274/ # http://sourceware.org/git/?p=glibc.git;a=patch;h=d14e6b09 (fedora branch) - patch -Np1 -i ${srcdir}/glibc-2.12.2-ignore-origin-of-privileged-program.patch + patch -p1 -i ${srcdir}/glibc-2.12.2-ignore-origin-of-privileged-program.patch # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=675155e9 (fedora branch) # http://sourceware.org/ml/libc-alpha/2011-06/msg00006.html - patch -Np1 -i ${srcdir}/glibc-2.14-libdl-crash.patch - - # Revert commit causing issues with crappy DNS servers... - # Will be removed when workaround becomes annoying to maintain - USE A BETTER DNS SERVER! - # Note that both these patches appear not to fix the issue completely (but rebuilds may fix): - # http://sourceware.org/bugzilla/show_bug.cgi?id=13013 (used by opensuse) - # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=032c0ee3 (fedora branch) - patch -Np1 -i ${srcdir}/glibc-2.14-revert-4768ae77.patch + patch -p1 -i ${srcdir}/glibc-2.14-libdl-crash.patch # re-export RPC interface until libtirpc is ready as a replacement # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=acee4873 (fedora branch) @@ -112,7 +119,11 @@ build() { # http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=bdd816a3 (fedora branch) patch -Np1 -i ${srcdir}/glibc-2.14-reinstall-nis-rpc-headers.patch - # Fix up regcomp/regexec + # fix res_query assertion + # http://sourceware.org/bugzilla/show_bug.cgi?id=13013 + patch -p1 -i ${srcdir}/glibc-2.15-fix-res_query-assert.patch + + # fix up regcomp/regexec # http://sourceware.org/git/?p=glibc.git;a=commit;h=2ba92745 patch -Np1 -i ${srcdir}/glibc-2.15-regex.patch @@ -137,28 +148,65 @@ build() { # fix AVX detection # 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 + patch -p1 -i ${srcdir}/glibc-2.15-avx.patch # and "fix" strcasecmp - patch -Np1 -i ${srcdir}/glibc-2.15-strcasecmp-disable-avx.patch + patch -p1 -i ${srcdir}/glibc-2.15-strcasecmp-disable-avx.patch # fix GB18030 charmap # http://sourceware.org/bugzilla/show_bug.cgi?id=11837 # http://sourceware.org/git/?p=glibc.git;a=commit;h=2a57bd79 (fedora branch) # http://sourceware.org/git/?p=glibc.git;a=commit;h=3d828a61 (fedora branch) - patch -Np1 -i ${srcdir}/glibc-2.15-gb18030.patch + patch -p1 -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 (potential "fix" in comment) # reverts commit 3a2c0242 and other necessary following changes... - patch -Np1 -i ${srcdir}/glibc-2.15-revert-netlink-cache.patch + patch -p1 -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 + patch -p1 -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 + patch -p1 -i ${srcdir}/glibc-2.15-negative-result-cache.patch + + # strcasecmp_l, strncasecmp_l act as strcmp for multiarch x86 + # http://sourceware.org/git/?p=glibc.git;a=commit;h=0bab47b6 + patch -p1 -i ${srcdir}/glibc-2.15-multiarch-x86-strcmp.patch + + # always set l_used for vDSO. + # http://sourceware.org/git/?p=glibc.git;a=commit;h=1f393a11 + patch -p1 -i ${srcdir}/glibc-2.15-vdso.patch + + # fix x86 PLT slot usage for feraiseexcept + # http://sourceware.org/git/?p=glibc.git;a=commit;h=7c35ffed + patch -p1 -i ${srcdir}/glibc-2.15-feraiseexcept-plt.patch + + # vfprintf nargs overflow - CVE-2012-0864 + # http://sourceware.org/bugzilla/show_bug.cgi?id=13656 + # http://sourceware.org/ml/libc-alpha/2012-02/msg00328.html + patch -p1 -i ${srcdir}/glibc-2.15-vfprintf-nargs.patch + + # avoid out ouf bounds read in __libc_res_nquerydomain + # http://sourceware.org/git/?p=glibc.git;a=commit;h=8fdceb2e + patch -p1 -i ${srcdir}/glibc-2.15-__libc_res_nquerydomain-out-of-bounds.patch + + # make fmtmsg function thread-safe + # http://sourceware.org/git/?p=glibc.git;a=commit;h=7724defc + patch -p1 -i ${srcdir}/glibc-2.15-fmtmsg-locking.patch + + # use non-signaling floating-point comparisons in math functions + # http://sourceware.org/git/?p=glibc.git;a=commit;h=92221550 + patch -p1 -i ${srcdir}/glibc-2.15-non-signalling-comparisons.patch + + # fix rintf rounding. + # http://sourceware.org/git/?p=glibc.git;a=commit;h=fe45ce09 + patch -p1 -i ${srcdir}/glibc-2.15-rintf-rounding.patch + + # fix nearbyintf rounding + # http://sourceware.org/git/?p=glibc.git;a=commit;h=6cbeae47 + patch -p1 -i ${srcdir}/glibc-2.15-nearbyintf-rounding.patch install -dm755 ${pkgdir}/etc touch ${pkgdir}/etc/ld.so.conf |