diff options
author | Daniel Baumann <daniel@debian.org> | 2011-07-19 11:13:17 +0200 |
---|---|---|
committer | Daniel Baumann <daniel@debian.org> | 2011-07-19 11:13:17 +0200 |
commit | eb2a305a5f692a1661001bae1c8e6d202f4280e9 (patch) | |
tree | 866057eafab09594f33b849b4c754f55bbe2854b /functions | |
parent | 691b06f7a6f08e82967b188cc31d1dcb6737bce5 (diff) | |
download | vyos-live-build-eb2a305a5f692a1661001bae1c8e6d202f4280e9.tar.gz vyos-live-build-eb2a305a5f692a1661001bae1c8e6d202f4280e9.zip |
Saving packages in cache even when failing or interrupting a build (Closes: #586929).
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} } |