diff options
author | Zac Medico <zmedico@gentoo.org> | 2018-05-16 13:54:23 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2018-05-16 13:56:43 -0700 |
commit | 1582103b2f0f64e5dc57eddc4217360eac230b8a (patch) | |
tree | 3af27a946f4c1f98f5fa855504603c8991ce9ec9 | |
parent | phase-helpers.sh: fix has/best_version for cross-prefix portageq (bug 655414) (diff) | |
download | portage-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.sh | 8 |
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) |