summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/bootstrap-prefix.sh')
-rwxr-xr-xscripts/bootstrap-prefix.sh10
1 files changed, 8 insertions, 2 deletions
diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 741f6e6cde..92c3ad1869 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1785,10 +1785,16 @@ do_emerge_pkgs() {
&& export CFLAGS="${OVERRIDE_CFLAGS}"
[[ -n ${OVERRIDE_CXXFLAGS} ]] \
&& export CXXFLAGS="${OVERRIDE_CXXFLAGS}"
+ # In the stage3 bootstrap we always prefer to use tools that have been built for
+ # stage3; to accomplish this we ensure that it is the first thing evaluated in PATH.
+ # Unfortunately, Portage, Python, and Python-exec are often pulled into the depgraph
+ # at some point before we're fully boostrapped. To ensure that we don't try and execute
+ # ${EPREFIX}/usr/bin/emerge before we're ready, always provide the full path to the
+ # bootstrap Python interpreter and emerge script.
PORTAGE_SYNC_STALE=0 \
FEATURES="-news ${FEATURES}" \
USE="${myuse[*]}" \
- emerge "${eopts[@]}" "${pkg}"
+ "${EPREFIX}"/tmp/bin/python "${EPREFIX}"/tmp/usr/bin/emerge "${eopts[@]}" "${pkg}"
) || return 1
done
}
@@ -3021,7 +3027,7 @@ EOF
exit 1
fi
fi
-
+
if ! [[ -e ${EPREFIX}/.stage1-finished ]] && ! bootstrap_stage1_log ; then
# stage 1 fail
cat << EOF