[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2023-12-03 Thread Fabian Groffen
commit: 213ae19a34cd7a54b9548d7bcedc34c1eba1a4e4
Author: Fabian Groffen  gentoo  org>
AuthorDate: Sun Dec  3 09:55:35 2023 +
Commit: Fabian Groffen  gentoo  org>
CommitDate: Sun Dec  3 09:55:35 2023 +
URL:https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=213ae19a

sys-apps/portage: cleanup + update interrevisions patch

Bug: https://bugs.gentoo.org/918717
Signed-off-by: Fabian Groffen  gentoo.org>

 sys-apps/portage/Manifest  |   2 -
 .../portage/files/portage-2.3.45-ebuildshell.patch | 354 -
 ...patch => portage-3.0.55.1-interrevisions.patch} |  10 +-
 sys-apps/portage/portage-3.0.21.ebuild | 307 --
 sys-apps/portage/portage-3.0.30.1-r1.ebuild| 305 --
 sys-apps/portage/portage-3.0.30.1.ebuild   | 308 --
 sys-apps/portage/portage-3.0.55.1.ebuild   |   4 +
 7 files changed, 9 insertions(+), 1281 deletions(-)

diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
index 996a88e823..2abec9a5f7 100644
--- a/sys-apps/portage/Manifest
+++ b/sys-apps/portage/Manifest
@@ -1,5 +1,3 @@
-DIST prefix-portage-3.0.21.tar.bz2 1339211 BLAKE2B 
019cf0f3d2d1c45e7849221fc40b49e2c84949b74c8a8c74fbd2ca451a2dd075fb7b8bfec121a173ca0848c57a5a57a62d465b2957c4eb4d87f6a180299da91e
 SHA512 
0aff5004ae80e2cd9dce740c56c3c2643ef390510c3b3821d893e5c76733d3a8d4e7648963febb29479b9ee155868ec11526a393beb3b383e741451178f39e5a
-DIST prefix-portage-3.0.30.1.tar.bz2 1476396 BLAKE2B 
955db5832b1d7d19e25c4ee644f7daa0dbfc7a259ea7018f207865aa8cf5eb8e1e8e2a31c90578162e181af6c043590f239b042e652c3eb2cba9f442bbfc0476
 SHA512 
1ff8afbee4b204488eb0ecb4bdd216bf754ae015a3bcd298d7b6fb0dd7a671ccbf31d9a4a49be8e3182708641abe008f25df5319e135aa25363b979d49517506
 DIST prefix-portage-3.0.34.2.tar.bz2 1498499 BLAKE2B 
47f53e4917bdf204eb23dadd9dc821c06da07d2e5c68cf0a3de908089e4121d45542e2120e57744db1c808a156595624915956e77f547ab671b1584b2c67cf0b
 SHA512 
121dd885a73153e780e28c2e514d4b3babc44368aa6915b2009ed0b205051c2f6c37dd3ccfe8be5ea567e7bab2f9f9b0c5c5b81c49990fbac7360261721a5bb7
 DIST prefix-portage-3.0.49.tar.bz2 1421955 BLAKE2B 
ac6e5b512f943826d0bf06225037885a138f3810db973a60c6dbca4f80d516e3aef3054b532f42a143b35702661a3d35ee59945f745b849dcd6fefbd4ff8f3cc
 SHA512 
dee0035e048b1bfde5859b809bf6ffa3ca0674cd1d59d9cfcc14a279d87215223a6b4497274db7e443f27fd6dd05eadb043ae6872feb8fa8523994d9946b6879
 DIST prefix-portage-3.0.55.1.tar.bz2 1460599 BLAKE2B 
07982a1e6af0df7c7849aeab7ed2479bb2fe7ede16183bddba93d25d8839224f87967b0aa776c2cbc124f322b69a275e628e2817c7f3e01c9353a0eeda38fea8
 SHA512 
5f87c84baa9d13f0ad5aa534013ef7bf8219d742f940cad8a07bfea8630615885950aa6d7cf030fe6012061504d177a3e024a1bdc2da3a02bed550816805

diff --git a/sys-apps/portage/files/portage-2.3.45-ebuildshell.patch 
b/sys-apps/portage/files/portage-2.3.45-ebuildshell.patch
deleted file mode 100644
index e495ee4c24..00
--- a/sys-apps/portage/files/portage-2.3.45-ebuildshell.patch
+++ /dev/null
@@ -1,354 +0,0 @@
-From 8c6b115fa0325b5bed2e1a9c4c8e8af45cdecc2e Mon Sep 17 00:00:00 2001
-From: Michael Haubenwallner 
-Date: Wed, 6 Nov 2013 12:40:05 +0100
-Subject: [PATCH 1/2] Add ebuildshell feature, bug#155161.
-

- bin/ebuild.sh| 146 ++-
- bin/filter-bash-environment.py   |  55 +
- bin/save-ebuild-env.sh   |   2 +-
- man/make.conf.5  |   6 ++
- lib/_emerge/AbstractEbuildProcess.py |   1 +
- lib/portage/const.py |   1 +
- 6 files changed, 194 insertions(+), 17 deletions(-)
-
-diff --git a/bin/ebuild.sh b/bin/ebuild.sh
-index f76a48d8e..683a4e9c1 100755
 a/bin/ebuild.sh
