summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-04-01 17:04:11 +0000
committerZac Medico <zmedico@gentoo.org>2009-04-01 17:04:11 +0000
commita70afbccafa38a013da34033fdca7d8561e2741a (patch)
treecf4fe58430157d69241163241409c6459431b004
parent0c3a588a31e43ee42a79cea210c02ef25ddc8099 (diff)
downloadportage-a70afbccafa38a013da34033fdca7d8561e2741a.tar.gz
portage-a70afbccafa38a013da34033fdca7d8561e2741a.tar.bz2
portage-a70afbccafa38a013da34033fdca7d8561e2741a.zip
Bug #264494 - In case the ebuild has enabled set -e during an ebuild phase,
proactively call set +e inside qa_source(), qa_call(), and die(). svn path=/main/trunk/; revision=13273
-rwxr-xr-xbin/ebuild.sh2
-rwxr-xr-xbin/isolated-functions.sh1
2 files changed, 3 insertions, 0 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 04cfe6369..d1e2e8fd0 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -35,6 +35,7 @@ qa_source() {
local retval
source "$@"
retval=$?
+ set +e
[[ $shopts != $(shopt) ]] &&
eqawarn "QA Notice: Global shell options changed and were not restored while sourcing '$*'"
[[ "$IFS" != "$OLDIFS" ]] &&
@@ -47,6 +48,7 @@ qa_call() {
local retval
"$@"
retval=$?
+ set +e
[[ $shopts != $(shopt) ]] &&
eqawarn "QA Notice: Global shell options changed and were not restored while calling '$*'"
[[ "$IFS" != "$OLDIFS" ]] &&
diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh
index 8eab6e259..9abfc308a 100755
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@ -54,6 +54,7 @@ dump_trace() {
}
die() {
+ set +e
if [ -n "${QA_INTERCEPTORS}" ] ; then
# die was called from inside inherit. We need to clean up
# QA_INTERCEPTORS since sed is called below.