commit: 5d5525ff57e9f0e28a17ea63aac19739cb5e77de
Author: Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 28 15:43:29 2020 +0000
Commit: Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
CommitDate: Tue Jan 28 15:51:10 2020 +0000
URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=5d5525ff
bootstrap-prefix.sh: fix circular deps in stage3
In prefix guest, when about to "with_stack_emerge_pkgs sys-apps/grep",
portage fails with circular dependencies potentially breakable with
USE=-berkdb, although we do set the USE=-berkdb environment variable.
The problem here is that USE=-berkdb does apply to the stacked prefix
only, not the base prefix, so we need to persist the base prefix' USE
flags when we are about to do "with_stack_emerge_pkgs", even if this is
not a problem with RAP right now, maybe because of a different tree.
Signed-off-by: Michael Haubenwallner <haubi <AT> gentoo.org>
scripts/bootstrap-prefix.sh | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 2c26201141..7bb3e9df35 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -1556,6 +1556,17 @@ do_emerge_pkgs() {
clang
internal-glib
)
+ if [[ " ${USE} " == *" prefix-stack "* ]] &&
+ [[ ${PORTAGE_OVERRIDE_EPREFIX} == */tmp ]] &&
+ ! grep -q '^USE=".*" # by bootstrap-prefix.sh$'
"${PORTAGE_OVERRIDE_EPREFIX}/etc/portage/make.conf"
+ then
+ # With prefix-stack, the USE env var does apply to the
stacked
+ # prefix only, not the base prefix (any more? since
some portage
+ # version?), so we have to persist the base USE flags
into the
+ # base prefix - without the additional incoming USE
flags.
+ echo "USE=\"\${USE} ${myuse[*]}\" # by
bootstrap-prefix.sh" \
+ >>
"${PORTAGE_OVERRIDE_EPREFIX}/etc/portage/make.conf"
+ fi
myuse=" ${myuse[*]} "
local use
for use in ${USE} ; do