diff options
Diffstat (limited to 'sys-libs/glibc')
-rw-r--r-- | sys-libs/glibc/ChangeLog | 8 | ||||
-rw-r--r-- | sys-libs/glibc/Manifest | 14 | ||||
-rw-r--r-- | sys-libs/glibc/glibc-2.9_p20081201-r3.ebuild | 229 |
3 files changed, 249 insertions, 2 deletions
diff --git a/sys-libs/glibc/ChangeLog b/sys-libs/glibc/ChangeLog index 16da924c19b3..bf26b6dcf817 100644 --- a/sys-libs/glibc/ChangeLog +++ b/sys-libs/glibc/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-libs/glibc # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.634 2009/08/29 10:32:41 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/ChangeLog,v 1.635 2009/08/29 21:21:48 halcy0n Exp $ + +*glibc-2.9_p20081201-r3 (28 Aug 2009) + + 28 Aug 2009; Mark Loeser <halcy0n@gentoo.org> + +glibc-2.9_p20081201-r3.ebuild: + Bump for patchset with gcc-4.4 fix and alpha fixes 29 Aug 2009; Raúl Porcel <armin76@gentoo.org> glibc-2.9_p20081201-r2.ebuild: diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 7efce191d59e..2ffbd1113b98 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX 2.3.1/glibc-2.3.1-ctype-compat-v3.patch 2823 RMD160 f1162b7f313f7ea18fb178157d3bd6205d818e3a SHA1 d1dceb79689e9c627ebd630389ec1948d7a0a6e4 SHA256 0bc07eb47578d5bfb98774b18bf07aee2af44a7ccd947602c223b34e0d88394a AUX 2.3.1/glibc-2.3.1-fpu-cw-mips.patch 433 RMD160 4eda3122052714ea216ab402ea5a3a7f4654f48e SHA1 afb44c9a12e3d4ee28c61dd62522244c09776da4 SHA256 8e68949febc8b14941d15b9afd914b158db11d282d19c528f75a0b58c379dcce AUX 2.3.1/glibc-2.3.1-libc_wait-compat.patch 1053 RMD160 429e2065d45c4c68aa5f39eacf6d8ae5fbda63c8 SHA1 001a4af11de2029bcbb01a0afc4051cb4119807a SHA256 db4c92f86d3404ba4cc2f4d28e17517ed09124efcb518394d9c1df27d8540962 @@ -157,6 +160,7 @@ DIST glibc-2.9-20081201.tar.bz2 16430489 RMD160 1e1feb4ee9c0892a0544c05adb6dd249 DIST glibc-2.9-patches-1.tar.bz2 90506 RMD160 af77324b9ed996b5a810b47adc1ccafd8db8e866 SHA1 c0b379263591aeed7a37ed14cbf7afad092eaf59 SHA256 aa83340b5cdfb16f4605ec00f3b7cc6358167d0261b2b455351933aaf9e215a7 DIST glibc-2.9-patches-2.tar.bz2 95889 RMD160 ec322f454862cacfdc6cc2a55da4e18a9b78b09a SHA1 df9beb6254767d1348537d004bd77f001985f95c SHA256 a2706c2562798b72a0b13ab4bf486b2a2f60afe2e83ea1302a925d34886d9d5f DIST glibc-2.9-patches-5.tar.bz2 101693 RMD160 8cd377be020bf95a30862d77c215c16dc544602f SHA1 103839660f4e55871bf68835f8fec83d9afecdec SHA256 6f61c3e212c82eb118780573ac80d61835ff3a98fbea68b6f03a52009cce7d35 +DIST glibc-2.9-patches-6.tar.bz2 103648 RMD160 e19ed47532c4107aa309225d73eceec86e79f1b3 SHA1 ead1ed3d4621775e87ef4d9d33d72885d4edfbd5 SHA256 d4693fcbad9c013f523de7ce2fe652b8156a2cada991552d1e6d8b2f92e8b259 DIST glibc-2.9-ports-20081201.tar.bz2 487663 RMD160 80eb0035ed2e021e79755d4151ccd6d73cd78d8d SHA1 90a6ecbce37aabe6093c4dd0c8817cbf86321627 SHA256 19bb6e89855171d7ae01aef92054dfe4524521fbc13c67bfaa3ee81944210744 DIST glibc-fedora-20041219T2331.tar.bz2 761998 RMD160 cfc859a7e0a904cfb340c832267d3377e850cf6e SHA1 31e10b882bb9288831e1a1b2ed0ddece7099ffbd SHA256 e36ffa84388ebb746cb80c37d6fd1acc9e45e07b85c30b0a2ad9f511fae59cec DIST glibc-infopages-2.3.5.tar.bz2 1273846 RMD160 14a587e5df98ad113fa1499d2a958efbb47c437a SHA1 bb974b6dacd02161532717a9d8f97248acd6da14 SHA256 79a602955e3cf4288fa9967240b397281594acab18c263d2ef864e7d71aa54e1 @@ -202,6 +206,14 @@ EBUILD glibc-2.8_p20080602-r1.ebuild 13445 RMD160 afdb947f25121f050d6e5f9c4e3049 EBUILD glibc-2.8_p20080602.ebuild 13553 RMD160 136c8d3cf1a633484edf33a72475fd801d10643a SHA1 9ff283ec9a16adaaec1671bc2f59acca7cd07fdb SHA256 35209af51d86042e1506fe0383f7497999eef18c201ae52ca80b156cb25c9c19 EBUILD glibc-2.9_p20081201-r1.ebuild 13638 RMD160 499cb90beb840dec3630096628a38e6991d9bcd1 SHA1 1c58040d2cc552182fb0020d0cc5145648180746 SHA256 14685fa0ea5b40c61818e6bc597df81addea8e2fedf5f5d307ae80390985ac6c EBUILD glibc-2.9_p20081201-r2.ebuild 7736 RMD160 1ea764924c097d04931a4730b3e8c33d44ef48c6 SHA1 c53b969bac3c24baa7503f5c97c64a48e4f0802b SHA256 fd74b625c504837244165b493fc0cbd9862fde1094bf2c7dcded50cf61fe96a4 +EBUILD glibc-2.9_p20081201-r3.ebuild 7743 RMD160 f0da9da7683df361c17f165400ee8934a1ad9477 SHA1 48b429552e8548a70255e331ac787111bd04be2e SHA256 25bec3546d501f85d9e0699b0d093a626e0ba3afb3b4d847a570881994ef5d51 EBUILD glibc-2.9_p20081201.ebuild 13449 RMD160 ba463ccf508a887cab638d7f65aa809dd1933a2b SHA1 0e7798f24c20e8baaae9fac47c3322eae4e2dda1 SHA256 2da6944caf8bc892bcc05b64eee224946baff8d65e375587dac3582d22766e58 -MISC ChangeLog 118345 RMD160 d74ef503b8b0ed6a2dbaea5c9cfb0a90d0ae8580 SHA1 c372ee0fe0ea2ba934a39bfd1b2907c594817808 SHA256 08042a035f1c0146e332c518851d4c08e77dedbc8697ce6dab3d4d9a7ca1415e +MISC ChangeLog 118520 RMD160 81b8e4bf27ba66cbc27086c00f99025b71eee868 SHA1 722fc73824b4d15d3dc6d4071cb1e0c190bc67e8 SHA256 417442ef5a0aa835353f4254a0f77e10bee64ac4cf5f751efa4e49237408ddc7 MISC metadata.xml 1112 RMD160 1aa9770356149948593ebe35a1bd3940dd72fca2 SHA1 40514cc45c26bab671d78aa1567441bf72b0c6cc SHA256 4acea698dc4f66c17f4f3f81b28cd6b32f5425fd49f380df4a016489f786b1f5 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.11 (GNU/Linux) + +iEYEARECAAYFAkqYSs8ACgkQCRZPokWLroT1mgCeO8RQ2xHUAj68taJOuamCPvIb +b/4An0yCx1kqQbNHS8KBtJmF6wLrWRXb +=0Kft +-----END PGP SIGNATURE----- diff --git a/sys-libs/glibc/glibc-2.9_p20081201-r3.ebuild b/sys-libs/glibc/glibc-2.9_p20081201-r3.ebuild new file mode 100644 index 000000000000..f6f4cba8296d --- /dev/null +++ b/sys-libs/glibc/glibc-2.9_p20081201-r3.ebuild @@ -0,0 +1,229 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/glibc-2.9_p20081201-r3.ebuild,v 1.1 2009/08/29 21:21:48 halcy0n 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="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +RESTRICT="strip" # strip ourself #46186 +EMULTILIB_PKG="true" + +# Configuration variables +if [[ ${PV} == *_p* ]] ; then +RELEASE_VER=${PV%_p*} +BRANCH_UPDATE="" +SNAP_VER=${PV#*_p} +else +RELEASE_VER=${PV} +BRANCH_UPDATE="" +SNAP_VER="" +fi +MANPAGE_VER="" # pregenerated manpages +INFOPAGE_VER="" # pregenerated infopages +PATCH_VER="6" # Gentoo patchset +PORTS_VER=${RELEASE_VER} # version of glibc ports addon +LIBIDN_VER="" # version of libidn 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 nptlonly}" +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" + PROVIDE="virtual/libc" +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 ) + 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:+)} + >=sys-devel/gcc-config-1.3.12 + >=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="nls? ( sys-devel/gettext ) + selinux? ( sys-libs/libselinux )" + +if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then + DEPEND="${DEPEND} ${CATEGORY}/gcc" + [[ ${CATEGORY} == *-linux* ]] && DEPEND="${DEPEND} ${CATEGORY}/linux-headers" +else + DEPEND="${DEPEND} >=sys-libs/timezone-data-2007c" + RDEPEND="${RDEPEND} 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 + else + 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 + +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.5/glibc-2.5-hardened-pie.patch + epatch "${FILESDIR}"/2.5/glibc-2.5-hardened-configure-picdefault.patch + epatch "${FILESDIR}"/2.7/glibc-2.7-hardened-inittls-nosysenter.patch + + einfo "Installing Hardened Gentoo SSP handler" + cp -f "${FILESDIR}"/2.6/glibc-2.6-gentoo-stack_chk_fail.c \ + debug/stack_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" + 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 +} |