commit: 1582103b2f0f64e5dc57eddc4217360eac230b8a
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed May 16 20:54:23 2018 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Wed May 16 20:56:43 2018 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=1582103b
phase-helpers.sh: handle readonly EPREFIX for local override (bug 655414)
Since ebuild.sh calls "declare -r ED EPREFIX EROOT", use env to
override EPREFIX for the called command.
Fixes: 17fce85669be ("phase-helpers.sh: fix has/best_version for cross-prefix
portageq (bug 655414)")
bin/phase-helpers.sh | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
index 99a30a176..5c9f957e9 100644
--- a/bin/phase-helpers.sh
+++ b/bin/phase-helpers.sh
@@ -880,6 +880,7 @@ __eapi6_src_install() {
___best_version_and_has_version_common() {
local atom root root_arg
+ local -a cmd=()
case $1 in
--host-root|-r|-d|-b)
root_arg=$1
@@ -903,7 +904,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#/}
- local -x EPREFIX=${PORTAGE_OVERRIDE_EPREFIX}
+ cmd+=(env EPREFIX="${PORTAGE_OVERRIDE_EPREFIX}")
else
root=/
fi ;;
@@ -927,10 +928,11 @@ ___best_version_and_has_version_common() {
esac
if [[ -n $PORTAGE_IPC_DAEMON ]] ; then
- "${PORTAGE_BIN_PATH}"/ebuild-ipc "${FUNCNAME[1]}" "${root}"
"${atom}"
+ cmd+=("${PORTAGE_BIN_PATH}"/ebuild-ipc "${FUNCNAME[1]}"
"${root}" "${atom}")
else
- "${PORTAGE_BIN_PATH}"/ebuild-helpers/portageq "${FUNCNAME[1]}"
"${root}" "${atom}"
+ cmd+=("${PORTAGE_BIN_PATH}"/ebuild-helpers/portageq
"${FUNCNAME[1]}" "${root}" "${atom}")
fi
+ "${cmd[@]}"
local retval=$?
case "${retval}" in
0|1)