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__" |