commit:     a6f69ff45bbbb8b7207569220060a2662c0cb9a7
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 22 13:43:53 2018 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Sun Dec 23 10:32:02 2018 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=a6f69ff4

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 <AT> gentoo.org>

 scripts/bootstrap-prefix.sh | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

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.

Reply via email to