[gentoo-commits] repo/proj/prefix:master commit in: sys-apps/portage/files/, sys-apps/portage/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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/
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 HaubenwallnerDate: 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/
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 HaubenwallnerDate: 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/
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 HaubenwallnerDate: 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/
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}" +