summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/portage/files/portage-2.2.01.20239-ebuildshell.patch')
-rw-r--r--sys-apps/portage/files/portage-2.2.01.20239-ebuildshell.patch148
1 files changed, 0 insertions, 148 deletions
diff --git a/sys-apps/portage/files/portage-2.2.01.20239-ebuildshell.patch b/sys-apps/portage/files/portage-2.2.01.20239-ebuildshell.patch
deleted file mode 100644
index 9ccc1e5..0000000
--- a/sys-apps/portage/files/portage-2.2.01.20239-ebuildshell.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-# HG changeset patch
-# User Michael Haubenwallner <haubi@gentoo.org>
-# Date 1330634734 -3600
-# Node ID 6780ee2ddb337bbd8b4b2681615de7e78e6fb8c1
-# Parent 04da3d4d44af4fd2096316f8e1bbb7a998011040
-https://bugs.gentoo.org/155161
-
-FEATURES=ebuildshell emerge xxxxx
-
-results in an interactive shell for each function portage calls from the
-ebuild, where all functionality is available as in the ebuild
-(src_unpack, epatch, etc.). This allows for convenient debugging of
-ebuild issues.
-
-diff -r 04da3d4d44af -r 6780ee2ddb33 bin/ebuild.sh
---- a/bin/ebuild.sh Thu Mar 01 21:31:12 2012 +0100
-+++ b/bin/ebuild.sh Thu Mar 01 21:45:34 2012 +0100
-@@ -82,7 +82,7 @@
- qa_call() {
- local shopts=$(shopt) OLDIFS="$IFS"
- local retval
-- "$@"
-+ call-ebuildshell "$@"
- retval=$?
- set +e
- [[ $shopts != $(shopt) ]] &&
-@@ -453,6 +453,56 @@
- unset BIN_PATH BIN BODY FUNC_SRC
- fi
-
-+call-ebuildshell() {
-+ if ! has 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"
-+ fi
-+ echo -n ")"
-+ echo -n " | filter_readonly_variables --filter-metadata"
-+ echo " > ${T}/ebuildshell-environment-outcome' 0"
-+ ) > ${T}/ebuildshell-environment
-+ chown ${PORTAGE_USER:-portage}:${PORTAGE_GROUP:-portage} "${T}/ebuildshell-environment" &>/dev/null
-+ chmod g+w "${T}/ebuildshell-environment" &>/dev/null
-+ )
-+
-+ rm -f "${T}/ebuildshell-environment-outcome" >&/dev/null
-+
-+ unset BASH_ENV
-+ env -i ${BASH} --rcfile "${T}/ebuildshell-environment" -i || die
-+
-+ chown ${PORTAGE_USER:-portage}:${PORTAGE_GROUP:-portage} "${T}/ebuildshell-environment-outcome" &>/dev/null
-+ chmod g+w "${T}/ebuildshell-environment-outcome" &>/dev/null
-+ source "${T}/ebuildshell-environment-outcome" &>/dev/null
-+}
-+
- # Subshell/helper die support (must export for the die helper).
- export EBUILD_MASTER_PID=$BASHPID
- trap 'exit 1' SIGTERM
-diff -r 04da3d4d44af -r 6780ee2ddb33 bin/phase-functions.sh
---- a/bin/phase-functions.sh Thu Mar 01 21:31:12 2012 +0100
-+++ b/bin/phase-functions.sh Thu Mar 01 21:45:34 2012 +0100
-@@ -84,7 +84,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_.* COLUMNS COMP_WORDBREAKS HISTCMD
- HISTFILE HOSTNAME HOSTTYPE IFS LINENO MACHTYPE OLDPWD
- OPTERR OPTIND OSTYPE POSIXLY_CORRECT PS4 PWD RANDOM
-@@ -95,8 +95,10 @@
- # Untrusted due to possible application of package renames to binpkgs
- local binpkg_untrusted_vars="CATEGORY P PF PN PR PV PVR"
- 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 ! has --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.
-@@ -126,7 +128,11 @@
- LC_CTYPE LC_MESSAGES LC_MONETARY
- LC_NUMERIC LC_PAPER LC_TIME"
- fi
-- if ! has --allow-extra-vars $* ; then
-+ if has --filter-metadata $* ; then
-+ filtered_vars="$filtered_vars $PORTAGE_READONLY_METADATA"
-+ fi
-+ if ! has --allow-extra-vars $* &&
-+ ! has --filter-for-subshell $* ; then
- if [ "${EMERGE_FROM}" = binary ] ; then
- # preserve additional variables from build time,
- # while excluding untrusted variables
-diff -r 04da3d4d44af -r 6780ee2ddb33 man/make.conf.5
---- a/man/make.conf.5 Thu Mar 01 21:31:12 2012 +0100
-+++ b/man/make.conf.5 Thu Mar 01 21:45:34 2012 +0100
-@@ -297,6 +297,12 @@
- Use locks to ensure that unsandboxed ebuild phases never execute
- concurrently. Also see \fIparallel\-install\fR.
- .TP
-+.B ebuildshell
-+Drop into an interactive shell for each phase function, meant for
-+debugging. Because the shell would normally be used to execute the
-+phase function, commands like src_unpack or epatch are available in the
-+interactive shell. Use `exit 1` to terminate the merge.
-+.TP
- .B fakeroot
- Enable fakeroot for the install and package phases when a non-root user runs
- the \fBebuild\fR(1) command.
-diff -r 04da3d4d44af -r 6780ee2ddb33 pym/_emerge/AbstractEbuildProcess.py
---- a/pym/_emerge/AbstractEbuildProcess.py Thu Mar 01 21:31:12 2012 +0100
-+++ b/pym/_emerge/AbstractEbuildProcess.py Thu Mar 01 21:45:34 2012 +0100
-@@ -97,6 +97,7 @@
- self.fd_pipes = {}
- null_fd = None
- if 0 not in self.fd_pipes and \
-+ "ebuildshell" not in self.settings.features and \
- self.phase not in self._phases_interactive_whitelist and \
- "interactive" not in self.settings.get("PROPERTIES", "").split():
- null_fd = os.open('/dev/null', os.O_RDONLY)