commit: b736fab642e5f3ce519c3b4618595126160e436b
Author: Matt Jolly <kangie <AT> gentoo <DOT> org>
AuthorDate: Tue May 28 03:36:52 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue May 28 12:43:07 2024 +0000
URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=b736fab6
bootstrap-prefix: use full path for `do_emerge_pkgs`
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.
Signed-off-by: Matt Jolly <kangie <AT> gentoo.org>
Closes: https://github.com/gentoo/prefix/pull/37
Signed-off-by: Sam James <sam <AT> gentoo.org>
scripts/bootstrap-prefix.sh | 10 ++++++++--
1 file 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