summaryrefslogtreecommitdiff
path: root/functions
diff options
context:
space:
mode:
Diffstat (limited to 'functions')
-rwxr-xr-xfunctions/cache.sh4
-rwxr-xr-xfunctions/exit.sh13
2 files changed, 16 insertions, 1 deletions
diff --git a/functions/cache.sh b/functions/cache.sh
index c2978318e..2b75266d6 100755
--- a/functions/cache.sh
+++ b/functions/cache.sh
@@ -36,7 +36,9 @@ Save_cache ()
if [ "${LB_CACHE}" = "true" ] && [ "${LB_CACHE_PACKAGES}" = "true" ]
then
# Cleaning current cache
- Chroot chroot "apt-get autoclean"
+ # In case of interrupted or incomplete builds, this may return an error,
+ # but we still do want to save the cache.
+ Chroot chroot "apt-get autoclean" || true
if ls chroot/var/cache/apt/archives/*.deb > /dev/null 2>&1
then
diff --git a/functions/exit.sh b/functions/exit.sh
index b6f2e2bfe..ad17c1e50 100755
--- a/functions/exit.sh
+++ b/functions/exit.sh
@@ -35,6 +35,19 @@ Exit ()
done
fi
+ Echo_message "Saving chaches..."
+
+ # We can't really know at which part we're failing,
+ # but let's assume that if there's any binary stage file arround
+ # we are in binary stage.
+
+ if ls .stage/binary* > /dev/null 2>&1
+ then
+ Save_cache cache/packages_binary
+ else
+ Save_cache cache/packages_chroot
+ fi
+
return ${VALUE}
}