commit:     b40ebcdb89f19d2fd0c563590f30d7574cfe0755
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 21 13:30:46 2021 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Mon Jun 21 21:04:16 2021 +0000
URL:        https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=b40ebcdb

crossdev, emerge-wrapper: request EAPI=7 on eclass imports

Today ::gentoo dropped support for EAPI=0 from multilib.eclass
and toolchain-funcs.eclass. Due to lack of error handling on
crossdev side srossdev derived wrong environment for $CTARGET
(and mostly fell back to CHOST).

This caused at best failing early on gcc-stage1 build. At worst
crossdev installed libraries into a wrong $(get_libdir), installed
symlinks from wrong host and other disasters.

Previous crossdev commits make crossdev crash earlier instead of
generating wrong environment. This commit allows dropping EAI=0
support for eclasses eventually.

Reported-by: Marco Scardovi (scardracs)
Bug: https://bugs.gentoo.org/797367
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 crossdev                | 2 +-
 wrappers/emerge-wrapper | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/crossdev b/crossdev
index 619603f..57ffbb5 100755
--- a/crossdev
+++ b/crossdev
@@ -983,7 +983,7 @@ load_multilib_env() {
        for p in ${SEARCH_OVERLAYS} ${MAIN_REPO_PATH} ; do
                p+="/eclass/multilib.eclass"
                if [[ -e ${p} ]] ; then
-                       . "${p}"
+                       EAPI=7 . "${p}"
                        break
                fi
        done

diff --git a/wrappers/emerge-wrapper b/wrappers/emerge-wrapper
index d9ba08b..d8c6537 100755
--- a/wrappers/emerge-wrapper
+++ b/wrappers/emerge-wrapper
@@ -48,7 +48,7 @@ cross_wrap_etc()
        ARCH=$(
                inherit() { :; }
                die() { err "toolchain-funcs.eclass$*"; }
-               . "${MAIN_REPO_PATH}"/eclass/toolchain-funcs.eclass
+               EAPI=7 . "${MAIN_REPO_PATH}"/eclass/toolchain-funcs.eclass
                tc-arch
        )
        [[ $? -ne 0 ]] && err "Failed calling 'tc-arch' from 
toolchain-funcs.eclass."

Reply via email to