commit:     ef59ea9a89cfb8bcec388c7ea1a962a4ca0940b6
Author:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 26 15:50:22 2023 +0000
Commit:     Mike Gilbert <floppym <AT> gentoo <DOT> org>
CommitDate: Thu Oct 26 15:50:22 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef59ea9a

sys-apps/portage: backport portageq fix

Closes: https://bugs.gentoo.org/916287
Closes: https://bugs.gentoo.org/916296
Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>

 ....54-Convert-portageq-helper-to-a-function.patch | 65 ++++++++++++++++++++++
 ...tage-3.0.54.ebuild => portage-3.0.54-r1.ebuild} |  3 +
 2 files changed, 68 insertions(+)

diff --git 
a/sys-apps/portage/files/portage-3.0.54-Convert-portageq-helper-to-a-function.patch
 
b/sys-apps/portage/files/portage-3.0.54-Convert-portageq-helper-to-a-function.patch
new file mode 100644
index 000000000000..970f49d6a001
--- /dev/null
+++ 
b/sys-apps/portage/files/portage-3.0.54-Convert-portageq-helper-to-a-function.patch
@@ -0,0 +1,65 @@
+From 27952b1d753ef4ea9bbd2307f8a9a315ad94557d Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <[email protected]>
+Date: Thu, 26 Oct 2023 10:42:00 -0400
+Subject: [PATCH] Convert portageq helper to a function
+To: [email protected]
+
+This keeps it out of PATH in ebuilds to avoid breaking external
+utilities that call portageq.
+
+Bug: https://bugs.gentoo.org/906129
+Bug: https://bugs.gentoo.org/916287
+Bug: https://bugs.gentoo.org/916296
+Signed-off-by: Mike Gilbert <[email protected]>
+---
+ NEWS                        | 4 +++-
+ bin/ebuild-helpers/portageq | 8 --------
+ bin/phase-helpers.sh        | 4 ++++
+ bin/portageq-wrapper        | 1 -
+ 4 files changed, 7 insertions(+), 10 deletions(-)
+ delete mode 100755 bin/ebuild-helpers/portageq
+
+diff --git a/bin/ebuild-helpers/portageq b/bin/ebuild-helpers/portageq
+deleted file mode 100755
+index bd9d6b044..000000000
+--- a/bin/ebuild-helpers/portageq
++++ /dev/null
+@@ -1,8 +0,0 @@
+-#!/usr/bin/env bash
+-# Copyright 2009-2023 Gentoo Authors
+-# Distributed under the terms of the GNU General Public License v2
+-
+-source "${PORTAGE_BIN_PATH}"/isolated-functions.sh || exit 1
+-
+-die "'${0##*/}' is not allowed in ebuild scope"
+-exit 1
+diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
+index 3f12b3707..6c2ecf0bc 100644
+--- a/bin/phase-helpers.sh
++++ b/bin/phase-helpers.sh
+@@ -1006,6 +1006,10 @@ best_version() {
+       ___best_version_and_has_version_common "$@"
+ }
+ 
++portageq() {
++    die "portageq is not allowed in ebuild scope"
++}
++
+ if ___eapi_has_get_libdir; then
+       get_libdir() {
+               local libdir_var="LIBDIR_${ABI}"
+diff --git a/bin/portageq-wrapper b/bin/portageq-wrapper
+index afa2defe1..047d1d826 100755
+--- a/bin/portageq-wrapper
++++ b/bin/portageq-wrapper
+@@ -9,7 +9,6 @@ IFS=":"
+ set -f # in case ${PATH} contains any shell glob characters
+ 
+ for path in "${PORTAGE_BIN_PATH}" ${PATH}; do
+-      [[ ${path} == */portage/*/ebuild-helpers* ]] && continue
+       [[ -x ${path}/portageq ]] || continue
+       PYTHONPATH=${PORTAGE_PYTHONPATH:-${PORTAGE_PYM_PATH}} \
+               exec "${PORTAGE_PYTHON:-/usr/bin/python}" "${path}/portageq" 
"$@"
+-- 
+2.42.0
+

diff --git a/sys-apps/portage/portage-3.0.54.ebuild 
b/sys-apps/portage/portage-3.0.54-r1.ebuild
similarity index 98%
rename from sys-apps/portage/portage-3.0.54.ebuild
rename to sys-apps/portage/portage-3.0.54-r1.ebuild
index 5bf30b190b87..e117706672e2 100644
--- a/sys-apps/portage/portage-3.0.54.ebuild
+++ b/sys-apps/portage/portage-3.0.54-r1.ebuild
@@ -111,6 +111,9 @@ pkg_pretend() {
 }
 
 src_prepare() {
+       local PATCHES=(
+               
"${FILESDIR}/portage-3.0.54-Convert-portageq-helper-to-a-function.patch"
+       )
        default
 
        if use prefix-guest; then

Reply via email to