From: "Michael Haubenwallner" <haubi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/
Date: Fri, 22 Jun 2018 14:34:31 +0000 (UTC) [thread overview]
Message-ID: <1529675109.b69fe7bafe8c39c105de5545dc3903af76f233f4.haubi@gentoo> (raw)
commit: b69fe7bafe8c39c105de5545dc3903af76f233f4
Author: Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 22 13:34:27 2018 +0000
Commit: Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
CommitDate: Fri Jun 22 13:45:09 2018 +0000
URL: https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=b69fe7ba
sys-apps/portage: add the stacked-prefix patch (#658572)
Package-Manager: Portage-2.3.24, Repoman-2.3.6
.../files/portage-2.3.40-stacked-prefix.patch | 59 ++++++++++++++++++++++
sys-apps/portage/portage-2.3.40.2.ebuild | 3 +-
2 files changed, 61 insertions(+), 1 deletion(-)
diff --git a/sys-apps/portage/files/portage-2.3.40-stacked-prefix.patch b/sys-apps/portage/files/portage-2.3.40-stacked-prefix.patch
new file mode 100644
index 0000000000..d967d1faf7
--- /dev/null
+++ b/sys-apps/portage/files/portage-2.3.40-stacked-prefix.patch
@@ -0,0 +1,59 @@
+From 8a121d477a9a13569be3fb50eaeaa1162ed884bd Mon Sep 17 00:00:00 2001
+From: Michael Haubenwallner <haubi@gentoo.org>
+Date: Tue, 19 Jun 2018 16:39:12 +0200
+Subject: [PATCH 1/2] introduce the 'stacked-prefix' FEATURE
+
+When we merge into another EPREFIX, but not into some ROOT,
+and CHOST is equal to CBUILD, build tools found in EPREFIX
+perfectly work for the current build environment.
+In a "stacked prefix" we explicitly utilize this situation.
+
+This is useful during prefix bootstrap (#655414, #655326), but also to
+build packages for targets unable to support the full portage toolchain
+(native Windows, MinGW), but otherwise do not require a full cross
+compilation setup.
+---
+ bin/phase-helpers.sh | 14 ++++++++++++++
+ pym/portage/const.py | 1 +
+ 2 files changed, 15 insertions(+)
+
+diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
+index 75d92b407..c5a818db7 100644
+--- a/bin/phase-helpers.sh
++++ b/bin/phase-helpers.sh
+@@ -927,6 +927,20 @@ ___best_version_and_has_version_common() {
+ fi ;;
+ esac
+
++ if ___eapi_has_prefix_variables &&
++ has "${root_arg}" '--host-root' '-b' &&
++ has stacked-prefix ${FEATURES} &&
++ [[ -z ${ROOT%/} ]] &&
++ [[ ${CBUILD} == ${CHOST} ]] &&
++ [[ ${EPREFIX} != ${BROOT-${PORTAGE_OVERRIDE_EPREFIX}} ]] &&
++ :; then
++ # When we merge into another EPREFIX, but not into some ROOT,
++ # and CHOST is equal to CBUILD, build tools found in EPREFIX
++ # perfectly work for the current build environment.
++ # In a "stacked prefix" we explicitly utilize this situation.
++ "${FUNCNAME[1]}" "${atom}" && return 0
++ fi
++
+ if [[ -n $PORTAGE_IPC_DAEMON ]] ; then
+ cmd+=("${PORTAGE_BIN_PATH}"/ebuild-ipc "${FUNCNAME[1]}" "${root}" "${atom}")
+ else
+diff --git a/pym/portage/const.py b/pym/portage/const.py
+index d9c57f300..be7bf1036 100644
+--- a/pym/portage/const.py
++++ b/pym/portage/const.py
+@@ -203,6 +203,7 @@ SUPPORTED_FEATURES = frozenset([
+ "splitdebug",
+ "split-elog",
+ "split-log",
++ "stacked-prefix",
+ "strict",
+ "strict-keepdir",
+ "stricter",
+--
+2.16.1
+
diff --git a/sys-apps/portage/portage-2.3.40.2.ebuild b/sys-apps/portage/portage-2.3.40.2.ebuild
index 8e6b1c32a5..63935aaa09 100644
--- a/sys-apps/portage/portage-2.3.40.2.ebuild
+++ b/sys-apps/portage/portage-2.3.40.2.ebuild
@@ -92,7 +92,8 @@ python_prepare_all() {
distutils-r1_python_prepare_all
epatch "${FILESDIR}"/${PN}-2.3.40-ebuildshell.patch # 155161
- use prefix-chaining &&
+ epatch "${FILESDIR}"/${PN}-2.3.40-stacked-prefix.patch # 658572
+ use prefix-chaining && # maybe useful even with stacked-prefix
epatch "${FILESDIR}"/${PN}-2.3.40-prefix-chaining.patch
if use native-extensions; then
next reply other threads:[~2018-06-22 14:34 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-22 14:34 Michael Haubenwallner [this message]
-- strict thread matches above, loose matches on Subject: below --
2023-12-03 10:19 [gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/ Fabian Groffen
2023-11-24 20:57 Fabian Groffen
2020-12-04 11:44 Fabian Groffen
2020-08-02 11:43 Fabian Groffen
2018-06-25 8:41 Fabian Groffen
2018-05-28 16:44 Michael Haubenwallner
2017-12-29 13:06 Fabian Groffen
2017-09-29 8:19 Michael Haubenwallner
2017-09-18 14:08 Michael Haubenwallner
2016-05-13 11:39 Michael Haubenwallner
2016-05-03 15:33 Michael Haubenwallner
2016-05-02 11:15 Michael Haubenwallner
2016-04-18 7:36 Fabian Groffen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1529675109.b69fe7bafe8c39c105de5545dc3903af76f233f4.haubi@gentoo \
--to=haubi@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox