From 632fea4f4aa4bdca63bf6d8db266b09a6954e313 Mon Sep 17 00:00:00 2001 From: James Le Cuirot Date: Sat, 2 Dec 2023 22:53:49 +0000 Subject: Set SYSROOT for has/best_version so that they work when IPC is disabled This issue broke cross-compiling. Signed-off-by: James Le Cuirot Closes: https://github.com/gentoo/portage/pull/1198 Signed-off-by: Sam James --- bin/phase-helpers.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh index ec634e536..45a1639c4 100644 --- a/bin/phase-helpers.sh +++ b/bin/phase-helpers.sh @@ -907,7 +907,11 @@ __eapi8_src_prepare() { ___best_version_and_has_version_common() { local atom root root_arg - local -a cmd=() + + # If ROOT is set to / below then SYSROOT cannot point elsewhere. Even if + # ROOT is untouched, setting SYSROOT=/ for this command will always work. + local -a cmd=(env SYSROOT=/) + case $1 in --host-root|-r|-d|-b) root_arg=$1 @@ -932,7 +936,7 @@ ___best_version_and_has_version_common() { # Since portageq requires the root argument be consistent # with EPREFIX, ensure consistency here (bug #655414). root=/${PORTAGE_OVERRIDE_EPREFIX#/} - cmd+=(env EPREFIX="${PORTAGE_OVERRIDE_EPREFIX}") + cmd+=(EPREFIX="${PORTAGE_OVERRIDE_EPREFIX}") else root=/ fi ;; @@ -948,7 +952,7 @@ ___best_version_and_has_version_common() { # Use /${PORTAGE_OVERRIDE_EPREFIX#/} to support older # EAPIs, as it is equivalent to BROOT. root=/${PORTAGE_OVERRIDE_EPREFIX#/} - cmd+=(env EPREFIX="${PORTAGE_OVERRIDE_EPREFIX}") + cmd+=(EPREFIX="${PORTAGE_OVERRIDE_EPREFIX}") ;; esac else -- cgit v1.2.3-65-gdbad