diff options
Diffstat (limited to 'sys-libs/glibc/files/eblits/pkg_preinst.eblit')
-rw-r--r-- | sys-libs/glibc/files/eblits/pkg_preinst.eblit | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/sys-libs/glibc/files/eblits/pkg_preinst.eblit b/sys-libs/glibc/files/eblits/pkg_preinst.eblit deleted file mode 100644 index 694a7da..0000000 --- a/sys-libs/glibc/files/eblits/pkg_preinst.eblit +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -fix_lib64_symlinks() { - # the original Gentoo/AMD64 devs decided that since 64bit is the native - # bitdepth for AMD64, lib should be used for 64bit libraries. however, - # this ignores the FHS and breaks multilib horribly... especially - # since it wont even work without a lib64 symlink anyways. *rolls eyes* - # see bug 59710 for more information. - # Travis Tilley <lv@gentoo.org> (08 Aug 2004) - if [ -L ${ROOT}/lib64 ] ; then - ewarn "removing /lib64 symlink and moving lib to lib64..." - ewarn "dont hit ctrl-c until this is done" - rm ${ROOT}/lib64 - # now that lib64 is gone, nothing will run without calling ld.so - # directly. luckily the window of brokenness is almost non-existant - use amd64 && /lib/ld-linux-x86-64.so.2 /bin/mv ${ROOT}/lib ${ROOT}/lib64 - use ppc64 && /lib/ld64.so.1 /bin/mv ${ROOT}/lib ${ROOT}/lib64 - # all better :) - ldconfig - ln -s lib64 ${ROOT}/lib - einfo "done! :-)" - einfo "fixed broken lib64/lib symlink in ${ROOT}" - fi - if [ -L ${ROOT}/usr/lib64 ] ; then - rm ${ROOT}/usr/lib64 - mv ${ROOT}/usr/lib ${ROOT}/usr/lib64 - ln -s lib64 ${ROOT}/usr/lib - einfo "fixed broken lib64/lib symlink in ${ROOT}/usr" - fi - if [ -L ${ROOT}/usr/X11R6/lib64 ] ; then - rm ${ROOT}/usr/X11R6/lib64 - mv ${ROOT}/usr/X11R6/lib ${ROOT}/usr/X11R6/lib64 - ln -s lib64 ${ROOT}/usr/X11R6/lib - einfo "fixed broken lib64/lib symlink in ${ROOT}/usr/X11R6" - fi -} - -eblit-glibc-pkg_preinst() { - # nothing to do if just installing headers - just_headers && return - - # PPC64+others may want to eventually be added to this logic if they - # decide to be multilib compatible and FHS compliant. note that this - # chunk of FHS compliance only applies to 64bit archs where 32bit - # compatibility is a major concern (not IA64, for example). - - # amd64's 2005.0 is the first amd64 profile to not need this code. - # 2005.0 is setup properly, and this is executed as part of the - # 2004.3 -> 2005.0 upgrade script. - # It can be removed after 2004.3 has been purged from portage. - { use amd64 || use ppc64; } && [ "$(get_libdir)" == "lib64" ] && ! has_multilib_profile && fix_lib64_symlinks - - # it appears that /lib/tls is sometimes not removed. See bug - # 69258 for more info. - if [[ -d ${ROOT}/$(alt_libdir)/tls ]] && [[ ! -d ${D}/$(alt_libdir)/tls ]] ; then - ewarn "nptlonly or -nptl in USE, removing /${ROOT}$(alt_libdir)/tls..." - rm -r "${ROOT}"/$(alt_libdir)/tls || die - fi - - # prepare /etc/ld.so.conf.d/ for files - mkdir -p "${ROOT}"/etc/ld.so.conf.d - - # simple test to make sure our new glibc isnt completely broken. - # make sure we don't test with statically built binaries since - # they will fail. also, skip if this glibc is a cross compiler. - [[ ${ROOT} != "/" ]] && return 0 - [[ -d ${D}/$(get_libdir) ]] || return 0 - cd / #228809 - local x striptest - for x in date env ls true uname ; do - x=$(type -p ${x}) - [[ -z ${x} ]] && continue - striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) - [[ -z ${striptest} ]] && continue - [[ ${striptest} == *"statically linked"* ]] && continue - # we enter ${D} 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) 2>/dev/null - ./ld-*.so --library-path . ${x} > /dev/null \ - || die "simple run test (${x}) failed" - popd 2>/dev/null - done -} |