summaryrefslogtreecommitdiffstats
path: root/bin/chroot-installation.sh
diff options
context:
space:
mode:
Diffstat (limited to 'bin/chroot-installation.sh')
-rwxr-xr-xbin/chroot-installation.sh18
1 files changed, 11 insertions, 7 deletions
diff --git a/bin/chroot-installation.sh b/bin/chroot-installation.sh
index ba0d9e28..8358005f 100755
--- a/bin/chroot-installation.sh
+++ b/bin/chroot-installation.sh
@@ -50,13 +50,17 @@ cleanup_all() {
execute_ctmpfile() {
chmod +x $CTMPFILE
- sudo chroot $CHROOT_TARGET $TMPFILE 2>&1 | tee $TMPLOG
- RESULT=$(egrep "Failed to fetch.*Unable to connect to" $TMPLOG || true)
- if [ ! -z "$RESULT" ] ; then
- echo
- echo "Trying to workaround temporarily failure fetching packages, trying again..."
- echo
- sudo chroot $CHROOT_TARGET $TMPFILE
+ set -o pipefail # see eg http://petereisentraut.blogspot.com/2010/11/pipefail.html
+ if ! $(sudo chroot $CHROOT_TARGET $TMPFILE 2>&1 | tee $TMPLOG) ; then
+ RESULT=$(egrep "Failed to fetch.*Unable to connect to" $TMPLOG || true)
+ if [ ! -z "$RESULT" ] ; then
+ echo
+ echo "Trying to workaround temporarily failure fetching packages, trying again..."
+ echo
+ sudo chroot $CHROOT_TARGET $TMPFILE
+ else
+ exit 1
+ fi
fi
rm $CTMPFILE
echo "Debug: This should only be printed on success."