diff options
author | Daniel Baumann <daniel@debian.org> | 2008-04-15 17:16:28 +0200 |
---|---|---|
committer | Daniel Baumann <daniel@debian.org> | 2011-03-09 19:03:32 +0100 |
commit | 7e5c3585b8da01782e6d55af2b7fb9b722a76bd6 (patch) | |
tree | 165008fb0519eb887017d523ae9d742394a62808 /functions | |
parent | ef1b16304060cd726cbbfe02fb634cb5ed1fdc95 (diff) | |
download | live-build-7e5c3585b8da01782e6d55af2b7fb9b722a76bd6.zip live-build-7e5c3585b8da01782e6d55af2b7fb9b722a76bd6.tar.gz |
Improving .deb caching by using hardlinks (if possible).
Diffstat (limited to 'functions')
-rwxr-xr-x | functions/cache.sh | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/functions/cache.sh b/functions/cache.sh index 06ec5a2..1b04368 100755 --- a/functions/cache.sh +++ b/functions/cache.sh @@ -18,7 +18,14 @@ Restore_cache () if [ -d "${DIRECTORY}" ] then # Restore old cache - cp "${DIRECTORY}"/*.deb chroot/var/cache/apt/archives + if [ "$(stat --printf %d ${DIRECTORY})" = "$(stat --printf %d chroot/var/cache/apt/archives)" ] + then + # with hardlinks + cp -fl "${DIRECTORY}"/*.deb chroot/var/cache/apt/archives + else + # without hardlinks + cp "${DIRECTORY}"/*.deb chroot/var/cache/apt/archives + fi fi fi } @@ -38,7 +45,14 @@ Save_cache () mkdir -p "${DIRECTORY}" # Saving new cache - mv -f chroot/var/cache/apt/archives/*.deb "${DIRECTORY}" + if [ "$(stat --printf %d ${DIRECTORY})" = "$(stat --printf %d chroot/var/cache/apt/archives)" ] + then + # with hardlinks + cp --force -l chroot/var/cache/apt/archives/*.deb "${DIRECTORY}" + else + # without hardlinks + mv -f chroot/var/cache/apt/archives/*.deb "${DIRECTORY}" + fi fi else # Purging current cache |