From 7e5c3585b8da01782e6d55af2b7fb9b722a76bd6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 15 Apr 2008 17:16:28 +0200 Subject: Improving .deb caching by using hardlinks (if possible). --- functions/cache.sh | 18 ++++++++++++++++-- 1 file 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 -- cgit v1.0