commit:     61aa6eec0b6b32818e6d77adfe78e163652d1baa
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed May 29 19:36:02 2019 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Wed May 29 19:37:31 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61aa6eec

sys-apps/portage: fix etc-update shebang for prefix

Reported-by: dingyuc <AT> 126.com
Closes: https://bugs.gentoo.org/686940
Package-Manager: Portage-2.3.67, Repoman-2.3.13
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 sys-apps/portage/portage-2.3.62-r2.ebuild |  2 +-
 sys-apps/portage/portage-2.3.66-r1.ebuild |  2 +-
 sys-apps/portage/portage-2.3.67.ebuild    |  2 +-
 sys-apps/portage/portage-9999.ebuild      | 24 ++++++------------------
 4 files changed, 9 insertions(+), 21 deletions(-)

diff --git a/sys-apps/portage/portage-2.3.62-r2.ebuild 
b/sys-apps/portage/portage-2.3.62-r2.ebuild
index 17b1506e277..6774b1d5563 100644
--- a/sys-apps/portage/portage-2.3.62-r2.ebuild
+++ b/sys-apps/portage/portage-2.3.62-r2.ebuild
@@ -150,7 +150,7 @@ python_prepare_all() {
                                sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" 
"$REPLY" || \
                                        die "sed failed"
                        fi
-               done < <(find . -type f -print0)
+               done < <(find . -type f ! -name etc-update -print0)
 
                einfo "Adjusting make.globals, repos.conf and etc-update ..."
                hprefixify cnf/{make.globals,repos.conf} bin/etc-update

diff --git a/sys-apps/portage/portage-2.3.66-r1.ebuild 
b/sys-apps/portage/portage-2.3.66-r1.ebuild
index de238f425d5..1a381bdcdbc 100644
--- a/sys-apps/portage/portage-2.3.66-r1.ebuild
+++ b/sys-apps/portage/portage-2.3.66-r1.ebuild
@@ -150,7 +150,7 @@ python_prepare_all() {
                                sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" 
"$REPLY" || \
                                        die "sed failed"
                        fi
-               done < <(find . -type f -print0)
+               done < <(find . -type f ! -name etc-update -print0)
 
                einfo "Adjusting make.globals, repos.conf and etc-update ..."
                hprefixify cnf/{make.globals,repos.conf} bin/etc-update

diff --git a/sys-apps/portage/portage-2.3.67.ebuild 
b/sys-apps/portage/portage-2.3.67.ebuild
index f186a1acf12..841947dcfff 100644
--- a/sys-apps/portage/portage-2.3.67.ebuild
+++ b/sys-apps/portage/portage-2.3.67.ebuild
@@ -148,7 +148,7 @@ python_prepare_all() {
                                sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" 
"$REPLY" || \
                                        die "sed failed"
                        fi
-               done < <(find . -type f -print0)
+               done < <(find . -type f ! -name etc-update -print0)
 
                einfo "Adjusting make.globals, repos.conf and etc-update ..."
                hprefixify cnf/{make.globals,repos.conf} bin/etc-update

diff --git a/sys-apps/portage/portage-9999.ebuild 
b/sys-apps/portage/portage-9999.ebuild
index aa44b4b671c..e7c1e8c638f 100644
--- a/sys-apps/portage/portage-9999.ebuild
+++ b/sys-apps/portage/portage-9999.ebuild
@@ -10,7 +10,7 @@ PYTHON_COMPAT=(
 )
 PYTHON_REQ_USE='bzip2(+),threads(+)'
 
-inherit distutils-r1 git-r3 linux-info systemd
+inherit distutils-r1 git-r3 linux-info systemd prefix
 
 DESCRIPTION="Portage is the package management and distribution system for 
Gentoo"
 HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage";
@@ -136,14 +136,8 @@ python_prepare_all() {
 
        if [[ -n ${EPREFIX} ]] ; then
                einfo "Setting portage.const.EPREFIX ..."
-               sed -e 
"s|^\(SANDBOX_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/sandbox\"\)|\\1${EPREFIX}\\2|"
 \
-                       -e 
"s|^\(FAKEROOT_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/bin/fakeroot\"\)|\\1${EPREFIX}\\2|"
 \
-                       -e 
"s|^\(BASH_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/bash\"\)|\\1${EPREFIX}\\2|"
 \
-                       -e 
"s|^\(MOVE_BINARY[[:space:]]*=[[:space:]]*\"\)\(/bin/mv\"\)|\\1${EPREFIX}\\2|" \
-                       -e 
"s|^\(PRELINK_BINARY[[:space:]]*=[[:space:]]*\"\)\(/usr/sbin/prelink\"\)|\\1${EPREFIX}\\2|"
 \
-                       -e 
"s|^\(EPREFIX[[:space:]]*=[[:space:]]*\"\).*|\\1${EPREFIX}\"|" \
-                       -i lib/portage/const.py || \
-                       die "Failed to patch portage.const.EPREFIX"
+               hprefixify -e 
"s|^(EPREFIX[[:space:]]*=[[:space:]]*\").*|\1${EPREFIX}\"|" \
+                       -w "/_BINARY/" lib/portage/const.py
 
                einfo "Prefixing shebangs ..."
                while read -r -d $'\0' ; do
@@ -152,17 +146,11 @@ python_prepare_all() {
                                sed -i -e "1s:.*:#!${EPREFIX}${shebang:2}:" 
"$REPLY" || \
                                        die "sed failed"
                        fi
-               done < <(find . -type f -print0)
+               done < <(find . -type f ! -name etc-update -print0)
 
-               einfo "Adjusting make.globals ..."
-               sed -e "s|\(/usr/portage\)|${EPREFIX}\\1|" \
-                       -e 
"s|^\(PORTAGE_TMPDIR=\"\)\(/var/tmp\"\)|\\1${EPREFIX}\\2|" \
-                       -i cnf/make.globals || die "sed failed"
+               einfo "Adjusting make.globals, repos.conf and etc-update ..."
+               hprefixify cnf/{make.globals,repos.conf} bin/etc-update
 
-               einfo "Adjusting repos.conf ..."
-               sed -e "s|^\(location = \)\(/usr/portage\)|\\1${EPREFIX}\\2|" \
-                       -e "s|^\(sync-openpgp-key-path = 
\)\(.*\)|\\1${EPREFIX}\\2|" \
-                       -i cnf/repos.conf || die "sed failed"
                if prefix-guest ; then
                        sed -e "s|^\(main-repo = \).*|\\1gentoo_prefix|" \
                                -e "s|^\\[gentoo\\]|[gentoo_prefix]|" \

Reply via email to