diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/bootstrap-prefix.sh | 10 |
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 |