diff options
author | XU Benda <heroxbd@gmail.com> | 2013-08-18 22:33:21 +0900 |
---|---|---|
committer | XU Benda <heroxbd@gmail.com> | 2013-08-18 22:33:21 +0900 |
commit | 5935b35ecbd332f60ca7c9808ea117bc3e8d4c80 (patch) | |
tree | 10a764687077f3d97efd9b9db93c5f06804beb24 /sys-libs/glibc/files | |
parent | glibc do not make ED EROOT variable (diff) | |
download | android-5935b35ecbd332f60ca7c9808ea117bc3e8d4c80.tar.gz android-5935b35ecbd332f60ca7c9808ea117bc3e8d4c80.tar.bz2 android-5935b35ecbd332f60ca7c9808ea117bc3e8d4c80.zip |
track binutils-config, update gcc/binutils.
Diffstat (limited to 'sys-libs/glibc/files')
-rw-r--r-- | sys-libs/glibc/files/2.17/locale-gen_prefix.patch | 35 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/common.eblit | 3 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/common.eblit.rej | 13 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/src_compile.eblit.orig | 249 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/src_install.eblit.orig | 272 | ||||
-rw-r--r-- | sys-libs/glibc/files/eblits/src_unpack.eblit | 3 |
6 files changed, 31 insertions, 544 deletions
diff --git a/sys-libs/glibc/files/2.17/locale-gen_prefix.patch b/sys-libs/glibc/files/2.17/locale-gen_prefix.patch index 6c17480..f378605 100644 --- a/sys-libs/glibc/files/2.17/locale-gen_prefix.patch +++ b/sys-libs/glibc/files/2.17/locale-gen_prefix.patch @@ -3,24 +3,30 @@ Index: work/extra/locale/locale-gen =================================================================== --- work.orig/extra/locale/locale-gen +++ work/extra/locale/locale-gen -@@ -8,7 +8,7 @@ unset POSIXLY_CORRECT IFS +@@ -8,7 +8,13 @@ unset POSIXLY_CORRECT IFS umask 0022 argv0=${0##*/} -source /etc/init.d/functions.sh || { -+source "@GENTOO_PORTAGE_EPREFIX@"/etc/init.d/functions.sh || { ++ ++EPREFIX="@GENTOO_PORTAGE_EPREFIX@" ++if [[ ${EPREFIX} == "@"GENTOO_PORTAGE_EPREFIX"@" ]] ; then ++ EPREFIX="" ++fi ++ ++source "${EPREFIX}"/etc/init.d/functions.sh || { echo "${argv0}: Could not source /etc/init.d/functions.sh!" 1>&2 exit 1 } -@@ -97,13 +97,14 @@ if [[ -n ${DESTDIR} ]] && [[ ${ROOT} != +@@ -97,13 +103,14 @@ if [[ -n ${DESTDIR} ]] && [[ ${ROOT} != eerror "DESTDIR and ROOT are mutually exclusive options" exit 1 fi -if [[ ${ROOT} != "/" ]] ; then - einfo "Using locale.gen from ROOT ${ROOT}etc/" -+: ${EROOT:="${ROOT%/}@GENTOO_PORTAGE_EPREFIX@/"} ++: ${EROOT:="${ROOT%/}${EPREFIX}/"} +if [[ ${EROOT} != "/" ]] ; then -+ einfo "Using locale.gen from EROOT ${EROOT}etc/" ++ einfo "Using locale.gen from ROOT ${EROOT}etc/" fi if [[ -n ${DESTDIR} ]] ; then einfo "Building locales in DESTDIR '${DESTDIR}'" @@ -30,7 +36,7 @@ Index: work/extra/locale/locale-gen fi # XXX: should fix this ... -@@ -112,7 +113,7 @@ if [[ ${ROOT} != "/" ]] ; then +@@ -112,7 +119,7 @@ if [[ ${ROOT} != "/" ]] ; then exit 0 fi @@ -39,7 +45,7 @@ Index: work/extra/locale/locale-gen LOCALES=${DESTDIR}usr/share/i18n/locales CHARMAPS=${DESTDIR}usr/share/i18n/charmaps SUPPORTED=${DESTDIR}usr/share/i18n/SUPPORTED -@@ -150,7 +151,10 @@ fi +@@ -150,7 +157,10 @@ fi # Extract the location of the locale dir on the fly as `localedef --help` has: # locale path : /usr/lib64/locale:/usr/share/i18n @@ -47,16 +53,25 @@ Index: work/extra/locale/locale-gen +# For long paths, the line may get wrapped into two, in which case space (' ') is replaced +# by newline (\n). +LOCALEDIR=$(LC_ALL="C" "${DESTDIR}"usr/bin/localedef --help | sed -n -r '/locale path/{N;s|.*:[ \n](.*):/.*|\1|;p}') -+LOCALEDIR="${DESTDIR}${LOCALEDIR#@GENTOO_PORTAGE_EPREFIX@}" ++LOCALEDIR="${DESTDIR}${LOCALEDIR#${EPREFIX}}" if [[ $? -ne 0 ]] || [[ -z ${LOCALEDIR} ]] || [[ ${LOCALEDIR} != ${DESTDIR}/usr/lib*/locale ]] ; then eerror "Unable to parse the output of your localedef utility." 1>&2 eerror "File a bug about this issue and include the output of 'localedef --help'." 1>&2 -@@ -280,7 +284,7 @@ generate_locale() { +@@ -160,7 +170,7 @@ fi + + + if [[ ${QUIET} -eq 0 ]] && [[ -z ${JUST_LIST} ]] && \ +- [[ -e ${ROOT}etc/locales.build ]] ++ [[ -e ${EROOT}etc/locales.build ]] + then + ewarn "You should upgrade your /etc/locales.build to /etc/locale.gen" + ewarn "and then remove /etc/locales.build when you're done.\n" +@@ -280,7 +290,7 @@ generate_locale() { -i "${input}" \ -f "${charmap}" \ -A "${ALIAS}" \ - --prefix "${DESTDIR}" \ -+ --prefix "${DESTDIR%@GENTOO_PORTAGE_EPREFIX@/}/" \ ++ --prefix "${DESTDIR%${EPREFIX}/}/" \ "${locale}" 2>&1 ret=$? [[ -n ${output} ]] && eend ${ret} diff --git a/sys-libs/glibc/files/eblits/common.eblit b/sys-libs/glibc/files/eblits/common.eblit index 654694b..07722e9 100644 --- a/sys-libs/glibc/files/eblits/common.eblit +++ b/sys-libs/glibc/files/eblits/common.eblit @@ -24,6 +24,9 @@ alt_prefix() { TPREFIX=$(is_crosscompile || echo "${EPREFIX}") +: ${ED:=${D}} +: ${EROOT:=${ROOT}} + # We need to be able to set alternative headers for # compiling for non-native platform # Will also become useful for testing kernel-headers without screwing up diff --git a/sys-libs/glibc/files/eblits/common.eblit.rej b/sys-libs/glibc/files/eblits/common.eblit.rej deleted file mode 100644 index 03ccf65..0000000 --- a/sys-libs/glibc/files/eblits/common.eblit.rej +++ /dev/null @@ -1,13 +0,0 @@ ---- files/eblits/common.eblit -+++ files/eblits/common.eblit -@@ -279,8 +279,9 @@ - # silly users - unset LD_RUN_PATH - -- multilib_env ${CTARGET_OPT:-${CTARGET}} - if is_crosscompile || tc-is-cross-compiler ; then -+ multilib_env ${CTARGET_OPT:-${CTARGET}} -+ - if ! use multilib ; then - MULTILIB_ABIS=${DEFAULT_ABI} - else diff --git a/sys-libs/glibc/files/eblits/src_compile.eblit.orig b/sys-libs/glibc/files/eblits/src_compile.eblit.orig deleted file mode 100644 index 8c07558..0000000 --- a/sys-libs/glibc/files/eblits/src_compile.eblit.orig +++ /dev/null @@ -1,249 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_compile.eblit,v 1.35 2013/04/05 18:25:21 vapier Exp $ - -glibc_do_configure() { - local myconf=() - - einfo "Configuring GLIBC for $1" - - # set addons - pushd "${S}" > /dev/null - local ADDONS=$(echo */configure | sed \ - -e 's:/configure::g' \ - -e 's:\(linuxthreads\|nptl\|rtkaio\|glibc-compat\)\( \|$\)::g' \ - -e 's: \+$::' \ - -e 's! !,!g' \ - -e 's!^!,!' \ - -e '/^,\*$/d') - [[ -d ports ]] && ADDONS="${ADDONS},ports" - popd > /dev/null - - myconf+=( $(use_enable hardened stackguard-randomization) ) - if has_version '<sys-libs/glibc-2.13' ; then - myconf+=( --enable-old-ssp-compat ) - fi - - [[ ${CTARGET//_/-} == *-softfloat-* ]] && myconf+=( --without-fp ) - - if [[ $1 == "linuxthreads" ]] ; then - if want_tls ; then - myconf+=( --with-tls ) - - if ! want__thread || use glibc-compat20 || [[ ${LT_KER_VER} == 2.[02].* ]] ; then - myconf+=( --without-__thread ) - else - myconf+=( --with-__thread ) - fi - else - myconf+=( --without-tls --without-__thread ) - fi - - myconf+=( --disable-sanity-checks ) - myconf+=( --enable-add-ons="linuxthreads${ADDONS}" ) - myconf+=( --enable-kernel=${LT_KER_VER} ) - elif [[ $1 == "nptl" ]] ; then - myconf+=( --enable-add-ons="nptl${ADDONS}" ) - myconf+=( --enable-kernel=${NPTL_KERN_VER} ) - else - die "invalid pthread option" - fi - - # Since SELinux support is only required for nscd, only enable it if: - # 1. USE selinux - # 2. only for the primary ABI on multilib systems - # 3. Not a crosscompile - if ! is_crosscompile && use selinux ; then - if use multilib || has_multilib_profile ; then - if is_final_abi ; then - myconf+=( --with-selinux ) - else - myconf+=( --without-selinux ) - fi - else - myconf+=( --with-selinux ) - fi - else - myconf+=( --without-selinux ) - fi - - myconf+=( - --without-cvs - --enable-bind-now - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - $(use_enable profile) - $(use_with gd) - --with-headers="$(alt_eprefix)"$(alt_build_headers) - --prefix="$(alt_eprefix)"/usr - --libdir="$(alt_eprefix)"/usr/$(get_libdir) - --mandir="$(alt_eprefix)"/usr/share/man - --infodir="$(alt_eprefix)"/usr/share/info - --libexecdir="$(alt_eprefix)"/usr/$(get_libdir)/misc/glibc - --sysconfdir="$(alt_eprefix)"/etc - --localstatedir="$(alt_eprefix)"/var - --with-bugurl=http://bugs.gentoo.org/ - --with-pkgversion="$(glibc_banner)" - $(use_multiarch || echo --disable-multi-arch) - --enable-obsolete-rpc - $(in_iuse systemtap && use_enable systemtap) - $(in_iuse nscd && use_enable nscd) - ${EXTRA_ECONF} - ) - - # There is no configure option for this and we need to export it - # since the glibc build will re-run configure on itself - export libc_cv_slibdir="$(alt_eprefix)"/$(get_libdir) - - # We take care of patching our binutils to use both hash styles, - # and many people like to force gnu hash style only, so disable - # this overriding check. #347761 - export libc_cv_hashstyle=no - - local GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-$1 - mkdir -p "${GBUILDDIR}" - cd "${GBUILDDIR}" - set -- "${S}"/configure "${myconf[@]}" - echo "$@" - "$@" || die "failed to configure glibc" - - # ia64 static cross-compilers are a pita in so much that they - # can't produce static ELFs (as the libgcc.a is broken). so - # disable building of the programs for those targets if it - # doesn't work. - # XXX: We could turn this into a compiler test, but ia64 is - # the only one that matters, so this should be fine for now. - if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then - sed -i '1i+link-static = touch $@' config.make - fi -} - -toolchain-glibc_src_compile() { - echo - local v - for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC {AS,C,CPP,CXX,LD}FLAGS ; do - einfo " $(printf '%15s' ${v}:) ${!v}" - done - - export CC=$(tc-getCC ${CTARGET}) - # Glibc does not work with gold (for various reasons) #269274. - if $(tc-getLD ${CTARGET}) --version | grep -q 'GNU gold' ; then - local d="${T}/bfd-linker" - mkdir -p "${d}" - ln -sf $(which ${CTARGET}-ld.bfd) "${d}"/ld - CC+=" -B${d}" - fi - einfo " $(printf '%15s' 'Manual CC:') ${CC}" - echo - - if want_linuxthreads ; then - glibc_do_configure linuxthreads - emake || die "make for ${ABI} failed" - fi - if want_nptl ; then - # ... and then do the optional nptl build - unset LD_ASSUME_KERNEL - glibc_do_configure nptl - emake || die "make for ${ABI} failed" - fi -} - -toolchain-glibc_headers_compile() { - local GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-headers - mkdir -p "${GBUILDDIR}" - cd "${GBUILDDIR}" - - # if we don't have a compiler yet, we cant really test it now ... - # hopefully they don't affect header geneation, so let's hope for - # the best here ... - local v vars=( - ac_cv_header_cpuid_h=yes - libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes - libc_cv_asm_cfi_directives=yes - libc_cv_broken_visibility_attribute=no - libc_cv_gcc___thread=yes - libc_cv_mlong_double_128=yes - libc_cv_mlong_double_128ibm=yes - libc_cv_ppc_machine=yes - libc_cv_ppc_rel16=yes - libc_cv_predef_{fortify_source,stack_protector}=no - libc_cv_visibility_attribute=yes - libc_cv_z_combreloc=yes - libc_cv_z_execstack=yes - libc_cv_z_initfirst=yes - libc_cv_z_nodelete=yes - libc_cv_z_nodlopen=yes - libc_cv_z_relro=yes - libc_mips_abi=${ABI} - libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard) - ) - einfo "Forcing cached settings:" - for v in "${vars[@]}" ; do - einfo " ${v}" - export ${v} - done - - # Pick out the correct location for build headers - local ports="" myconf=() - [[ -d ${S}/ports ]] && ports=",ports" - myconf+=( - --disable-sanity-checks - --enable-hacker-mode - --enable-add-ons=nptl${ports} - --without-cvs - --enable-bind-now - --build=${CBUILD_OPT:-${CBUILD}} - --host=${CTARGET_OPT:-${CTARGET}} - --with-headers=$(alt_eprefix)$(alt_build_headers) - --prefix="$(alt_eprefix)"/usr - ${EXTRA_ECONF} - ) - - # Nothing is compiled here which would affect the headers for the target. - # so forcing CC/CFLAGS is sane. unless you dont have `gcc`. then i - # dont care :p. - set -- "${S}"/configure "${myconf[@]}" - CC=gcc \ - CFLAGS="-O1 -pipe" \ - CPPFLAGS="-U_FORTIFY_SOURCE" \ - LDFLAGS="" \ - "$@" || die "failed to configure glibc" -} - -eblit-glibc-src_compile() { - if is_crosscompile ; then - export \ - libc_cv_c_cleanup=yes \ - libc_cv_forced_unwind=yes - fi - - if just_headers ; then - export ABI=default - toolchain-glibc_headers_compile - return - fi - - setup_env - - if [[ -z ${OABI} ]] ; then - local abilist="" - if has_multilib_profile ; then - abilist=$(get_install_abis) - elif is_crosscompile || tc-is-cross-compiler ; then - abilist=${DEFAULT_ABI} - fi - einfo "Building glibc for ABIs: ${abilist}" - if [[ -n ${abilist} ]] ; then - OABI=${ABI} - for ABI in ${abilist} ; do - export ABI - src_compile - done - ABI=${OABI} - unset OABI - return 0 - fi - fi - - toolchain-glibc_src_compile -} diff --git a/sys-libs/glibc/files/eblits/src_install.eblit.orig b/sys-libs/glibc/files/eblits/src_install.eblit.orig deleted file mode 100644 index a62ec60..0000000 --- a/sys-libs/glibc/files/eblits/src_install.eblit.orig +++ /dev/null @@ -1,272 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/glibc/files/eblits/src_install.eblit,v 1.30 2013/04/10 17:36:54 vapier Exp $ - -toolchain-glibc_src_install() { - local GBUILDDIR - if want_linuxthreads ; then - GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-linuxthreads - else - GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-nptl - fi - - local install_root="${D}$(alt_prefix)" - if want_linuxthreads ; then - cd "${WORKDIR}"/build-${ABI}-${CTARGET}-linuxthreads - einfo "Installing GLIBC ${ABI} with linuxthreads ..." - else - cd "${WORKDIR}"/build-${ABI}-${CTARGET}-nptl - einfo "Installing GLIBC ${ABI} with NPTL ..." - fi - emake install_root="${install_root}" install || die - - if want_linuxthreads && want_nptl ; then - einfo "Installing NPTL to $(alt_libdir)/tls/..." - cd "${WORKDIR}"/build-${ABI}-${CTARGET}-nptl - dodir $(alt_libdir)/tls $(alt_usrlibdir)/nptl - - local l src_lib - for l in libc libm librt libpthread libthread_db ; do - # take care of shared lib first ... - l=${l}.so - if [[ -e ${l} ]] ; then - src_lib=${l} - else - src_lib=$(eval echo */${l}) - fi - 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 ${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" \ - "${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} "${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} "${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 "${ED}"$(alt_libdir)/$(scanelf -qSF'%S#F' elf/ld.so) || die "copying nptl interp" - fi - - # We'll take care of the cache ourselves - rm -f "${ED}"/etc/ld.so.cache - - # Everything past this point just needs to be done once ... - is_final_abi || return 0 - - # Make sure the non-native interp can be found on multilib systems even - # if the main library set isn't installed into the right place. Maybe - # we should query the active gcc for info instead of hardcoding it ? - local i ldso_abi ldso_name - local ldso_abi_list=( - # x86 - amd64 /lib64/ld-linux-x86-64.so.2 - x32 /libx32/ld-linux-x32.so.2 - x86 /lib/ld-linux.so.2 - # mips - o32 /lib/ld.so.1 - n32 /lib32/ld.so.1 - n64 /lib64/ld.so.1 - # powerpc - ppc /lib/ld.so.1 - ppc64 /lib64/ld64.so.1 - # s390 - s390 /lib/ld.so.1 - s390x /lib/ld64.so.1 - # sparc - sparc32 /lib/ld-linux.so.2 - sparc64 /lib64/ld-linux.so.2 - ) - if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${D}$(alt_eprefix)/$(alt_prefix)/lib ]] ; then - dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_arch_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)${ldso_abi_list[i+1]}" - if [[ ! -L ${D}/${ldso_name} && ! -e ${D}/${ldso_name} ]] ; then - dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name} - fi - done - - # With devpts under Linux mounted properly, we do not need the pt_chown - # 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 {} + - fi - - ################################################################# - # EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY # - # Make sure we install some symlink hacks so that when we build - # a 2nd stage cross-compiler, gcc finds the target system - # headers correctly. See gcc/doc/gccinstall.info - if is_crosscompile ; then - # We need to make sure that /lib and /usr/lib always exists. - # 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 "${ED}"$(alt_libdir)/.. - [[ -e lib ]] || mkdir lib - cd "${ED}"$(alt_usrlibdir)/.. - [[ -e lib ]] || mkdir lib - - dosym usr/include $(alt_arch_prefix)/sys-include - return 0 - fi - - # Files for Debian-style locale updating - dodir /usr/share/i18n - sed \ - -e "/^#/d" \ - -e "/SUPPORTED-LOCALES=/d" \ - -e "s: \\\\::g" -e "s:/: :g" \ - "${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \ - || die "generating /usr/share/i18n/SUPPORTED failed" - cd "${WORKDIR}"/extra/locale - dosbin locale-gen || die - doman *.[0-8] - insinto /etc - doins locale.gen || die - - # Make sure all the ABI's can find the locales and so we only - # have to generate one set - local a - keepdir /usr/$(get_libdir)/locale - for a in $(get_install_abis) ; do - if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then - dosym /usr/$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale - fi - done - - if ! has noinfo ${FEATURES} && [[ -n ${INFOPAGE_VER} ]] ; then - einfo "Installing info pages..." - - emake \ - -C "${GBUILDDIR}" \ - install_root="${install_root}" \ - info -i || die - fi - - if [[ -n ${MANPAGE_VER} ]] ; then - einfo "Installing man pages..." - - # Install linuxthreads man pages even if nptl is enabled - cd "${WORKDIR}"/man - doman *.3thr - fi - - cd "${S}" - - # Install misc network config files - insinto /etc - doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf || die - doins "${WORKDIR}"/extra/etc/*.conf || die - - if ! in_iuse nscd || use nscd ; then - doinitd "${WORKDIR}"/extra/etc/nscd || die - - local nscd_args=( - -e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):" - ) - version_is_at_least 2.16 || nscd_args+=( -e 's: --foreground : :' ) - sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd - else - # Do this since extra/etc/*.conf above might have nscd.conf. - rm -f "${ED}"/etc/nscd.conf - fi - - echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc - doenvd "${T}"/00glibc || die - - for d in BUGS ChangeLog* CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do - [[ -s ${d} ]] && dodoc ${d} - done - - # Prevent overwriting of the /etc/localtime symlink. We'll handle the - # creation of the "factory" symlink in pkg_postinst(). - rm -f "${ED}"/etc/localtime -} - -toolchain-glibc_headers_install() { - local GBUILDDIR=${WORKDIR}/build-${ABI}-${CTARGET}-headers - cd "${GBUILDDIR}" - emake install_root="${D}$(alt_prefix)" install-headers || die - if ! version_is_at_least 2.16 ; then - insinto $(alt_headers)/bits - doins bits/stdio_lim.h || die - fi - 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 - # system headers correctly. See gcc/doc/gccinstall.info - dosym usr/include /usr/${CTARGET}/sys-include -} - -src_strip() { - # gdb is lame and requires some debugging information to remain in - # libpthread, so we need to strip it by hand. libthread_db makes no - # sense stripped as it is only used when debugging. - local pthread=$(has splitdebug ${FEATURES} && echo "libthread_db" || echo "lib{pthread,thread_db}") - env \ - -uRESTRICT \ - CHOST=${CTARGET} \ - STRIP_MASK="/*/{,tls/}${pthread}*" \ - prepallstrip - # if user has stripping enabled and does not have split debug turned on, - # then leave the debugging sections in libpthread. - if ! has nostrip ${FEATURES} && ! has splitdebug ${FEATURES} ; then - ${STRIP:-${CTARGET}-strip} --strip-debug "${ED}"/*/libpthread-*.so - fi -} - -eblit-glibc-src_install() { - if just_headers ; then - export ABI=default - toolchain-glibc_headers_install - return - fi - - setup_env - - if [[ -z ${OABI} ]] ; then - local abilist="" - if has_multilib_profile ; then - abilist=$(get_install_abis) - einfo "Installing multilib glibc for ABIs: ${abilist}" - elif is_crosscompile || tc-is-cross-compiler ; then - abilist=${DEFAULT_ABI} - fi - if [[ -n ${abilist} ]] ; then - OABI=${ABI} - for ABI in ${abilist} ; do - export ABI - eblit-glibc-src_install - done - ABI=${OABI} - unset OABI - src_strip - return 0 - fi - fi - - toolchain-glibc_src_install - [[ -z ${OABI} ]] && src_strip -} diff --git a/sys-libs/glibc/files/eblits/src_unpack.eblit b/sys-libs/glibc/files/eblits/src_unpack.eblit index f2f75a6..352743c 100644 --- a/sys-libs/glibc/files/eblits/src_unpack.eblit +++ b/sys-libs/glibc/files/eblits/src_unpack.eblit @@ -110,6 +110,9 @@ toolchain-glibc_src_unpack() { done fi + epatch "${FILESDIR}"/2.17/locale-gen_prefix.patch + eprefixify "${WORKDIR}"/extra/locale/locale-gen + # XXX: We should do the branchupdate, before extracting the manpages and # infopages else it does not help much (mtimes change if there is a change # to them with branchupdate) |