summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-09-25 19:47:21 +0000
committerMike Frysinger <vapier@gentoo.org>2012-09-25 19:47:21 +0000
commitf0cc34424048c008f1a71661859cdaca041ebb97 (patch)
tree79e6c20ae63fa5977b595d58a555ece644d17123 /sys-libs/glibc
parentSpecify LICENSE more precisely. Bump ebuild to EAPI 4. (diff)
downloadhistorical-f0cc34424048c008f1a71661859cdaca041ebb97.tar.gz
historical-f0cc34424048c008f1a71661859cdaca041ebb97.tar.bz2
historical-f0cc34424048c008f1a71661859cdaca041ebb97.zip
Add fixes for vfprintf/nargs bug #404993 and for xen/avx misbehavior #433884.
Package-Manager: portage-2.2.0_alpha131/cvs/Linux x86_64
Diffstat (limited to 'sys-libs/glibc')
-rw-r--r--sys-libs/glibc/ChangeLog7
-rw-r--r--sys-libs/glibc/Manifest30
-rw-r--r--sys-libs/glibc/glibc-2.15-r3.ebuild229
3 files changed, 251 insertions, 15 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog
index 99af7cf7ece8..e30d142433ec 100644
--- a/sys-libs/glibc/ChangeLog
+++ b/sys-libs/glibc/ChangeLog
@@ -1,5 +1,10 @@
# ChangeLog for sys-libs/glibc
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.891 2012/09/25 01:03:18 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.892 2012/09/25 19:47:21 vapier Exp $
+
+*glibc-2.15-r3 (25 Sep 2012)
+
+ 25 Sep 2012; Mike Frysinger <vapier@gentoo.org> +glibc-2.15-r3.ebuild:
+ Add fixes for vfprintf/nargs bug #404993 and for xen/avx misbehavior #433884.
25 Sep 2012; Mike Frysinger <vapier@gentoo.org> glibc-2.16.0.ebuild:
Add fix from upstream for x32 malloc failures #394175.
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest
index 420db166a9e0..da75c218eb4c 100644
--- a/sys-libs/glibc/Manifest
+++ b/sys-libs/glibc/Manifest
@@ -43,6 +43,7 @@ DIST glibc-2.14.1.tar.bz2 15650580 SHA256 6e85a2fa3ebe6b28103361f09d27eeda37a021
DIST glibc-2.14.tar.bz2 15630590 SHA256 8404b54651d42133d9a2ab17d30d698e53c5f250b2ad8e5f3d9a208ea7c75d6c SHA512 4647b9999e56d88c669832b58555d4e53a22737d5c1963ae62e89958d9880193d1ad8f37cd4b05464cab79f7a244772eb1484d55788ec4828ff98dac30c8fa80 WHIRLPOOL 3aa97d56fa28bd45fb9a41925f41fe0d74020553ca4aa92293cbc47de2bc8a88b7dcbf368c77f0872d18ab6ba91bdf2b199a0520d946115f821dd4a4728ef2b8
DIST glibc-2.15-patches-13.tar.bz2 154658 SHA256 59c11d8b70bc406f6bc7dd87509f1c5fa05998fb0dde8e1be530064e9dd24a53 SHA512 ceec0506e10cff25ec9acce3d4e3f174d56a7cbb00993cb8edbf532f303c48e3b2d5e965e4470f537dbed23d14a29bae4ac4c834b4c11fcd27d8e66d8500e4c6 WHIRLPOOL 9dadbcd8626df9938b6b215a0618cbc605405bf56bb143f25e029c0aa00d5d6ac75877c7b2fd2a2c22291f62587cf8011c30d32baafb5ed0dd2bb539895f1c54
DIST glibc-2.15-patches-21.tar.bz2 110297 SHA256 5553c0a37c5c0a3abb303850fa9d2ad309e2f47c3f42806c2f1dd32a48affbfe SHA512 5255ef053a2c30f9cae583133094f41604385b9d6e653a0d6aab1d13d69e6c8cbf16fde712607ab0bac738944a0410ddc050dc231ad4ea7d3584271937b0b059 WHIRLPOOL d70249c6c3c3c0a4d02c3ebbf0309bd6b3da3962231c153c77be38d217e2f57e0eba88614e34f0f219f485ba8f8474586d0059cfc505e44f312396e6a753d441
+DIST glibc-2.15-patches-22.tar.bz2 118537 SHA256 7a16c17f98b3efc8ceee8330dc54bbfd9efc7196404de25779aa944f0aa411c7 SHA512 1d594fab08e57f09dc2ca4e5fd5cf48a161b719f263d7da4b02697bd4a1cfac1b22e976f6c8517fc185c8ebf0474c6d0881380fa53a62192e97bb23c789a22a9 WHIRLPOOL 910f257be93577fcfb050ab979322b4767a5a52fb9969393c821cf67338910d7a0e2e8010f91809a1a4cd5a01b84808c8632098ec4bb17a83dcdb26a217f54a2
DIST glibc-2.15.tar.xz 10280176 SHA256 321ec482abdc27b03244f7b345ee22dc431bc55daf9c000a4e7b040fbdbecb50 SHA512 fc8bc407cd9edfd79bd286d28c84e0b8224e1f57c1d318e73da098a9693257d78970178fd59f487f0321a079fcb772e8e78473fab52f091b2addb0a48fe8dcf7 WHIRLPOOL 061fc0c9915bd821dc31c2fea8e4f9a75b6c7ec0c935ea713d8c087408a8bf3c600179273438f3d9748fe40b946866b2f160e6da6fee4da51e549a30d0f0ebbc
DIST glibc-2.16.0-patches-5.tar.bz2 84169 SHA256 f843b50d94ec9e5bc28a1a8bb1b647e9aac69a374998f79886f66710ed800031 SHA512 21fa17d03b473ad7e4c4bc6792b857ee28433f596c35de91f61b40f6b478bbccc4f0bb9ddb84fd49549a8a3968c68f798542b4a4bf1cb7ca9b49cfb93561722b WHIRLPOOL 051f46689835318e1e86c78a60cdf3fc304eda88fa9d76c23bf3cfacc5d45f527810e3dd22dae013320e104f0ae90a4c9b18f72e72dc8b15b1370393aca58976
DIST glibc-2.16.0.tar.xz 9990512 SHA256 1edc36aa2a6cb7127971fce8e02eecffe9c7956297ad3ef10dd4c09f486d5924 SHA512 be9acc11b77ab3c01d5766fe626a6a51bc3192ac98f9554fbb5c37120cfc6f636c0b7a80beddc180f13b32ad06051d24c1999fa2e64eeb724d55a9498f0f634e WHIRLPOOL 9bfd4358a4488080e12e08deca5fca59c1555853d1c1978b7d1bb3b480eb8fb125dccab38c55644248ae5e18b0167aec85f8a7850bab9e11f980aae6f171eac3
@@ -69,26 +70,27 @@ EBUILD glibc-2.14.1-r3.ebuild 8800 SHA256 11223e8580f0a5e2d8165052f2383301b52404
EBUILD glibc-2.14.ebuild 8697 SHA256 2ee2530c8d5d2e1740c74f1f4451ab5dd496d22189939932d7bd2cd88a8828b6 SHA512 7047e2e7468a9d6665f0c69bcfee9ae9230cc8a3b9d8a3be1c8c687ea5fc60d8300565a4422c39118821a275d54e6958b7db421eb9987def0e278e5e714b9d4f WHIRLPOOL 696e79918caaa989f19a6edbb5d19f8e463e3f6606b53deea3fe8a8a69e0c60f9dd75d0dd984d666a7e5ea7d58bbab95a5f71af1a8b128c9cc0f6a4275c9ccbb
EBUILD glibc-2.15-r1.ebuild 8432 SHA256 a340303d7010a810403edacc97119110c3a0dca97e938f6b8459899aa6b79c18 SHA512 75b7bfcf488845fe3467fad65bd273e96f0e2933401ec37583066f0590c1fa15001d1046b031e227d2a72dfe3e019066f4380f66a82516b9dc1eb23ed4b626cd WHIRLPOOL 628f24edd2285f31f250047ac657acee76bf7f036db19519d290aa0bf057f31968cd534e9d7b0290f6b81d578529874a5ba537e6701fbf8c99190f4094dc92cc
EBUILD glibc-2.15-r2.ebuild 7984 SHA256 4ea6615a88c108a79e3b9eb3aa68bd43290f37dfd2e79f2664422fb2200a0758 SHA512 7ce61550dce3ca86befe59fe14da1b7c58a8b7e9bb25342eaff74bf78c235d8cd1ff651f4e503b6859da0bba4681d004003aba938680a1d41241efa5d00d8b3c WHIRLPOOL d9a136a48db617e27d0209b4e0e7d3ec116f1d45b2f5cdaa0e477d08ccab16caefefff1579b54f0196446ffa45b3b1d7a9658239f1bba67529ebe5fbee3739a4
+EBUILD glibc-2.15-r3.ebuild 7989 SHA256 7458190b6bf4850842ebd6bae5e4d6223c3822cf4198db4f5700bb7563b65c06 SHA512 07adcedeb5d1c985316e3a47aaa5d3f4830c5f98e1699b0e2de73c18bcb51f3445d0814f63228cc0a57049938010cc8e030c6d5dfc3d311497deb91ba724d7a3 WHIRLPOOL 784105faf0fa110ee625ee7388dfef9b4587d22d179360ca8d388ad4bc57b7c37604ead4b77cfa12ba43be1ecbbb01a7b69935d643cf1c50b842829a16f952d4
EBUILD glibc-2.16.0.ebuild 7774 SHA256 a235772cb8ea9447ebd8980b79082654168a46ba54ef65ea7b0a025dc2200473 SHA512 18ff0218185ea867fc31a90133a3f240b5ff3d9c4767bd2ddd02e1f5a520c5e6b8012d68c37d4e24066cb66757f55411c93d2966cdbd832850c28b8ccd6af23b WHIRLPOOL a87ed7a708ed9d5f7d26694f29e57a9786ec256dfc1f5806b19ef413a3c01da13fa31f17617f03ef24775eedd446d8c953f4718157af674de463151b64ca5990
EBUILD glibc-2.9_p20081201-r3.ebuild 7065 SHA256 72f88d32a5a6046bd14c98c927f21dd736f6aea400f3be4b0ef1aed98dda4ed4 SHA512 486a0bb8f6a255b5ec343f30190b08ae43316ea5baa0b16b133092457f86419e41076ccedea0dc60b27aaefde7c166db4e1a499e73c098f4ba18287633b6f6a0 WHIRLPOOL 0aa9955a865d1d2a5a6c54f9eb50fee4e352a8a9de50fc9c33e3cf25a0c5e3c6c7ddd078f76803f4df1af87217274458cec47e3697a2bdd5dbfe450b88f1ad48
EBUILD glibc-9999.ebuild 6563 SHA256 a9b81ef5e8bfe3e1fcff66126aef1fa99eaa7b3f4b5c73eab6d1ed4758804ef8 SHA512 6f05f2f5941a4f66079f0470a91fb8fd95ae444a60991f2baf4c34afe1d648ab7be820bf8e26e36e66f42b072898c7afe5025640fb9efbb78d83c9d5f9ce95ae WHIRLPOOL 906562f43794e92329c3b793608b23ee307853e222063a321de629ccce0fbdb75f6ca8ee3d2dab60e242a7b723e2c4d6b86d2f1a3926103a3e49ad538ea34013
-MISC ChangeLog 50086 SHA256 cf9de1d78a2d7f3b3317451c1d02bd440329712971ad56fbd04fcbc260eede59 SHA512 00b8b71c1223e9f0c41ad133fba46985159867ff10c8e46db26fb874e8e26daceb18e2fedffffe347edbd8ea790b1efdc4f070515ef63e540fb4ad836f5136f1 WHIRLPOOL fb89f9fc453b0710da7a3ac4d6f2dbab8651715dbd2c724d34aa6d0c0fb003419f9b8b19e36ee9c021c0bcc6daf7dc4b5a9310f8f7d51bf3af2c490d8a2fb8e9
+MISC ChangeLog 50270 SHA256 77825a118a1aef22fb244cad8bb0149705097b92086534576daaef481ce5be17 SHA512 421064cb8722631ed72669586a29d5d7d51dcdca2b843a2086d64a0c137e07d02a1c5715981c6a3a779e60d44de4eee410781686aeacb34d8064ebf4e7a994bd WHIRLPOOL c34b6da60c2b81f599ee312deb7a0e65c45601f87195c29be9470c19c391313c818363d6fd5095821d9943322fa58d16a0c2113f5526c80a3236539e0e21a22f
MISC ChangeLog-2007 108587 SHA256 bd7e842bcda0f9e8375963d71dbb1604e1e8ef89484f3e205afde631eeec2c17 SHA512 405c93cd08d102ad1a9e40975563e645e982b5baa238280c38118b46b7c828ca924c73766c254cf24eaff255b16b3f4c8133d2e174cf3e47b704ff49d754640e WHIRLPOOL 4ab79bcd243bd4281898e93987b49a2dc44fb7ef2df9073708dd12223bd01f595dab8f08f342bd5dd8d0fc955ee031b11ce70e1cdc118f7dcc5b63f90d785e9b
MISC metadata.xml 406 SHA256 e6cbc11651d304035d704081701900a8b373ee3a0ed2f3f4a7e3f3a8d926a731 SHA512 3afe4ea0be7d1707571c23a7aae8490620a83d748ad672a18ce602503f37179cfc12d3bed0c18398c2cc8e74005d2c51ac320fd1722364e5df2cb3599488c164 WHIRLPOOL 1c3f5e0cc851c976259c6749f6a611d6cf415a063b2229e65ae9dea80e623a52514acbf977b3e439009379c4ea9aa491e6c423c7aac70a1c8fd573c4f40816dc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iQIcBAEBCAAGBQJQYQLgAAoJELEHsLL7fEFWdP0QAKA/FfC5N5LFGhFR332y6cfG
-alpJvMUx4o5ORe0jvO6JuLWhS0nHPwY990TKurJ2/YdcDyHIRb4e4f3i5fhDaTfT
-EN6n8Dkb0nJmNxa5TvYPTlSZMeqG6ihxXyn4WI/13C70JbjQ41Otf2mKpp/azPIE
-6gCH7L1aOizF99RLUrS38uH4qjTrdDCpJKgZa+/oATEbR/yWB+lhqCcLX9az7EVA
-fEooFbWKfsYmRS2KVWdWZcryKTAJzhrKUSaBz2JcxVj9po8AFHIb61ukKTBQns0M
-n679ykcdAsjCSZbY+SEfM2J8Br6vlOwdvzXZLu3a5AMuKaQ9QsnXyX4STEfZvV1o
-5KvYXTeFRHCEAh7r4dtml3XlLBY5Qt0rS1qYpfCSI7yuG4SA4L/N0SCKC7JomODL
-I2Z3KuLbSkrw/HqLofTGAQtW7jT+AfOmz9v/vf+sCSWQWX56J2kJVEmV8lvgUzCJ
-j3I2bk3bcHX8NoonVRvhU9ggAZAZ2aWNkhRMbiPzKYQQUvcQMgw+H/jevxPDZuvG
-5z81YvmxzOk2UbJ+pBqqCSowh335UnqGdxyiA1q+QhfejH7sGNJVjepEc7vccsLD
-7pkKTk/ajCPNCGZcaMrRed86EZPqWomHMycAEGZfKrjW8SZ3ucJWALO5TvS3ekNZ
-KkxYS+yOoOyVqivngd/2
-=Om1J
+iQIcBAEBCAAGBQJQYgpRAAoJELEHsLL7fEFWIfYP/3RQjahaJibzHAMsOJrlOgfw
+d8CxBnH1HTizJEvMNNaeU5K8kqhHD4a2lx8M1FRq69zGPe2+QQPcVx5EKRufsqfo
+M8ONXdX45bXOEf2maokUlgsKmSU5oiV4oNMCulwkyBw3UWTg0VPH5AfltZBdtH3B
+Lmsh0LppXY6EjVdtUyFPbc7ldsxBMboFqCRuyVYMPbG/7u5DBTCbsSr/xSuaoXDh
+15k5RSTC+P0mf8Lwsg1bkR+1L3vyeIifxUZxR6PXUgzQ1Xge6UhcfWbK7nvzttoW
++qaWF+SMzcR+7OqwQtSXEO/n0mkRMnylBZkHOplRP3bC+rEy4VuSC5olgBUEfX6p
+eCyHc87Sju5oH59QBDZsPYqsA614pRBC78xH3+uNBMG9wOiNhodUB6Ba+2MW4ES1
+UIDaRvjP/bWQ/N06lQ9QjNBZVOhTzXhcdFPK0MaZVks0we8BCkWZCODoRhzAwj8I
+BH5+p+b/YTPKq6YRHvHQ1JyXbP4fOY21Pf0WuVeMp2pRw0M+aDJKCaIhdPjF98xV
+kJYh7IiSlY8eCUkDeoKcUPsNdCUkB0qkXoqxeU+VKMkCVtupz9SPYM7eQ4Ml/bbx
+3ZiKN2U4vG2QmiEYRCyEuZP8Sjd/kDJb7rCxEj3eFPxtmXgG/cuDyTObD60sNmNP
+6fNBrKcgqgK6Gn4hhDbL
+=wYaX
-----END PGP SIGNATURE-----
diff --git a/sys-libs/glibc/glibc-2.15-r3.ebuild b/sys-libs/glibc/glibc-2.15-r3.ebuild
new file mode 100644
index 000000000000..260422ce01fa
--- /dev/null
+++ b/sys-libs/glibc/glibc-2.15-r3.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.15-r3.ebuild,v 1.1 2012/09/25 19:47:21 vapier Exp $
+
+inherit eutils versionator libtool toolchain-funcs flag-o-matic gnuconfig multilib unpacker multiprocessing
+
+DESCRIPTION="GNU libc6 (also called glibc2) C library"
+HOMEPAGE="http://www.gnu.org/software/libc/libc.html"
+
+LICENSE="LGPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+RESTRICT="strip" # strip ourself #46186
+EMULTILIB_PKG="true"
+
+# Configuration variables
+RELEASE_VER=""
+BRANCH_UPDATE=""
+SNAP_VER=""
+case ${PV} in
+9999*)
+ EGIT_REPO_URIS=( "git://sourceware.org/git/glibc.git" "git://sourceware.org/git/glibc-ports.git" )
+ EGIT_SOURCEDIRS=( "${S}" "${S}/ports" )
+ inherit git-2
+ ;;
+*_p*)
+ RELEASE_VER=${PV%_p*}
+ SNAP_VER=${PV#*_p}
+ ;;
+*)
+ RELEASE_VER=${PV}
+ ;;
+esac
+MANPAGE_VER="" # pregenerated manpages
+INFOPAGE_VER="" # pregenerated infopages
+LIBIDN_VER="" # it's integrated into the main tarball now
+PATCH_VER="22" # Gentoo patchset
+PORTS_VER=${RELEASE_VER} # version of glibc ports addon
+NPTL_KERN_VER=${NPTL_KERN_VER:-"2.6.9"} # min kernel version nptl requires
+
+IUSE="debug gd hardened multilib selinux profile vanilla crosscompile_opts_headers-only"
+[[ -n ${RELEASE_VER} ]] && S=${WORKDIR}/glibc-${RELEASE_VER}${SNAP_VER:+-${SNAP_VER}}
+
+# Here's how the cross-compile logic breaks down ...
+# CTARGET - machine that will target the binaries
+# CHOST - machine that will host the binaries
+# CBUILD - machine that will build the binaries
+# If CTARGET != CHOST, it means you want a libc for cross-compiling.
+# If CHOST != CBUILD, it means you want to cross-compile the libc.
+# CBUILD = CHOST = CTARGET - native build/install
+# CBUILD != (CHOST = CTARGET) - cross-compile a native build
+# (CBUILD = CHOST) != CTARGET - libc for cross-compiler
+# CBUILD != CHOST != CTARGET - cross-compile a libc for a cross-compiler
+# For install paths:
+# CHOST = CTARGET - install into /
+# CHOST != CTARGET - install into /usr/CTARGET/
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+[[ ${CTARGET} == hppa* ]] && NPTL_KERN_VER=${NPTL_KERN_VER/2.6.9/2.6.20}
+
+is_crosscompile() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+# Why SLOT 2.2 you ask yourself while sippin your tea ?
+# Everyone knows 2.2 > 0, duh.
+SLOT="2.2"
+
+# General: We need a new-enough binutils for as-needed
+# arch: we need to make sure our binutils/gcc supports TLS
+DEPEND=">=sys-devel/gcc-3.4.4
+ arm? ( >=sys-devel/binutils-2.16.90 >=sys-devel/gcc-4.1.0 )
+ x86? ( >=sys-devel/gcc-4.3 )
+ amd64? ( >=sys-devel/binutils-2.19 >=sys-devel/gcc-4.3 )
+ ppc? ( >=sys-devel/gcc-4.1.0 )
+ ppc64? ( >=sys-devel/gcc-4.1.0 )
+ >=sys-devel/binutils-2.15.94
+ >=app-misc/pax-utils-0.1.10
+ virtual/os-headers
+ !<sys-apps/sandbox-1.2.18.1-r2
+ !<sys-apps/portage-2.1.2
+ !<sys-devel/patch-2.6
+ selinux? ( sys-libs/libselinux )"
+RDEPEND="!sys-kernel/ps3-sources
+ selinux? ( sys-libs/libselinux )
+ !sys-libs/nss-db"
+
+if [[ ${CATEGORY} == cross-* ]] ; then
+ DEPEND="${DEPEND} !crosscompile_opts_headers-only? ( ${CATEGORY}/gcc )"
+ [[ ${CATEGORY} == *-linux* ]] && DEPEND="${DEPEND} ${CATEGORY}/linux-headers"
+else
+ DEPEND="${DEPEND} !vanilla? ( >=sys-libs/timezone-data-2007c )"
+ RDEPEND="${RDEPEND}
+ vanilla? ( !sys-libs/timezone-data )
+ !vanilla? ( sys-libs/timezone-data )"
+fi
+
+SRC_URI=$(
+ upstream_uris() {
+ echo mirror://gnu/glibc/$1 ftp://sources.redhat.com/pub/glibc/{releases,snapshots}/$1 mirror://gentoo/$1
+ }
+ gentoo_uris() {
+ local devspace="HTTP~vapier/dist/URI HTTP~azarah/glibc/URI"
+ devspace=${devspace//HTTP/http://dev.gentoo.org/}
+ echo mirror://gentoo/$1 ${devspace//URI/$1}
+ }
+
+ TARNAME=${PN}
+ if [[ -n ${SNAP_VER} ]] ; then
+ TARNAME="${PN}-${RELEASE_VER}"
+ [[ -n ${PORTS_VER} ]] && PORTS_VER=${SNAP_VER}
+ upstream_uris ${TARNAME}-${SNAP_VER}.tar.bz2
+ elif [[ -z ${EGIT_REPO_URIS} ]] ; then
+ upstream_uris ${TARNAME}-${RELEASE_VER}.tar.xz
+ fi
+ [[ -n ${LIBIDN_VER} ]] && upstream_uris glibc-libidn-${LIBIDN_VER}.tar.bz2
+ [[ -n ${PORTS_VER} ]] && upstream_uris ${TARNAME}-ports-${PORTS_VER}.tar.xz
+ [[ -n ${BRANCH_UPDATE} ]] && gentoo_uris glibc-${RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2
+ [[ -n ${PATCH_VER} ]] && gentoo_uris glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.bz2
+ [[ -n ${MANPAGE_VER} ]] && gentoo_uris glibc-manpages-${MANPAGE_VER}.tar.bz2
+ [[ -n ${INFOPAGE_VER} ]] && gentoo_uris glibc-infopages-${INFOPAGE_VER}.tar.bz2
+)
+
+# eblit-include [--skip] <function> [version]
+eblit-include() {
+ local skipable=false
+ [[ $1 == "--skip" ]] && skipable=true && shift
+ [[ $1 == pkg_* ]] && skipable=true
+
+ local e v func=$1 ver=$2
+ [[ -z ${func} ]] && die "Usage: eblit-include <function> [version]"
+ for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
+ e="${FILESDIR}/eblits/${func}${v}.eblit"
+ if [[ -e ${e} ]] ; then
+ source "${e}"
+ return 0
+ fi
+ done
+ ${skipable} && return 0
+ die "Could not locate requested eblit '${func}' in ${FILESDIR}/eblits/"
+}
+
+# eblit-run-maybe <function>
+# run the specified function if it is defined
+eblit-run-maybe() {
+ [[ $(type -t "$@") == "function" ]] && "$@"
+}
+
+# eblit-run <function> [version]
+# aka: src_unpack() { eblit-run src_unpack ; }
+eblit-run() {
+ eblit-include --skip common "${*:2}"
+ eblit-include "$@"
+ eblit-run-maybe eblit-$1-pre
+ eblit-${PN}-$1
+ eblit-run-maybe eblit-$1-post
+}
+
+src_unpack() { eblit-run src_unpack ; }
+src_compile() { eblit-run src_compile ; }
+src_test() { eblit-run src_test ; }
+src_install() { eblit-run src_install ; }
+
+# FILESDIR might not be available during binpkg install
+for x in setup {pre,post}inst ; do
+ e="${FILESDIR}/eblits/pkg_${x}.eblit"
+ if [[ -e ${e} ]] ; then
+ . "${e}"
+ eval "pkg_${x}() { eblit-run pkg_${x} ; }"
+ fi
+done
+
+eblit-src_unpack-post() {
+ if use hardened ; then
+ cd "${S}"
+ einfo "Patching to get working PIE binaries on PIE (hardened) platforms"
+ gcc-specs-pie && epatch "${FILESDIR}"/2.12/glibc-2.12-hardened-pie.patch
+ epatch "${FILESDIR}"/2.10/glibc-2.10-hardened-configure-picdefault.patch
+ epatch "${FILESDIR}"/2.10/glibc-2.10-hardened-inittls-nosysenter.patch
+
+ einfo "Installing Hardened Gentoo SSP and FORTIFY_SOURCE handler"
+ cp -f "${FILESDIR}"/2.6/glibc-2.6-gentoo-stack_chk_fail.c \
+ debug/stack_chk_fail.c || die
+ cp -f "${FILESDIR}"/2.10/glibc-2.10-gentoo-chk_fail.c \
+ debug/chk_fail.c || die
+
+ if use debug ; then
+ # When using Hardened Gentoo stack handler, have smashes dump core for
+ # analysis - debug only, as core could be an information leak
+ # (paranoia).
+ sed -i \
+ -e '/^CFLAGS-backtrace.c/ iCFLAGS-stack_chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
+ debug/Makefile \
+ || die "Failed to modify debug/Makefile for debug stack handler"
+ sed -i \
+ -e '/^CFLAGS-backtrace.c/ iCFLAGS-chk_fail.c = -DSSP_SMASH_DUMPS_CORE' \
+ debug/Makefile \
+ || die "Failed to modify debug/Makefile for debug fortify handler"
+ fi
+
+ # Build nscd with ssp-all
+ sed -i \
+ -e 's:-fstack-protector$:-fstack-protector-all:' \
+ nscd/Makefile \
+ || die "Failed to ensure nscd builds with ssp-all"
+ fi
+}
+
+eblit-pkg_preinst-post() {
+ if [[ ${CTARGET} == arm* ]] ; then
+ # Backwards compat support for renaming hardfp ldsos #417287
+ local oldso='/lib/ld-linux.so.3'
+ local nldso='/lib/ld-linux-armhf.so.3'
+ if [[ -e ${D}${nldso} ]] ; then
+ if scanelf -qRyi "${ROOT}$(alt_prefix)"/*bin/ | grep -s "^${oldso}" ; then
+ ewarn "Symlinking old ldso (${oldso}) to new ldso (${nldso})."
+ ewarn "Please rebuild all packages using this old ldso as compat"
+ ewarn "support will be dropped in the future."
+ ln -s "${nldso##*/}" "${D}$(alt_prefix)${oldso}"
+ fi
+ fi
+ fi
+}