From: Sergei Trofimovich Date: Sun, 25 Aug 2019 09:23:54 +0000 (+0100) Subject: eclass/toolchain.eclass: mask LIBPATH for cross-case, bug #692844 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=35e71fcd352e9113c55447b66f6a93e164839dd7;p=gentoo.git eclass/toolchain.eclass: mask LIBPATH for cross-case, bug #692844 /usr/lib/gcc/${CTARGET}/${GCC_CONFIG_VER} contains libraries destined to be used by ${CTARGET}. revdep-rebuild complains about missing dependencies against them as we don't populate LDPATH (or anything else) for them. The change populates /etc/revdep-rebuild/05cross-${CTARGET}-${GCC_CONFIG_VER} with a single entry: SEARCH_DIRS_MASK="/usr/lib/gcc/${CTARGET}/${GCC_CONFIG_VER}" crossdev will still own root's SEARCH_DIRS_MASK="/usr/${CTARGET}". Reported-by: crocket Closes: https://bugs.gentoo.org/692844 Signed-off-by: Sergei Trofimovich --- diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass index 12b86214a055..156ec3d0cf88 100644 --- a/eclass/toolchain.eclass +++ b/eclass/toolchain.eclass @@ -1818,6 +1818,7 @@ toolchain_src_install() { dodir /etc/env.d/gcc create_gcc_env_entry + create_revdep_rebuild_entry # Setup the gcc_env_entry for hardened gcc 4 with minispecs want_minispecs && copy_minispecs_gcc_specs @@ -2138,6 +2139,20 @@ create_gcc_env_entry() { EOF } +create_revdep_rebuild_entry() { + dodir /etc/revdep-rebuild + local revdep_rebuild_base="/etc/revdep-rebuild/05cross-${CTARGET}-${GCC_CONFIG_VER}" + local revdep_rebuild_file="${ED}${revdep_rebuild_base}" + + is_crosscompile || return 0 + + cat <<-EOF > ${revdep_rebuild_file} + # Generated by ${CATEGORY}/${PF} + # Ignore libraries built for ${CTARGET}, https://bugs.gentoo.org/692844. + SEARCH_DIRS_MASK="${LIBPATH}" + EOF +} + copy_minispecs_gcc_specs() { # on gcc 6 we don't need minispecs if tc_version_is_at_least 6.0 ; then