[Debian-live-changes] r1996 - dists/trunk/live-helper/helpers

daniel at alioth.debian.org daniel at alioth.debian.org
Sun Jun 10 13:53:52 UTC 2007


Author: daniel
Date: 2007-06-10 13:53:52 +0000 (Sun, 10 Jun 2007)
New Revision: 1996

Added:
   dists/trunk/live-helper/helpers/lh_chroot_cache
Log:


Added: dists/trunk/live-helper/helpers/lh_chroot_cache
===================================================================
--- dists/trunk/live-helper/helpers/lh_chroot_cache	                        (rev 0)
+++ dists/trunk/live-helper/helpers/lh_chroot_cache	2007-06-10 13:53:52 UTC (rev 1996)
@@ -0,0 +1,92 @@
+#!/bin/sh
+
+# lh_chroot_cache(1) - cach chroot stage
+# Copyright (C) 2006-2007 Daniel Baumann <daniel at 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
+
+# Including common functions
+LH_BASE="${LH_BASE:-/usr/share/live-helper}"
+
+for FUNCTION in "${LH_BASE}"/functions/*.sh
+do
+	. "${FUNCTION}"
+done
+
+# Setting static variables
+DESCRIPTION="cache chroot stage"
+HELP=""
+USAGE="${PROGRAM} [--force]"
+
+Arguments "${@}"
+
+# Reading configuration files
+Read_conffile config/common
+Read_conffile config/bootstrap
+Read_conffile config/chroot
+Read_conffile config/binary
+Read_conffile config/source
+Set_defaults
+
+Echo_message "Begin caching chroot stage..."
+
+for STAGE in ${LH_CACHE_STAGES}
+do
+	case "${1}" in
+		restore)
+			# Checking stage file
+			Check_stagefile .stage/chroot_cache.restore
+
+			# Checking lock file
+			Check_lockfile .lock
+
+			# Creating lock file
+			Create_lockfile .lock
+
+			if [ "${STAGE}" = "chroot" ] && [ -d cache/stages_chroot ]
+			then
+				# Restoring old cache
+				${LH_ROOT_COMMAND} cp -a cache/stages_chroot/* chroot
+
+				if [ -n "${LH_ROOT_COMMAND}" ]
+				then
+					${LH_ROOT_COMMAND} chown -R `whoami`:`whoami` chroot
+				fi
+
+				# Creating stage file
+				Create_stagefile .stage/chroot_cache.restore
+
+				exit 0
+			fi
+			;;
+
+		save)
+			# Checking stage file
+			Check_stagefile .stage/chroot_cache.save
+
+			# Checking lock file
+			Check_lockfile .lock
+
+			# Creating lock file
+			Create_lockfile .lock
+
+			if [ "${STAGE}" = "chroot" ]
+			then
+				rm -rf cache/stages_chroot
+
+				mkdir -p cache
+
+				${LH_ROOT_COMMAND} cp -a chroot cache/stages_chroot
+
+				if [ -n "${LH_ROOT_COMMAND}" ]
+				then
+					${LH_ROOT_COMMAND} chown -R `whoami`:`whoami` cache/stages_chroot
+				fi
+			fi
+			;;
+	esac
+done


Property changes on: dists/trunk/live-helper/helpers/lh_chroot_cache
___________________________________________________________________
Name: svn:executable
   + *




More information about the Debian-live-changes mailing list