aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2018-05-16 13:54:23 -0700
committerZac Medico <zmedico@gentoo.org>2018-05-16 13:56:43 -0700
commit1582103b2f0f64e5dc57eddc4217360eac230b8a (patch)
tree3af27a946f4c1f98f5fa855504603c8991ce9ec9
parentphase-helpers.sh: fix has/best_version for cross-prefix portageq (bug 655414) (diff)
downloadportage-1582103b2f0f64e5dc57eddc4217360eac230b8a.tar.gz
portage-1582103b2f0f64e5dc57eddc4217360eac230b8a.tar.bz2
portage-1582103b2f0f64e5dc57eddc4217360eac230b8a.zip
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)")
-rw-r--r--bin/phase-helpers.sh8
1 files 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)