diff options
author | Benda Xu <heroxbd@gentoo.org> | 2014-12-01 21:42:53 +0900 |
---|---|---|
committer | Benda Xu <heroxbd@gentoo.org> | 2014-12-01 21:42:53 +0900 |
commit | f7fd99c2240435d847c9837025b1c50c7ec3fbbd (patch) | |
tree | 4c7ba1a733c64d4ac313d212906d1209a19af043 /sys-libs | |
parent | sys-libs/glibc digest (diff) | |
download | android-f7fd99c2240435d847c9837025b1c50c7ec3fbbd.tar.gz android-f7fd99c2240435d847c9837025b1c50c7ec3fbbd.tar.bz2 android-f7fd99c2240435d847c9837025b1c50c7ec3fbbd.zip |
use the patch update from bug #473728
Diffstat (limited to 'sys-libs')
-rw-r--r-- | sys-libs/glibc/Manifest | 6 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/common.eblit | 46 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/pkg_preinst.eblit | 6 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/src_configure.eblit | 2 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/src_install.eblit | 44 |
5 files changed, 47 insertions, 57 deletions
diff --git a/sys-libs/glibc/Manifest b/sys-libs/glibc/Manifest index 84d85bf..a2573c8 100644 --- a/sys-libs/glibc/Manifest +++ b/sys-libs/glibc/Manifest @@ -25,13 +25,13 @@ AUX 2.5/glibc-2.5-hardened-pie.patch 1569 SHA256 ff9cde8857c5da89faa4039e2a81748 AUX 2.6/glibc-2.6-gentoo-stack_chk_fail.c 9545 SHA256 1410ded812be80d452eada5f9d6b9bd7bdb504c14f01cc27dce3e36b6f92b92a SHA512 360b77df2d19d14060e19e763878297bf042eccd5206ce4829a33c78c982b59b46144116d237a7cac73a22dd6cb4987c8dd50f1d16003baa22c2cb2942d2cbdf WHIRLPOOL 44e14dacdd258c46201a44c2c6aae4d975b960a914c24e49f2b39dae960636512049daa052d3cd8e8d93819d263327c28eac947efdb5d9e240d1bc6e9964016f AUX 2.6/glibc-2.6-hardened-inittls-nosysenter.patch 8674 SHA256 cf58ded8fbe9fcb3dc094521feec2588c1520ff2c632b20c69d6a210325c4fcf SHA512 094b24474e42a9714f5298b0768d44f2c0e01b7d8c3b0a754bb16caa6c024106e8c0b1acbce670bacec1ead6653f8365397173d62cb8168b946c8f521ca155d2 WHIRLPOOL 9fa16256f9d3bd2f38023549c0bd4c932d3173b6c3f4ef66e19cdb3eff5cb2def6ec02fa72a7e57ba74da6d5f29b82ddb9692d59f6c694d45b5989fa0bfa6057 AUX 2.7/glibc-2.7-hardened-inittls-nosysenter.patch 8755 SHA256 b0b1bf0746f7160b89cf281502b95c38dec9cb948d6a50a907b84fd6230a2dc3 SHA512 50563c26e1fd2e71cb034c8a1b85e0e4075ac6467bae46d4cba0c105c940c5aa6531c39cf00c63ebf94be4e290ee485d7bd8239ff08dbc781db605b45c4aa38f WHIRLPOOL 2047148b53073bae4031ad864fc360112e2812115ec455142c82d4694a57387b49b36c98f400dd6f77f5dab3d419303faabe8183a16f0fd68387996c95888a43 -AUX eblits/common.eblit 12329 SHA256 dfa8671295a7aaaec16ce5a30132fbe1612b063eeedbebbe6cd1fa2a2bbfd24e SHA512 fb5042a8ea4a2816359df4513c215a80a989304ed94fed177ab35697b429ea4b1e7ecb6def92307932ddfa8337f766f0b634ea985382ecf02f124ba87a78dfb3 WHIRLPOOL 8e7ab80f3918ab8c6a94f3fc85cfd72ba9fdbb5baa9f9c331d75baf63fe421a0be5cdeb6d3c90dd700ed2fd17c039e0ed33628226cdc132f7a61743430580b92 +AUX eblits/common.eblit 11811 SHA256 d5e39c90ba19458a2cc3748f3659f095f80d203a4aaf86d738cbe8ee1835a8db SHA512 2f7d25e2cc03e6402f41c9cc5462f441bb881c4e6b9a77d25dd0649a6d0f0e7d174bce3a20cbf19e565c11d942b78436e163ac1587b8a77b3e3658d834d8631d WHIRLPOOL b74ea218554a5e5f762af4b35fe2cb66e0c70a843c622402202c07b9c22fe5d82add9ff41f0cab3c53987a319dc5f689e49bf459a6d8aa6556d036e5d18e2db9 AUX eblits/pkg_postinst.eblit 1085 SHA256 71b7a853cd825ed7044e69c8a76b6ee3e00d46614015960d411941c4d12f5d20 SHA512 fc39960f370f0a4d5ef4d794f6de14594a53730ec0b3a49956cfddced17196f485337b9cb29759f232ccd33b4e9af7affe92aac93752397aa2e29ff0c1e36809 WHIRLPOOL 22936beba3ab465ef32717c1659dffa6ef7094d59d0c8ce2455563d56ce371598deac783f365abe2c55a527e7bdb28d07733ee3ea0858e2df86c65d66d729031 -AUX eblits/pkg_preinst.eblit 2607 SHA256 4a6aadb05d7d9fd864011de5e42f7fcf94d03cd4e92c533d4d09c6279f74d354 SHA512 0e882b3e706d828e32d6fba78623241f9216c7070da7bc47c5eff923bbfa4815132d65f8983fb2d14a6a6f60b7bcecd7cbf4bd975f76fa3bc2fad22114368364 WHIRLPOOL bbf347d3389a82b94833dc4ae58138cffc265965f507f9c3d0e8eea42062ca04cd558ede5cff220ce8f52b0d43e90ffde9d33eda0b14021c4585293215792f86 +AUX eblits/pkg_preinst.eblit 2610 SHA256 9e2128b921342534ce8286f5b5d5e3d89435c1d0ef307f67438bdb27862fff25 SHA512 a3b48453670f0f31ffaddfe5d397f2a28a3748840bfcea621ccde6b7a0efec180ef528cf9bf9b99bf523b3c379c978d21d036df621e1726b5ea6f1555c361a92 WHIRLPOOL b4c4e720579bfb1b13e47aba5fa1bf40b9265432e7ba2ab21decf7f11c9a90dc3b5c0cb283bdbf8f903f27712854c48265cae4e3c926f4b06e6261fb47365170 AUX eblits/pkg_setup.eblit 3963 SHA256 385b1315ef36265375d4a552687437a59cade4dbc937aa99a313002abea63736 SHA512 db970d0bf24182993f10713234316f7a4392859a3d8eff419a2ed7220f4e159daf1b6944888d34bc777587b2e9160a1bd911526fc28512d47aa60ebe3029d4da WHIRLPOOL 8a00c72f2d81e39de89e43f0eb973315035702357aec986032af7085bc1e5ad02ba2c6341c22f1e967219e239de3e5c714a156117141f875821e116bc78de4cc AUX eblits/src_compile.eblit 712 SHA256 2f7250659b1ea316dd67a0baa229b9248693b55738416e242bcacbd6efec96b2 SHA512 f812075621013eb9db7748e16997f7785e6029f691147ef63c9c5e4c0ec98ca47cad81a9aa135e69dd57296454d158191deced0cb47201343698d9495b8dd34e WHIRLPOOL 0692b14ac23a7f995e68c15fc91643bd72707f4072e319460a31014a91fe789794b10ac155021b48f02b9bea636305408ec56bb161664a21ec7f5ff86ccff7fe AUX eblits/src_configure.eblit 7271 SHA256 736610669ac20a00cd5cd42f5d669c69f744398394bdd680cd9665284bd9dbc1 SHA512 eefc27858f5d9f2d3be8ba72ae451ac445b0db053963005175517e6c0d6c23dc53c1d167369c6729e61d518bc595ad8c006670ce5e5779845917eb187db6ec83 WHIRLPOOL 2db45c1561dd30c3a45baeb0a50a92977397b59732ae1eb443643e836f29c4ec510c3a9ad664d3513871914d141769606a21e7b337f1b236a1a7759a128bf583 -AUX eblits/src_install.eblit 7995 SHA256 87d461c083c280061880a41526ae2756051889f99a60f3a9d770e437b6d14541 SHA512 d0e9f9d5cf2febadc2e10dd59104ee8cc7175e619cb771f5283504598c617433458fd4337233da6042ddef34013008a2e47e5d576e04388a1dbf3f0e6cf50efe WHIRLPOOL 3645fc7c8ee062a99337e22df3abd70decc42b715ae8c77fd7508fe83a0d43c5972a5069994da828a379becc4947d4ca9af5ca0d8e438e917cf26e71b517ce12 +AUX eblits/src_install.eblit 7940 SHA256 e6b3c927b52ccb2afd3a080be482e34481a821f4f4280f426f8b5ddc29db8c30 SHA512 df13584e9fb4d307a7871e2a26347d944d089938f6e5f4c6538a09c23f42b683a4808dc426547af3127787a4b0420459fbdd52f5910ddea45ed1c247fe8b520e WHIRLPOOL 76ec59abcafc6a530ec7f243ab18dad7176196f60800dc743ba120a8e1503a0ff6159bcfa75e5ba0f5d32c25af07ebfa426a5100d8912b37a9dffd6b5f355c46 AUX eblits/src_prepare.eblit 2344 SHA256 7898682539bc85f126e491bc9c9a727cc5d922680f91dd409aec50c068ca93aa SHA512 30d706f26475db2dfe8cfaaa003c3a21988328ba0cc7cdca439d248c968430308d8d0afefa60302315d4c76011e4de51925307ee19d15eba10e24f1ede2b956f WHIRLPOOL 3a5ad0de18649805d97b0d78ea33e52608e7b6694ac567313db9e09da18a0bca9b95a027fe0181b50738b5bfe83ac49254d29b077cef36fb311a9707683261b5 AUX eblits/src_test.eblit 808 SHA256 8a652acb87e941fe767ddfbe0e0a42e3b5f208f5408606c5d9de22a85b1f8ebe SHA512 b8a37cd8294f5b6d2735d9971e7bc4bde1a7671540d6f76764d06203f5f179c143c487f57c57747c8e72e7a1d89d05928df51331a44f46d4290e9b89449eed63 WHIRLPOOL c33b33b71431f3438fbe350c8c1d3c67d17fdccef61687bc645397635875d09af8b4e2b545a4405429c2b8ee4a012fd753205e4b5ce3bb2f93e4341d34a18eb4 AUX eblits/src_unpack.eblit 3209 SHA256 82b23ecfe2fc3b7e93545af4b67e2525e1ee3c9f2d4eac3af435cf44e8254da4 SHA512 4f9cb34be2869864c0f814141bf1b6504b4138c3c672dd1fef9c5ad448c6fabab98445551cb364035978898c9e7829168ef702b068b4dadf325cf925c70ab42f WHIRLPOOL bdcf238477e6148dcdb8371eee40cb8ee920e039848e1088923922e615529fea70089fb5f1094630269d3a876c4752f41d0433b2948f5b5283a532938c9858df diff --git a/sys-libs/glibc/files/eblits/common.eblit b/sys-libs/glibc/files/eblits/common.eblit index 6dd5d29..265e605 100644 --- a/sys-libs/glibc/files/eblits/common.eblit +++ b/sys-libs/glibc/files/eblits/common.eblit @@ -2,35 +2,23 @@ # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/common.eblit,v 1.45 2014/10/18 23:09:51 vapier Exp $ -# There are many directory offsets here that can lead to confusion. We summarize the senarios in this table -# P:=Prefix X:=Cross-Triplet -# example of configure host: --with-headers -# example of configure target: --libdir -# -# variation phase PX X P solution -# -----------+-------------------+-----------------------+---------------+---------+---------------------------------------- -# host configure EPREFIX/usr/CTARGET/TPREFIX /usr/CTARGET TPREFIX $(alt_prefix) -# target configure TPREFIX NULL TPREFIX $TPREFIX -# -----------+-------------------+-----------------------+---------------+---------+---------------------------------------- -# host install_root D/EPREFIX/usr/CTARGET D/usr/CTARGET D ${D}/$(alt_prefix no-tp) -# -----------+-------------------+-----------------------+---------------+---------+---------------------------------------- -# host ebuild helper ED/ /usr/CTARGET/TPREFIX /usr/CTARGET NULL $(alt_prefix no-ep) -# host file D/EPREFIX/usr/CTARGET/TPREFIX D/usr/CTARGET D/TPREFIX $(alt_prefix) -# -# alt_prefix and TPREFIX in the table are defined as followed - : ${TPREFIX:=${EPREFIX}} +# ROOT variable is not used in src_*; emulate that with $(alt_prefix root). +# P:=Prefix X:=Cross-Triplet PX: Cross-Triplet-Prefix +# phase PX X P solution +# -------------------+-----------------------------+--------------+---------+----------------------- +# configure_headers EPREFIX/usr/CTARGET/TPREFIX /usr/CTARGET EPREFIX $EPREFIX$(alt_prefix) +# configure_target TPREFIX NULL TPREFIX $TPREFIX +# -------------------+-----------------------------+--------------+---------+----------------------- +# install_root D/ EPREFIX/usr/CTARGET /usr/CTARGET NULL $(alt_prefix root) +# -------------------+-----------------------------+--------------+---------+----------------------- +# ebuild helper ED/ /usr/CTARGET/TPREFIX /usr/CTARGET NULL $(alt_prefix) alt_prefix() { - # EPREFIX needs to be stripped before passing to portage helpers - local prefix tprefix if is_crosscompile; then - prefix=$([[ $1 == no-ep ]] || echo ${EPREFIX})/usr/${CTARGET} - [[ $1 == no-tp ]] || tprefix=${TPREFIX} - else - [[ $1 == no-tp ]] || [[ $1 == no-ep ]] || tprefix=${TPREFIX} + echo -n "${EPREFIX}"/usr/${CTARGET} + [[ $1 == root ]] || echo ${TPREFIX} fi - echo ${prefix}${tprefix} } if [[ ${EAPI:-0} == [012] ]] ; then @@ -50,13 +38,13 @@ fi # the whole system. # note: intentionally undocumented. alt_headers() { - echo ${ALT_HEADERS:=$(alt_prefix $@)/usr/include} + echo ${ALT_HEADERS:=$(alt_prefix)/usr/include} } alt_build_headers() { if [[ -z ${ALT_BUILD_HEADERS} ]] ; then - ALT_BUILD_HEADERS=$(alt_headers) + ALT_BUILD_HEADERS="${EPREFIX}"$(alt_headers) if tc-is-cross-compiler ; then - ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers) + ALT_BUILD_HEADERS=${SYSROOT}"${EPREFIX}"$(alt_headers) if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then local header_path=$(echo '#include <linux/version.h>' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h') ALT_BUILD_HEADERS=${header_path%/linux/version.h} @@ -67,10 +55,10 @@ alt_build_headers() { } alt_libdir() { - echo $(alt_prefix $@)/$(get_libdir) + echo $(alt_prefix)/$(get_libdir) } alt_usrlibdir() { - echo $(alt_prefix $@)/usr/$(get_libdir) + echo $(alt_prefix)/usr/$(get_libdir) } builddir() { diff --git a/sys-libs/glibc/files/eblits/pkg_preinst.eblit b/sys-libs/glibc/files/eblits/pkg_preinst.eblit index f932b37..e454452 100644 --- a/sys-libs/glibc/files/eblits/pkg_preinst.eblit +++ b/sys-libs/glibc/files/eblits/pkg_preinst.eblit @@ -11,14 +11,14 @@ glibc_sanity_check() { cd / #228809 - # We enter ${D} so to avoid trouble if the path contains + # We enter ${ED} so to avoid trouble if the path contains # special characters; for instance if the path contains the # colon character (:), then the linker will try to split it # and look for the libraries in an unexpected place. This can # lead to unsafe code execution if the generated prefix is # within a world-writable directory. # (e.g. /var/tmp/portage:${HOSTNAME}) - pushd "${D}"/$(get_libdir) >/dev/null + pushd "${ED}"/$(get_libdir) >/dev/null local x striptest for x in cal date env free ls true uname uptime ; do @@ -50,7 +50,7 @@ eblit-glibc-pkg_preinst() { fi [[ ${ROOT} != "/" ]] && return 0 - [[ -d ${D}/$(get_libdir) ]] || return 0 + [[ -d ${ED}/$(get_libdir) ]] || return 0 glibc_sanity_check # Make sure devpts is mounted correctly for use w/out setuid pt_chown. diff --git a/sys-libs/glibc/files/eblits/src_configure.eblit b/sys-libs/glibc/files/eblits/src_configure.eblit index 4c1e305..608344d 100644 --- a/sys-libs/glibc/files/eblits/src_configure.eblit +++ b/sys-libs/glibc/files/eblits/src_configure.eblit @@ -108,6 +108,8 @@ glibc_do_configure() { $(use_with gd) --with-headers="$(alt_build_headers)" --prefix="${TPREFIX}"/usr + --sysconfdir="${TPREFIX}"/etc + --localstatedir="${TPREFIX}"/var --libdir="${TPREFIX}"/usr/$(get_libdir) --mandir="${TPREFIX}"/usr/share/man --infodir="${TPREFIX}"/usr/share/info diff --git a/sys-libs/glibc/files/eblits/src_install.eblit b/sys-libs/glibc/files/eblits/src_install.eblit index 8df531d..e46924c 100644 --- a/sys-libs/glibc/files/eblits/src_install.eblit +++ b/sys-libs/glibc/files/eblits/src_install.eblit @@ -6,12 +6,12 @@ toolchain-glibc_src_install() { local builddir=$(builddir $(want_linuxthreads && echo linuxthreads || echo nptl)) cd "${builddir}" - emake install_root="${D}$(alt_prefix no-tp)" install || die + emake install_root="${D}$(alt_prefix root)" install || die if want_linuxthreads && want_nptl ; then einfo "Installing NPTL to $(alt_libdir)/tls/..." cd "$(builddir nptl)" - dodir $(alt_libdir no-ep)/tls $(alt_usrlibdir no-ep)/nptl + dodir $(alt_libdir)/tls $(alt_usrlibdir)/nptl local l src_lib for l in libc libm librt libpthread libthread_db ; do @@ -22,33 +22,33 @@ toolchain-glibc_src_install() { else src_lib=$(eval echo */${l}) fi - cp -a ${src_lib} "${D}"$(alt_libdir)/tls/${l} || die "copying nptl ${l}" - fperms a+rx $(alt_libdir no-ep)/tls/${l} - dosym ${l} $(alt_libdir no-ep)/tls/$(scanelf -qSF'%S#F' ${src_lib}) + cp -a ${src_lib} "${ED}"$(alt_libdir)/tls/${l} || die "copying nptl ${l}" + fperms a+rx $(alt_libdir)/tls/${l} + dosym ${l} $(alt_libdir)/tls/$(scanelf -qSF'%S#F' ${src_lib}) # then grab the linker script or the symlink ... - if [[ -L ${D}$(alt_usrlibdir)/${l} ]] ; then - dosym $(alt_libdir no-ep)/tls/${l} $(alt_usrlibdir no-ep)/nptl/${l} + if [[ -L ${ED}$(alt_usrlibdir)/${l} ]] ; then + dosym $(alt_libdir)/tls/${l} $(alt_usrlibdir)/nptl/${l} else sed \ -e "s:/${l}:/tls/${l}:g" \ -e "s:/${l/%.so/_nonshared.a}:/nptl/${l/%.so/_nonshared.a}:g" \ - "${D}"$(alt_usrlibdir)/${l} > "${D}"$(alt_usrlibdir)/nptl/${l} + "${ED}"$(alt_usrlibdir)/${l} > "${ED}"$(alt_usrlibdir)/nptl/${l} fi # then grab the static lib ... src_lib=${src_lib/%.so/.a} [[ ! -e ${src_lib} ]] && src_lib=${src_lib/%.a/_pic.a} - cp -a ${src_lib} "${D}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}" + cp -a ${src_lib} "${ED}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}" src_lib=${src_lib/%.a/_nonshared.a} if [[ -e ${src_lib} ]] ; then - cp -a ${src_lib} "${D}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}" + cp -a ${src_lib} "${ED}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}" fi done # use the nptl linker instead of the linuxthreads one as the linuxthreads # one may lack TLS support and that can be really bad for business - cp -a elf/ld.so "${D}"$(alt_libdir)/$(scanelf -qSF'%S#F' elf/ld.so) || die "copying nptl interp" + cp -a elf/ld.so "${ED}"$(alt_libdir)/$(scanelf -qSF'%S#F' elf/ld.so) || die "copying nptl interp" fi # We'll take care of the cache ourselves @@ -94,15 +94,15 @@ toolchain-glibc_src_install() { ) ;; esac - if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${D}/$(alt_prefix)/lib ]] ; then - dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix no-tp)/lib + if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then + dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib fi for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do ldso_abi=${ldso_abi_list[i]} has ${ldso_abi} $(get_install_abis) || continue - ldso_name="$(alt_prefix no-ep)${ldso_abi_list[i+1]}" - if [[ ! -L ${D}/${ldso_name} && ! -e ${D}/${ldso_name} ]] ; then + ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}" + if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} fi done @@ -111,7 +111,7 @@ toolchain-glibc_src_install() { # binary to be setuid. This is because the default owners/perms will be # exactly what we want. if in_iuse suid && ! use suid ; then - find "${D}" -name pt_chown -exec chmod -s {} + + find "${ED}" -name pt_chown -exec chmod -s {} + fi ################################################################# @@ -124,12 +124,12 @@ toolchain-glibc_src_install() { # gcc likes to use relative paths to get to its multilibs like # /usr/lib/../lib64/. So while we don't install any files into # /usr/lib/, we do need it to exist. - cd "${D}"$(alt_libdir)/.. + cd "${ED}"$(alt_libdir)/.. [[ -e lib ]] || mkdir lib - cd "${D}"$(alt_usrlibdir)/.. + cd "${ED}"$(alt_usrlibdir)/.. [[ -e lib ]] || mkdir lib - dosym usr/include $(alt_prefix no-ep)/sys-include + dosym usr/include $(alt_prefix)/sys-include return 0 fi @@ -202,12 +202,12 @@ toolchain-glibc_src_install() { toolchain-glibc_headers_install() { local builddir=$(builddir "headers") cd "${builddir}" - emake install_root="${D}$(alt_prefix no-tp)" install-headers || die + emake install_root="${D}$(alt_prefix root)" install-headers || die if ! version_is_at_least 2.16 ; then - insinto $(alt_headers no-ep)/bits + insinto $(alt_headers)/bits doins bits/stdio_lim.h || die fi - insinto $(alt_headers no-ep)/gnu + insinto $(alt_headers)/gnu doins "${S}"/include/gnu/stubs.h || die "doins include gnu" # Make sure we install the sys-include symlink so that when # we build a 2nd stage cross-compiler, gcc finds the target |