public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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


             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