summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gilbert <floppym@gentoo.org>2023-10-26 11:50:22 -0400
committerMike Gilbert <floppym@gentoo.org>2023-10-26 11:50:22 -0400
commitef59ea9a89cfb8bcec388c7ea1a962a4ca0940b6 (patch)
tree45bb24712f596ef689544d97d01fd52a260ee08a /sys-apps
parentsys-apps/syd: add 3.1.10, drop 3.1.8 (diff)
downloadgentoo-ef59ea9a89cfb8bcec388c7ea1a962a4ca0940b6.tar.gz
gentoo-ef59ea9a89cfb8bcec388c7ea1a962a4ca0940b6.tar.bz2
gentoo-ef59ea9a89cfb8bcec388c7ea1a962a4ca0940b6.zip
sys-apps/portage: backport portageq fix
Closes: https://bugs.gentoo.org/916287 Closes: https://bugs.gentoo.org/916296 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/portage/files/portage-3.0.54-Convert-portageq-helper-to-a-function.patch65
-rw-r--r--sys-apps/portage/portage-3.0.54-r1.ebuild (renamed from sys-apps/portage/portage-3.0.54.ebuild)3
2 files changed, 68 insertions, 0 deletions
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 <floppym@gentoo.org>
+Date: Thu, 26 Oct 2023 10:42:00 -0400
+Subject: [PATCH] Convert portageq helper to a function
+To: gentoo-portage-dev@lists.gentoo.org
+
+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 <floppym@gentoo.org>
+---
+ 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
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