diff options
author | 2011-11-29 16:35:37 +0000 | |
---|---|---|
committer | 2011-11-29 16:35:37 +0000 | |
commit | 393e861a21316131b53189994d9359958ace72da (patch) | |
tree | 63a59fbd68313054f10a669b3739f7fc352a6b99 /sys-libs | |
parent | Only run testsuite if swh-plugins is installed and change hardcoded /usr/loca... (diff) | |
download | historical-393e861a21316131b53189994d9359958ace72da.tar.gz historical-393e861a21316131b53189994d9359958ace72da.tar.bz2 historical-393e861a21316131b53189994d9359958ace72da.zip |
Add patch for resolver asserts #391673, and experimental x32 support.
Package-Manager: portage-2.2.0_alpha75/cvs/Linux x86_64
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/glibc/ChangeLog | 7 | ||||
-rw-r--r-- | sys-libs/glibc/Manifest | 14 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.14.1-r1.ebuild | 268 |
3 files changed, 282 insertions, 7 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog index 7ad31511831f..82489b595668 100644 --- a/sys-libs/glibc/ChangeLog +++ b/sys-libs/glibc/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-libs/glibc # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.798 2011/11/24 19:56:12 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.799 2011/11/29 16:35:37 vapier Exp $ + +*glibc-2.14.1-r1 (29 Nov 2011) + + 29 Nov 2011; Mike Frysinger <vapier@gentoo.org> +glibc-2.14.1-r1.ebuild: + Add patch for resolver asserts #391673, and experimental x32 support. 24 Nov 2011; Jeroen Roovers <jer@gentoo.org> glibc-2.13-r4.ebuild: Stable for HPPA (bug #382377). diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index d89790373fbe..ab0a095ac951 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -1,5 +1,5 @@ -----BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 +Hash: SHA256 AUX 2.10/glibc-2.10-gentoo-chk_fail.c 9407 RMD160 230701dfacfe2481eb49e5384fe4ebb508bd3af2 SHA1 0e9330d57de714dd1ecd7040d3eabf4723cdee7c SHA256 7745c0f5d37b37959b43b41e39762fc35b877161bc5740d9d3e9a83021acbc0e AUX 2.10/glibc-2.10-hardened-configure-picdefault.patch 865 RMD160 744bdbfb73f1dbced4cb33cb5aa92f3b41d3b4fb SHA1 21e0f83598f5342032a794315f0e3dac07f647da SHA256 b50b29f85d88011555bbcbe6046e6600be9344f2d78412b14aebdea515420774 @@ -38,6 +38,7 @@ DIST glibc-2.13-patches-8.tar.bz2 114419 RMD160 6f3f1542184d9765b38f599297514e36 DIST glibc-2.13.tar.bz2 15725729 RMD160 cf34e4a06a2602deed709e2ee10cf7446a824989 SHA1 14d83dced873a21a3da6a0bfa0926f40d82ef980 SHA256 0173c92a0545e6d99a46a4fbed2da00ba26556f5c6198e2f9f1631ed5318dbb2 DIST glibc-2.14-patches-7.tar.bz2 105702 RMD160 9231acbcdc980bdd1723f405b340d352613c0275 SHA1 a5a32f08c8221debf49dcfbcf3b61a039054fa21 SHA256 f213848ae57ca7c3bcd0ac87bf04ef638b9c8191a8124394771d758a861bf009 DIST glibc-2.14.1-patches-1.tar.bz2 102822 RMD160 bb874c8f2d43c74b0d8bb0e206a8c889765d71b5 SHA1 d88403598c223f832274fb365e26460ff7c95c37 SHA256 cb344a7fa3434413cb1e38271d871d4825e94da04199cc6a67772be3bcab83de +DIST glibc-2.14.1-patches-2.tar.bz2 152871 RMD160 b5a24969009858e2988b04a46198b64bdef6f758 SHA1 9aa19bcd5514906f56b7fe61162142ca08575d4f SHA256 c82f580b43dc6450274649be2eb88b91064b8e16c39051c32229871880ea4f68 DIST glibc-2.14.1.tar.bz2 15650580 RMD160 f6efab63efdddefd7b868ffcba53885450064996 SHA1 f1945eea78bb30563d33c9e6a5f6f97f374135b4 SHA256 6e85a2fa3ebe6b28103361f09d27eeda37a021f24dab73f34064456d5a715b3b DIST glibc-2.14.tar.bz2 15630590 RMD160 f2ba450342f353c7b0a9001ad375ff0adf3f86fc SHA1 2236a3530f83637c4338d81d9ac0f5b4c5e69820 SHA256 8404b54651d42133d9a2ab17d30d698e53c5f250b2ad8e5f3d9a208ea7c75d6c DIST glibc-2.9-20081201.tar.bz2 16430489 RMD160 1e1feb4ee9c0892a0544c05adb6dd249544621cf SHA1 5756ca3b543a370c4ec9ffc8038b72bf0aa61c71 SHA256 6f8e515775e20ed48610860d10315adda418a3649b3465f36ee5cd467364a8f6 @@ -56,16 +57,17 @@ EBUILD glibc-2.12.1-r3.ebuild 8692 RMD160 12a681950b6c34f65078129af40aa77e9fd74b EBUILD glibc-2.12.2.ebuild 8692 RMD160 6099f8b65eaf802096f420df970f4f7df894c3a3 SHA1 66990cad67f4e6fdc54174e697b9edc416606cdd SHA256 a76ce36eecfec9e87dc5f744d7424f9a8e9a4fc8b7a60b2cc13caf41686b5d41 EBUILD glibc-2.13-r2.ebuild 8594 RMD160 e255ba39aa10c0703b03d5a5d41f18b28f8dcdb9 SHA1 ae5be41f5102483d774438f24bacd4f63a72f9fc SHA256 42000c8046d3325ade13b6c1a34a9497d04801212002b571f303e9ccf1807ec6 EBUILD glibc-2.13-r4.ebuild 8590 RMD160 f4626d708c9aec8a5a7889b04f39d83b6617484b SHA1 3f6a69e788ec7c61fbe16bcd1b1a93a327446a5f SHA256 54a9ad172da80fc57015ca055a7b77078e2de7f48a2ffd85bb42d70353ff3eb2 +EBUILD glibc-2.14.1-r1.ebuild 8945 RMD160 c146dc6fca79104b62a3b8ddc031223e55105417 SHA1 8602f451b6eb1985aa7c3e66da0992873f346018 SHA256 167ce97583cdd7d03f23443b218eab8e02a3191ced5cc2ce737c45d36c886ce2 EBUILD glibc-2.14.1.ebuild 8790 RMD160 f1e9c7f95d2486e79303e7d94a259c224344c171 SHA1 01eccd5f190527e884f5708e72a1cf7581e2070b SHA256 c2c602e5e034e0c5093539c15e70a056445d78434ea309d804069b378cd0cc36 EBUILD glibc-2.14.ebuild 8789 RMD160 2526d5682ba5214e88ac1daa1afa46607f53093a SHA1 3cb67afb2d3606f78047ce96c014fd4a7286018a SHA256 1df3c918ad3a947b54bbd8e6b6e6eb441705d4cb9c561228096820dadc045503 EBUILD glibc-2.9_p20081201-r3.ebuild 7753 RMD160 8d14a32be1c680e21128552fff3e7299710b0255 SHA1 92f5182dce11c5a77e91ebd9129c2c6ff6938974 SHA256 b90aa298fd49569090f711b2bd9368a66c73cb6c37e85525d1d929ef70e09a5b EBUILD glibc-9999.ebuild 8789 RMD160 cb7c0aa7866c031533846c94dd632d26cde8b064 SHA1 e3619da20d49aa6b358b6c95b83c94bf34e5bfe4 SHA256 9e7a7444b0aeb1cd27e5689a94a029c637627971f4fd1fb2e4361a0e7b3d6fc9 -MISC ChangeLog 142655 RMD160 1e5d4d70dcb621ab09b8b7ef8cd644a472c892b1 SHA1 94a15e5735583179321cba9ba7b72fdd53aea686 SHA256 47377001b137ddccece638acc44b71ab357f4ac26acaa856a1c47e288d49902c +MISC ChangeLog 142838 RMD160 627a364b1e9795dcd7e56e973e6539ccc1ba41c8 SHA1 5785a5f0a6eef9f58e381efc911f5c6ba28624f4 SHA256 05fc3cc287bc582b468441d13228561b619d994747c742e1afa9a60e0624cd21 MISC metadata.xml 423 RMD160 cf6f12db580ed1cff7cf7287723daece896268ae SHA1 ecd822cb67d353dea55f6a07d0e14a4b3a3644a7 SHA256 9e9a0143eff95971cf35957f2334ba791557e6408fff8784188fdba70d48f4b5 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.17 (GNU/Linux) +Version: GnuPG v2.0.18 (GNU/Linux) -iEYEARECAAYFAk7OoWYACgkQVWmRsqeSphM3nACeOfR6ucPoPyiNciFQL5SUlBFU -jAMAmQEJxGXTVVpEwd2fjeC4gcJD1YPD -=4V0V +iF4EAREIAAYFAk7VCeAACgkQaC/OocHi7Jb+QwD/dJsvJM4s1YEQUchsd/WyIkfP +ag4S1SrjYVoiXj7ITBUA/2IDlfTGa0jhtNXAk5FyhFkTWNOZXOpJLCQsHLPCqH+j +=fWKa -----END PGP SIGNATURE----- diff --git a/sys-libs/glibc/glibc-2.14.1-r1.ebuild b/sys-libs/glibc/glibc-2.14.1-r1.ebuild new file mode 100644 index 000000000000..ab9f7c6363c5 --- /dev/null +++ b/sys-libs/glibc/glibc-2.14.1-r1.ebuild @@ -0,0 +1,268 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.14.1-r1.ebuild,v 1.1 2011/11/29 16:35:37 vapier Exp $ + +inherit eutils versionator libtool toolchain-funcs flag-o-matic gnuconfig multilib + +DESCRIPTION="GNU libc6 (also called glibc2) C library" +HOMEPAGE="http://www.gnu.org/software/libc/libc.html" + +LICENSE="LGPL-2" +KEYWORDS="~amd64 ~ia64 ~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="2" # Gentoo patchset +PORTS_VER=${RELEASE_VER} # version of glibc ports addon +LT_VER="" # version of linuxthreads addon +NPTL_KERN_VER=${NPTL_KERN_VER:-"2.6.9"} # min kernel version nptl requires +#LT_KERN_VER=${LT_KERN_VER:-"2.4.1"} # min kernel version linuxthreads requires + +IUSE="debug gd glibc-omitfp hardened multilib nls selinux profile vanilla crosscompile_opts_headers-only ${LT_VER:+glibc-compat20 nptl linuxthreads}" +[[ -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-} != ${CATEGORY} ]] ; 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} ]] +} +alt_libdir() { + if is_crosscompile ; then + echo /usr/${CTARGET}/$(get_libdir) + else + echo /$(get_libdir) + fi +} + +if is_crosscompile ; then + SLOT="${CTARGET}-2.2" +else + # Why SLOT 2.2 you ask yourself while sippin your tea ? + # Everyone knows 2.2 > 0, duh. + SLOT="2.2" +fi + +# 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 + ${LT_VER:+nptl? (} >=sys-kernel/linux-headers-${NPTL_KERN_VER} ${LT_VER:+)} + >=app-misc/pax-utils-0.1.10 + virtual/os-headers + nls? ( sys-devel/gettext ) + !<sys-apps/sandbox-1.2.18.1-r2 + !<sys-apps/portage-2.1.2 + selinux? ( sys-libs/libselinux )" +RDEPEND="!sys-kernel/ps3-sources + nls? ( sys-devel/gettext ) + selinux? ( sys-libs/libselinux )" + +if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; 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.bz2 + fi + [[ -n ${LIBIDN_VER} ]] && upstream_uris glibc-libidn-${LIBIDN_VER}.tar.bz2 + [[ -n ${PORTS_VER} ]] && upstream_uris ${TARNAME}-ports-${PORTS_VER}.tar.bz2 + [[ -n ${LT_VER} ]] && upstream_uris ${TARNAME}-linuxthreads-${LT_VER}.tar.bz2 + [[ -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 + +pkg_setup() { + eblit-run pkg_setup + + # Static binary sanity check #332927 + if [[ ${ROOT} == "/" ]] && \ + has_version "<${CATEGORY}/${P}" && \ + built_with_use sys-apps/coreutils static + then + eerror "Please rebuild coreutils with USE=-static, then install" + eerror "glibc, then you may rebuild coreutils with USE=static." + die "Avoiding system meltdown #332927" + fi +} + +eblit-src_unpack-pre() { + case ${CHOST} in + x86_64*) + has x32 $(get_all_abis) || GLIBC_PATCH_EXCLUDE+=" 1200_all_glibc-2.14.1-x32.patch" + ;; + esac +} + +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 +} + +maint_pkg_create() { + local base="/usr/local/src/gnu/glibc/glibc-${PV:0:1}_${PV:2:1}" + cd ${base} + local stamp=$(date +%Y%m%d) + local d + for d in libc ports ; do + #(cd ${d} && cvs up) + case ${d} in + libc) tarball="${P}";; + ports) tarball="${PN}-ports-${PV}";; + esac + rm -f ${tarball}* + ln -sf ${d} ${tarball} + tar hcf - ${tarball} --exclude-vcs | lzma > "${T}"/${tarball}.tar.lzma + du -b "${T}"/${tarball}.tar.lzma + done +} |