commit: 2594fae266f33b20fe11d36c4ce7e1f3573589f6
Author: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 12 21:27:58 2019 +0000
Commit: Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Mon Aug 12 21:27:58 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2594fae2
sys-libs/glibc: port to EAPI=7
Package-Manager: Portage-2.3.70, Repoman-2.3.16
Signed-off-by: Andreas K. Hüttel <dilfridge <AT> gentoo.org>
sys-libs/glibc/glibc-9999.ebuild | 47 ++++++++++++++--------------------------
1 file changed, 16 insertions(+), 31 deletions(-)
diff --git a/sys-libs/glibc/glibc-9999.ebuild b/sys-libs/glibc/glibc-9999.ebuild
index 191295bf288..6e19a44aaa1 100644
--- a/sys-libs/glibc/glibc-9999.ebuild
+++ b/sys-libs/glibc/glibc-9999.ebuild
@@ -1,17 +1,16 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
PYTHON_COMPAT=( python3_{5,6,7} )
-inherit python-any-r1 prefix eutils eapi7-ver toolchain-funcs flag-o-matic
gnuconfig usr-ldscript \
+inherit python-any-r1 prefix eutils toolchain-funcs flag-o-matic gnuconfig
usr-ldscript \
multilib systemd multiprocessing
DESCRIPTION="GNU libc C library"
HOMEPAGE="https://www.gnu.org/software/libc/"
LICENSE="LGPL-2.1+ BSD HPND ISC inner-net rc PCRE"
-RESTRICT="strip" # Strip ourself #46186
SLOT="2.2"
EMULTILIB_PKG="true"
@@ -1167,7 +1166,7 @@ glibc_do_src_install() {
local builddir=$(builddir nptl)
cd "${builddir}"
- emake install_root="${D}$(build_eprefix)$(alt_prefix)" install || die
+ emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install || die
# This version (2.26) provides some compatibility libraries for the
NIS/NIS+ support
# which come without headers etc. Only needed for binary packages since
the
@@ -1180,13 +1179,18 @@ glibc_do_src_install() {
# '#define VERSION "2.26.90"' -> '2.26.90'
local upstream_pv=$(sed -n -r 's/#define VERSION "(.*)"/\1/p'
"${S}"/version.h)
- if [[ -e ${ED}$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then
+ # gdb is lame and requires some debugging information to remain in
+ # libpthread. libthread_db makes no sense stripped as it is only used
when debugging.
+ dostrip -x $(alt_libdir)/libpthread-${upstream_pv}.so
+ dostrip -x $(alt_libdir)/libthread_db-1.0.so
+
+ if [[ -e ${ED}/$(alt_usrlibdir)/libm-${upstream_pv}.a ]] ; then
# Move versioned .a file out of libdir to evade portage QA
checks
# instead of using gen_usr_ldscript(). We fix ldscript as:
# "GROUP ( /usr/lib64/libm-<pv>.a ..." -> "GROUP (
/usr/lib64/glibc-<pv>/libm-<pv>.a ..."
- sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@"
"${ED}"$(alt_usrlibdir)/libm.a || die
+ sed -i "s@\(libm-${upstream_pv}.a\)@${P}/\1@"
"${ED}"/$(alt_usrlibdir)/libm.a || die
dodir $(alt_usrlibdir)/${P}
- mv "${ED}"$(alt_usrlibdir)/libm-${upstream_pv}.a
"${ED}"$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die
+ mv "${ED}"/$(alt_usrlibdir)/libm-${upstream_pv}.a
"${ED}"/$(alt_usrlibdir)/${P}/libm-${upstream_pv}.a || die
fi
# We'll take care of the cache ourselves
@@ -1344,7 +1348,7 @@ glibc_do_src_install() {
# Generate all locales if this is a native build as locale generation
if use compile-locales && ! is_crosscompile ; then
- run_locale_gen --inplace-glibc "${ED}"
+ run_locale_gen --inplace-glibc "${ED%/}/"
sed -e 's:COMPILED_LOCALES="":COMPILED_LOCALES="1":' -i
"${ED}"/usr/sbin/locale-gen || die
fi
}
@@ -1352,7 +1356,7 @@ glibc_do_src_install() {
glibc_headers_install() {
local builddir=$(builddir "headers")
cd "${builddir}"
- emake install_root="${D}$(build_eprefix)$(alt_prefix)" install-headers
+ emake install_root="${D}/$(build_eprefix)$(alt_prefix)" install-headers
insinto $(alt_headers)/gnu
doins "${S}"/include/gnu/stubs.h
@@ -1363,23 +1367,6 @@ glibc_headers_install() {
dosym usr/include $(alt_prefix)/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}"$(alt_prefix)/*/libpthread-*.so
- fi
-}
-
src_install() {
if just_headers ; then
export ABI=default
@@ -1393,8 +1380,6 @@ src_install() {
elog "Not installing static glibc libraries"
find "${ED}" -name "*.a" -and -not -name "*_nonshared.a" -delete
fi
-
- src_strip
}
# Simple test to make sure our new glibc isn't completely broken.
@@ -1447,7 +1432,7 @@ pkg_preinst() {
einfo "Defaulting /etc/host.conf:multi to on"
fi
- [[ ${ROOT} != "/" ]] && return 0
+ [[ -n ${ROOT} ]] && return 0
[[ -d ${ED}/$(get_libdir) ]] || return 0
[[ -z ${BOOTSTRAP_RAP} ]] && glibc_sanity_check
}
@@ -1458,10 +1443,10 @@ pkg_postinst() {
if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ;
then
# Generate fastloading iconv module configuration file.
- "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}"
+ "${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT%/}/"
fi
- if ! is_crosscompile && [[ ${ROOT} == "/" ]] ; then
+ if ! is_crosscompile && [[ -z ${ROOT} ]] ; then
# Reload init ... if in a chroot or a diff init package, ignore
# errors from this step #253697
/sbin/telinit U 2>/dev/null