summaryrefslogtreecommitdiff
path: root/functions/cache.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2007-09-23 10:04:48 +0200
committerDaniel Baumann <daniel@debian.org>2011-03-09 18:18:28 +0100
commit799d4bfb31c279b72088c8ee8a16c2710ab8a309 (patch)
tree4bbc1758ceaa46c5e81fe9d66ccdaacfec047ef8 /functions/cache.sh
parent677415f6d7efc1e5b888570d70af311d2900c69c (diff)
downloadlive-build-799d4bfb31c279b72088c8ee8a16c2710ab8a309.zip
live-build-799d4bfb31c279b72088c8ee8a16c2710ab8a309.tar.gz
Adding live-helper 1.0~a3-1.
Diffstat (limited to 'functions/cache.sh')
-rwxr-xr-xfunctions/cache.sh50
1 files changed, 50 insertions, 0 deletions
diff --git a/functions/cache.sh b/functions/cache.sh
new file mode 100755
index 0000000..bffe1a3
--- /dev/null
+++ b/functions/cache.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+# cache.sh - manage package cache
+# Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org>
+#
+# live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
+# This is free software, and you are welcome to redistribute it
+# under certain conditions; see COPYING for details.
+
+set -e
+
+Restore_cache ()
+{
+ CACHEDIRECTORY="${1}"
+
+ if [ "${LH_CACHE}" = "enabled" ]
+ then
+ if [ -d "${CACHEDIRECTORY}" ]
+ then
+ # Restore old cache
+ cp "${CACHEDIRECTORY}"/*.deb chroot/var/cache/apt/archives
+ fi
+ fi
+}
+
+Save_cache ()
+{
+ CACHEDIRECTORY="${1}"
+
+ if [ "${LH_CACHE}" = "enabled" ]
+ then
+ # Cleaning current cache
+ Chroot "apt-get autoclean"
+
+ if ls chroot/var/cache/apt/archives/*.deb &> /dev/null
+ then
+ # Creating cache directory
+ if [ ! -d "${CACHEDIRECTORY}" ]
+ then
+ mkdir -p "${CACHEDIRECTORY}"
+ fi
+
+ # Saving new cache
+ mv -f chroot/var/cache/apt/archives/*.deb "${CACHEDIRECTORY}"
+ fi
+ else
+ # Purging current cache
+ rm -f chroot/var/cache/apt/archives/*.deb
+ fi
+}