summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-11-28 00:02:21 +0000
committerZac Medico <zmedico@gentoo.org>2007-11-28 00:02:21 +0000
commita467ad7d433e8b2309a1cecc312968479efcc3ec (patch)
tree97c31dca8cc434cd0c5057c06f3f985a6c216f72
parentb40d6f634c81410ea9043649026ebad796c26d22 (diff)
downloadportage-a467ad7d433e8b2309a1cecc312968479efcc3ec.tar.gz
portage-a467ad7d433e8b2309a1cecc312968479efcc3ec.tar.bz2
portage-a467ad7d433e8b2309a1cecc312968479efcc3ec.zip
In the preprocess_ebuild_env() subshell, check for errors and
return early when necessary. svn path=/main/trunk/; revision=8718
-rwxr-xr-xbin/ebuild.sh8
1 files changed, 4 insertions, 4 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 2648bdb42..e23434670 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -1417,18 +1417,18 @@ preprocess_ebuild_env() {
# called. Any variables that need to be relied upon should already be
# filtered out above.
(
- source "${T}/environment" && \
- touch "${T}/environment.success"
+ source "${T}/environment" || exit $?
# It's remotely possible that save_ebuild_env() has been overridden
# by the above source command. To protect ourselves, we override it
# here with our own version. ${PORTAGE_BIN_PATH} is safe to use here
# because it's already filtered above.
- source "${PORTAGE_BIN_PATH}/isolated-functions.sh"
+ source "${PORTAGE_BIN_PATH}/isolated-functions.sh" || exit $?
# Rely on save_ebuild_env() to filter out any remaining variables
# and functions that could interfere with the current environment.
- save_ebuild_env
+ save_ebuild_env || exit $?
+ touch "${T}/environment.success" || exit $?
) | filter_readonly_variables > "${T}/environment.filtered"
if [ -e "${T}/environment.success" ] ; then
rm "${T}/environment.success"