diff options
Diffstat (limited to 'functions')
-rwxr-xr-x | functions/cache.sh | 4 | ||||
-rwxr-xr-x | functions/exit.sh | 13 |
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} } |