commit: 632fea4f4aa4bdca63bf6d8db266b09a6954e313 Author: James Le Cuirot <chewi <AT> gentoo <DOT> org> AuthorDate: Sat Dec 2 22:53:49 2023 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Mon Dec 4 06:45:45 2023 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=632fea4f
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 <chewi <AT> gentoo.org> Closes: https://github.com/gentoo/portage/pull/1198 Signed-off-by: Sam James <sam <AT> gentoo.org> NEWS | 7 +++++++ bin/phase-helpers.sh | 10 +++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index ce9ed282b5..5561c7fe40 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,13 @@ Release notes take the form of the following optional categories: * Bug fixes * Cleanups +portage-3.0.57 (UNRELEASED) +-------------- + +Bug fixes: +* Set SYSROOT appropriately for best_version and has_version so that they work + when cross-compiling and IPC is disabled. + portage-3.0.56 (2023-12-01) -------------- diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh index ec634e536d..45a1639c42 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
