Gentoo Archives: gentoo-commits

From: Sergei Trofimovich <slyfox@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/crossdev:master commit in: wrappers/
Date: Mon, 21 Jun 2021 21:23:27
Message-Id: 1624308969.c121a1faf88221af7246c45687578f5258c416af.slyfox@gentoo
1 commit: c121a1faf88221af7246c45687578f5258c416af
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jun 21 20:56:09 2021 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Mon Jun 21 20:56:09 2021 +0000
6 URL: https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c121a1fa
7
8 wrappers/emerge-wrapper: fail crossdev setup when toolchain-funcs.eclass sourcing fails
9
10 Before the change toolchain-funcs.eclass import failure did not fail hard
11 and generated suboptimal default ARCH. It's not as bad as crossdev's
12 equivalent 'multilib.eclass' source failure, but still not perfect.
13
14 The change exposes die() calls to be visible in crossdev run:
15 ```
16 $ rm -rf '@GENTOO_PORTAGE_EPREFIX <AT> /usr/foo/etc'; ./emerge-wrapper --target foo --init
17 emerge-wrapper: ERROR: toolchain-funcs.eclass: EAPI 0 not supported
18 emerge-wrapper: ERROR: Failed calling 'tc-arch' from toolchain-funcs.eclass.
19 ```
20
21 Reported-by: Marco Scardovi (scardracs)
22 Bug: https://bugs.gentoo.org/797367
23 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
24
25 wrappers/emerge-wrapper | 4 +++-
26 1 file changed, 3 insertions(+), 1 deletion(-)
27
28 diff --git a/wrappers/emerge-wrapper b/wrappers/emerge-wrapper
29 index 381214e..d9ba08b 100755
30 --- a/wrappers/emerge-wrapper
31 +++ b/wrappers/emerge-wrapper
32 @@ -17,7 +17,7 @@ PREFIX="@PREFIX@"
33 # Enable this script to be manually installed while debugging
34 [[ ${PREFIX} == "@"PREFIX"@" ]] && PREFIX="/usr"
35
36 -err() { echo "emerge-wrapper: $*" 1>&2; exit 1; }
37 +err() { echo "emerge-wrapper: ERROR: $*" 1>&2; exit 1; }
38
39 emit_setup_warning()
40 {
41 @@ -47,9 +47,11 @@ cross_wrap_etc()
42 # Re-use existing CHOST->portage ARCH mapping code
43 ARCH=$(
44 inherit() { :; }
45 + die() { err "toolchain-funcs.eclass$*"; }
46 . "${MAIN_REPO_PATH}"/eclass/toolchain-funcs.eclass
47 tc-arch
48 )
49 + [[ $? -ne 0 ]] && err "Failed calling 'tc-arch' from toolchain-funcs.eclass."
50 [[ ${ARCH} == "unknown" ]] && emit_setup_warning "No ARCH is known for this target."
51
52 LIBC="__LIBC__"