summaryrefslogtreecommitdiffstats
path: root/bin/ebuild.sh
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-11-26 11:58:31 +0000
committerZac Medico <zmedico@gentoo.org>2007-11-26 11:58:31 +0000
commit639741c0eb011ba39231e28bd6e76e5fc8ccdc0c (patch)
tree4825df5e37bf1045e6fe87574de792b182bbae80 /bin/ebuild.sh
parente71261fb424af2f70073384968d84dc1b623eb5a (diff)
downloadportage-639741c0eb011ba39231e28bd6e76e5fc8ccdc0c.tar.gz
portage-639741c0eb011ba39231e28bd6e76e5fc8ccdc0c.tar.bz2
portage-639741c0eb011ba39231e28bd6e76e5fc8ccdc0c.zip
Bug #200313 - Detect and report when an ebuild phase
exits unexpectedly. This is type of behavior is known to be triggered by things such as failed variable assignments (bug #190128) or bad substitution errors (bug #200313). We use a EBUILD_EXIT_STATUS_FILE environment variable to specify a file that the shell code is supposed to create when it exits in a normal manner. If the file does not get created like it's supposed to be then we can conclude that the shell has exited in some unexpected way. (trunk r8682) svn path=/main/branches/2.1.2/; revision=8684
Diffstat (limited to 'bin/ebuild.sh')
-rwxr-xr-xbin/ebuild.sh3
1 files changed, 2 insertions, 1 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 46651e76a..a6969c9d8 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -1726,7 +1726,7 @@ if [ -n "${EBUILD_SH_ARGS}" ] ; then
9>&-
fi
set +f
- #make sure it is writable by our group:
+ touch "${EBUILD_EXIT_STATUS_FILE}" &>/dev/null
exit 0
;;
*)
@@ -1737,6 +1737,7 @@ if [ -n "${EBUILD_SH_ARGS}" ] ; then
exit 1
;;
esac
+ touch "${EBUILD_EXIT_STATUS_FILE}" &>/dev/null
fi
# Save the env only for relevant phases.