-+++ b/bin/ebuild.sh
-@@ -121,7 +121,7 @@ __qa_source() {
- __qa_call() {
-   local shopts=$(shopt) OLDIFS="$IFS"
-   local retval
--  "$@"
-+  __call-ebuildshell "$@"
-   retval=$?
-   set +e
-   [[ $shopts != $(shopt) ]] &&
-@@ -547,6 +547,150 @@ if [[ -n ${QA_INTERCEPTORS} ]] ; then
-   unset BIN_PATH BIN BODY FUNC_SRC
- fi
- 
-+__call-ebuildshell() {
-+  if ! has ebuildshell ${FEATURES}; then
-+  "$@"
-+  return $?
-+  fi
-+  local __ebuildshell_args=( "$@" )
-+  # These are the variables I have seen 'bash -i' maintaining the values 
for:
-+  local __ebuildshell_bash_i_vars="__ebuildshell_.*
-+  _ BASH_ARGC BASH_ARGV BASH_COMMAND BASH_LINENO BASH_SOURCE
-+  BASH_VERSINFO BASH_SUBSHELL BASHOPTS BASHPID COMP_WORDBREAKS
-+  DIRSTACK EUID FUNCNAME GROUPS HISTCMD HISTFILE LINENO PIPESTATUS
-+  PPID PS1 PS2 PS3 PS4 PWD RANDOM SECONDS SHELLOPTS UID"
-+  # Allow recursive ebuildshell, for use in multibuild.eclass and similar:
-+  local __ebuildshell_pid=${BASHPID:-$(__bashpid)}
-+  local __ebuildshell_tmpf="${T}/ebuildshell.${__ebuildshell_pid}"
-+  rm -f 

[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2023-11-24 Thread Fabian Groffen
commit: 108f1b7b98ffb347d4f55d18eacdc86d233c98be
Author: Fabian Groffen  gentoo  org>
AuthorDate: Fri Nov 24 20:57:01 2023 +
Commit: Fabian Groffen  gentoo  org>
CommitDate: Fri Nov 24 20:57:01 2023 +
URL:https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=108f1b7b

sys-apps/portage-3.0.55: version bump

This version is meson-based, unforseen problems may arise...

Signed-off-by: Fabian Groffen  gentoo.org>

 sys-apps/portage/Manifest  |   1 +
 sys-apps/portage/files/portage-tmpdir.conf |   2 +
 sys-apps/portage/portage-3.0.55.ebuild | 296 +
 3 files changed, 299 insertions(+)

diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
index f2df550c6d..a4e5776821 100644
--- a/sys-apps/portage/Manifest
+++ b/sys-apps/portage/Manifest
@@ -2,3 +2,4 @@ DIST prefix-portage-3.0.21.tar.bz2 1339211 BLAKE2B 
019cf0f3d2d1c45e7849221fc40b4
 DIST prefix-portage-3.0.30.1.tar.bz2 1476396 BLAKE2B 
955db5832b1d7d19e25c4ee644f7daa0dbfc7a259ea7018f207865aa8cf5eb8e1e8e2a31c90578162e181af6c043590f239b042e652c3eb2cba9f442bbfc0476
 SHA512 
1ff8afbee4b204488eb0ecb4bdd216bf754ae015a3bcd298d7b6fb0dd7a671ccbf31d9a4a49be8e3182708641abe008f25df5319e135aa25363b979d49517506
 DIST prefix-portage-3.0.34.2.tar.bz2 1498499 BLAKE2B 
47f53e4917bdf204eb23dadd9dc821c06da07d2e5c68cf0a3de908089e4121d45542e2120e57744db1c808a156595624915956e77f547ab671b1584b2c67cf0b
 SHA512 
121dd885a73153e780e28c2e514d4b3babc44368aa6915b2009ed0b205051c2f6c37dd3ccfe8be5ea567e7bab2f9f9b0c5c5b81c49990fbac7360261721a5bb7
 DIST prefix-portage-3.0.49.tar.bz2 1421955 BLAKE2B 
ac6e5b512f943826d0bf06225037885a138f3810db973a60c6dbca4f80d516e3aef3054b532f42a143b35702661a3d35ee59945f745b849dcd6fefbd4ff8f3cc
 SHA512 
dee0035e048b1bfde5859b809bf6ffa3ca0674cd1d59d9cfcc14a279d87215223a6b4497274db7e443f27fd6dd05eadb043ae6872feb8fa8523994d9946b6879
+DIST prefix-portage-3.0.55.tar.bz2 1460532 BLAKE2B 
840ce4036eddfba2b1a5c8e4c510174a5b4bcee72b00a3acdc8546b7778e0d0838e4aa75887fd8501bf1f811e74c0bf96c264569c28ce007a3705f1a22d8f1aa
 SHA512 
00e5f9783a30d5da60da3686f616b23f4ec2413038bd8e8ee34665cc56ff2a2b0b0d0da8744a4d6dd6b99e20549e8031347a5db68d92d50ba5012c2cef782442

diff --git a/sys-apps/portage/files/portage-tmpdir.conf 
b/sys-apps/portage/files/portage-tmpdir.conf
new file mode 100644
index 00..4f6e20ccb5
--- /dev/null
+++ b/sys-apps/portage/files/portage-tmpdir.conf
@@ -0,0 +1,2 @@
+d /var/tmp/portage 0775 portage portage
+d /tmp/portage 0775 portage portage

diff --git a/sys-apps/portage/portage-3.0.55.ebuild 
b/sys-apps/portage/portage-3.0.55.ebuild
new file mode 100644
index 00..de98eda274
--- /dev/null
+++ b/sys-apps/portage/portage-3.0.55.ebuild
@@ -0,0 +1,296 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE='bzip2(+),threads(+)'
+TMPFILES_OPTIONAL=1
+
+inherit meson linux-info multiprocessing python-r1 tmpfiles
+
+DESCRIPTION="The package management and distribution system for Gentoo Prefix"
+HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage;
+
+if [[ ${PV} ==  ]] ; then
+   EGIT_REPO_URI="
+   https://anongit.gentoo.org/git/proj/portage.git
+   https://github.com/gentoo/portage.git
+   "
+   inherit git-r3
+else
+   SRC_URI="https://dev.gentoo.org/~grobian/distfiles/prefix-${P}.tar.bz2;
+   KEYWORDS="~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos 
~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="apidoc build doc gentoo-dev +ipc +native-extensions +rsync-verify 
selinux test xattr"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+# setuptools is still needed as a workaround for Python 3.12+ for now.
+# https://github.com/mesonbuild/meson/issues/7702
+#
+# >=meson-1.2.1-r1 for bug #912051
+BDEPEND="
+   ${PYTHON_DEPS}
+   >=dev-util/meson-1.2.1-r1
+   $(python_gen_cond_dep '
+   dev-python/setuptools[${PYTHON_USEDEP}]
+   ' python3_12)
+   test? (
+   dev-python/pytest-xdist[${PYTHON_USEDEP}]
+   dev-vcs/git
+   )
+"
+DEPEND="
+   ${PYTHON_DEPS}
+   >=app-arch/tar-1.27
+   dev-lang/python-exec:2
+   >=sys-apps/sed-4.0.5
+   sys-devel/patch
+   !build? ( $(python_gen_impl_dep 'ssl(+)') )
+   apidoc? (
+   dev-python/sphinx[${PYTHON_USEDEP}]
+   dev-python/sphinx-epytext[${PYTHON_USEDEP}]
+   )
+   doc? (
+   ~app-text/docbook-xml-dtd-4.4
+   app-text/xmlto
+   )
+"
+# Require sandbox-2.2 for bug #288863.
+# For whirlpool hash, require python[ssl] (bug #425046).
+RDEPEND="
+   ${PYTHON_DEPS}
+   !prefix? ( acct-user/portage )
+   >=app-arch/tar-1.27
+   app-arch/zstd
+   >=app-misc/pax-utils-0.1.17
+   dev-lang/python-exec:2
+   >=sys-apps/baselayout-2.9
+   

[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2020-12-04 Thread Fabian Groffen
commit: a425220505c4e94abe9df6c7d7f64a9ee71764d3
Author: Fabian Groffen  gentoo  org>
AuthorDate: Fri Dec  4 11:44:02 2020 +
Commit: Fabian Groffen  gentoo  org>
CommitDate: Fri Dec  4 11:44:02 2020 +
URL:https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=a4252205

sys-apps/portage-3.0.10.3-r1: use correct multiprocessing patch

Package-Manager: Portage-3.0.10.3-prefix, Repoman-3.0.2
Signed-off-by: Fabian Groffen  gentoo.org>

 .../portage-3.0.10-multiprocessing-no-spawn.patch  | 32 +++---
 ...-3.0.10.3.ebuild => portage-3.0.10.3-r1.ebuild} |  0
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git 
a/sys-apps/portage/files/portage-3.0.10-multiprocessing-no-spawn.patch 
b/sys-apps/portage/files/portage-3.0.10-multiprocessing-no-spawn.patch
index 19ae16b5ac..e93d2fc046 100644
--- a/sys-apps/portage/files/portage-3.0.10-multiprocessing-no-spawn.patch
+++ b/sys-apps/portage/files/portage-3.0.10-multiprocessing-no-spawn.patch
@@ -1,4 +1,4 @@
-Alteration of the original patch to force fork mode iso spawn
+Alteration of the following patch to force fork mode iso spawn
 
 From f093da4a3a457d539e5682ccecdf91f254addd8c Mon Sep 17 00:00:00 2001
 From: Zac Medico 
@@ -10,23 +10,23 @@ Force fork mode because spawn mode requires all argument to 
be
 pickle-able, which currently is not the case.  This is an issue because
 Python 3.8 changed the default from fork to spawn on macOS.
 
-diff --git a/lib/portage/tests/runTests.py b/lib/portage/tests/runTests.py
-index 9514abebe0..6e33077aef 100755
 a/lib/portage/tests/runTests.py
-+++ b/lib/portage/tests/runTests.py
-@@ -4,6 +4,7 @@
+diff --git a/bin/emerge b/bin/emerge
+index 8f1db61a6..3731a9081 100755
+--- a/bin/emerge
 b/bin/emerge
+@@ -2,6 +2,7 @@
+ # Copyright 2006-2020 Gentoo Authors
  # Distributed under the terms of the GNU General Public License v2
  
- import grp
 +import multiprocessing
- import os
- import os.path as osp
  import platform
-@@ -60,6 +61,7 @@ def debug_signal(signum, frame):
-   os.environ["PATH"] = ":".join(path)
+ import signal
+ import sys
+@@ -44,6 +45,7 @@ try:
+   from _emerge.main import emerge_main
  
- if __name__ == "__main__":
-+  multiprocessing.set_start_method('fork')
-   try:
-   sys.exit(tests.main())
-   finally:
+   if __name__ == "__main__":
++  multiprocessing.set_start_method('fork')
+   from portage.exception import IsADirectory, ParseError, \
+   PermissionDenied
+   portage.process.sanitize_fds()

diff --git a/sys-apps/portage/portage-3.0.10.3.ebuild 
b/sys-apps/portage/portage-3.0.10.3-r1.ebuild
similarity index 100%
rename from sys-apps/portage/portage-3.0.10.3.ebuild
rename to sys-apps/portage/portage-3.0.10.3-r1.ebuild



[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2020-08-02 Thread Fabian Groffen
commit: e4209bd2ca1ed72324cac02cd49a0634114c5f10
Author: Fabian Groffen  gentoo  org>
AuthorDate: Sun Aug  2 11:43:06 2020 +
Commit: Fabian Groffen  gentoo  org>
CommitDate: Sun Aug  2 11:43:06 2020 +
URL:https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=e4209bd2

sys-apps/portage: cleanup and version bump 3.0.1

Package-Manager: Portage-3.0.1-prefix, Repoman-2.3.23
Signed-off-by: Fabian Groffen  gentoo.org>

 sys-apps/portage/Manifest  |   3 +-
 sys-apps/portage/files/05portage.envd  |   1 -
 sys-apps/portage/files/portage-2.2.28-cygwin.patch |  16 -
 .../files/portage-2.2.28-ebuildshell-r1.patch  | 354 
 .../portage/files/portage-2.3.10-ebuildshell.patch | 355 -
 .../portage/files/portage-2.3.40-ebuildshell.patch | 354 
 sys-apps/portage/files/portage-ccache.conf |   2 +
 sys-apps/portage/metadata.xml  |   1 -
 sys-apps/portage/portage-2.3.100.ebuild| 264 ---
 sys-apps/portage/portage-2.3.68.ebuild | 264 ---
 ...{portage-2.3.84.ebuild => portage-3.0.1.ebuild} | 117 ---
 11 files changed, 79 insertions(+), 1652 deletions(-)

diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
index 7e8f3291c5..40b9f12b82 100644
--- a/sys-apps/portage/Manifest
+++ b/sys-apps/portage/Manifest
@@ -1,3 +1,2 @@
 DIST prefix-portage-2.3.100.tar.bz2 1331695 BLAKE2B 
165f113041da8ad1150cc59d25a420effaa163a7694ba8ff36ce1e5fa75669b8fde31ad74594b28b987f9ec5685b9a31aa5228419afd476726ba17ec8f7575db
 SHA512 
8163bfd4e83e48d560dd07150dd468d3b4a63d1507d23226107479bd5de9da3cd94308851b64c63851572288877cb2774f986f8c1a5163521a341ce4c72fbf0c
-DIST prefix-portage-2.3.68.tar.bz2 1283044 BLAKE2B 
81a9462c2b34b64baff78bc046676abf147a6840f7fb2872c9e26eef5a110e2c53b550ac213f734f7c4e70e4b220ea62d885cd99652d9093448f6e5c4633a115
 SHA512 
7c6124e0b01fd1fdba68a5cb68882baa2301945faf559bb61afd6b632128ca435d7e9a596b1079bd744ed4155041399ba0a3779190c9fa891b5dc815ccb46813
-DIST prefix-portage-2.3.84.tar.bz2 1289922 BLAKE2B 
1644b7c1a03b7fbccabe24bfd9c8378d12aeabeda2db35e286372901898d5f572c39e36625fbc2914334ca64e38e1320adca0143a9898fca64223be7d8a877cc
 SHA512 
e243e21405a53e6ff234a7851fc4ef869450dc213acd6ed2168329c7c947289a97c60104aa31bd85319b3fef0abbc2c5759608abd795edc426b06ddea2ce3cdb
+DIST prefix-portage-3.0.1.tar.bz2 1279330 BLAKE2B 
ac94a2c2b56f23cf35cb229ae8719077e41fe7fb8e74d16beb3542b43d246d6c26dce73b9cec4c126b65b9bf0b4452bc233a83aeb4c873e8dd7c8d5742008221
 SHA512 
5c141b80e20f11aad6990e5f42fcc2cddb6475e03fc978fd1446773dd6833dd4ccf96b07440e1184cb95e210654218011b383872004907a915164813da22663c

diff --git a/sys-apps/portage/files/05portage.envd 
b/sys-apps/portage/files/05portage.envd
deleted file mode 100644
index ec949055ca..00
--- a/sys-apps/portage/files/05portage.envd
+++ /dev/null
@@ -1 +0,0 @@
-PYTHONPATH="@GENTOO_PORTAGE_EPREFIX@/usr/lib/portage/pym"

diff --git a/sys-apps/portage/files/portage-2.2.28-cygwin.patch 
b/sys-apps/portage/files/portage-2.2.28-cygwin.patch
deleted file mode 100644
index 9a9bbec43a..00
--- a/sys-apps/portage/files/portage-2.2.28-cygwin.patch
+++ /dev/null
@@ -1,16 +0,0 @@
 prefix-portage-2.2.28/bin/helper-functions.sh.orig 2016-11-16 
15:43:02.338368826 +0100
-+++ prefix-portage-2.2.28/bin/helper-functions.sh  2016-11-16 
15:43:21.498359600 +0100
-@@ -21,11 +21,12 @@
-   # Setup a pipe for children to write their pids to when they finish.
-   # We have to allocate two fd's because POSIX has undefined behavior
-   # when you open a FIFO for simultaneous read/write. #487056
-+  # And Cygwin supports just one read/write fd at once. #583962
-   local pipe=$(mktemp -t multijob.XX)
-   rm -f "${pipe}"
-   mkfifo -m 600 "${pipe}"
--  __redirect_alloc_fd mj_write_fd "${pipe}"
-   __redirect_alloc_fd mj_read_fd "${pipe}"
-+  __redirect_alloc_fd mj_write_fd "${pipe}" '>'
-   rm -f "${pipe}"
- 
-   # See how many children we can fork based on the user's settings.

diff --git a/sys-apps/portage/files/portage-2.2.28-ebuildshell-r1.patch 
b/sys-apps/portage/files/portage-2.2.28-ebuildshell-r1.patch
deleted file mode 100644
index 298f0a0b08..00
--- a/sys-apps/portage/files/portage-2.2.28-ebuildshell-r1.patch
+++ /dev/null
@@ -1,354 +0,0 @@
-From bd58cc5f041558ab0885a1bf733319c38a24f24b Mon Sep 17 00:00:00 2001
-From: Michael Haubenwallner 
-Date: Wed, 6 Nov 2013 12:40:05 +0100
-Subject: [PATCH] Add the ebuildshell feature, bug#155161.
-

- bin/ebuild.sh| 145 ++-
- bin/filter-bash-environment.py   |  57 ++
- bin/save-ebuild-env.sh   |   2 +-
- man/make.conf.5  |   6 ++
- pym/_emerge/AbstractEbuildProcess.py |   1 +
- pym/portage/const.py |   1 +
- 6 files changed, 194 insertions(+), 18 deletions(-)
-

[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2018-06-25 Thread Fabian Groffen
commit: f9b96df9c0561a60758f442b80ea99023154
Author: Fabian Groffen  gentoo  org>
AuthorDate: Mon Jun 25 08:39:40 2018 +
Commit: Fabian Groffen  gentoo  org>
CommitDate: Mon Jun 25 08:39:40 2018 +
URL:https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=f9b9

sys-apps/portage: version bump, includes stacked-prefix feature

Package-Manager: Portage-2.3.40.2-prefix, Repoman-2.3.9

 sys-apps/portage/Manifest  |  2 +-
 .../files/portage-2.3.40-stacked-prefix.patch  | 59 --
 ...age-2.3.40.2.ebuild => portage-2.3.40.3.ebuild} |  1 -
 3 files changed, 1 insertion(+), 61 deletions(-)

diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
index d89f09de53..61a3d79f0d 100644
--- a/sys-apps/portage/Manifest
+++ b/sys-apps/portage/Manifest
@@ -1,4 +1,4 @@
 DIST prefix-portage-2.2.28.tar.bz2 1187416 BLAKE2B 
1ec27def0b427f60b38dc60178461c2395d388500b6f20d5f9dcd76090c5e68e6578da0073cb5cc3b5b2beb2c2c55ef12afef70d7562fba0a6f0cf90847624ea
 SHA512 
ea0661783d421d204272b9a210745aa2040a18ea347299b3d768588e10ca8dd2e24b46975249bf30010bf565514aea640f4edb9db2ca064312c899304a8c1f42
 DIST prefix-portage-2.3.13.tar.bz2 1205509 BLAKE2B 
851492dc1d3bd55721dfc1662af98a193c8071d87b6b64a09a736864031fa6482fe59a1662789ce8320b156241470688a9a815d79f7367b79500e590a41604f5
 SHA512 
4d59d04b9d6a896a545a40e04973a1c29f421b5d90f08012cb00a27ba1081eb914ddb625f543c26c93c8c75ba690f6ec72e4d9301f4f8e01a5fc68a3438cf46c
 DIST prefix-portage-2.3.18.tar.bz2 1230290 BLAKE2B 
9a7a290493293f166520931aab32a720519ebec15f4c74fe0b0dcd7cc930d591c24e3c87cae4722da119d57826b020b37092ec492bb4e12b774e51334eccf156
 SHA512 
508a5891fc28297e68baf031f4e99674a58c6268b16d50e094adc6676fb42f81bb81bd6f3dc70c24636be64ae015db51df86c49267c8c5a98129fe5e006310d7
-DIST prefix-portage-2.3.40.2.tar.bz2 1216158 BLAKE2B 
d8806b4047ded791e8646ea64c568f9fe0354a5cf2a54a1616c1fc1050f0476b218522c56a9f06636e2a70f70571d762186ba30057efe213ffb7270bc7ef503c
 SHA512 
d85e3eea4149f2fe3ec8dc2fb15d1fd65c5d78c67828c36f064f0663b6305c5d06c1a29f3d62c777f0d1b619aa60178e5a3fbfbadb0a03bbde0570c5913b0675
+DIST prefix-portage-2.3.40.3.tar.bz2 1253190 BLAKE2B 
53e60b561e1f9b2a5367a1a23a74ba315358b8e7eb05eead2a46078198b92786745dbd07ab1bf69587866f462955a5dd6c0bc3eb51dbe507bfbff31d899c5f45
 SHA512 
67c2d7554c9236748b25a8b9f0f60736beda535298395ba2eb86dd5634b6520d645df193914f079d2c61cfa0d8f263f67c3476828319e2395dec2e45cf4b9b14

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
deleted file mode 100644
index d967d1faf7..00
--- a/sys-apps/portage/files/portage-2.3.40-stacked-prefix.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 8a121d477a9a13569be3fb50eaeaa1162ed884bd Mon Sep 17 00:00:00 2001
-From: Michael Haubenwallner 
-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",
-   

[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2018-06-22 Thread Michael Haubenwallner
commit: b69fe7bafe8c39c105de5545dc3903af76f233f4
Author: Michael Haubenwallner  gentoo  org>
AuthorDate: Fri Jun 22 13:34:27 2018 +
Commit: Michael Haubenwallner  gentoo  org>
CommitDate: Fri Jun 22 13:45:09 2018 +
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 00..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 
+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



[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2018-05-28 Thread Michael Haubenwallner
commit: cb20d3f95bd20b528a14126b3d1c545c4ddb1704
Author: Michael Haubenwallner  gentoo  org>
AuthorDate: Mon May 28 16:40:04 2018 +
Commit: Michael Haubenwallner  gentoo  org>
CommitDate: Mon May 28 16:43:59 2018 +
URL:https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=cb20d3f9

sys-apps/portage: bump ebuildshell+prefix-chaining patches

Package-Manager: Portage-2.3.24, Repoman-2.3.6

 .../portage/files/portage-2.3.40-ebuildshell.patch | 354 
 .../files/portage-2.3.40-prefix-chaining.patch | 921 +
 sys-apps/portage/portage-2.3.40.1.ebuild   |   5 +-
 3 files changed, 1277 insertions(+), 3 deletions(-)

diff --git a/sys-apps/portage/files/portage-2.3.40-ebuildshell.patch 
b/sys-apps/portage/files/portage-2.3.40-ebuildshell.patch
new file mode 100644
index 00..167ed3824e
--- /dev/null
+++ b/sys-apps/portage/files/portage-2.3.40-ebuildshell.patch
@@ -0,0 +1,354 @@
+From 9075d30d24af87f69d23ae129dc75e1305cd3aa8 Mon Sep 17 00:00:00 2001
+From: Michael Haubenwallner 
+Date: Wed, 6 Nov 2013 12:40:05 +0100
+Subject: [PATCH 1/2] Add ebuildshell feature, bug#155161.
+
+---
+ bin/ebuild.sh| 146 ++-
+ bin/filter-bash-environment.py   |  55 +
+ bin/save-ebuild-env.sh   |   2 +-
+ man/make.conf.5  |   6 ++
+ pym/_emerge/AbstractEbuildProcess.py |   1 +
+ pym/portage/const.py |   1 +
+ 6 files changed, 194 insertions(+), 17 deletions(-)
+
+diff --git a/bin/ebuild.sh b/bin/ebuild.sh
+index f76a48d8e..51ba95cb1 100755
+--- a/bin/ebuild.sh
 b/bin/ebuild.sh
+@@ -121,7 +121,7 @@ __qa_source() {
+ __qa_call() {
+   local shopts=$(shopt) OLDIFS="$IFS"
+   local retval
+-  "$@"
++  __call-ebuildshell "$@"
+   retval=$?
+   set +e
+   [[ $shopts != $(shopt) ]] &&
+@@ -547,6 +547,150 @@ if [[ -n ${QA_INTERCEPTORS} ]] ; then
+   unset BIN_PATH BIN BODY FUNC_SRC
+ fi
+ 
++__call-ebuildshell() {
++  if ! has ebuildshell ${FEATURES}; then
++  "$@"
++  return $?
++  fi
++  local __ebuildshell_args=( "$@" )
++  # These are the variables I have seen 'bash -i' maintaining the values 
for:
++  local __ebuildshell_bash_i_vars="__ebuildshell_.*
++  _ BASH_ARGC BASH_ARGV BASH_COMMAND BASH_LINENO BASH_SOURCE
++  BASH_VERSINFO BASH_SUBSHELL BASHOPTS BASHPID COMP_WORDBREAKS
++  DIRSTACK EUID FUNCNAME GROUPS HISTCMD HISTFILE LINENO PIPESTATUS
++  PPID PS1 PS2 PS3 PS4 PWD RANDOM SECONDS SHELLOPTS UID"
++  # Allow recursive ebuildshell, for use in multibuild.eclass and similar:
++  local __ebuildshell_pid=${BASHPID:-$(__bashpid)}
++  local __ebuildshell_tmpf="${T}/ebuildshell.${__ebuildshell_pid}"
++  rm -f "${__ebuildshell_tmpf}."{ebuild,return}-{env,rovars}
++  (
++  cat <<-EOE
++  # local variables of functions using recursive 
ebuildshell are
++  # visible to the EXIT trap of that recursive 
ebuildshell.  To
++  # keep them local, we have to filter them from that 
recursive
++  # ebuildshell's return-env.  As 'declare -p' is unable 
to tell
++  # local-ity of variables, we abuse the trace attribute 
for local
++  # variables to filter them from the return-env.  So we 
need the
++  # local alias active before declaring any functions.
++  # On a sidehand, this allows for copy of function 
body
++  # lines including the local keyword.
++  alias local='declare -t'
++  shopt -s expand_aliases
++  EOE
++  (
++  declare -p
++  declare -fp
++  shopt -p
++  [[ ${BASH_VERSINFO[0]} == 3 ]] && export
++  ) |
++  (
++  # we need everything but the bash vars after 'env -i'
++  2>"${__ebuildshell_tmpf}.ebuild-rovars" \
++  
"${PORTAGE_PYTHON:-/tools/haubi/gentoo/s01en24/usr/bin/python}" \
++  
"${PORTAGE_BIN_PATH}"/filter-bash-environment.py \
++  --report-readonly-variables \
++  --preserve-readonly-attribute \
++  "${__ebuildshell_bash_i_vars}" \
++  || die "filter-bash-environment.py failed"
++  )
++  # 'declare -g' is available since bash-4.2,
++  # https://bugs.gentoo.org/show_bug.cgi?id=155161#c35
++  if (( ${BASH_VERSINFO[0]} > 4 )) ||
++ (( ${BASH_VERSINFO[0]} == 4 && ${BASH_VERSINFO[1]} >= 2 ))
++  then
++

[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2017-12-29 Thread Fabian Groffen
commit: 2790e4405fc6cbeb3e5e6e138f357d09cbc4b46f
Author: Fabian Groffen  gentoo  org>
AuthorDate: Fri Dec 29 13:06:43 2017 +
Commit: Fabian Groffen  gentoo  org>
CommitDate: Fri Dec 29 13:06:43 2017 +
URL:https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=2790e440

sys-apps/portage: add/update patch for prefix-chaining, bug #642456

Closes: https://bugs.gentoo.org/642456
Package-Manager: Portage-2.3.18-prefix, Repoman-2.3.6

 .../portage-2.2.00.15801-prefix-chaining.patch | 693 -
 .../portage-2.2.01.18826-aix-preservelibs.patch|  32 -
 .../portage-2.2.01.19247-aix-preserve-libs.patch   | 163 -
 ...portage-2.2.10.1-brokentty-more-platforms.patch |  35 --
 .../portage-2.2.10.1-case-insensitive-fs.patch | 375 ---
 ...ortage-2.2.7-macho-relative-install_names.patch |  68 --
 sys-apps/portage/files/portage-2.2.7-sandbox.patch |  21 -
 .../files/portage-2.2.7-shebang-fixes.patch| 153 -
 patch => portage-2.3.18-prefix-chaining.patch} | 182 +++---
 .../files/portage-2.3.4-mj-safe-econf.patch|  39 --
 sys-apps/portage/portage-2.3.18.ebuild |   2 +-
 11 files changed, 80 insertions(+), 1683 deletions(-)

diff --git a/sys-apps/portage/files/portage-2.2.00.15801-prefix-chaining.patch 
b/sys-apps/portage/files/portage-2.2.00.15801-prefix-chaining.patch
deleted file mode 100644
index 01e5934448..00
--- a/sys-apps/portage/files/portage-2.2.00.15801-prefix-chaining.patch
+++ /dev/null
@@ -1,693 +0,0 @@
-diff -ru prefix-portage-2.2.00.15801.orig/bin/ebuild.sh 
prefix-portage-2.2.00.15801/bin/ebuild.sh
 prefix-portage-2.2.00.15801.orig/bin/ebuild.sh 2010-03-11 10:39:16 
+0100
-+++ prefix-portage-2.2.00.15801/bin/ebuild.sh  2010-03-11 10:38:21 +0100
-@@ -123,6 +123,83 @@
- # Unset some variables that break things.
- unset GZIP BZIP BZIP2 CDPATH GREP_OPTIONS GREP_COLOR GLOBIGNORE
- 
-+if [[ -n "${PORTAGE_READONLY_EPREFIXES}" ]]; then
-+  new_PATH=${PATH}
-+
-+  prefixes="${PORTAGE_READONLY_EPREFIXES}:${EPREFIX}"
-+
-+  # build up a PATH for the current environment. the path has to
-+  # contain all the paths the start with $EPREFIX _first_, and
-+  # after that, all the others. We have to re-order the new_PATH,
-+  # so that EPREFIX paths move to the front. after that, the paths
-+  # of all parent prefixes are added, and finally, after that, the
-+  # paths not containing any prefix are added.
-+
-+  save_IFS=$IFS
-+  IFS=':'
-+  pth_pfx=
-+  pth_nopfx=
-+  for pth in ${new_PATH}; do
-+  IFS=$save_IFS
-+  if [[ "${pth#${EPREFIX}}" == "${pth}" ]]; then
-+  [[ ":${pth_nopfx}:" == *":${pth}:"* ]] && continue
-+  if [[ -z "${pth_nopfx}" ]]; then
-+  pth_nopfx="${pth}"
-+  else
-+  pth_nopfx="${pth_nopfx}:${pth}"
-+  fi
-+  else
-+  [[ ":${pth_pfx}:" == *":${pth}:"* ]] && continue
-+  if [[ -z "${pth_pfx}" ]]; then
-+  pth_pfx="${pth}"
-+  else
-+  pth_pfx="${pth_pfx}:${pth}"
-+  fi
-+  fi
-+  done
-+  IFS=$save_IFS
-+
-+  new_PATH=
-+
-+  save_IFS=$IFS
-+  IFS=':'
-+  for eroot in ${prefixes}; do
-+  IFS=$save_IFS
-+  if [[ -f ${eroot}/usr/share/portage/config/make.globals ]]; then
-+  # ok, there is a portage instance installed in this 
prefix,
-+  # so we can ask (politely) for the DEFAULT_PATH of it :)
-+
-+  defpath="$(. ${eroot}/etc/make.globals && echo 
$DEFAULT_PATH)"
-+  okpath=
-+  save_IFS2=$IFS
-+  IFS=':'
-+  for p in $defpath; do
-+  IFS=$save_IFS2
-+  # we have that one already...
-+  [[ ":${new_PATH}:" == *":$p:"* ]] && continue
-+  # we skip paths, that are outside our prefix ...
-+  [[ "${p#${eroot}}" == "${p}" ]] && continue
-+  if [[ -z "${okpath}" ]]; then
-+  okpath="${p}"
-+  else
-+  okpath="${okpath}:${p}"
-+  fi
-+  done
-+  IFS=$save_IFS2
-+
-+  new_PATH="${okpath}:${new_PATH}"
-+  else
-+  # no portage installed in this prefix. this means we 
have to
-+  # somehow fiddle together a sane path for that prefix 
for at
-+  # least the standard things to work.
-+  

[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2017-09-29 Thread Michael Haubenwallner
commit: d9f6cf75e9fc38cb9f4cd7158e9ae19d39585332
Author: Michael Haubenwallner  gentoo  org>
AuthorDate: Tue Sep 26 14:05:54 2017 +
Commit: Michael Haubenwallner  gentoo  org>
CommitDate: Tue Sep 26 14:05:54 2017 +
URL:https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=d9f6cf75

sys-apps/portage: bump ebuildshell patch

The change actually is for FEATURES=userpriv in main Gentoo Linux.

Package-Manager: Portage-2.3.10-prefix, Repoman-2.3.3

 .../files/portage-2.2.01.18213-ebuildshell.patch   | 105 --
 .../files/portage-2.2.01.18980-ebuildshell.patch   | 103 --
 .../files/portage-2.2.01.19247-ebuildshell.patch   | 105 --
 .../files/portage-2.2.01.19981-ebuildshell.patch   | 105 --
 .../files/portage-2.2.01.20020-ebuildshell.patch   | 137 --
 .../files/portage-2.2.01.20239-ebuildshell.patch   | 148 ---
 .../portage/files/portage-2.2.7-ebuildshell.patch  | 158 -
 .../portage/files/portage-2.2.8-ebuildshell.patch  | 157 
 ...hell.patch => portage-2.3.10-ebuildshell.patch} |  37 ++---
 sys-apps/portage/portage-2.3.10.ebuild |   2 +-
 10 files changed, 21 insertions(+), 1036 deletions(-)

diff --git a/sys-apps/portage/files/portage-2.2.01.18213-ebuildshell.patch 
b/sys-apps/portage/files/portage-2.2.01.18213-ebuildshell.patch
deleted file mode 100644
index 59e98af020..00
--- a/sys-apps/portage/files/portage-2.2.01.18213-ebuildshell.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-http://bugs.gentoo.org/show_bug.cgi?id=155161
-
 portage/bin/ebuild.sh.orig 2010-12-15 11:12:12.466527126 +0100
-+++ portage/bin/ebuild.sh  2010-12-15 11:11:04.757062756 +0100
-@@ -59,7 +59,7 @@
- qa_call() {
-   local shopts=$(shopt) OLDIFS="$IFS"
-   local retval
--  "$@"
-+  call-ebuildshell "$@"
-   retval=$?
-   set +e
-   [[ $shopts != $(shopt) ]] &&
-@@ -1765,7 +1765,7 @@
- filter_readonly_variables() {
-   local x filtered_vars
-   local readonly_bash_vars="BASHOPTS BASHPID DIRSTACK EUID
--  FUNCNAME GROUPS PIPESTATUS PPID SHELLOPTS UID"
-+  FUNCNAME GROUPS PIPESTATUS PPID SHELLOPTS UID BASH_VERSINFO"
-   local bash_misc_vars="BASH BASH_.* COMP_WORDBREAKS HISTCMD
-   HISTFILE HOSTNAME HOSTTYPE IFS LINENO MACHTYPE OLDPWD
-   OPTERR OPTIND OSTYPE POSIXLY_CORRECT PS4 PWD RANDOM
-@@ -1774,8 +1774,10 @@
-   SANDBOX_DEBUG_LOG SANDBOX_DISABLED SANDBOX_LIB
-   SANDBOX_LOG SANDBOX_ON"
-   local misc_garbage_vars="_portage_filter_opts"
--  filtered_vars="$readonly_bash_vars $bash_misc_vars
--  $PORTAGE_READONLY_VARS $misc_garbage_vars"
-+  filtered_vars="$readonly_bash_vars"
-+  if ! hasq --filter-for-subshell $* ; then
-+  filtered_vars="$filtered_vars $bash_misc_vars 
$PORTAGE_READONLY_VARS $misc_garbage_vars"
-+  fi
- 
-   # Don't filter/interfere with prefix variables unless they are
-   # supported by the current EAPI.
-@@ -1805,7 +1807,11 @@
-   LC_CTYPE LC_MESSAGES LC_MONETARY
-   LC_NUMERIC LC_PAPER LC_TIME"
-   fi
--  if ! hasq --allow-extra-vars $* ; then
-+  if hasq --filter-metadata $* ; then
-+  filtered_vars="$filtered_vars $PORTAGE_READONLY_METADATA"
-+  fi
-+  if ! hasq --allow-extra-vars $* &&
-+ ! hasq --filter-for-subshell $* ; then
-   filtered_vars="
-   ${filtered_vars}
-   ${PORTAGE_SAVED_READONLY_VARS}
-@@ -1936,6 +1942,56 @@
-   unset BIN_PATH BIN BODY FUNC_SRC
- fi
- 
-+call-ebuildshell() {
-+  if ! hasq ebuildshell ${FEATURES}; then
-+  "$@"
-+  return $?
-+  fi
-+  (
-+  umask 002
-+  (
-+  (
-+  set
-+  declare -p
-+  declare -fp
-+  shopt -p
-+  if [[ ${BASH_VERSINFO[0]} == 3 ]]; then
-+  export
-+  fi
-+  ) | filter_readonly_variables --filter-for-subshell
-+  echo 'declare -r $PORTAGE_READONLY_METADATA 
$PORTAGE_READONLY_VARS'
-+  echo "export PS1='EBUILD ${PN} $1 \$ '" 
-+  echo 'unset ENV'
-+  echo "type $1"
-+  echo "echo WANTED: $@"
-+  echo "trap '"
-+  echo "umask 002"
-+  echo "("
-+  echo "  set"
-+  echo "  declare -p"
-+  echo "  declare -fp"
-+  echo "  shopt -p"
-+  if [[ ${BASH_VERSINFO[0]} == 3 ]]; then
-+  echo "  export"
-+  

[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2017-09-18 Thread Michael Haubenwallner
commit: 4b7e34b956d910b3723354b9351d21d8f010788f
Author: Michael Haubenwallner  gentoo  org>
AuthorDate: Mon Sep 18 14:08:44 2017 +
Commit: Michael Haubenwallner  gentoo  org>
CommitDate: Mon Sep 18 14:08:44 2017 +
URL:https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=4b7e34b9

sys-apps/portage: bump prefix-chaining.patch

Package-Manager: Portage-2.3.8-prefix, Repoman-2.3.3

 .../files/portage-2.3.8-prefix-chaining.patch  | 927 +
 sys-apps/portage/portage-2.3.8.ebuild  |   2 +-
 2 files changed, 928 insertions(+), 1 deletion(-)

diff --git a/sys-apps/portage/files/portage-2.3.8-prefix-chaining.patch 
b/sys-apps/portage/files/portage-2.3.8-prefix-chaining.patch
new file mode 100644
index 00..036d022191
--- /dev/null
+++ b/sys-apps/portage/files/portage-2.3.8-prefix-chaining.patch
@@ -0,0 +1,927 @@
+From 448d210bb312ed0930763376d5182ebfbed1abd8 Mon Sep 17 00:00:00 2001
+From: Michael Haubenwallner 
+Date: Thu, 23 Mar 2017 13:52:32 +0100
+Subject: [PATCH] add prefix-chaining support
+
+---
+ bin/install-qa-check.d/05prefix| 30 ++-
+ bin/phase-helpers.sh   | 28 ++
+ pym/_emerge/actions.py |  6 +-
+ pym/_emerge/depgraph.py| 51 ++-
+ pym/_emerge/resolver/output.py | 40 -
+ pym/portage/_sets/__init__.py  |  5 ++
+ pym/portage/const.py   |  6 ++
+ pym/portage/dbapi/vartree.py   | 34 ++--
+ pym/portage/dep/dep_check.py   | 99 +-
+ .../package/ebuild/_config/LocationsManager.py |  3 +
+ pym/portage/package/ebuild/config.py   | 62 ++
+ pym/portage/package/ebuild/doebuild.py | 24 +-
+ pym/portage/package/ebuild/fetch.py|  4 +
+ pym/portage/sync/controller.py | 27 +++---
+ pym/portage/util/_dyn_libs/LinkageMapELF.py|  4 +-
+ 15 files changed, 376 insertions(+), 47 deletions(-)
+
+diff --git a/bin/install-qa-check.d/05prefix b/bin/install-qa-check.d/05prefix
+index 32561e2..0c11473 100644
+--- a/bin/install-qa-check.d/05prefix
 b/bin/install-qa-check.d/05prefix
+@@ -79,16 +79,42 @@ install_qa_check_prefix() {
+   # unprefixed shebang, is the script directly in $PATH or an init
+   # script?
+   if [[ ":${PATH}:${EPREFIX}/etc/init.d:" == *":${fp}:"* ]] ; then
+-  if [[ -e ${EROOT}${line[0]} || -e ${ED}${line[0]} ]] ; 
then
++  
all_epfs="$PORTAGE_READONLY_EPREFIXES:$EPREFIX:$EROOT:$ED"
++  save_IFS=$IFS
++  IFS=:
++  epfs=( $all_epfs )
++  IFS=$save_IFS
++
++  found=
++  for x in "${epfs[@]}"; do
++  [[ -z "${x}" ]] && continue
++  check="${x}${line[0]}"
++
++  # might already contain a prefix
++  if [[ "${line[0]}" == "${x}"* ]]; then
++  check="${line[0]}"
++  fi
++
++  if [[ -e ${check} ]]; then
++  found="${check}"
++  fi
++  done
++
++  if [[ -n ${found} ]] ; then
+   # is it unprefixed, but we can just fix it 
because a
+   # prefixed variant exists
+   eqawarn "prefixing shebang of ${fn#${D}}"
++
++  if [[ ${found} == "${ED}"* || ${found} == 
"${EROOT}"* ]]; then
++  found="${EPREFIX}${line[0]}"
++  fi
++
+   # statement is made idempotent on purpose, 
because
+   # symlinks may point to the same target, and 
hence the
+   # same real file may be sedded multiple times 
since we
+   # read the shebangs in one go upfront for 
performance
+   # reasons
+-  sed -i -e '1s:^#! 
\?'"${line[0]}"':#!'"${EPREFIX}"${line[0]}':' "${rf}"
++  sed -i -e '1s:^#! 
\?'"${line[0]}"':#!'"${found}"':' "${rf}"
+   continue
+   else
+   # this is definitely wrong: script in $PATH and 
invalid shebang
+diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
+index b28fd92..dcfd263 100644
+--- a/bin/phase-helpers.sh
 b/bin/phase-helpers.sh
+@@ -867,6 +867,10 @@ has_version() {
+   "${PORTAGE_BIN_PATH}/ebuild-helpers/portageq" has_version 

[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2016-05-13 Thread Michael Haubenwallner
commit: 5fc496c38e3464658a258557d31849ebd9598109
Author: Michael Haubenwallner  ssi-schaefer 
 com>
AuthorDate: Fri May 13 11:38:53 2016 +
Commit: Michael Haubenwallner  gentoo  org>
CommitDate: Fri May 13 11:39:24 2016 +
URL:https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=5fc496c3

+sys-apps/portage-2.2.28-r4: bump ebuildshell patch to bug#155161 comment#36

Package-Manager: portage-2.2.28-prefix

 .../portage/files/portage-2.2.28-ebuildshell.patch | 50 +++---
 ...e-2.2.28-r3.ebuild => portage-2.2.28-r4.ebuild} |  0
 2 files changed, 35 insertions(+), 15 deletions(-)

diff --git a/sys-apps/portage/files/portage-2.2.28-ebuildshell.patch 
b/sys-apps/portage/files/portage-2.2.28-ebuildshell.patch
index 69373f6..4674506 100644
--- a/sys-apps/portage/files/portage-2.2.28-ebuildshell.patch
+++ b/sys-apps/portage/files/portage-2.2.28-ebuildshell.patch
@@ -1,19 +1,19 @@
-From 3ae829681363c032c9863d4e5a41a762af89f93e Mon Sep 17 00:00:00 2001
+From 5e3167845640624f328969355db2e7f16cad2c83 Mon Sep 17 00:00:00 2001
 From: Michael Haubenwallner 
 Date: Wed, 6 Nov 2013 12:40:05 +0100
 Subject: [PATCH] Add ebuildshell feature, bug#155161.
 
 ---
- bin/ebuild.sh| 123 ++-
- bin/filter-bash-environment.py   |  57 +++-
+ bin/ebuild.sh| 143 ++-
+ bin/filter-bash-environment.py   |  57 ++
  bin/save-ebuild-env.sh   |   2 +-
  man/make.conf.5  |   6 ++
  pym/_emerge/AbstractEbuildProcess.py |   1 +
  pym/portage/const.py |   1 +
- 6 files changed, 172 insertions(+), 18 deletions(-)
+ 6 files changed, 192 insertions(+), 18 deletions(-)
 
 diff --git a/bin/ebuild.sh b/bin/ebuild.sh
-index f1586b2..8231a98 100755
+index f1586b2..d42ffd4 100755
 --- a/bin/ebuild.sh
 +++ b/bin/ebuild.sh
 @@ -130,7 +130,7 @@ __qa_source() {
@@ -25,7 +25,7 @@ index f1586b2..8231a98 100755
retval=$?
set +e
[[ $shopts != $(shopt) ]] &&
-@@ -537,6 +537,127 @@ if [[ -n ${QA_INTERCEPTORS} ]] ; then
+@@ -537,6 +537,147 @@ if [[ -n ${QA_INTERCEPTORS} ]] ; then
unset BIN_PATH BIN BODY FUNC_SRC
  fi
  
@@ -46,6 +46,19 @@ index f1586b2..8231a98 100755
 +  local __ebuildshell_tmpf="${T}/ebuildshell.${__ebuildshell_pid}"
 +  rm -f "${__ebuildshell_tmpf}."{ebuild,return}-{env,rovars}
 +  (
++  cat <<-EOE
++  # local variables of functions using recursive 
ebuildshell are
++  # visible to the EXIT trap of that recursive 
ebuildshell.  To
++  # keep them local, we have to filter them from that 
recursive
++  # ebuildshell's return-env.  As 'declare -p' is unable 
to tell
++  # local-ity of variables, we abuse the trace attribute 
for local
++  # variables to filter them from the return-env.  So we 
need the
++  # local alias active before declaring any functions.
++  # On a sidehand, this allows for copy of function 
body
++  # lines including the local keyword.
++  alias local='declare -t'
++  shopt -s expand_aliases
++  EOE
 +  (
 +  declare -p
 +  declare -fp
@@ -62,6 +75,17 @@ index f1586b2..8231a98 100755
 +  "${__ebuildshell_bash_i_vars}" \
 +  || die "filter-bash-environment.py failed"
 +  )
++  # 'declare -g' is available since bash-4.2,
++  # https://bugs.gentoo.org/show_bug.cgi?id=155161#c35
++  if (( ${BASH_VERSINFO[0]} > 4 )) ||
++ (( ${BASH_VERSINFO[0]} == 4 && ${BASH_VERSINFO[1]} >= 2 ))
++  then
++  __ebuildshell_bash42_true=
++  __ebuildshell_bash42_false='#bash-4.2#'
++  else
++  __ebuildshell_bash42_true='#bash-4.2#'
++  __ebuildshell_bash42_false=
++  fi
 +  # The already readonly variables, without bash maintained ones:
 +  
__ebuildshell_ro_ebuild_vars=$(<"${__ebuildshell_tmpf}.ebuild-rovars")
 +  cat <<-EOE
@@ -72,6 +96,7 @@ index f1586b2..8231a98 100755
 +  # be informative about what to do
 +  PS1="EBUILD ${PN} $1 \$ "
 +  type $1
++  ${__ebuildshell_bash42_false}echo 'warning: preserving 
variables across phases requires bash-4.2'
 +  echo "WANTED: \$@"
 +  echo "or use: \"\\\$@\""
 +  # use bash history, but not the 'user's real one
@@ -79,12 +104,6 @@ index f1586b2..8231a98 100755
 +  # but do not use 

[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2016-05-03 Thread Michael Haubenwallner
commit: 4fcd3c6826ab0f73d202305307d9c9d80a85fe05
Author: Michael Haubenwallner  ssi-schaefer 
 com>
AuthorDate: Tue May  3 15:31:35 2016 +
Commit: Michael Haubenwallner  gentoo  org>
CommitDate: Tue May  3 15:33:07 2016 +
URL:https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=4fcd3c68

+portage-2.2.28-r3: bump ebuildshell patch bug#155161 comment#34

Package-Manager: portage-2.2.28-prefix

 .../portage/files/portage-2.2.28-ebuildshell.patch | 113 +++--
 ...e-2.2.28-r2.ebuild => portage-2.2.28-r3.ebuild} |   0
 2 files changed, 60 insertions(+), 53 deletions(-)

diff --git a/sys-apps/portage/files/portage-2.2.28-ebuildshell.patch 
b/sys-apps/portage/files/portage-2.2.28-ebuildshell.patch
index afd2f39..69373f6 100644
--- a/sys-apps/portage/files/portage-2.2.28-ebuildshell.patch
+++ b/sys-apps/portage/files/portage-2.2.28-ebuildshell.patch
@@ -1,19 +1,19 @@
-From c93cb045630db71f8fbc0e0b67960a28764a6852 Mon Sep 17 00:00:00 2001
+From 3ae829681363c032c9863d4e5a41a762af89f93e Mon Sep 17 00:00:00 2001
 From: Michael Haubenwallner 
 Date: Wed, 6 Nov 2013 12:40:05 +0100
 Subject: [PATCH] Add ebuildshell feature, bug#155161.
 
 ---
- bin/ebuild.sh| 131 ++-
- bin/filter-bash-environment.py   |  50 -
+ bin/ebuild.sh| 123 ++-
+ bin/filter-bash-environment.py   |  57 +++-
  bin/save-ebuild-env.sh   |   2 +-
  man/make.conf.5  |   6 ++
  pym/_emerge/AbstractEbuildProcess.py |   1 +
  pym/portage/const.py |   1 +
- 6 files changed, 173 insertions(+), 18 deletions(-)
+ 6 files changed, 172 insertions(+), 18 deletions(-)
 
 diff --git a/bin/ebuild.sh b/bin/ebuild.sh
-index f1586b2..cb487c0 100755
+index f1586b2..8231a98 100755
 --- a/bin/ebuild.sh
 +++ b/bin/ebuild.sh
 @@ -130,7 +130,7 @@ __qa_source() {
@@ -25,7 +25,7 @@ index f1586b2..cb487c0 100755
retval=$?
set +e
[[ $shopts != $(shopt) ]] &&
-@@ -537,6 +537,135 @@ if [[ -n ${QA_INTERCEPTORS} ]] ; then
+@@ -537,6 +537,127 @@ if [[ -n ${QA_INTERCEPTORS} ]] ; then
unset BIN_PATH BIN BODY FUNC_SRC
  fi
  
@@ -39,8 +39,8 @@ index f1586b2..cb487c0 100755
 +  local __ebuildshell_bash_i_vars="__ebuildshell_.*
 +  _ BASH_ARGC BASH_ARGV BASH_COMMAND BASH_LINENO BASH_SOURCE
 +  BASH_VERSINFO BASH_SUBSHELL BASHOPTS BASHPID COMP_WORDBREAKS
-+  DIRSTACK EUID FUNCNAME GROUPS HISTCMD HISTFILE LINENO
-+  PIPESTATUS PPID PWD RANDOM SECONDS SHELLOPTS UID"
++  DIRSTACK EUID FUNCNAME GROUPS HISTCMD HISTFILE LINENO PIPESTATUS
++  PPID PS1 PS2 PS3 PS4 PWD RANDOM SECONDS SHELLOPTS UID"
 +  # Allow recursive ebuildshell, for use in multibuild.eclass and similar:
 +  local __ebuildshell_pid=${BASHPID:-$(__bashpid)}
 +  local __ebuildshell_tmpf="${T}/ebuildshell.${__ebuildshell_pid}"
@@ -76,56 +76,50 @@ index f1586b2..cb487c0 100755
 +  echo "or use: \"\\\$@\""
 +  # use bash history, but not the 'user's real one
 +  HISTFILE=~/.bash_history
-+  # for copy function body lines containing: !
++  # but do not use history-expansion with '!',
++  # for copy of function body lines containing: !
 +  set +H
-+  # Support the 'local' keyword outside any shell function
-+  # for copy of function body lines: Remember these
-+  # "local" variable names for filtering from return-env.
-+  __ebuildshell_local_vars=
-+  __ebuildshell_local() {
-+  local __ebuildshell_local_attr=
-+  while [[ \${1} == -* ]]; do
-+  __ebuildshell_local_attr+=" \${1}"
-+  shift
-+  done
-+  __ebuildshell_local_vars+=" \${1%%=*} "
-+  # Need to declare into the global shell 
namespace,
-+  # as we are in some shell function here 
apparently.
-+  declare -g \${__ebuildshell_local_attr} "\$@"
-+  }
-+  # within some function, BASH_LINENO is set, and we use 
real 'local'
-+  alias local='\$( (( \${#BASH_LINENO} > 0 )) && echo 
local || echo __ebuildshell_local)'
++  # For copy of function body lines, we want the 
'local'
++  # keyword available at the shell prompt as well.  So we 
alias
++  # the 'local' keyword to 'declare -t', to identify local
++  # variables by their trace attribute.
++  

[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2016-05-02 Thread Michael Haubenwallner
commit: 9df60459337bfbe3f3fe7bb2b48ef18c076284af
Author: Michael Haubenwallner  ssi-schaefer 
 com>
AuthorDate: Mon May  2 09:15:21 2016 +
Commit: Michael Haubenwallner  gentoo  org>
CommitDate: Mon May  2 11:14:56 2016 +
URL:https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=9df60459

+portage-2.2.28-r2: bump ebuildshell patch bug#155161 comment#32

Package-Manager: portage-2.2.28-prefix

 .../portage/files/portage-2.2.28-ebuildshell.patch | 92 +-
 ...e-2.2.28-r1.ebuild => portage-2.2.28-r2.ebuild} |  0
 2 files changed, 53 insertions(+), 39 deletions(-)

diff --git a/sys-apps/portage/files/portage-2.2.28-ebuildshell.patch 
b/sys-apps/portage/files/portage-2.2.28-ebuildshell.patch
index 7e7e71d..afd2f39 100644
--- a/sys-apps/portage/files/portage-2.2.28-ebuildshell.patch
+++ b/sys-apps/portage/files/portage-2.2.28-ebuildshell.patch
@@ -1,19 +1,19 @@
-From 096a74009cea9c79bcc2729d18a3cbcb99783aeb Mon Sep 17 00:00:00 2001
+From c93cb045630db71f8fbc0e0b67960a28764a6852 Mon Sep 17 00:00:00 2001
 From: Michael Haubenwallner 
 Date: Wed, 6 Nov 2013 12:40:05 +0100
 Subject: [PATCH] Add ebuildshell feature, bug#155161.
 
 ---
- bin/ebuild.sh| 102 ++-
- bin/filter-bash-environment.py   |  65 --
+ bin/ebuild.sh| 131 ++-
+ bin/filter-bash-environment.py   |  50 -
  bin/save-ebuild-env.sh   |   2 +-
- man/make.conf.5  |   6 +++
+ man/make.conf.5  |   6 ++
  pym/_emerge/AbstractEbuildProcess.py |   1 +
  pym/portage/const.py |   1 +
- 6 files changed, 159 insertions(+), 18 deletions(-)
+ 6 files changed, 173 insertions(+), 18 deletions(-)
 
 diff --git a/bin/ebuild.sh b/bin/ebuild.sh
-index f1586b2..06c90df 100755
+index f1586b2..cb487c0 100755
 --- a/bin/ebuild.sh
 +++ b/bin/ebuild.sh
 @@ -130,7 +130,7 @@ __qa_source() {
@@ -25,7 +25,7 @@ index f1586b2..06c90df 100755
retval=$?
set +e
[[ $shopts != $(shopt) ]] &&
-@@ -537,6 +537,106 @@ if [[ -n ${QA_INTERCEPTORS} ]] ; then
+@@ -537,6 +537,135 @@ if [[ -n ${QA_INTERCEPTORS} ]] ; then
unset BIN_PATH BIN BODY FUNC_SRC
  fi
  
@@ -74,14 +74,31 @@ index f1586b2..06c90df 100755
 +  type $1
 +  echo "WANTED: \$@"
 +  echo "or use: \"\\\$@\""
-+  # use bash history, but not the user's real one
++  # use bash history, but not the 'user's real one
 +  HISTFILE=~/.bash_history
-+  # for copy function body lines containing: local
-+  alias local=declare
 +  # for copy function body lines containing: !
 +  set +H
++  # Support the 'local' keyword outside any shell function
++  # for copy of function body lines: Remember these
++  # "local" variable names for filtering from return-env.
++  __ebuildshell_local_vars=
++  __ebuildshell_local() {
++  local __ebuildshell_local_attr=
++  while [[ \${1} == -* ]]; do
++  __ebuildshell_local_attr+=" \${1}"
++  shift
++  done
++  __ebuildshell_local_vars+=" \${1%%=*} "
++  # Need to declare into the global shell 
namespace,
++  # as we are in some shell function here 
apparently.
++  declare -g \${__ebuildshell_local_attr} "\$@"
++  }
++  # within some function, BASH_LINENO is set, and we use 
real 'local'
++  alias local='\$( (( \${#BASH_LINENO} > 0 )) && echo 
local || echo __ebuildshell_local)'
 +  # at exit, dump the current environment
 +  trap "
++  unalias local
++  unset -f __ebuildshell_local
 +  rm -f '${__ebuildshell_tmpf}.return-'*
 +  (
 +  (
@@ -93,13 +110,14 @@ index f1586b2..06c90df 100755
 +  (
 +  # We may have more readonly 
variables now, but we
 +  # need to filter variables that 
are readonly already.
-+  
2>"${__ebuildshell_tmpf}.return-rovars" \
-+  
'${PORTAGE_PYTHON:-/tools/haubi/gentoo/s01en24/usr/bin/python}' \
++  

[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/

2016-04-18 Thread Fabian Groffen
commit: 61210cd17364416da121e0daab57082f79b0b68d
Author: Fabian Groffen  gentoo  org>
AuthorDate: Mon Apr 18 07:36:24 2016 +
Commit: Fabian Groffen  gentoo  org>
CommitDate: Mon Apr 18 07:36:24 2016 +
URL:https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=61210cd1

sys-apps/portage: add non-applying prefix-chaining patch, bug #509136

Package-Manager: portage-2.2.28-prefix

 sys-apps/portage/Manifest  |   1 -
 .../files/portage-2.2.14-prefix-chaining.patch | 873 +
 sys-apps/portage/metadata.xml  |  26 +-
 sys-apps/portage/portage-2.2.20.ebuild | 583 --
 sys-apps/portage/portage-2.2.28.ebuild |   2 +
 5 files changed, 892 insertions(+), 593 deletions(-)

diff --git a/sys-apps/portage/Manifest b/sys-apps/portage/Manifest
index 6043692..ec3802d 100644
--- a/sys-apps/portage/Manifest
+++ b/sys-apps/portage/Manifest
@@ -1,3 +1,2 @@
-DIST prefix-portage-2.2.20.tar.bz2 1205876 SHA256 
8c32e08af042384e7793a4580cbde892a66ec9ea2ad3bae739b2a9e476ac10cc SHA512 
e219ca4b0dcfc6f6a4d221ebfb7e951f6676b739609e8f2d6651ac120d250797eb6fa8bde16ee0fd373403d09a7fd1c59b7e9de7b001da83300492d953ccd1a2
 WHIRLPOOL 
4ec1fca787e587097088009950165a1117e425365583e6f6952cabc2587bea8c7d8bb88ed8a038be41ffb33cba1a374e99d2e01707a5749449d4a246a43be1b4
 DIST prefix-portage-2.2.27.tar.bz2 1230727 SHA256 
51bf3f427b23dfd1d050a2071895b5134cf7f515eb00612e0f57adf645a38299 SHA512 
bb528ee059c7fc06702882eaa9aad33962ad2eff7e468aa51a8b185e8b3e4ba3eaf88b2ee0f61df9c38493f0f37028e471ba2cc766fa53086ad6b975ead9b332
 WHIRLPOOL 
b0601462462d6dd322ffd9e806c92fd425483fc769a8c6b36c5874a4a28e21e250386ce16479e238577754ab4b194ce700bca7a0407dca919d59fd6ada87970c
 DIST prefix-portage-2.2.28.tar.bz2 1187416 SHA256 
e4bb6c08a65252cfb3faf777ff9bb6aab162174766202f811154c0bbe301b45e SHA512 
ea0661783d421d204272b9a210745aa2040a18ea347299b3d768588e10ca8dd2e24b46975249bf30010bf565514aea640f4edb9db2ca064312c899304a8c1f42
 WHIRLPOOL 
d2d3feab14c4b0dc706db9336e08637897d963d0cbd7e1995431701c8c1914f6f42f57917470a2c89cdc8596d2ed8183c80f3814eba7512b5216611595da38a1

diff --git a/sys-apps/portage/files/portage-2.2.14-prefix-chaining.patch 
b/sys-apps/portage/files/portage-2.2.14-prefix-chaining.patch
new file mode 100644
index 000..5c38795
--- /dev/null
+++ b/sys-apps/portage/files/portage-2.2.14-prefix-chaining.patch
@@ -0,0 +1,873 @@
+diff -ru prefix-portage-2.2.14.orig/bin/install-qa-check.d/05prefix 
prefix-portage-2.2.14/bin/install-qa-check.d/05prefix
+--- prefix-portage-2.2.14.orig/bin/install-qa-check.d/05prefix 2014-09-28 
19:31:20.0 +0200
 prefix-portage-2.2.14/bin/install-qa-check.d/05prefix  2015-06-17 
10:08:15.074682823 +0200
+@@ -79,16 +79,42 @@
+   # unprefixed shebang, is the script directly in $PATH or an init
+   # script?
+   if [[ ":${PATH}:${EPREFIX}/etc/init.d:" == *":${fp}:"* ]] ; then
+-  if [[ -e ${EROOT}${line[0]} || -e ${ED}${line[0]} ]] ; 
then
++  
all_epfs="$PORTAGE_READONLY_EPREFIXES:$EPREFIX:$EROOT:$ED"
++  save_IFS=$IFS
++  IFS=:
++  epfs=( $all_epfs )
++  IFS=$save_IFS
++
++  found=
++  for x in "${epfs[@]}"; do
++  [[ -z "${x}" ]] && continue
++  check="${x}${line[0]}"
++
++  # might already contain a prefix
++  if [[ "${line[0]}" == "${x}"* ]]; then
++  check="${line[0]}"
++  fi
++
++  if [[ -e ${check} ]]; then
++  found="${check}"
++  fi
++  done
++
++  if [[ -n ${found} ]] ; then
+   # is it unprefixed, but we can just fix it 
because a
+   # prefixed variant exists
+   eqawarn "prefixing shebang of ${fn#${D}}"
++
++  if [[ ${found} == "${ED}"* || ${found} == 
"${EROOT}"* ]]; then
++  found="${EPREFIX}${line[0]}"
++  fi
++
+   # statement is made idempotent on purpose, 
because
+   # symlinks may point to the same target, and 
hence the
+   # same real file may be sedded multiple times 
since we
+   # read the shebangs in one go upfront for 
performance
+   # reasons
+-  sed -i -e '1s:^#! 
\?'"${line[0]}"':#!'"${EPREFIX}"${line[0]}':' "${rf}"
++  sed -i -e '1s:^#! 
\?'"${line[0]}"':#!'"${found}"':' "${rf}"
+