summaryrefslogtreecommitdiff
path: root/functions/cache.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2009-11-22 14:36:42 +0100
committerDaniel Baumann <daniel@debian.org>2009-11-22 14:38:00 +0100
commita62f12110b19a52a58d7eae871012202cfa16055 (patch)
tree0bd188079c808ee8956fb5304c46ce8266b49f75 /functions/cache.sh
downloadvyos-live-build-a62f12110b19a52a58d7eae871012202cfa16055.tar.gz
vyos-live-build-a62f12110b19a52a58d7eae871012202cfa16055.zip
Renaming categories to archive areas (Closes: #519690).
Diffstat (limited to 'functions/cache.sh')
-rwxr-xr-xfunctions/cache.sh60
1 files changed, 60 insertions, 0 deletions
diff --git a/functions/cache.sh b/functions/cache.sh
new file mode 100755
index 000000000..ca5e5ed0e
--- /dev/null
+++ b/functions/cache.sh
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+# cache.sh - manage package cache
+# Copyright (C) 2006-2009 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.
+
+Restore_cache ()
+{
+ DIRECTORY="${1}"
+
+ if [ "${LH_CACHE}" = "enabled" ] && [ "${LH_CACHE_PACKAGES}" = "enabled" ]
+ then
+ if [ -d "${DIRECTORY}" ]
+ then
+ # Restore old cache
+ 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
+}
+
+Save_cache ()
+{
+ DIRECTORY="${1}"
+
+ if [ "${LH_CACHE}" = "enabled" ] && [ "${LH_CACHE_PACKAGES}" = "enabled" ]
+ then
+ # Cleaning current cache
+ Chroot chroot "apt-get autoclean"
+
+ if ls chroot/var/cache/apt/archives/*.deb > /dev/null 2>&1
+ then
+ # Creating cache directory
+ mkdir -p "${DIRECTORY}"
+
+ # Saving new cache
+ for PACKAGE in chroot/var/cache/apt/archives/*.deb
+ do
+ if [ -e "${DIRECTORY}"/"$(basename ${PACKAGE})" ]
+ then
+ rm -f "${PACKAGE}"
+ else
+ mv "${PACKAGE}" "${DIRECTORY}"
+ fi
+ done
+ fi
+ else
+ # Purging current cache
+ rm -f chroot/var/cache/apt/archives/*.deb
+ fi
+}