summaryrefslogtreecommitdiffstats
path: root/bin/ebuild.sh
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-11-28 00:04:49 +0000
committerZac Medico <zmedico@gentoo.org>2007-11-28 00:04:49 +0000
commit5ef98e234427ae40a6f9c7608bb9c841d7fe2404 (patch)
tree7df1ccb1e91a69f93f8cc1965bbd4d580d69e056 /bin/ebuild.sh
parent47cf97ad6badb4cc0912447d89a7ef091926a5fe (diff)
downloadportage-5ef98e234427ae40a6f9c7608bb9c841d7fe2404.tar.gz
portage-5ef98e234427ae40a6f9c7608bb9c841d7fe2404.tar.bz2
portage-5ef98e234427ae40a6f9c7608bb9c841d7fe2404.zip
In the preprocess_ebuild_env() subshell, check for errors and
return early when necessary. (trunk r8718) svn path=/main/branches/2.1.2/; revision=8719
Diffstat (limited to 'bin/ebuild.sh')
-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"