summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenda Xu <heroxbd@gentoo.org>2018-12-22 21:43:53 +0800
committerBenda Xu <heroxbd@gentoo.org>2018-12-23 18:32:02 +0800
commita6f69ff45bbbb8b7207569220060a2662c0cb9a7 (patch)
treea50f69eb542e22c2665d659c3d784fb022186042 /scripts
parentscripts/bootstrap-prefix.sh: explicitly install gettext. (diff)
downloadprefix-a6f69ff45bbbb8b7207569220060a2662c0cb9a7.tar.gz
prefix-a6f69ff45bbbb8b7207569220060a2662c0cb9a7.tar.bz2
prefix-a6f69ff45bbbb8b7207569220060a2662c0cb9a7.zip
scripts/bootstrap-prefix.sh: move portage from stage2 to 3.
AS a rework of 8207d9c59468ff32600463033, this is only applied to prefix-standalone. Bug: https://bugs.gentoo.org/655414 Signed-off-by: Benda Xu <heroxbd@gentoo.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/bootstrap-prefix.sh17
1 files changed, 16 insertions, 1 deletions
diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 24dfac2e61..95b884ec6b 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1664,9 +1664,17 @@ bootstrap_stage3() {
# stage3 tools should be used first.
# PORTAGE_TMPDIR, EMERGE_LOG_DIR, FEATURES=force-prefix are
# needed with host portage.
+ #
+ # After the introduction of EAPI-7, eclasses now
+ # strictly distinguish between build dependencies that
+ # are binary compatible with the native build system
+ # (CBUILD, BDEPEND) and with the system being built
+ # (CHOST, RDEPEND). To correctly bootstrap stage3,
+ # PORTAGE_OVERRIDE_EPREFIX as BROOT is needed.
PREROOTPATH="${ROOT}"$(echo /{,tmp/}{usr/,}{,lib/llvm/{10,9,8,7,6,5}/}{s,}bin | sed "s, ,:${ROOT},g") \
EPREFIX="${ROOT}" PORTAGE_TMPDIR="${PORTAGE_TMPDIR}" \
- FEATURES="${FEATURES} force-prefix stacked-prefix" \
+ PORTAGE_OVERRIDE_EPREFIX="$(rapx "${ROOT}" "${ROOT}/tmp")" \
+ FEATURES="${FEATURES} force-prefix $(rapx "" stacked-prefix)" \
EMERGE_LOG_DIR="${ROOT}"/var/log \
do_emerge_pkgs "$@"
}
@@ -1690,6 +1698,13 @@ bootstrap_stage3() {
export INSTALL_INFO="${ROOT}"/usr/bin/makeinfo
if is-rap ; then
+ # Bug 655414. Copy portage global config from stage2
+ # to stage3.
+ if [[ ! -d "${ROOT}"/usr/share/portage ]]; then
+ mkdir -p "${ROOT}"/usr/share
+ cp -a "${ROOT}"{/tmp,}/usr/share/portage
+ fi
+
# We need ${ROOT}/usr/bin/perl to merge glibc.
if [[ ! -x "${ROOT}"/usr/bin/perl ]]; then
# trick "perl -V:apiversion" check of glibc-2.19.