[SCM] live-helper branch, upstream, updated. upstream/2.0_a8-1-g496f067

Daniel Baumann daniel at debian.org
Sun Mar 14 22:44:23 UTC 2010


The following commit has been merged in the upstream branch:
commit 496f067a21ef91249f9aac90be445f64d963f005
Author: Daniel Baumann <daniel at debian.org>
Date:   Sun Mar 14 23:39:28 2010 +0100

    Adding upstream version 2.0~a9.

diff --git a/Makefile b/Makefile
index aa61e1c..ba22671 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,7 @@ all: test install
 
 test:
 	# Checking for syntax errors
-	for SCRIPT in live-helper.sh functions/* examples/*/*.sh helpers/* hooks/*; \
+	for SCRIPT in live-helper.sh cgi/* functions/* examples/*/*.sh helpers/* hooks/*; \
 	do \
 		sh -n $$SCRIPT; \
 	done
@@ -27,7 +27,7 @@ build:
 install:
 	# Installing shared data
 	mkdir -p $(DESTDIR)/usr/share/live-helper
-	cp -r data examples live-helper.sh functions helpers hooks includes lists templates $(DESTDIR)/usr/share/live-helper
+	cp -r cgi data examples live-helper.sh functions helpers hooks includes lists templates $(DESTDIR)/usr/share/live-helper
 
 	# Installing executables
 	mkdir -p $(DESTDIR)/usr/bin
diff --git a/cgi/Makefile b/cgi/Makefile
new file mode 100644
index 0000000..2bd7477
--- /dev/null
+++ b/cgi/Makefile
@@ -0,0 +1,11 @@
+# Makefile
+
+install:
+	install -D -m 0755 cgi $(DESTDIR)/usr/lib/cgi-bin/live-helper
+	install -D -m 0755 cron $(DESTDIR)/etc/cron.d/live-helper.cgi
+	install -D -m 0644 default $(DESTDIR)/etc/default/live-helper.cgi
+	install -D -m 0644 logrotate $(DESTDIR)/etc/logrotate.d/live-helper.cgi
+
+	install -d -m 0755 $(DESTDIR)/var/log
+	touch $(DESTDIR)/var/log/live
+	chown www-data:www-data $(DESTDIR)/var/log/live
diff --git a/cgi/cgi b/cgi/cgi
new file mode 100755
index 0000000..19eea7d
--- /dev/null
+++ b/cgi/cgi
@@ -0,0 +1,224 @@
+#!/bin/sh
+
+# cgi - simple webfrontend for live-helper
+# Copyright (C) 2006-2010 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.
+
+# Reading defaults
+if [ -r /etc/default/live-helper.cgi ]
+then
+	. /etc/default/live-helper.cgi
+else
+	echo "E: /etc/default/live-helper.cgi missing"
+	exit 1
+fi
+
+# Turn on debug if enabled
+if [ "${_DEBUG}" = "enabled" ]
+then
+	set -x
+fi
+
+# Sending http header
+echo "Content-type: text/html"
+echo
+
+# Sending html header
+cat "${_TEMPLATES}"/header.html
+
+# CGI
+if [ -z "${QUERY_STRING}" ]
+then
+	# Sending html form
+	sed -e "s#LH_MIRROR_BOOTSTRAP#${LH_MIRROR_BOOTSTRAP}#" \
+	    -e "s#LH_MIRROR_BINARY_SECURITY#${LH_MIRROR_BINARY_SECURITY}#" \
+	    -e "s#LH_MIRROR_BINARY#${LH_MIRROR_BINARY}#" \
+	    -e "s/VERSION/${VERSION}/" \
+	    -e "s/DATE/`date +%Y%m%d-%H:%M`/" \
+	"${_TEMPLATES}"/form.html
+else
+	# Converting spaces:	sed 's/+/ /g'
+	# Converting '@':	sed 's/%40/@/g'
+	# Converting ':':	sed 's/%3A/:/g'
+	# Converting ';':	sed 's/%3B/\;/g'
+	# Converting '/':	sed 's/%2F/\//g'
+	# Converting '~':	sed 's/%7E/\~/g'
+
+	# Translate parameters
+        QUERY_STRING=$(echo "${QUERY_STRING}" | sed -e 's/%2F/\//g' -e 's/+/ /g' -e 's/%3B/;/g' -e 's/%7E/~/g' -e 's/%3A/:/g' -e 's/%40/@/g')
+	# Debug the filtering string
+	# echo ${QUERY_STRING}
+
+	# Email
+	_EMAIL=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])email=[0-9,a-z,A-Z,.,_,-,@]+' | cut -f 2 -d '=' | head -n1)
+
+	# Standard options
+	LH_BINARY_IMAGES=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])binary_images=[a-z,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_DISTRIBUTION=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])distribution=[a-z]+' | cut -f 2 -d '=' | head -n1)
+	LH_PACKAGES_LISTS=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])packages_lists=[0-9,a-z,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_PACKAGES=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])packages=[0-9,a-z,A-Z,., ,_,-]+' | cut -f 2 -d '=' | head -n1)
+
+	# Advanced bootstrap options
+	LH_ARCHITECTURE=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])architecture=[0-9,a-z]+' | cut -f 2 -d '=' | head -n1)
+	LH_BOOTSTRAP_FLAVOUR=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])bootstrap_flavour=[a-z]+' | cut -f 2 -d '=' | head -n1)
+	LH_MIRROR_BOOTSTRAP=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])mirror_bootstrap=[0-9,a-z,A-Z,.,~,:,/,_,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_MIRROR_BINARY=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])mirror_binary=[0-9,a-z,A-Z,.,~,:,/,_,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_MIRROR_BINARY_SECURITY=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])mirror_binary_security=[0-9,a-z,A-Z,.,~,:,/,_,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_ARCHIVE_AREAS=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])archive_areas=[a-z]+' | cut -f 2 -d '=' | head -n1)
+
+	# Advanced chroot options
+	LH_CHROOT_FILESYSTEM=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])chroot_filesystem=[0-9,a-z]+' | cut -f 2 -d '=' | head -n1)
+	LH_LINUX_FLAVOURS=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])linux_flavours=[0-9,a-z,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_SECURITY=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])security=[a-z]+' | cut -f 2 -d '=' | head -n1)
+	LH_SYMLINKS=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])symlinks=[a-z]+' | cut -f 2 -d '=' | head -n1)
+	LH_SYSVINIT=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])sysvinit=[a-z]+' | cut -f 2 -d '=' | head -n1)
+
+	# Advanced binary options
+	LH_BINARY_INDICES=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])binary_indices=[a-z]+' | cut -f 2 -d '=' | head -n1)
+	LH_BOOTAPPEND=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])bootappend=[0-9,a-z,A-Z,., ,_,+,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_BOOTLOADER=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])bootloader=[a-z]+' | cut -f 2 -d '=' | head -n1)
+	LH_DEBIAN_INSTALLER=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])debian_installer=[a-z]+' | cut -f 2 -d '=' | head -n1)
+	LH_ENCRYPTION=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])encryption=[0-9,a-z,A-Z]+' | cut -f 2 -d '=' | head -n1)
+	LH_HOSTNAME=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])hostname=[0-9,a-z,A-Z,.,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_ISO_APPLICATION=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])iso_application=[0-9,a-z,A-Z,., ,~,;,:,/,_,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_ISO_PREPARER=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])iso_preparer=[0-9,a-z,A-Z,., ,~,;,:,/,_,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_ISO_PUBLISHER=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])iso_publisher=[0-9,a-z,A-Z,., ,~,;,:,/,_,/,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_ISO_VOLUME=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])iso_volume=[0-9,a-z,A-Z,., ,~,;,:,/,_,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_MEMTEST=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])memtest=[0-9,a-z,A-Z,.,_,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_NET_ROOT_PATH=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])net_path=[0-9,a-z,A-Z,.,_,/,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_NET_ROOT_SERVER=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])net_server=[0-9,a-z,A-Z,.,_,-]+' | cut -f 2 -d '=' | head -n1)
+	LH_USERNAME=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])username=[0-9,a-z,A-Z,.,-]+' | cut -f 2 -d '=' | head -n1)
+
+	# Advanced source options
+	LH_SOURCE=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])source=[a-z]+' | cut -f 2 -d '=' | head -n1)
+	LH_SOURCE_IMAGES=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])source_images=[a-z]+' | cut -f 2 -d '=' | head -n1)
+
+	# Unofficial options
+	_CUSTOM_BOOTSTRAP=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])custom_bootstrap=[0-9,a-z,A-Z,., ,~,;,:,/,_,-]+' | cut -f 2 -d '=' | head -n1)
+	_CUSTOM_BINARY=$(echo "${QUERY_STRING}" | grep -oE '(^|[?&])custom_binary=[0-9,a-z,A-Z,., ,~,;,:,/,_,-]+' | cut -f 2 -d '=' | head -n1)
+
+	# FIXME: filter invalid options
+	unset QUERY_STRING
+
+	if [ -z "${_EMAIL}" ]
+	then
+		echo "<h2><div style='color: red;'>Error: No email address specified.</div></h2>"
+
+		sed -e "s#LH_MIRROR_BOOTSTRAP#${LH_MIRROR_BOOTSTRAP}#" \
+		    -e "s#LH_MIRROR_BINARY_SECURITY#${LH_MIRROR_BINARY_SECURITY}#" \
+		    -e "s#LH_MIRROR_BINARY#${LH_MIRROR_BINARY}#" \
+		    -e "s/VERSION/${VERSION}/" \
+		    -e "s/DATE/`date +%Y%m%d-%H:%M`/" \
+		"${_TEMPLATES}"/form.html
+
+		exit
+	fi
+
+	# Getting build identifier
+	_BUILD=$(date +%Y%m%d.%H%M%S.%N)
+
+	#echo "${QUERY_STRING}"
+	# Sending html confirmation
+	# Note: On each string remember to use a delimeter that is not in the string.
+	sed -e "s/BUILD/${_BUILD}/g" \
+	    -e "s/EMAIL/${_EMAIL}/" \
+	    -e "s/LH_BINARY_IMAGES/${LH_BINARY_IMAGES}/" \
+	    -e "s/LH_DISTRIBUTION/${LH_DISTRIBUTION}/" \
+	    -e "s/LH_PACKAGES_LISTS/${LH_PACKAGES_LISTS}/" \
+	    -e "s/LH_PACKAGES/${LH_PACKAGES}/" \
+	    -e "s/LH_ARCHITECTURE/${LH_ARCHITECTURE}/" \
+	    -e "s/LH_BOOTSTRAP_FLAVOUR/${LH_BOOTSTRAP_FLAVOUR}/" \
+	    -e "s#LH_MIRROR_BOOTSTRAP#${LH_MIRROR_BOOTSTRAP}#" \
+	    -e "s#LH_MIRROR_BINARY_SECURITY#${LH_MIRROR_BINARY_SECURITY}#" \
+	    -e "s#LH_MIRROR_BINARY#${LH_MIRROR_BINARY}#" \
+	    -e "s/LH_ARCHIVE_AREAS/${LH_ARCHIVE_AREAS}/" \
+	    -e "s/LH_CHROOT_FILESYSTEM/${LH_CHROOT_FILESYSTEM}/" \
+	    -e "s/LH_LINUX_FLAVOURS/${LH_LINUX_FLAVOURS}/" \
+	    -e "s/LH_SECURITY/${LH_SECURITY}/" \
+	    -e "s/LH_SYMLINKS/${LH_SYMLINKS}/" \
+	    -e "s/LH_SYSVINIT/${LH_SYSVINIT}/" \
+	    -e "s/LH_BINARY_INDICES/${LH_BINARY_INDICES}/" \
+	    -e "s/LH_BOOTAPPEND/${LH_BOOTAPPEND}/" \
+	    -e "s/LH_BOOTLOADER/${LH_BOOTLOADER}/" \
+	    -e "s/LH_DEBIAN_INSTALLER/${LH_DEBIAN_INSTALLER}/" \
+	    -e "s/LH_ENCRYPTION/${LH_ENCRYPTION}/" \
+	    -e "s/LH_HOSTNAME/${LH_HOSTNAME}/" \
+	    -e "s#LH_ISO_APPLICATION#${LH_ISO_APPLICATION}#" \
+	    -e "s#LH_ISO_PREPARER#${LH_ISO_PREPARER}#" \
+	    -e "s#LH_ISO_PUBLISHER#${LH_ISO_PUBLISHER}#" \
+	    -e "s#LH_ISO_VOLUME#${LH_ISO_VOLUME}#" \
+	    -e "s/LH_MEMTEST/${LH_MEMTEST}/" \
+	    -e "s#LH_NET_ROOT_PATH#${LH_NET_ROOT_PATH}#" \
+	    -e "s/LH_NET_ROOT_SERVER/${LH_NET_ROOT_SERVER}/" \
+	    -e "s#SERVER#${_SERVER}#g" \
+	    -e "s/LH_USERNAME/${LH_USERNAME}/" \
+	    -e "s/LH_SOURCE_IMAGES/${LH_SOURCE_IMAGES}/" \
+	    -e "s/LH_SOURCE/${LH_SOURCE}/" \
+	    -e "s#CUSTOM_BOOTSTRAP#${_CUSTOM_BOOTSTRAP}#" \
+	    -e "s#CUSTOM_BINARY#${_CUSTOM_BINARY}#" \
+	"${_TEMPLATES}"/build.html
+
+	# Creating temporary directory
+	mkdir -p "${_TEMPDIR}"
+
+# Writing build file
+cat > "${_TEMPDIR}"/"${_BUILD}".build << EOF
+# live-helper.cgi "${VERSION}" build file
+# `date -R`
+
+_BUILD="${_BUILD}"
+_EMAIL="${_EMAIL}"
+
+# Standard options
+LH_BINARY_IMAGES="${LH_BINARY_IMAGES}"
+LH_DISTRIBUTION="${LH_DISTRIBUTION}"
+LH_PACKAGES_LISTS="${LH_PACKAGES_LISTS}"
+LH_PACKAGES="${LH_PACKAGES}"
+
+# Advanced bootstrap options
+LH_ARCHITECTURE="${LH_ARCHITECTURE}"
+LH_MIRROR_BOOTSTRAP="${LH_MIRROR_BOOTSTRAP}"
+LH_MIRROR_BINARY_SECURITY="${LH_MIRROR_BINARY_SECURITY}"
+LH_MIRROR_BINARY="${LH_MIRROR_BINARY}"
+LH_ARCHIVE_AREAS="${LH_ARCHIVE_AREAS}"
+
+# Advanced chroot options
+LH_CHROOT_FILESYSTEM="${LH_CHROOT_FILESYSTEM}"
+LH_LINUX_FLAVOURS="${LH_LINUX_FLAVOURS}"
+LH_SECURITY="${LH_SECURITY}"
+LH_SYMLINKS="${LH_SYMLINKS}"
+LH_SYSVINIT="${LH_SYSVINIT}"
+
+# Advanced binary options
+LH_BINARY_INDICES="${LH_BINARY_INDICES}"
+LH_BOOTAPPEND="${LH_BOOTAPPEND}"
+LH_BOOTLOADER="${LH_BOOTLOADER}"
+LH_DEBIAN_INSTALLER="${LH_DEBIAN_INSTALLER}"
+LH_ENCRYPTION="${LH_ENCRYPTION}"
+LH_HOSTNAME="${LH_HOSTNAME}"
+LH_ISO_APPLICATION="${LH_ISO_APPLICATION}"
+LH_ISO_PREPARER="${LH_ISO_PREPARER}"
+LH_ISO_PUBLISHER="${LH_ISO_PUBLISHER}"
+LH_ISO_VOLUME="${LH_ISO_VOLUME}"
+LH_MEMTEST="${LH_MEMTEST}"
+LH_NET_ROOT_PATH="${LH_NET_ROOT_PATH}"
+LH_NET_ROOT_SERVER="${LH_NET_ROOT_SERVER}"
+LH_USERNAME="${LH_USERNAME}"
+
+# Advanced source options
+LH_SOURCE_IMAGES="${LH_SOURCE_IMAGES}"
+LH_SOURCE="${LH_SOURCE}"
+
+# Unofficial options
+_CUSTOM_BOOTSTRAP="${_CUSTOM_BOOTSTRAP}"
+_CUSTOM_BINARY="${_CUSTOM_BINARY}"
+EOF
+
+	echo "$(date +%b\ %d\ %H:%M:%S) ${HOSTNAME} live-helper.cgi: add web build (${_BUILD})." >> /var/log/live
+	echo "$(date +%b\ %d\ %H:%M:%S) ${HOSTNAME} live-helper.cgi: options ${_BUILD} |email ${_EMAIL}|binary_images ${LH_BINARY_IMAGES}|distribution ${LH_DISTRIBUTION}|packages_lists ${LH_PACKAGES_LISTS}|packages ${LH_PACKAGES}|architecture ${LH_ARCHITECTURE}|mirror_bootstrap_security ${LH_MIRROR_BOOTSTRAP}|mirror_bootstrap ${LH_MIRROR_BOOTSTRAP}|mirror_binary_security ${LH_MIRROR_BINARY_SECURITY}|mirror_binary ${LH_MIRROR_BINARY}|archive_areas ${LH_ARCHIVE_AREAS}|chroot_filesystem ${LH_CHROOT_FILESYSTEM}|linux_flavours ${LH_LINUX_FLAVOURS}|security ${LH_SECURITY}|symlinks ${LH_SYMLINKS}|sysvinit ${LH_SYSVINIT}|binary_indices ${LH_BINARY_INDICES}|bootappend ${LH_BOOTAPPEND}|bootloader ${LH_BOOTLOADER}|debian_installer ${LH_DEBIAN_INSTALLER}|encryption ${LH_ENCRYPTION}|hostname ${LH_HOSTNAME}|iso_application ${LH_ISO_APPLICATION}|iso_preparer ${LH_ISO_PREPARER}|iso_publisher ${LH_ISO_PUBLISHER}|iso_volume ${LH_ISO_VOLUME}|memtest ${LH_MEMTEST}|net_path ${LH_NET_ROOT_PATH}|net_serv
 er ${LH_NET_ROOT_SERVER}|username ${LH_USERNAME}|source_images ${LH_SOURCE_IMAGES}|source ${LH_SOURCE}|custom_bootstrap ${_CUSTOM_BOOTSTRAP}|custom_binary ${_CUSTOM_BINARY}\n" >> /var/log/live
+fi
+
+sed -e "s/VERSION/${VERSION}/" "${_TEMPLATES}"/footer.html
diff --git a/cgi/cron b/cgi/cron
new file mode 100755
index 0000000..0bf4554
--- /dev/null
+++ b/cgi/cron
@@ -0,0 +1,173 @@
+#!/bin/sh
+
+# cgi - simple webfrontend for live-helper (cronjob)
+# Copyright (C) 2006-2010 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.
+
+# Including common functions
+. "${LH_BASE:-/usr/share/live-helper}"/live-helper.sh
+
+# Reading defaults
+if [ -r /etc/default/live-helper.cgi ]
+then
+	. /etc/default/live-helper.cgi
+else
+	echo "E: /etc/default/live-helper.cgi missing"
+	exit 1
+fi
+
+# Exit if disabled
+if [ "${_WEBBUILD}" != "enabled" ]
+then
+	exit 0
+fi
+
+# Turn on debug if enabled
+if [ "${_DEBUG}" = "enabled" ]
+then
+	set -x
+fi
+
+# Checking lock file
+if [ -f /var/lock/live-helper.cgi.lock ]
+then
+	echo "E: live-helper.cgi already/still running."
+	exit 1
+fi
+
+# Creating lock trap
+trap "test -f /var/lock/live-helper.cgi.lock && rm -f /var/lock/live-helper.cgi.lock; exit 0" 0 1 2 3 9 15
+
+# Creating lock file
+touch /var/lock/live-helper.cgi.lock
+
+# Cleanup old builds: cron should be run at least once per hour to take effect
+if ls "${_DESTDIR}"/`date -d yesterday +%Y%m%d.%H`* > /dev/null 2>&1
+then
+	rm -rf "${_DESTDIR}"/`date -d yesterday +%Y%m%d.%H`*
+
+	echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper.cgi: remove web build (`date -d yesterday +%Y%m%d.%H`*)." >> /var/log/live
+fi
+
+# Ok from here spin through the live-helper.cgi files we have waiting to build
+#if ls "${_TEMPDIR}"/*.build > /dev/null 2>&1
+if Find_files ${_TEMPDIR}/*.build
+then
+	for _FILE in "${_TEMPDIR}"/*.build
+	do
+		# Pull in the variables we want from the config file.
+		# Pul in the build number
+		_BUILD=`awk -F\" '/^_BUILD=/{print $2}' ${_FILE}`
+		# Pull in the email address
+		_EMAIL=`awk -F\" '/^_EMAIL=/{print $2}' ${_FILE}`
+		# Pull in the custom bootstrap
+		_CUSTOM_BOOTSTRAP=`awk -F\" '/^_CUSTOM_BOOTSTRAP=/{print $2}' ${_FILE}`
+		# Pull in the custom binary
+		_CUSTOM_BINARY=`awk -F\" '/^_CUSTOM_BINARY=/{print $2}' ${_FILE}`
+
+		# Drop out some build data for information if something goes wrong.
+		echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper.cgi: begin web build (${_BUILD})." >> /var/log/live
+
+		# Creating build directory which also creates the config/chroot_sources folder
+		mkdir -p "${_TEMPDIR}"/"${_BUILD}"/config/chroot_sources
+
+		# The next two tests are for unofficial third party repositories
+		if [ -n "${_CUSTOM_BOOTSTRAP}" ]
+		then
+			echo "${_CUSTOM_BOOTSTRAP}" > "${_TEMPDIR}"/"${_BUILD}"/config/chroot_sources/custom.bootstrap
+		fi
+
+		if [ -n "${_CUSTOM_BINARY}" ]
+		then
+			echo "${_CUSTOM_BINARY}" > "${_TEMPDIR}"/"${_BUILD}"/config/chroot_sources/custom.binary
+		fi
+
+		_DATE_START="`date -R`"
+		echo "Begin: ${_DATE_START}" > "${_TEMPDIR}"/"${_BUILD}"/log
+
+		# Generating image
+		cd "${_TEMPDIR}"/"${_BUILD}"
+		lh config -c ${_FILE} >> "${_TEMPDIR}"/"${_BUILD}"/log 2>&1
+		_ERRORCONFIG="${?}"
+		lh build >> "${_TEMPDIR}"/"${_BUILD}"/log 2>&1
+		_ERRORBUILD="${?}"
+
+		_DATE_END="`date -R`"
+		echo "End: ${_DATE_END}" >> "${_TEMPDIR}"/"${_BUILD}"/log
+
+		# Creating image directory
+		mkdir -p "${_DESTDIR}"/"${_BUILD}"
+
+		# Creating mail
+		if [ "${_ERRORCONFIG}" -eq "0" ] && [ "${_ERRORBUILD}" -eq "0" ]
+		then
+			_STATUS="maybe-successful"
+		else
+			_STATUS="maybe-failed"
+		fi
+
+		sed -e "s/BUILD/${_BUILD}/g" \
+		    -e "s/EMAIL/${_EMAIL}/" \
+		    -e "s/VERSION/${VERSION}/" \
+		    -e "s/DATE_START/${_DATE_START}/" \
+		    -e "s/DATE_END/${_DATE_END}/" \
+		    -e "s/STATUS/${_STATUS}/" \
+		    -e "s#SERVER#${_SERVER}#" \
+		"${_TEMPLATES}"/mail.txt > "${_DESTDIR}"/"${_BUILD}"/mail
+
+		# Moving binary image
+		#if ls "${_TEMPDIR}"/"${_BUILD}"/binary*.* > /dev/null 2>&1
+		if Find_files ${_TEMPDIR}/${_BUILD}/binary*.*
+		then
+			mv "${_TEMPDIR}"/"${_BUILD}"/binary*.* "${_DESTDIR}"/"${_BUILD}"
+		fi
+
+		# Moving source image
+		#if ls "${_TEMPDIR}"/"${_BUILD}"/source.* > /dev/null 2>&1
+		if Find_files ${_TEMPDIR}/${_BUILD}/source.*
+		then
+			mv "${_TEMPDIR}"/"${_BUILD}"/source.* "${_DESTDIR}"/"${_BUILD}"
+		fi
+
+		# Moving build
+		mv "${_TEMPDIR}"/"${_BUILD}".build "${_DESTDIR}"/"${_BUILD}"/build
+
+		# Moving log
+		mv "${_TEMPDIR}"/"${_BUILD}"/log "${_DESTDIR}"/"${_BUILD}"
+
+		# Generating md5sum
+		cd "${_DESTDIR}"/"${_BUILD}"
+		md5sum * > md5sum
+		cd "${OLDPWD}"
+
+		# Sending mail
+		cat "${_DESTDIR}"/"${_BUILD}"/mail | /usr/sbin/sendmail -t
+
+		# Unmounting devpts-live
+		#if ls "${_TEMPDIR}"/"${_BUILD}"/chroot/dev/pts/* > /dev/null 2>&1
+		if Find_files ${_TEMPDIR}/${_BUILD}/chroot/dev/pts/*
+		then
+			umount "${_TEMPDIR}"/${_BUILD}/chroot/dev/pts
+		fi
+
+		# Unmounting proc
+		if [ -f "${_TEMPDIR}"/"${_BUILD}"/chroot/proc/version ]
+		then
+			umount "${_TEMPDIR}"/"${_BUILD}"/chroot/proc
+		fi
+
+		# Unmounting sysfs
+		if [ -d "${_TEMPDIR}"/"${_BUILD}"/chroot/sys/kernel ]
+		then
+			umount "${_TEMPDIR}"/${_BUILD}/chroot/sys
+		fi
+
+		# Removing build directory
+		rm -rf "${_TEMPDIR}"/"${_BUILD}"
+
+		echo "`date +%b\ %d\ %H:%M:%S` ${HOSTNAME} live-helper.cgi: end web build (${_BUILD}: ${_STATUS})." >> /var/log/live
+	done
+fi
diff --git a/cgi/crontab b/cgi/crontab
new file mode 100644
index 0000000..0cb78a3
--- /dev/null
+++ b/cgi/crontab
@@ -0,0 +1,7 @@
+# /etc/crontab - system-wide crontab
+
+SHELL=/bin/sh
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+# m  h dom mon dow user command
+*/1  * *   *   *   root /etc/cron.hourly/live-webhelper > /dev/null 2>&1
diff --git a/cgi/default b/cgi/default
new file mode 100644
index 0000000..41c76ef
--- /dev/null
+++ b/cgi/default
@@ -0,0 +1,17 @@
+# Defaults for /etc/cron.daily/live-helper.cgi
+
+_WEBBUILD="disabled"
+
+_MODE="debian-official"
+
+_DEBUG="disabled"
+
+_DESTDIR="/srv/debian-live/build/www"
+_TEMPLATES="/usr/share/live-helper/templates/cgi/${_MODE}"
+_TEMPDIR="/srv/debian-live/build/tmp"
+
+LH_MIRROR_BOOTSTRAP="http://ftp.de.debian.org/debian/"
+LH_MIRROR_BINARY="http://ftp.debian.org/debian/"
+LH_MIRROR_BINARY_SECURITY="http://security.debian.org/"
+
+_SERVER="http://live.debian.net/build"
diff --git a/cgi/logrotate b/cgi/logrotate
new file mode 100644
index 0000000..91b5ed5
--- /dev/null
+++ b/cgi/logrotate
@@ -0,0 +1,11 @@
+# /etc/logrotate.d/live-helper
+
+/var/log/live
+{
+	compress
+	copytruncate
+	missingok
+	monthly
+	notifempty
+	rotate 24
+}
diff --git a/docs/ChangeLog.live-webhelper b/docs/ChangeLog.live-webhelper
new file mode 100644
index 0000000..b6e3df7
--- /dev/null
+++ b/docs/ChangeLog.live-webhelper
@@ -0,0 +1,182 @@
+commit 1f4cf146edbd72a2d61ac2e60324d392569c9f24
+Author: Daniel Baumann <daniel at debian.org>
+Date:   Wed Oct 14 13:35:25 2009 +0200
+
+    Updating vcs fields.
+
+commit d1ab019de29691407e3bde1af2ff5efe9a284380
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Wed May 27 09:42:55 2009 -0500
+
+    Update quoting on variables for safety.
+
+commit 601b25634d291706fc477342b712554a54c42016
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Sat Mar 14 22:19:41 2009 -0500
+
+    update copyright years
+
+commit fed4e5adfd49b339bec16b0338b73f9f90ca40ce
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Sat Mar 14 21:47:27 2009 -0500
+
+    Set lenny as defualt build
+
+commit 083a14f46cc1298b33908991dea145cf4ec7415d
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Sun Nov 30 16:41:15 2008 -0600
+
+    Bug fix on usb-hdd builds.
+
+commit 7742576d3a9b84807c6456007ad3bc0147ca3024
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Thu Nov 27 22:44:51 2008 -0600
+
+    Remove -x flag left on cron during debug operations.
+
+commit 6817dca69fd0c53578c1e14c9c5333d5be94419d
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Thu Nov 27 22:42:58 2008 -0600
+
+    Update to start using more live-helper functions.
+
+commit 649fc3a0fac8eae1b8a239a9ba250e89f4b89dfd
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Wed Nov 26 22:13:57 2008 -0600
+
+    Update Copyright (C) to 2007-2008
+
+commit 5449c921111b2f300006cc41d7b6582270959a82
+Author: Daniel Baumann <daniel at debian.org>
+Date:   Fri Nov 7 18:08:01 2008 +0100
+
+    Replacing obsolete dh_clean -k with dh_prep.
+
+commit cd7a4a353ae652a45057da5726467e23401be52d
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Tue Nov 4 18:40:06 2008 -0600
+
+    Bug fix on custom bootstrap and custom binary.
+
+commit fc227fc32f06ba8e5af8c9ebdcd147f98790b6ea
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Thu Oct 2 17:24:37 2008 -0500
+
+    Bug fix in netboot server and path.
+
+commit 446a99439bfee38c89615e1e24bb4729b2223e9e
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Mon Sep 8 21:39:37 2008 -0500
+
+    Include common functions from live-helper for code reuse.
+
+commit 359e51591318966e97128b00bff38c62d07c6827
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Mon Sep 8 21:35:52 2008 -0500
+
+    Added test for unmounting devpts-live.
+
+commit 3fdcc59654986d57f014b6c6721b2a3abde2f722
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Mon Sep 8 21:29:41 2008 -0500
+
+    Local variable prefix with _ on VAR i.e. _VAR
+
+commit 4bbf10e31754f290d3aa0e158a45d09316487544
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Mon Sep 8 16:12:22 2008 -0500
+
+    Local variable LH_ removal/cleanup.
+
+commit 472a6a0825656fbc16f4df6cb19bb16e1df8605f
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Mon Sep 8 16:02:36 2008 -0500
+
+    Minor local variable confusion for LH_ prefix cleanup.
+
+commit df23442fca1c727dd43ca1ea464b277e3617cb0f
+Author: Richard Nelson <unixabg at gmail.com>
+Date:   Mon Sep 8 15:59:08 2008 -0500
+
+    Upgrade variables to have the LH_ prefix for LH_* variable, to work with the current live-helper version.
+
+commit f00e0cb212e0c84268e099ca35ca386982e4d82b
+Author: Daniel Baumann <daniel at debian.org>
+Date:   Sun Sep 7 21:57:51 2008 +0200
+
+    Removing currently unused Upstream-Depends field in control.
+
+commit 4c85494fa2907a54dd99eaf17816a4d403ddb5bc
+Author: Daniel Baumann <daniel at debian.org>
+Date:   Sun Sep 7 21:57:41 2008 +0200
+
+    Updating vcs fields in control file.
+
+commit eaf87ebd9f828740430cc60d3e9f201d88c67c25
+Author: Daniel Baumann <daniel at debian.org>
+Date:   Thu Aug 28 23:40:35 2008 +0200
+
+    Setting project email address to the new debian-live at lists.debian.org.
+
+commit 6fbca8e14be271dc62988d5555bba9f453ddbaa7
+Author: Daniel Baumann <daniel at debian.org>
+Date:   Wed Apr 23 18:50:17 2008 +0200
+
+    Updating Richards email address.
+
+commit 25e1e7bc4f6a095aaf248a80aeaa3795f4a3e3a9
+Author: Daniel Baumann <daniel at debian.org>
+Date:   Tue Oct 30 11:04:42 2007 +0100
+
+    Correcting vcs fields.
+
+commit c49d9ff77bd5be73d5367fd567a9e39fccf78410
+Author: Daniel Baumann <daniel at debian.org>
+Date:   Wed Oct 3 09:11:29 2007 +0200
+
+    Fixing wrong homepage field.
+
+commit 8e01ba16a737d04a0367ecf1d4f3d7f80437fe97
+Author: Daniel Baumann <daniel at debian.org>
+Date:   Sun Sep 23 16:04:04 2007 +0200
+
+    Using new Homepage field now.
+
+commit 49ca83a4d57051b2b4b4b950178063c6df25e222
+Author: Daniel Baumann <daniel at debian.org>
+Date:   Sun Sep 23 16:04:04 2007 +0200
+
+    Adding Upstream-Depends field.
+
+commit 39a9d3e82c71451734f0d4ddb630b67c9d55541a
+Author: Daniel Baumann <daniel at debian.org>
+Date:   Sun Sep 23 16:04:04 2007 +0200
+
+    Moving from svn to git.
+
+commit 7e823babbe815bdf520becbfd6f4ccec814aa7e2
+Author: Daniel Baumann <daniel at debian.org>
+Date:   Sun Sep 23 16:04:03 2007 +0200
+
+    Removing not uploaded versions.
+
+commit 46e8777246485a15fc6d5a202a361662f4e724b5
+Author: Daniel Baumann <daniel at debian.org>
+Date:   Sun Sep 23 16:03:52 2007 +0200
+
+    Adding live-webhelper trunk 20070911.
+
+2007-07-19  Daniel Baumann  <daniel at debian.org>
+
+	* Introducing build modes.
+
+2007-07-14  Daniel Baumann  <daniel at debian.org>
+
+	* scripts/cgi:
+	  - Quick fix in EMAIL.
+
+2007-06-04  Daniel Baumann  <daniel at debian.org>
+
+	* templates/form.html:
+	  - Set default source image to 'generic'.
+	* Starting live-webhelper.
diff --git a/examples/cron/cron.daily b/examples/cron/cron.daily
new file mode 100755
index 0000000..ea630f7
--- /dev/null
+++ b/examples/cron/cron.daily
@@ -0,0 +1,155 @@
+#!/bin/sh
+
+set -e
+
+BUILD="daily"
+HOST="$(hostname)"
+
+# Checking for live-helper availability
+if [ ! -x /usr/bin/lh_config ]
+then
+	exit 0
+fi
+
+# Checking for live-helper defaults
+if [ -r /etc/default/live-helper_autobuild ]
+then
+	. /etc/default/live-helper_autobuild
+else
+	echo "E: /etc/default/live-helper_autobuild missing."
+	exit 1
+fi
+
+# Checking for autobuild
+if [ "${AUTOBUILD}" != "true" ]
+then
+	exit 0
+fi
+
+# Checking for build directory
+if [ ! -d "${TEMPDIR}" ]
+then
+	mkdir -p "${TEMPDIR}"/debian-live
+else
+	# FIXME: maybe we should just remove the left overs.
+	echo "E: ${TEMPDIR} needs cleanup."
+	exit 1
+fi
+
+echo "$(date +%b\ %d\ %H:%M:%S) ${HOST} live-helper: begin daily build." >> /var/log/live
+
+for ARCHITECTURE in ${ARCHITECTURES}
+do
+	for DISTRIBUTION in ${DISTRIBUTIONS}
+	do
+		for PACKAGES_LIST in ${PACKAGES_LISTS}
+		do
+			if [ ! -f "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-iso-log.txt ]
+			then
+				# Creating build directory
+				mkdir -p "${TEMPDIR}"/debian-live
+
+				cd "${TEMPDIR}"/debian-live
+				echo "Begin: $(date -R)" > "${TEMPDIR}"/debian-live/log.txt
+
+				# Generating images
+				lh_config -b iso -s tar --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-bootstrap ${MIRROR_BOOTSTRAP} --mirror-binary ${MIRROR_BINARY} --mirror-binary-security ${MIRROR_BINARY_SECURITY} --source true ${OPTIONS}
+				lh_build >> "${TEMPDIR}"/debian-live/log.txt 2>&1
+
+				echo "End: $(date -R)" >> "${TEMPDIR}"/debian-live/log.txt
+			fi
+
+			if [ -f "${TEMPDIR}"/debian-live/binary.iso ] && [ -f "${TEMPDIR}"/debian-live/source.tar ]
+			then
+				# Creating log directory
+				mkdir -p "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log
+
+				# Moving logs
+				mv "${TEMPDIR}"/debian-live/log.txt "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-iso-log.txt
+				mv "${TEMPDIR}"/debian-live/packages.txt "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-iso-packages.txt
+
+				# Creating images directory
+				mkdir -p "${DESTDIR}"/"${BUILD}"-builds/${DATE}/${ARCHITECTURE}
+				mkdir -p "${DESTDIR}"/"${BUILD}"-builds/${DATE}/source
+
+				# Moving images
+				mv "${TEMPDIR}"/debian-live/binary.iso "${DESTDIR}"/"${BUILD}"-builds/${DATE}/${ARCHITECTURE}/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}.iso
+				mv "${TEMPDIR}"/debian-live/source.tar "${DESTDIR}"/"${BUILD}"-builds/${DATE}/source/debian-live-${DISTRIBUTION}-source-${PACKAGES_LIST}.tar
+			fi
+
+			if [ ! -f "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-usb-hdd-log.txt ]
+			then
+				# Workaround of missing multi-binary support in live-helper
+				mv "${TEMPDIR}"/debian-live/binary/casper "${TEMPDIR}"/debian-live/casper.tmp
+				rm -rf "${TEMPDIR}"/debian-live/binary* "${TEMPDIR}"/debian-live/.stage/binary_*
+				mkdir "${TEMPDIR}"/debian-live/binary
+				mv "${TEMPDIR}"/debian-live/casper.tmp "${TEMPDIR}"/debian-live/binary/casper
+				touch "${TEMPDIR}"/debian-live/.stage/binary_chroot
+				touch "${TEMPDIR}"/debian-live/.stage/binary_rootfs
+
+				# Creating build directory
+				mkdir -p "${TEMPDIR}"/debian-live
+
+				cd "${TEMPDIR}"/debian-live
+				echo "Begin: $(date -R)" > "${TEMPDIR}"/debian-live/log.txt
+
+				# Generating images
+				lh_config -b usb-hdd -s tar --distribution ${DISTRIBUTION} --packages-lists ${PACKAGES_LIST} --mirror-bootstrap ${MIRROR_BOOTSTRAP} --mirror-binary ${MIRROR_BINARY} --mirror-binary-security ${MIRROR_BINARY_SECURITY} --source false ${OPTIONS}
+				lh_build >> "${TEMPDIR}"/debian-live/log.txt 2>&1
+
+				echo "End: $(date -R)" >> "${TEMPDIR}"/debian-live/log.txt
+			fi
+
+			if [ -f "${TEMPDIR}"/debian-live/binary.img ]
+			then
+				# Creating log directory
+				mkdir -p "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log
+
+				# Moving logs
+				mv "${TEMPDIR}"/debian-live/log.txt "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-usb-hdd-log.txt
+				cp "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-iso-packages.txt "${DESTDIR}"/"${BUILD}"-builds/${DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}_${DATE}-usb-hdd-packages.txt
+
+				# Creating image directory
+				mkdir -p "${DESTDIR}"/"${BUILD}"-builds/${DATE}/${ARCHITECTURE}
+
+				# Moving images
+				mv "${TEMPDIR}"/debian-live/binary.img "${DESTDIR}"/"${BUILD}"-builds/${DATE}/${ARCHITECTURE}/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${PACKAGES_LIST}.img
+			fi
+
+			# Cleanup
+			cd "${TEMPDIR}"/debian-live
+			lh_clean
+		done
+
+		# Cleanup
+		cd "${TEMPDIR}"/debian-live
+		lh_clean purge
+	done
+done
+
+# Cleaning up
+if [ -f "${TEMPDIR}"/debian-live/chroot/proc/version ]
+then
+	umount "${TEMPDIR}"/debian-live/chroot/proc
+fi
+
+if [ -d "${TEMPDIR}"/debian-live/chroot/sys/kernel ]
+then
+	umount "${TEMPDIR}"/debian-live/chroot/sys
+fi
+
+# Removing build directory
+rm -rf "${TEMPDIR}"
+
+# Creating md5sums
+for DIRECTORY in "${DESTDIR}"/"${BUILD}"-builds/${DATE}/*
+do
+	cd "${DIRECTORY}"
+	md5sum * > MD5SUMS
+done
+
+# Creating current symlink
+rm -f "${DESTDIR}"/"${BUILD}"-builds/current
+ln -s ${DATE} "${DESTDIR}"/"${BUILD}"-builds/current
+
+echo "$(date +%b\ %d\ %H:%M:%S) ${HOST} live-helper: end daily build." >> /var/log/live
diff --git a/examples/cron/crontab b/examples/cron/crontab
deleted file mode 100644
index 960f5e9..0000000
--- a/examples/cron/crontab
+++ /dev/null
@@ -1,8 +0,0 @@
-# /etc/crontab - system-wide crontab
-
-SHELL=/bin/sh
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-# m  h dom mon dow user command
-*/10 * *   *   *   user /usr/share/doc/live-helper/examples/cron/manpages.sh > /dev/null 2>&1
-*/10 * *   *   *   user /usr/share/doc/live-helper/examples/cron/snapshots.sh > /dev/null 2>&1
diff --git a/examples/cron/default b/examples/cron/default
new file mode 100644
index 0000000..051417b
--- /dev/null
+++ b/examples/cron/default
@@ -0,0 +1,16 @@
+# Defaults for /etc/cron.daily/live-helper_autobuild
+
+AUTOBUILD="false"
+
+DATE="$(date +%Y%m%d)"
+DESTDIR="/srv/debian-live"
+TEMPDIR="/srv/tmp/live-helper"
+
+OPTIONS="--binary-indices false"
+
+ARCHITECTURES="$(dpkg --print-architecture)"
+DISTRIBUTIONS="sid"
+MIRROR_BOOTSTRAP="http://ftp.debian.org/debian/"
+MIRROR_BINARY="http://ftp.debian.org/debian/"
+MIRROR_BINARY_SECURITY="http://security.debian.org/"
+PACKAGES_LISTS="standard rescue gnome-desktop kde-desktop xfce-desktop"
diff --git a/examples/cron/images.sh b/examples/cron/images.sh
index b875e86..8abdf39 100755
--- a/examples/cron/images.sh
+++ b/examples/cron/images.sh
@@ -68,7 +68,7 @@ Set_defaults ()
 			DEBIAN_INSTALLER_GUI="false"
 
 			LIVE_INSTALLER="16"
-			LIVE_INITRAMFS="1.173.3-1"
+			LIVE_INITRAMFS="1.173.4-1"
 
 			mkdir -p config/binary_local-udebs
 			cd config/binary_local-udebs
@@ -126,11 +126,10 @@ do
 			--mirror-chroot-security ${MIRROR_SECURITY} \
 			${PACKAGES} \
 			--packages-lists ${FLAVOUR} \
-			--source ${SOURCE} \
 			--tasksel ${TASKSEL} ${KERNEL}
 
 		# TEMPORARY HACK until memtest86+ maintainers fixes his package
-		if [ ${FLAVOUR} = rescue ]
+		if [ ${DISTRIBUTION} = "squeeze" ] && [ ${FLAVOUR} = rescue ]
 		then
 			lh config --memtest none
 		fi
@@ -141,12 +140,6 @@ do
 		mv binary.list debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.iso.list
 		mv binary.packages debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.iso.packages
 
-		if [ "${SOURCE}" = "true" ]
-		then
-			mv source.tar.gz debian-live-${DISTRIBUTION}-source-${FLAVOUR}.tar.gz
-			mv source.list debian-live-${DISTRIBUTION}-source-${FLAVOUR}.tar.gz.list
-		fi
-
 		if [ "${DISTRIBUTION}" = "lenny" ]
 		then
 			lh clean --binary
@@ -162,12 +155,25 @@ do
 		rm -rf cache/stages_rootfs
 		lh config --binary-images net
 
-		lh build 2>&1 | tee debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}-net.tar.gz.log
+		lh build 2>&1 | tee debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.tar.gz.log
 
-		mv binary-net.tar.gz debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}-net.tar.gz
-		mv binary.list debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}-net.tar.gz.list
-		mv binary.packages debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}-net.tar.gz.packages
+		mv binary-net.tar.gz debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.tar.gz
+		mv binary.list debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.tar.gz.list
+		mv binary.packages debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.tar.gz.packages
 
 		mv binary/*/filesystem.squashfs debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.squashfs
+		for memtest in tftpboot/debian-live/${ARCHITECTURE}/memtest*; do cp -f ${memtest} debian-live-${DISTRIBUTION}-${ARCHITECTURE}.$(basename ${memtest}); done || true
+		for kernel in tftpboot/debian-live/${ARCHITECTURE}/vmlinuz*; do cp -f ${kernel} debian-live-${DISTRIBUTION}-${ARCHITECTURE}.$(basename ${kernel}); done
+		for initrd in tftpboot/debian-live/${ARCHITECTURE}/initrd*; do cp ${initrd} debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.$(basename ${initrd}); done
+
+		if [ "${SOURCE}" = "true" ]
+		then
+			lh config --source true
+
+			lh source 2>&1 | tee debian-live-${DISTRIBUTION}-source-${FLAVOUR}.tar.gz.log
+
+			mv source.tar.gz debian-live-${DISTRIBUTION}-source-${FLAVOUR}.tar.gz
+			mv source.list debian-live-${DISTRIBUTION}-source-${FLAVOUR}.tar.gz.list
+		fi
 	done
 done
diff --git a/examples/cron/manpages.sh b/examples/cron/manpages.sh
deleted file mode 100755
index 00f49df..0000000
--- a/examples/cron/manpages.sh
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/sh
-
-# Needs: man2html git-core
-
-# Static variables
-PACKAGES="live-helper live-initramfs"
-
-TEMPDIR="/srv/tmp/manpages"
-SERVER="/srv/debian-live/www/other/manpages"
-
-DATE_START="$(date -R)"
-HOST="$(hostname)"
-
-# Checking lock file
-if [ -f "${SERVER}"/lock ]
-then
-	echo "E: locked."
-	exit 1
-fi
-
-# Creating server directory
-if [ ! -d "${SERVER}" ]
-then
-	mkdir -p "${SERVER}"
-fi
-
-# Creating lock trap
-trap "test -f ${SERVER}/lock && rm -f ${SERVER}/lock; exit 0" 0 HUP INT QUIT KILL TERM
-
-# Creating lock file
-echo "${DATE_START}" > "${SERVER}"/lock
-
-echo "$(date +%b\ %d\ %H:%M:%S) ${HOST} live-helper: begin manpage build." >> /var/log/live
-
-# Remove old manpages
-rm -f "${SERVER}"/*.html
-
-# Processing packages
-for PACKAGE in ${PACKAGES}
-do
-	# Cleaning build directory
-	if [ -d "${TEMPDIR}" ]
-	then
-		rm -rf "${TEMPDIR}"
-	fi
-
-	# Creating build directory
-	mkdir -p "${TEMPDIR}"
-
-	# Getting sources
-	cd "${TEMPDIR}"
-	git clone git://git.debian.org/git/users/daniel/${PACKAGE}.git
-
-	# Building manpages
-	for MANPAGE in "${TEMPDIR}"/${PACKAGE}/manpages/*
-	do
-		man2html -D "${SERVER}"/ -r ${MANPAGE} | \
-			sed -e "s#Content-type: text/html##" \
-			    -e 's#HREF="../index.html"#HREF="./"#' \
-			    -e 's#HREF="../man1/#HREF="#g' \
-			    -e 's#HREF="../man2/#HREF="#g' \
-			    -e 's#HREF="../man3/#HREF="#g' \
-			    -e 's#HREF="../man4/#HREF="#g' \
-			    -e 's#HREF="../man5/#HREF="#g' \
-			    -e 's#HREF="../man6/#HREF="#g' \
-			    -e 's#HREF="../man7/#HREF="#g' \
-			    -e 's#HREF="../man8/#HREF="#g' \
-			    -e 's#HREF="../man9/#HREF="#g' \
-			    -e 's#/cgi-bin/man/man2html#http://packages.debian.org/man2html#' \
-			> "${SERVER}"/$(basename ${MANPAGE}).html
-	done
-
-	# Removing sources
-	rm -rf "${TEMPDIR}"/${PACKAGE}
-
-	cd "${OLDPWD}"
-done
-
-# Creating symlinks
-for NUMBER in 1 2 3 4 5 6 7 8 9
-do
-	for MANPAGE in "${SERVER}"/*.en.${NUMBER}.html
-	do
-		if [ -f "${MANPAGE}" ]
-		then
-			ln -s $(basename ${MANPAGE}) "${SERVER}"/$(basename ${MANPAGE} .en.${NUMBER}.html).${NUMBER}.html
-		fi
-	done
-done
-
-# Writing timestamp
-cat > "${SERVER}"/LAST_BUILD << EOF
-Last run begin: ${DATE_START}
-Last run end:   $(date -R)
-EOF
-
-# Removing build directory
-rm -rf "${TEMPDIR}"
-
-echo "$(date +%b\ %d\ %H:%M:%S) ${HOST} live-helper: end manpage build." >> /var/log/live
diff --git a/examples/cron/snapshots.sh b/examples/cron/snapshots.sh
deleted file mode 100755
index 4c6290f..0000000
--- a/examples/cron/snapshots.sh
+++ /dev/null
@@ -1,183 +0,0 @@
-#!/bin/sh -e
-
-# Static variables
-if [ -n "${1}" ]
-then
-	PACKAGES="${@}"
-else
-	PACKAGES="live-helper live-initramfs live-initscripts live-webhelper live-magic debian-unofficial-archive-keyring"
-fi
-
-DEBEMAIL="debian-live at lists.debian.org"
-EMAIL="debian-live at lists.debian.org"
-DEBFULLNAME="Debian Live Autobuilder"
-NAME="Debian Live Autobuilder"
-KEY="FDB8D39A"
-
-export DEBEMAIL EMAIL DEBFULLNAME NAME KEY
-
-TEMPDIR="$(mktemp -d -t debian-live.XXXXXXXX)"
-SERVER="/mnt/daniel1/srv/debian-unofficial/live/debian"
-LOGFILE="${SERVER}/build.log"
-
-DATE_START="$(date -R)"
-HOST="$(hostname)"
-
-# Checking lock file
-if [ -f "${SERVER}"/Archive-Update-in-Progress ]
-then
-	echo "E: locked."
-	exit 1
-fi
-
-# Creating server directory
-if [ ! -d "${SERVER}" ]
-then
-	mkdir -p "${SERVER}"
-fi
-
-# Creating lock trap
-trap "test -f ${SERVER}/Archive-Update-in-Progress && rm -f ${SERVER}/Archive-Update-in-Progress; exit 0" 0 HUP INT QUIT KILL TERM
-
-# Creating lock file
-echo "${DATE_START}" > "${SERVER}"/Archive-Update-in-Progress
-
-echo "$(date +%b\ %d\ %H:%M:%S) ${HOST} live-snapshots: begin build." >> "${LOGFILE}"
-
-# Processing packages
-for PACKAGE in ${PACKAGES}
-do
-	# Cleaning build directory
-	if [ -d "${TEMPDIR}" ]
-	then
-		rm -rf "${TEMPDIR}"
-	fi
-
-	# Creating build directory
-	mkdir -p "${TEMPDIR}"
-
-	# Getting sources
-	cd "${TEMPDIR}"
-
-	case "${PACKAGE}" in
-		debian-unofficial-archive-keyring)
-			git clone git://git.debian.net/git/${PACKAGE}.git
-			;;
-
-		live-magic)
-			git clone git://git.debian.org/git/users/lamby-guest/${PACKAGE}.git
-			;;
-
-		*)
-			git clone git://git.debian.org/git/users/daniel/${PACKAGE}.git
-			;;
-	esac
-
-	# Getting version
-	cd "${TEMPDIR}"/${PACKAGE}
-
-	for BRANCH in debian
-	do
-		if [ -n "$(git branch -r | grep ${BRANCH})" ]
-		then
-			git checkout -b ${BRANCH} origin/${BRANCH} || true
-		fi
-	done
-
-	VERSION="$(dpkg-parsechangelog | awk '/Version:/ { print $2 }' | awk -F- '{ print $1 }')"
-
-	# Getting revision
-	cd "${TEMPDIR}"/${PACKAGE}
-	REVISION="$(git log | grep -m1 Date | awk -FDate: '{ print $2 }' | awk '{ print $1 ",", $3, $2, $5, $4, $6 }')"
-	REVISION="$(date -d "${REVISION}" +%Y%m%d.%H%M%S)"
-
-	# Check for existing package
-	if [ ! -f "${SERVER}"/${PACKAGE}_${VERSION}+${REVISION}.dsc ] || [ "${1}" = "--force" ]
-	then
-		UPDATE_INDICES="true"
-
-		# Renaming directory
-		mv "${TEMPDIR}"/${PACKAGE} "${TEMPDIR}"/${PACKAGE}-${VERSION}+${REVISION}
-
-		# Building package
-		cd "${TEMPDIR}"/${PACKAGE}-${VERSION}+${REVISION}
-		rm -rf .git
-		dch --force-bad-version --newversion ${VERSION}+${REVISION} --distribution UNRELEASED Autobuild snapshot of git ${REVISION}.
-		dpkg-buildpackage -rfakeroot -k${KEY} -sa
-
-		# Removing sources
-		rm -rf "${TEMPDIR}"/${PACKAGE}-${VERSION}+${REVISION}
-
-		# Creating directory
-		mkdir -p "${SERVER}"
-
-		# Removing old packages
-		if [ -f "${SERVER}"/"${PACKAGE}"*.changes ]
-		then
-			for FILE in $(awk {'print $5'} "${SERVER}"/"${PACKAGE}"*.changes | grep -e ".*\.deb$" -e ".*\.diff.gz$" -e ".*\.dsc$" -e ".*\.tar.gz$" -e ".*\.udeb$")
-			do
-				rm -f "${SERVER}"/"${FILE}"
-			done
-		fi
-
-		rm -f "${SERVER}"/"${PACKAGE}"*.changes
-
-		# Installing new packages
-		for FILE in $(awk {'print $5'} "${TEMPDIR}"/"${PACKAGE}"*.changes | grep -e ".*\.deb$" -e ".*\.diff.gz$" -e ".*\.dsc$" -e ".*\.tar.gz$" -e ".*\.udeb$")
-		do
-			mv "${TEMPDIR}"/"${FILE}" "${SERVER}"
-		done
-
-		mv "${TEMPDIR}"/"${PACKAGE}"*.changes "${SERVER}"
-	else
-		# Remove sources
-		rm -rf "${TEMPDIR}"/${PACKAGE}
-	fi
-done
-
-if [ "${UPDATE_INDICES}" = "true" ]
-then
-	LAST_UPDATE="$(date -R)"
-
-	cd "${SERVER}"
-
-	apt-ftparchive packages . /dev/null > Packages
-	gzip -9 -c Packages > Packages.gz
-	bzip2 -9 -c Packages > Packages.bz2
-
-	apt-ftparchive sources . /dev/null > Sources
-	gzip -9 -c Sources > Sources.gz
-	bzip2 -9 -c Sources > Sources.bz2
-
-	if [ -f release.conf ]
-	then
-		apt-ftparchive -c release.conf -o APT::FTPArchive::Release::Description="Last updated: `date -R`" release ./ >> Release.tmp
-		mv Release.tmp Release
-
-		rm -f Release.gpg
-		gpg --default-key ${KEY} --quiet --output Release.gpg -ba Release
-	fi
-fi
-
-# Reading timestamp
-if [ -z "${LAST_UPDATE}" ]
-then
-	LAST_UPDATE="$(awk -F: '/Last update:/ { print $2":"$3":"$4 }' ${SERVER}/LAST_BUILD | sed -e 's/    //')"
-fi
-
-# Writing timestamp
-cat > "${SERVER}"/LAST_BUILD << EOF
-Last run begin: ${DATE_START}
-Last run end:   $(date -R)
-
-Last update:    ${LAST_UPDATE}
-EOF
-
-# Removing build directory
-rm -rf "${TEMPDIR}"
-
-# Fixing permissions
-chmod 0644 "${SERVER}"/*
-chmod 0766 "${SERVER}"/*.sh
-
-echo "$(date +%b\ %d\ %H:%M:%S) ${HOST} live-snapshots: end build." >> "${LOGFILE}"
diff --git a/functions/aliases.sh b/functions/aliases.sh
index 859f34d..d281692 100755
--- a/functions/aliases.sh
+++ b/functions/aliases.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # aliases.sh - internal shell aliases
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/architecture.sh b/functions/architecture.sh
index 9f18ad4..2238176 100755
--- a/functions/architecture.sh
+++ b/functions/architecture.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # architecture.sh - handle architecture specific support
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/arguments.sh b/functions/arguments.sh
index e65983a..d35d02e 100755
--- a/functions/arguments.sh
+++ b/functions/arguments.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # arguments.sh - handle common arguments
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/breakpoints.sh b/functions/breakpoints.sh
index 0b47a6d..ba10793 100755
--- a/functions/breakpoints.sh
+++ b/functions/breakpoints.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # breakpoints.sh - run with breakpoints
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/cache.sh b/functions/cache.sh
index 69f05c9..e6f4957 100755
--- a/functions/cache.sh
+++ b/functions/cache.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # cache.sh - manage package cache
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/chroot.sh b/functions/chroot.sh
index ba93bf7..1ef6406 100755
--- a/functions/chroot.sh
+++ b/functions/chroot.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # chroot.sh - /usr/sbin/chroot wrapper script
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/color.sh b/functions/color.sh
index 97ac683..b902253 100755
--- a/functions/color.sh
+++ b/functions/color.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # color.sh - define color values
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/common.sh b/functions/common.sh
index 581c495..6de1a6d 100755
--- a/functions/common.sh
+++ b/functions/common.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # common.sh - common things for all live-helpers
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
@@ -9,7 +9,7 @@
 
 PROGRAM="$(basename ${0})"
 PACKAGE="live-helper"
-VERSION="2.0~a8-1"
+VERSION="2.0~a9-1"
 CONFIG_VERSION="$(echo ${VERSION} | awk -F- '{ print $1 }')"
 
 PATH="${PWD}/auto/helpers:${PATH}"
diff --git a/functions/conffile.sh b/functions/conffile.sh
index 9d87a33..5cc7c05 100755
--- a/functions/conffile.sh
+++ b/functions/conffile.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # conffile.sh - handle configuration files
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/cursor.sh b/functions/cursor.sh
index b343d3f..2c38acd 100755
--- a/functions/cursor.sh
+++ b/functions/cursor.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # cursor.sh - define cursor movements
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/defaults.sh b/functions/defaults.sh
index 140cc65..0862254 100755
--- a/functions/defaults.sh
+++ b/functions/defaults.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # defaults.sh - handle default values
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
@@ -322,7 +322,7 @@ Set_defaults ()
 			ubuntu)
 				case "${LH_ARCHITECTURE}" in
 					amd64|i386)
-						LH_MIRROR_CHROOT_SECURITY="http://archive.ubuntu.com/ubuntu/"
+						LH_MIRROR_CHROOT_SECURITY="http://security.ubuntu.com/ubuntu/"
 						;;
 
 					*)
@@ -333,6 +333,34 @@ Set_defaults ()
 		esac
 	fi
 
+	# Setting volatile mirror to fetch packages from
+	if [ -z "${LH_MIRROR_CHROOT_VOLATILE}" ]
+	then
+		case "${LH_MODE}" in
+			debian|debian-release)
+				case "${LH_DISTRIBUTION}" in
+					lenny)
+						LH_MIRROR_CHROOT_VOLATILE="http://volatile.debian.org/debian-volatile/"
+						;;
+				esac
+				;;
+
+			ubuntu)
+				case "${LH_ARCHITECTURE}" in
+					amd64|i386)
+						LH_MIRROR_CHROOT_VOLATILE="http://security.ubuntu.com/ubuntu/"
+						;;
+
+					*)
+						LH_MIRROR_CHROOT_VOLATILE="http://ports.ubuntu.com/"
+						;;
+				esac
+				;;
+		esac
+
+		LH_MIRROR_CHROOT_VOLATILE="${LH_MIRROR_CHROOT_VOLATILE:-none}"
+	fi
+
 	# Setting mirror which ends up in the image
 	if [ -z "${LH_MIRROR_BINARY}" ]
 	then
@@ -385,6 +413,36 @@ Set_defaults ()
 		esac
 	fi
 
+	# Setting volatile mirror which ends up in the image
+	if [ -z "${LH_MIRROR_BINARY_VOLATILE}" ]
+	then
+		case "${LH_MODE}" in
+			debian|debian-release)
+				case "${LH_DISTRIBUTION}" in
+					lenny)
+						LH_MIRROR_BINARY_VOLATILE="http://volatile.debian.org/debian-volatile/"
+						;;
+				esac
+				;;
+
+			ubuntu)
+				case "${LH_ARCHITECTURE}" in
+					amd64|i386)
+						LH_MIRROR_BINARY_VOLATILE="http://security.ubuntu.com/ubuntu/"
+						;;
+
+					*)
+						LH_MIRROR_BINARY_VOLATILE="http://ports.ubuntu.com/"
+						;;
+				esac
+				;;
+		esac
+
+		LH_MIRROR_BINARY_VOLATILE="${LH_MIRROR_BINARY_VOLATILE:-none}"
+	fi
+
+	LH_MIRROR_DEBIAN_INSTALLER="${LH_MIRROR_DEBIAN_INSTALLER:-${LH_MIRROR_BOOTSTRAP}}"
+
 	# Setting archive areas value
 	if [ -z "${LH_ARCHIVE_AREAS}" ]
 	then
@@ -683,6 +741,14 @@ Set_defaults ()
 
 	LH_SECURITY="${LH_SECURITY:-true}"
 
+	# Setting volatile updates option
+	if [ "${LH_MIRROR_CHROOT_VOLATILE}" = "none" ] || [ "${LH_MIRROR_BINARY_VOLATILE}" = "none" ]
+	then
+		LH_VOLATILE="false"
+	fi
+
+	LH_VOLATILE="${LH_VOLATILE:-true}"
+
 	# Setting symlink convertion option
 	LH_SYMLINKS="${LH_SYMLINKS:-false}"
 
@@ -762,7 +828,15 @@ Set_defaults ()
 	# Setting debian-installer-gui
 	case "${LH_MODE}" in
 		debian)
-			LH_DEBIAN_INSTALLER_GUI="${LH_DEBIAN_INSTALLER_GUI:-true}"
+			case "${LH_DISTRIBUTION}" in
+				squeeze|sid)
+					LH_DEBIAN_INSTALLER_GUI="${LH_DEBIAN_INSTALLER_GUI:-false}"
+					;;
+
+				*)
+					LH_DEBIAN_INSTALLER_GUI="${LH_DEBIAN_INSTALLER_GUI:-true}"
+					;;
+			esac
 			;;
 
 		ubuntu)
diff --git a/functions/echo.sh b/functions/echo.sh
index 1a3b3a9..8cef281 100755
--- a/functions/echo.sh
+++ b/functions/echo.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # echo.sh - define output methods
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/exit.sh b/functions/exit.sh
index f29dbf7..b32fd00 100755
--- a/functions/exit.sh
+++ b/functions/exit.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # exit.sh - cleanup
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/help.sh b/functions/help.sh
index 832878c..495a12b 100755
--- a/functions/help.sh
+++ b/functions/help.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # help.sh - print help information
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/l10n.sh b/functions/l10n.sh
index c2f167a..95de36d 100755
--- a/functions/l10n.sh
+++ b/functions/l10n.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # l10n.sh - load the needed localization things for all lh messages
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/lockfile.sh b/functions/lockfile.sh
index 8ade76e..3cf215a 100755
--- a/functions/lockfile.sh
+++ b/functions/lockfile.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lockfile.sh - handle lock files
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/losetup.sh b/functions/losetup.sh
index 1b1f61f..738ce0a 100755
--- a/functions/losetup.sh
+++ b/functions/losetup.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # losetup - wrapper around losetup
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/man.sh b/functions/man.sh
index 72213e2..1845af9 100755
--- a/functions/man.sh
+++ b/functions/man.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # man.sh - print man information
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/packages.sh b/functions/packages.sh
index ce5c76a..7d7f5f9 100755
--- a/functions/packages.sh
+++ b/functions/packages.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # packages.sh - handle packages installation
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/packageslists.sh b/functions/packageslists.sh
index 6ce0c52..beeaec8 100755
--- a/functions/packageslists.sh
+++ b/functions/packageslists.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # packagelists.sh - expands package list includes
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/releases.sh b/functions/releases.sh
index a705097..cdb2c8d 100755
--- a/functions/releases.sh
+++ b/functions/releases.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # releases.sh - list release information
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/stagefile.sh b/functions/stagefile.sh
index 72e62eb..530c91b 100755
--- a/functions/stagefile.sh
+++ b/functions/stagefile.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # stagefile.sh - handle stage files
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/templates.sh b/functions/templates.sh
index eec52f3..782de8b 100755
--- a/functions/templates.sh
+++ b/functions/templates.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # templates.sh - handle templates files
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/usage.sh b/functions/usage.sh
index d99cb9e..1e6e2bf 100755
--- a/functions/usage.sh
+++ b/functions/usage.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # usage.sh - print usage information
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/functions/version.sh b/functions/version.sh
index 5ac6f6f..350e6b4 100755
--- a/functions/version.sh
+++ b/functions/version.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # version.sh - print version information
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
@@ -12,7 +12,7 @@ Version ()
 	Echo "%s, version %s" "${PROGRAM}" "${VERSION}"
 	Echo "This program is a part of %s" "${PACKAGE}"
 	echo
-	Echo "Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>"
+	Echo "Copyright (C) 2006-2010 Daniel Baumann <daniel at debian.org>"
 	echo
 	Echo "This program is free software: you can redistribute it and/or modify"
 	Echo "it under the terms of the GNU General Public License as published by"
diff --git a/functions/wrapper.sh b/functions/wrapper.sh
index dcc728f..2175f5f 100755
--- a/functions/wrapper.sh
+++ b/functions/wrapper.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # wrapper.sh - external command wrappers
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary b/helpers/binary
index 234d898..35c74de 100755
--- a/helpers/binary
+++ b/helpers/binary
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary(1) - build binary images
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
@@ -40,6 +40,7 @@ then
 	lh chroot_resolv install ${*}
 	lh chroot_hostname install ${*}
 	lh chroot_sysv-rc install ${*}
+	lh chroot_upstart install ${*}
 	lh chroot_apt install-binary ${*}
 	lh chroot_sources install ${*}
 fi
@@ -93,6 +94,7 @@ fi
 lh chroot_apt remove ${*}
 lh chroot_sysv-rc remove ${*}
 lh chroot_sysfs remove ${*}
+lh chroot_upstart remove ${*}
 lh chroot_selinuxfs remove ${*}
 lh chroot_proc remove ${*}
 lh chroot_devpts remove ${*}
diff --git a/helpers/binary_chroot b/helpers/binary_chroot
index c65b7b5..c9dc4dc 100755
--- a/helpers/binary_chroot
+++ b/helpers/binary_chroot
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_chroot(1) - copy chroot into chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_debian-installer b/helpers/binary_debian-installer
index d525ca6..5c224ae 100755
--- a/helpers/binary_debian-installer
+++ b/helpers/binary_debian-installer
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_debian-installer(1) - install debian-installer into binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
@@ -261,7 +261,7 @@ then
 			;;
 	esac
 else
-	URL="${LH_MIRROR_CHROOT}/dists/${LH_DEBIAN_INSTALLER_DISTRIBUTION}/main/installer-${LH_ARCHITECTURE}/current/images/"
+	URL="${LH_MIRROR_DEBIAN_INSTALLER}/dists/${LH_DEBIAN_INSTALLER_DISTRIBUTION}/main/installer-${LH_ARCHITECTURE}/current/images/"
 fi
 
 mkdir -p "${DESTDIR_DI}"
diff --git a/helpers/binary_disk b/helpers/binary_disk
index b6edf4a..09c0b1b 100755
--- a/helpers/binary_disk
+++ b/helpers/binary_disk
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_disk (1) - install disk information into binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_encryption b/helpers/binary_encryption
index 2990afa..1808fd3 100755
--- a/helpers/binary_encryption
+++ b/helpers/binary_encryption
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_encryption(1) - encrypts rootfs
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_grub b/helpers/binary_grub
index 373d64e..25305ba 100755
--- a/helpers/binary_grub
+++ b/helpers/binary_grub
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_grub(1) - installs grub into binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_grub2 b/helpers/binary_grub2
index 7a7b26e..440617b 100755
--- a/helpers/binary_grub2
+++ b/helpers/binary_grub2
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_grub2(1) - installs grub2 into binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_includes b/helpers/binary_includes
index e37f4df..8483f72 100755
--- a/helpers/binary_includes
+++ b/helpers/binary_includes
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_includes(1) - copy files into binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_iso b/helpers/binary_iso
index 811310d..0294c07 100755
--- a/helpers/binary_iso
+++ b/helpers/binary_iso
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_iso(1) - build iso binary image
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_linux-image b/helpers/binary_linux-image
index d08ae18..bf0936a 100755
--- a/helpers/binary_linux-image
+++ b/helpers/binary_linux-image
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_linux-image(1) - install linux-image into binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_local-hooks b/helpers/binary_local-hooks
index 704879b..ff24d08 100755
--- a/helpers/binary_local-hooks
+++ b/helpers/binary_local-hooks
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_local-hooks(1) - execute local hooks in binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_local-includes b/helpers/binary_local-includes
index 44f93c9..8c54466 100755
--- a/helpers/binary_local-includes
+++ b/helpers/binary_local-includes
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_local-includes(1) - copy files into binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_local-packageslists b/helpers/binary_local-packageslists
index 43d8005..26fc0bb 100755
--- a/helpers/binary_local-packageslists
+++ b/helpers/binary_local-packageslists
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_local-packageslists(1) - install local packages lists into binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_manifest b/helpers/binary_manifest
index 4c40115..a3c304a 100755
--- a/helpers/binary_manifest
+++ b/helpers/binary_manifest
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_manifest(1) - create manifest
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_md5sum b/helpers/binary_md5sum
index 57087d8..e9376c0 100755
--- a/helpers/binary_md5sum
+++ b/helpers/binary_md5sum
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_md5sum(1) - create binary md5sums
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_memtest b/helpers/binary_memtest
index 581ec9a..6c59f10 100755
--- a/helpers/binary_memtest
+++ b/helpers/binary_memtest
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_memtest(1) - installs a memtest into binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_net b/helpers/binary_net
index 05ecce7..273c383 100755
--- a/helpers/binary_net
+++ b/helpers/binary_net
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_net(1) - build netboot binary image
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_rootfs b/helpers/binary_rootfs
index a862895..635adbb 100755
--- a/helpers/binary_rootfs
+++ b/helpers/binary_rootfs
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_rootfs(1) - build rootfs image
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
@@ -154,6 +154,7 @@ case "${LH_CHROOT_FILESYSTEM}" in
 					lh chroot_resolv remove ${*}
 					lh chroot_hosts remove ${*}
 					lh chroot_sysv-rc remove ${*}
+					lh chroot_upstart remove ${*}
 					lh chroot_dpkg remove ${*}
 					lh chroot_debianchroot remove ${*}
 					lh chroot_sysfs remove ${*}
@@ -171,6 +172,7 @@ case "${LH_CHROOT_FILESYSTEM}" in
 					lh chroot_debianchroot install ${*}
 					lh chroot_dpkg install ${*}
 					lh chroot_sysv-rc install ${*}
+					lh chroot_upstart install ${*}
 					lh chroot_hosts install ${*}
 					lh chroot_resolv install ${*}
 					lh chroot_hostname install ${*}
@@ -181,6 +183,9 @@ case "${LH_CHROOT_FILESYSTEM}" in
 					touch .lock
 				else
 					rm -rf chroot/chroot
+
+					# Removing depends
+					Remove_package
 				fi
 				;;
 
@@ -191,9 +196,6 @@ case "${LH_CHROOT_FILESYSTEM}" in
 
 		# Saving cache
 		Save_cache cache/packages_binary
-
-		# Removing depends
-		Remove_package
 		;;
 
 	jffs2)
@@ -236,6 +238,7 @@ case "${LH_CHROOT_FILESYSTEM}" in
 					lh chroot_resolv remove ${*}
 					lh chroot_hosts remove ${*}
 					lh chroot_sysv-rc remove ${*}
+					lh chroot_upstart remove ${*}
 					lh chroot_dpkg remove ${*}
 					lh chroot_debianchroot remove ${*}
 					lh chroot_sysfs remove ${*}
@@ -253,6 +256,7 @@ case "${LH_CHROOT_FILESYSTEM}" in
 					lh chroot_debianchroot install ${*}
 					lh chroot_dpkg install ${*}
 					lh chroot_sysv-rc install ${*}
+					lh chroot_upstart install ${*}
 					lh chroot_hosts install ${*}
 					lh chroot_resolv install ${*}
 					lh chroot_hostname install ${*}
@@ -263,6 +267,9 @@ case "${LH_CHROOT_FILESYSTEM}" in
 					touch .lock
 				else
 					rm -rf chroot/chroot
+
+					# Removing depends
+					Remove_package
 				fi
 				;;
 
@@ -273,9 +280,6 @@ case "${LH_CHROOT_FILESYSTEM}" in
 
 		# Saving cache
 		Save_cache cache/packages_binary
-
-		# Removing depends
-		Remove_package
 		;;
 
 	plain)
@@ -351,6 +355,7 @@ case "${LH_CHROOT_FILESYSTEM}" in
 					lh chroot_resolv remove ${*}
 					lh chroot_hosts remove ${*}
 					lh chroot_sysv-rc remove ${*}
+					lh chroot_upstart remove ${*}
 					lh chroot_dpkg remove ${*}
 					lh chroot_debianchroot remove ${*}
 					lh chroot_sysfs remove ${*}
@@ -368,6 +373,7 @@ case "${LH_CHROOT_FILESYSTEM}" in
 					lh chroot_debianchroot install ${*}
 					lh chroot_dpkg install ${*}
 					lh chroot_sysv-rc install ${*}
+					lh chroot_upstart install ${*}
 					lh chroot_hosts install ${*}
 					lh chroot_resolv install ${*}
 					lh chroot_hostname install ${*}
@@ -378,6 +384,9 @@ case "${LH_CHROOT_FILESYSTEM}" in
 					touch .lock
 				else
 					rm -rf chroot/chroot
+
+					# Removing depends
+					Remove_package
 				fi
 
 				${LH_ROOT_COMMAND} chmod 0644 binary/${INITFS}/filesystem.squashfs
@@ -404,9 +413,6 @@ case "${LH_CHROOT_FILESYSTEM}" in
 
 		# Saving cache
 		Save_cache cache/packages_binary
-
-		# Removing depends
-		Remove_package
 		;;
 
 	none)
diff --git a/helpers/binary_silo b/helpers/binary_silo
index 356c47e..766a18c 100755
--- a/helpers/binary_silo
+++ b/helpers/binary_silo
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_silo(1) - installs silo into binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_syslinux b/helpers/binary_syslinux
index 4fa2805..404727f 100755
--- a/helpers/binary_syslinux
+++ b/helpers/binary_syslinux
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_syslinux(1) - installs syslinux into binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_tar b/helpers/binary_tar
index 019b42f..082f969 100755
--- a/helpers/binary_tar
+++ b/helpers/binary_tar
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_tar(1) - build harddisk binary image
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_usb b/helpers/binary_usb
index 59aae15..b2a800f 100755
--- a/helpers/binary_usb
+++ b/helpers/binary_usb
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_usb(1) - build binary usb image
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_virtual-hdd b/helpers/binary_virtual-hdd
index 6a65d19..8b03910 100755
--- a/helpers/binary_virtual-hdd
+++ b/helpers/binary_virtual-hdd
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_virtual-hdd(1) - build binary virtual-hdd image
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_win32-loader b/helpers/binary_win32-loader
index 6851218..e0a7bc7 100755
--- a/helpers/binary_win32-loader
+++ b/helpers/binary_win32-loader
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_win32-loader(1) - copy win32-loader into binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/binary_yaboot b/helpers/binary_yaboot
index b896eac..777cab7 100755
--- a/helpers/binary_yaboot
+++ b/helpers/binary_yaboot
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_binary_yaboot(1) - installs yaboot into binary
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/bootstrap b/helpers/bootstrap
index 823c465..fb890c4 100755
--- a/helpers/bootstrap
+++ b/helpers/bootstrap
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_bootstrap(1) - bootstrap a Debian system
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/bootstrap_cache b/helpers/bootstrap_cache
index a025428..26ef908 100755
--- a/helpers/bootstrap_cache
+++ b/helpers/bootstrap_cache
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_bootstrap_cache(1) - cach bootstrap stage
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/bootstrap_cdebootstrap b/helpers/bootstrap_cdebootstrap
index 1f9340b..d37b0a5 100755
--- a/helpers/bootstrap_cdebootstrap
+++ b/helpers/bootstrap_cdebootstrap
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_bootstrap_cdebootstrap(1) - bootstrap a Debian system with cdebootstrap(1)
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/bootstrap_copy b/helpers/bootstrap_copy
index 456c89d..9373444 100755
--- a/helpers/bootstrap_copy
+++ b/helpers/bootstrap_copy
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_bootstrap_copy(1) - bootstrap by copying the host system
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/bootstrap_debootstrap b/helpers/bootstrap_debootstrap
index b1a5349..2b708ba 100755
--- a/helpers/bootstrap_debootstrap
+++ b/helpers/bootstrap_debootstrap
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_bootstrap_debootstrap(1) - bootstrap a Debian system with debootstrap(8)
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/build b/helpers/build
index 52400fa..9f619b1 100755
--- a/helpers/build
+++ b/helpers/build
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_build(1) - build a Debian Live system
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot b/helpers/chroot
index 65c5e65..123da37 100755
--- a/helpers/chroot
+++ b/helpers/chroot
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot(1) - customize the Debian system
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
@@ -35,6 +35,7 @@ lh chroot_sysfs install ${*}
 lh chroot_debianchroot install ${*}
 lh chroot_dpkg install ${*}
 lh chroot_sysv-rc install ${*}
+lh chroot_upstart install ${*}
 lh chroot_hosts install ${*}
 lh chroot_resolv install ${*}
 lh chroot_hostname install ${*}
@@ -69,6 +70,7 @@ lh chroot_hostname remove ${*}
 lh chroot_resolv remove ${*}
 lh chroot_hosts remove ${*}
 lh chroot_sysv-rc remove ${*}
+lh chroot_upstart remove ${*}
 lh chroot_dpkg remove ${*}
 lh chroot_debianchroot remove ${*}
 lh chroot_sysfs remove ${*}
diff --git a/helpers/chroot_apt b/helpers/chroot_apt
index 6836c2d..06ac8ac 100755
--- a/helpers/chroot_apt
+++ b/helpers/chroot_apt
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_apt(1) - manage /etc/apt/apt.conf
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_cache b/helpers/chroot_cache
index dacf8c0..7c67336 100755
--- a/helpers/chroot_cache
+++ b/helpers/chroot_cache
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_cache(1) - cach chroot stage
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_debianchroot b/helpers/chroot_debianchroot
index 6916d2d..0e794ed 100755
--- a/helpers/chroot_debianchroot
+++ b/helpers/chroot_debianchroot
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_debianchroot(1) - manage /etc/debian_chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_devpts b/helpers/chroot_devpts
index 9248595..b8a4bb2 100755
--- a/helpers/chroot_devpts
+++ b/helpers/chroot_devpts
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_devpts(1) - mount /dev/pts
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_dpkg b/helpers/chroot_dpkg
index bf2950a..3b5f00b 100755
--- a/helpers/chroot_dpkg
+++ b/helpers/chroot_dpkg
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_dpkg(1) - manage /sbin/dpkg
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_hacks b/helpers/chroot_hacks
index 98e6b5b..81af37a 100755
--- a/helpers/chroot_hacks
+++ b/helpers/chroot_hacks
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_hacks(1) - execute hacks in chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
@@ -40,7 +40,7 @@ Create_lockfile .lock
 # Handling default desktop configuration
 for TASK in ${LH_TASKS}
 do
-	case "${TASKS}" in
+	case "${TASK}" in
 		gnome-desktop)
 			# gnome is the only desktop environment in this image
 			if [ -z "$(echo ${LH_TASKS} | sed -e 's|gnome-desktop||' -e 's| desktop ||' | grep desktop)" ]
@@ -70,6 +70,9 @@ do
 
 				# set session manager
 				Chroot chroot "update-alternatives --set x-session-manager /usr/bin/startkde"
+
+				# get rid of resolvconf
+				Chroot chroot "dpkg -P resolvconf"
 			fi
 			;;
 
diff --git a/helpers/chroot_hooks b/helpers/chroot_hooks
index 04fe487..b8105ff 100755
--- a/helpers/chroot_hooks
+++ b/helpers/chroot_hooks
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_hooks(1) - execute hooks in chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_hostname b/helpers/chroot_hostname
index 9cafcf6..3d409c3 100755
--- a/helpers/chroot_hostname
+++ b/helpers/chroot_hostname
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_hostname(1) - manage /bin/hostname
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_hosts b/helpers/chroot_hosts
index 2b7fc25..d06cb2c 100755
--- a/helpers/chroot_hosts
+++ b/helpers/chroot_hosts
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_hosts(1) - manage /etc/hosts
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_install-packages b/helpers/chroot_install-packages
index b200e0a..60b13f4 100755
--- a/helpers/chroot_install-packages
+++ b/helpers/chroot_install-packages
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_install-packages(1) - install queued packages into chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_interactive b/helpers/chroot_interactive
index eb9c011..114d85b 100755
--- a/helpers/chroot_interactive
+++ b/helpers/chroot_interactive
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_interactive(1) - make build interactive
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_linux-image b/helpers/chroot_linux-image
index 76515ef..c7e6abd 100755
--- a/helpers/chroot_linux-image
+++ b/helpers/chroot_linux-image
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_linux-image(1) - manage /etc/kernel-img.conf
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_local-hooks b/helpers/chroot_local-hooks
index 0155e79..b871625 100755
--- a/helpers/chroot_local-hooks
+++ b/helpers/chroot_local-hooks
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_local-hooks(1) - execute local hooks in chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_local-includes b/helpers/chroot_local-includes
index 3991750..a90ffe7 100755
--- a/helpers/chroot_local-includes
+++ b/helpers/chroot_local-includes
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_local-includes(1) - copy local files into chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_local-packages b/helpers/chroot_local-packages
index f2cdfb0..2814d03 100755
--- a/helpers/chroot_local-packages
+++ b/helpers/chroot_local-packages
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_local-packages(1) - queue install of local packages into chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_local-packageslists b/helpers/chroot_local-packageslists
index 5e51ed9..3ad2b3d 100755
--- a/helpers/chroot_local-packageslists
+++ b/helpers/chroot_local-packageslists
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_local-packageslists(1) - queue install of local packages lists into chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_local-patches b/helpers/chroot_local-patches
index 303ffd1..db66019 100755
--- a/helpers/chroot_local-patches
+++ b/helpers/chroot_local-patches
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_local-patches(1) - apply local patches against chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_local-preseed b/helpers/chroot_local-preseed
index 2256bab..d642f76 100755
--- a/helpers/chroot_local-preseed
+++ b/helpers/chroot_local-preseed
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_local-preseed(1) - use debconf local preseeding file
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_localization b/helpers/chroot_localization
index 333ee34..c637aac 100755
--- a/helpers/chroot_localization
+++ b/helpers/chroot_localization
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_localization(1) - install localization packages into chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_packages b/helpers/chroot_packages
index 61a2fa6..745b132 100755
--- a/helpers/chroot_packages
+++ b/helpers/chroot_packages
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_packages(1) - queue install of packages into chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_packageslists b/helpers/chroot_packageslists
index 3ec26fb..d1744e5 100755
--- a/helpers/chroot_packageslists
+++ b/helpers/chroot_packageslists
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_packageslists(1) - queue install of packages lists into chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_preseed b/helpers/chroot_preseed
index 6058e73..47c3905 100755
--- a/helpers/chroot_preseed
+++ b/helpers/chroot_preseed
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_preseed(1) - use debconf preseeding file
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_proc b/helpers/chroot_proc
index 392fa5e..8cbf11f 100755
--- a/helpers/chroot_proc
+++ b/helpers/chroot_proc
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_proc(1) - mount /proc
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_resolv b/helpers/chroot_resolv
index 0b24a23..318bb1a 100755
--- a/helpers/chroot_resolv
+++ b/helpers/chroot_resolv
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_resolv(1) - manage /etc/resolv.conf
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_selinuxfs b/helpers/chroot_selinuxfs
index 558d3d7..64ce659 100755
--- a/helpers/chroot_selinuxfs
+++ b/helpers/chroot_selinuxfs
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_sysfs(1) - mount /selinux
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_sources b/helpers/chroot_sources
index 6edc3ac..8e456fd 100755
--- a/helpers/chroot_sources
+++ b/helpers/chroot_sources
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_sources(1) - manage /etc/apt/sources.list
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
@@ -75,6 +75,32 @@ case "${1}" in
 			esac
 		fi
 
+		if [ "${LH_VOLATILE}" = "true" ]
+		then
+			case "${LH_MODE}" in
+				debian|debian-release)
+					if [ "${LH_DISTRIBUTION}" != "sid" ] && [ "${LH_DISTRIBUTION}" != "unstable" ]
+					then
+						echo "deb ${LH_MIRROR_CHROOT_VOLATILE} ${LH_DISTRIBUTION}/volatile ${LH_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list
+
+						if [ "${LH_SOURCE}" = "true" ]
+						then
+							echo "deb-src ${LH_MIRROR_CHROOT_VOLATILE} ${LH_DISTRIBUTION}/volatile ${LH_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list
+						fi
+					fi
+					;;
+
+				ubuntu)
+					echo "deb ${LH_MIRROR_CHROOT_VOLATILE} ${LH_DISTRIBUTION}-updates ${LH_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list
+
+					if [ "${LH_SOURCE}" = "true" ]
+					then
+						echo "deb-src ${LH_MIRROR_CHROOT_VOLATILE} ${LH_DISTRIBUTION}-updates ${LH_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list
+					fi
+					;;
+			esac
+		fi
+
 		# Check local sources.list
 		if Find_files config/chroot_sources/*.chroot
 		then
@@ -241,7 +267,7 @@ case "${1}" in
 
 			if Find_files cache/indices_bootstrap/trusted.gpg*
 			then
-				cp -f cache/indices_bootstrap/trusted.gpg* chroot/etc/apt
+				cp -rf cache/indices_bootstrap/trusted.gpg* chroot/etc/apt
 			fi
 
 			if [ -f cache/indices_bootstrap/pkgcache.bin ]
@@ -319,7 +345,7 @@ case "${1}" in
 				mkdir -p cache/indices_bootstrap
 
 				cp -f chroot/etc/apt/secring.gpg* cache/indices_bootstrap
-				cp -f chroot/etc/apt/trusted.gpg* cache/indices_bootstrap
+				cp -rf chroot/etc/apt/trusted.gpg* cache/indices_bootstrap
 
 				cp -f chroot/var/cache/apt/pkgcache.bin cache/indices_bootstrap
 
@@ -401,6 +427,32 @@ case "${1}" in
 			esac
 		fi
 
+		if [ "${LH_VOLATILE}" = "true" ]
+		then
+			case "${LH_MODE}" in
+				debian|debian-release)
+					if [ "${LH_DISTRIBUTION}" != "sid" ] && [ "${LH_DISTRIBUTION}" != "unstable" ]
+					then
+						echo "deb ${LH_MIRROR_BINARY_VOLATILE} ${LH_DISTRIBUTION}/volatile ${LH_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list
+
+						if [ "${LH_SOURCE}" = "true" ]
+						then
+							echo "deb-src ${LH_MIRROR_BINARY_VOLATILE} ${LH_DISTRIBUTION}/volatile ${LH_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list
+						fi
+					fi
+					;;
+
+				ubuntu)
+					echo "deb ${LH_MIRROR_BINARY_VOLATILE} ${LH_DISTRIBUTION}-updates ${LH_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list
+
+					if [ "${LH_SOURCE}" = "true" ]
+					then
+						echo "deb-src ${LH_MIRROR_BINARY_VOLATILE} ${LH_DISTRIBUTION}-updates ${LH_ARCHIVE_AREAS}" >> chroot/etc/apt/sources.list
+					fi
+					;;
+			esac
+		fi
+
 		# Check local sources.list
 		if Find_files config/chroot_sources/*.binary
 		then
diff --git a/helpers/chroot_symlinks b/helpers/chroot_symlinks
index 576f06e..76a023c 100755
--- a/helpers/chroot_symlinks
+++ b/helpers/chroot_symlinks
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_symlinks(1) - convert symlinks
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_sysfs b/helpers/chroot_sysfs
index f6acb64..7b629b7 100755
--- a/helpers/chroot_sysfs
+++ b/helpers/chroot_sysfs
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_sysfs(1) - mount /sys
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_sysv-rc b/helpers/chroot_sysv-rc
index 74a9702..0ec9228 100755
--- a/helpers/chroot_sysv-rc
+++ b/helpers/chroot_sysv-rc
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_sysv-rc(1) - manage /usr/sbin/policy-rc.d
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_sysvinit b/helpers/chroot_sysvinit
index 7c8c983..2557f2d 100755
--- a/helpers/chroot_sysvinit
+++ b/helpers/chroot_sysvinit
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_sysvinit(1) - configure sysvinit
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_tasks b/helpers/chroot_tasks
index ff8e60a..b819165 100755
--- a/helpers/chroot_tasks
+++ b/helpers/chroot_tasks
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_chroot_tasks(1) - install tasks into chroot
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/chroot_sysv-rc b/helpers/chroot_upstart
similarity index 55%
copy from helpers/chroot_sysv-rc
copy to helpers/chroot_upstart
index 74a9702..32ca18c 100755
--- a/helpers/chroot_sysv-rc
+++ b/helpers/chroot_upstart
@@ -1,7 +1,7 @@
 #!/bin/sh
 
-# lh_chroot_sysv-rc(1) - manage /usr/sbin/policy-rc.d
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# lh_chroot_upstart(1) - manage /usr/sbin/initctl
+# Copyright (C) 2006-2010 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
@@ -13,7 +13,7 @@ set -e
 . "${LH_BASE:-/usr/share/live-helper}"/live-helper.sh
 
 # Setting static variables
-DESCRIPTION="$(Echo 'manage /usr/sbin/policy-rc.d')"
+DESCRIPTION="$(Echo 'manage /usr/sbin/initctl')"
 HELP=""
 USAGE="${PROGRAM} {install|remove} [--force]"
 
@@ -28,10 +28,10 @@ Require_stagefile .stage/config .stage/bootstrap
 
 case "${1}" in
 	install)
-		Echo_message "Configuring file /usr/sbin/policy-rc.d"
+		Echo_message "Configuring file /usr/sbin/initctl"
 
 		# Checking stage file
-		Check_stagefile .stage/chroot_sysv-rc
+		Check_stagefile .stage/chroot_upstart
 
 		# Checking lock file
 		Check_lockfile .lock
@@ -39,27 +39,27 @@ case "${1}" in
 		# Creating lock file
 		Create_lockfile .lock
 
-		if [ -f chroot/usr/sbin/policy-rc.d ]
+		if [ -f chroot/usr/sbin/initctl ]
 		then
-			# Save policy-rc.d file
-			mv chroot/usr/sbin/policy-rc.d chroot/usr/sbin/policy-rc.d.orig
+			# Save initctl file
+			mv chroot/usr/sbin/initctl chroot/usr/sbin/initctl.orig
 		fi
 
-		# Create policy-rc.d file
-cat > chroot/usr/sbin/policy-rc.d << EOF
+		# Create initctl file
+cat > chroot/usr/sbin/initctl << EOF
 #!/bin/sh
 echo "All runlevel operations denied by policy" >&2
 exit 101
 EOF
 
-		chmod 0755 chroot/usr/sbin/policy-rc.d
+		chmod 0755 chroot/usr/sbin/initctl
 
 		# Creating stage file
-		Create_stagefile .stage/chroot_sysv-rc
+		Create_stagefile .stage/chroot_upstart
 		;;
 
 	remove)
-		Echo_message "Deconfiguring file /usr/sbin/policy-rc.d"
+		Echo_message "Deconfiguring file /usr/sbin/initctl"
 
 		# Checking lock file
 		Check_lockfile .lock
@@ -67,17 +67,17 @@ EOF
 		# Creating lock file
 		Create_lockfile .lock
 
-		if [ -f chroot/usr/sbin/policy-rc.d.orig ]
+		if [ -f chroot/usr/sbin/initctl.orig ]
 		then
-			# Restore policy-rc.d file
-			mv chroot/usr/sbin/policy-rc.d.orig chroot/usr/sbin/policy-rc.d
+			# Restore initctl file
+			mv chroot/usr/sbin/initctl.orig chroot/usr/sbin/initctl
 		else
-			# Remove policy-rc.d file
-			rm -f chroot/usr/sbin/policy-rc.d
+			# Remove initctl file
+			rm -f chroot/usr/sbin/initctl
 		fi
 
 		# Removing stage file
-		rm -f .stage/chroot_sysv-rc
+		rm -f .stage/chroot_upstart
 		;;
 
 	*)
diff --git a/helpers/clean b/helpers/clean
index 0596e39..2348b0f 100755
--- a/helpers/clean
+++ b/helpers/clean
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_clean(1) - clean up system build directories
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/config b/helpers/config
index 2d7903c..9bb9201 100755
--- a/helpers/config
+++ b/helpers/config
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_config(1) - create configuration for live-helper(7)
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
@@ -91,8 +91,11 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\
 \t    [-m|--mirror-bootstrap URL]\n\
 \t    [--mirror-chroot URL]\n\
 \t    [--mirror-chroot-security URL]\n\
+\t    [--mirror-chroot-volatile URL]\n\
 \t    [--mirror-binary URL]\n\
 \t    [--mirror-binary-security URL]\n\
+\t    [--mirror-binary-volatile URL]\n\
+\t    [--mirror-debian-installer URL]\n\
 \t    [--mode debian|emdebian]\n\
 \t    [--net-root-filesystem nfs|cfs]\n\
 \t    [--net-root-mountoptions OPTIONS]\n\
@@ -121,6 +124,7 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\
 \t    [--tasks TASK]\n\
 \t    [--templates PATH]\n\
 \t    [--virtual-root-size MB]\n\
+\t    [--volatile true|false]\n\
 \t    [--exposed-root true|false]\n\
 \t    [--username NAME]\n\
 \t    [--verbose]\n\
@@ -133,10 +137,10 @@ Local_arguments ()
 		cache-stages:,debconf-frontend:,debconf-nowarnings:,debconf-priority:,dump,
 		initramfs:,fdisk:,losetup:,mode:,root-command:,use-fakeroot:,tasksel:,includes:,
 		templates:,architecture:,bootstrap-config:,bootstrap-flavour:,bootstrap-keyring:,clean,
-		distribution:,mirror-bootstrap:,mirror-chroot:,mirror-chroot-security:,mirror-binary:,
-		mirror-binary-security:,archive-areas:,chroot-filesystem:,exposed-root:,virtual-root-size:,
+		distribution:,mirror-bootstrap:,mirror-chroot:,mirror-chroot-security:,mirror-chroot-volatile:,mirror-binary:,
+		mirror-binary-security:,mirror-binary-volatile:,mirror-debian-installer:,archive-areas:,chroot-filesystem:,exposed-root:,virtual-root-size:,
 		gzip-options:,hooks:,interactive:,keyring-packages:,language:,linux-flavours:,linux-packages:,
-		packages:,packages-lists:,tasks:,security:,symlinks:,sysvinit:,binary-filesystem:,binary-images:,
+		packages:,packages-lists:,tasks:,security:,volatile:,symlinks:,sysvinit:,binary-filesystem:,binary-images:,
 		binary-indices:,bootappend-install:,bootappend-live:,bootloader:,checksums:,chroot-build:,
 		debian-installer:,debian-installer-distribution:,debian-installer-preseedfile:,debian-installer-gui:,
 		encryption:,grub-splash:,hostname:,iso-application:,iso-preparer:,iso-publisher:,
@@ -405,6 +409,11 @@ Local_arguments ()
 				shift 2
 				;;
 
+			--mirror-chroot-volatile)
+				LH_MIRROR_CHROOT_VOLATILE="${2}"
+				shift 2
+				;;
+
 			--mirror-binary)
 				LH_MIRROR_BINARY="${2}"
 				shift 2
@@ -415,6 +424,16 @@ Local_arguments ()
 				shift 2
 				;;
 
+			--mirror-binary-volatile)
+				LH_MIRROR_BINARY_VOLATILE="${2}"
+				shift 2
+				;;
+
+			--mirror-debian-installer)
+				LH_MIRROR_DEBIAN_INSTALLER="${2}"
+				shift 2
+				;;
+
 			--archive-areas)
 				LH_ARCHIVE_AREAS="${2}"
 				shift 2
@@ -491,6 +510,11 @@ Local_arguments ()
 				shift 2
 				;;
 
+			--volatile)
+				LH_VOLATILE="${2}"
+				shift 2
+				;;
+
 			--symlinks)
 				LH_SYMLINKS="${2}"
 				shift 2
@@ -970,6 +994,10 @@ LH_MIRROR_CHROOT="${LH_MIRROR_CHROOT}"
 # (Default: ${LH_MIRROR_CHROOT_SECURITY})
 LH_MIRROR_CHROOT_SECURITY="${LH_MIRROR_CHROOT_SECURITY}"
 
+# \$LH_MIRROR_CHROOT_VOLATILE: set volatile mirror to fetch packages from
+# (Default: ${LH_MIRROR_CHROOT_VOLATILE})
+LH_MIRROR_CHROOT_VOLATILE="${LH_MIRROR_CHROOT_VOLATILE}"
+
 # \$LH_MIRROR_BINARY: set mirror which ends up in the image
 # (Default: ${LH_MIRROR_BINARY})
 LH_MIRROR_BINARY="${LH_MIRROR_BINARY}"
@@ -978,6 +1006,14 @@ LH_MIRROR_BINARY="${LH_MIRROR_BINARY}"
 # (Default: ${LH_MIRROR_BINARY_SECURITY})
 LH_MIRROR_BINARY_SECURITY="${LH_MIRROR_BINARY_SECURITY}"
 
+# \$LH_MIRROR_BINARY_VOLATILE: set volatile mirror which ends up in the image
+# (Default: ${LH_MIRROR_BINARY_VOLATILE})
+LH_MIRROR_BINARY_VOLATILE="${LH_MIRROR_BINARY_VOLATILE}"
+
+# \$LH_MIRROR_DEBIAN_INSTALLER: set debian-installer mirror
+# (Default: ${LH_MIRROR_BOOTSTRAP})
+LH_MIRROR_DEBIAN_INSTALLER="${LH_MIRROR_DEBIAN_INSTALLER}"
+
 # \$LH_ARCHIVE_AREAS: select archive areas to use
 # (Default: ${LH_ARCHIVE_AREAS})
 LH_ARCHIVE_AREAS="${LH_ARCHIVE_AREAS}"
@@ -1052,6 +1088,10 @@ LH_TASKS="${LH_TASKS}"
 # (Default: ${LH_SECURITY})
 LH_SECURITY="${LH_SECURITY}"
 
+# \$LH_VOLATILE: enable volatile updates
+# (Default: ${LH_VOLATILE})
+LH_VOLATILE="${LH_VOLATILE}"
+
 # \$LH_SYMLINKS: enable symlink convertion
 # (Default: ${LH_SYMLINKS})
 LH_SYMLINKS="${LH_SYMLINKS}"
diff --git a/helpers/lh b/helpers/lh
index 8ab9de2..73e7b0b 100755
--- a/helpers/lh
+++ b/helpers/lh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh(1) - generic live-helper wrapper
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/live-helper b/helpers/live-helper
index e551498..a105500 100755
--- a/helpers/live-helper
+++ b/helpers/live-helper
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # live-helper(7) - the Debian Live tool suite
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 Daniel Baumann <daniel at debian.org>
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/helpers/local b/helpers/local
index 16e228e..39ba6a7 100755
--- a/helpers/local
+++ b/helpers/local
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_local(1) - use a local live-helper version
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/source b/helpers/source
index 1783216..512a923 100755
--- a/helpers/source
+++ b/helpers/source
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_source(1) - build source images
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/source_debian b/helpers/source_debian
index 2668948..cffca68 100755
--- a/helpers/source_debian
+++ b/helpers/source_debian
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_source_debian(1) - download sources
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/source_debian-live b/helpers/source_debian-live
index 10ba580..6afcfbf 100755
--- a/helpers/source_debian-live
+++ b/helpers/source_debian-live
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_source_debian-live(1) - copy debian-live config into source
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/source_disk b/helpers/source_disk
index 50db471..bad2770 100755
--- a/helpers/source_disk
+++ b/helpers/source_disk
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_source_disk (1) - install disk information into source
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/source_iso b/helpers/source_iso
index 0752ebe..c833b0b 100755
--- a/helpers/source_iso
+++ b/helpers/source_iso
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_source_iso(1) - build iso source image
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/source_md5sum b/helpers/source_md5sum
index 0034bfd..0a543e7 100755
--- a/helpers/source_md5sum
+++ b/helpers/source_md5sum
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_source_md5sum(1) - create source md5sums
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/source_net b/helpers/source_net
index 1c1b946..bf65fed 100755
--- a/helpers/source_net
+++ b/helpers/source_net
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_source_net(1) - build source net image
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/source_tar b/helpers/source_tar
index 4923b71..da858c4 100755
--- a/helpers/source_tar
+++ b/helpers/source_tar
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_source_tar(1) - build source tarball
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/source_usb b/helpers/source_usb
index 6065382..dc5bb22 100755
--- a/helpers/source_usb
+++ b/helpers/source_usb
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_source_usb(1) - build source usb image
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/source_virtual-hdd b/helpers/source_virtual-hdd
index ac186dc..74f7af5 100755
--- a/helpers/source_virtual-hdd
+++ b/helpers/source_virtual-hdd
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_source_virtual-hdd(1) - build source virtual-hdd image
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/helpers/testroot b/helpers/testroot
index c4a4276..952c4b2 100755
--- a/helpers/testroot
+++ b/helpers/testroot
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # lh_testroot(1) - ensure that a system is built as root
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/hooks/minimal b/hooks/minimal
index 4a6f1b4..fdb289b 100755
--- a/hooks/minimal
+++ b/hooks/minimal
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # /usr/share/live-helper/hooks/minimal - hook list for live-helper(7)
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/hooks/stripped b/hooks/stripped
index 826c0e7..95afdf2 100755
--- a/hooks/stripped
+++ b/hooks/stripped
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # /usr/share/live-helper/hooks/stripped - hook list for live-helper(7)
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
+# Copyright (C) 2006-2010 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
diff --git a/lists/debian-forensics b/lists/debian-forensics
index 9915219..3c6c549 100644
--- a/lists/debian-forensics
+++ b/lists/debian-forensics
@@ -5,17 +5,46 @@
 
 # http://qa.debian.org/developer.php?login=forensics-devel@lists.alioth.debian.org
 
-galleta grokevt memdump missidentify myrescue pasco reglookup
-scrounge-ntfs sleuthkit ssdeep tableau-parm tct unhide wipe
+## Packages available as of lenny
+
 #if ARCHITECTURE amd64 i386
-ext3grep gpart
+ext3grep
+galleta
+gpart
 #endif
 
-#if DISTRIBUTION squeeze sid
-aesfix aeskeyfind chaosreader guymager ewf-tools md5deep pipebench
-recoverdm rifiuti rifiuti2 safecopy shed
-#endif
+grokevt
+memdump
+missidentify
+myrescue
+pasco
+reglookup
+scrounge-ntfs
+sleuthkit
+ssdeep
+tableau-parm
+tct
+unhide
+wipe
 
-#if DISTRIBUTION sid
+## Packages available as of squeeze
+
+#if DISTRIBUTION squeeze sid
+aesfix
+aeskeyfind
 afflib-tools
+chaosreader
+ed2k-hash
+guymager
+ewf-tools
+libguytools1
+libphash0
+md5deep
+nasty
+pipebench
+recoverdm
+rifiuti
+rifiuti2
+safecopy
+shed
 #endif
diff --git a/lists/rescue b/lists/rescue
index 67c2621..74bf015 100644
--- a/lists/rescue
+++ b/lists/rescue
@@ -141,7 +141,9 @@ zorp
 netbase
 rdate
 ntpdate
+#if DISTRIBUTION lenny
 msntp
+#endif
 dhcp3-client
 ppp
 pppconfig
diff --git a/manpages/lh_chroot_preseed.en.1 b/manpages/lh_chroot_upstart.en.1
similarity index 69%
copy from manpages/lh_chroot_preseed.en.1
copy to manpages/lh_chroot_upstart.en.1
index 895d789..1f45127 100644
--- a/manpages/lh_chroot_preseed.en.1
+++ b/manpages/lh_chroot_upstart.en.1
@@ -1,16 +1,16 @@
-.TH LH_CHROOT_COPY 1 "2009\-06\-14" "1.0.5" "live\-helper"
+.TH LH_CHROOT_UPSTART 1 "2009\-06\-14" "1.0.5" "live\-helper"
 
 .SH NAME
-lh_chroot_preseed \- use debconf preseeding file
+lh_chroot_upstart \- manage /usr/sbin/initctl
 
 .SH SYNOPSIS
-\fBlh_chroot_preseed\fR [\fIlive\-helper options\fR]
+\fBlh_chroot_upstart\fR [\fIlive\-helper options\fR]
 
 .SH DESCRIPTION
-lh_chroot_preseed is a low\-level command (plumbing) of live\-helper, the Debian Live tool suite. It uses debconf preseeding files.
+lh_chroot_upstart is a low\-level command (plumbing) of live\-helper, the Debian Live tool suite. It manages /usr/sbin/initctl.
 
 .SH OPTIONS
-lh_chroot_preseed has no specific options but understands all generic live\-helper options. See \fIlive\-helper\fR(7) for a complete list of all generic live\-helper options.
+lh_chroot_upstart has no specific options but understands all generic live\-helper options. See \fIlive\-helper\fR(7) for a complete list of all generic live\-helper options.
 
 .SH SEE ALSO
 \fIlh_chroot\fR(1)
diff --git a/manpages/lh_config.en.1 b/manpages/lh_config.en.1
index 3a3e4cf..9cf53c1 100644
--- a/manpages/lh_config.en.1
+++ b/manpages/lh_config.en.1
@@ -134,6 +134,8 @@ lh_config \- create configuration for live\-helper
 .br
 	[\fB\-\-mirror\-chroot\-security\fR \fIURL\fR]
 .br
+	[\fB\-\-mirror\-debian\-installer\fR \fIURL\fR]
+.br
 	[\fB\-\-mode\fR debian|emdebian|ubuntu]
 .br
 	[\fB\-\-net\-root\-filesystem\fR nfs|cfs]
@@ -334,6 +336,8 @@ sets the location of the debian security package mirror that should end up confi
 sets the location of the debian package mirror that will be used to fetch the packages in order to build the live system. By default, this points to http://ftp.us.debian.org/debian/ which may not be a good default if you live outside the U.S.
 .IP "\fB\-\-mirror\-chroot\-security\fR \fIURL\fR" 4
 sets the location of the debian security package mirror that will be used to fetch the packages in order to build the live system. By default, this points to http://security.debian.org/debian/.
+.IP "\fB\-\-mirror\-debian\-installer\fR \fIURL\fR" 4
+sets the location of the mirror that will be used to fetch the debian installer images. By default, this points to the same mirror used to build the live system.
 .IP "\fB\-\-mode\fR debian|emdebian|ubuntu" 4
 defines a global mode to load project specific defaults. By default this is set to debian.
 .IP "\fB\-\-net\-root\-filesystem\fR nfs|cfs" 4
diff --git a/templates/cgi/debian-official/build.html b/templates/cgi/debian-official/build.html
new file mode 100644
index 0000000..4759511
--- /dev/null
+++ b/templates/cgi/debian-official/build.html
@@ -0,0 +1,72 @@
+<br />
+
+<h3>Your build 'BUILD' was recorded and will processed soon. Depending on the options you have selected, the build takes about between 5 and 20 minutes. You will be notified by email when the attempt has completed.</h3>
+
+<h3>Your build will be available at: <a href="SERVER/BUILD/">SERVER/BUILD/</a>.</h3>
+
+<fieldset>
+
+<legend><b>Options</b></legend>
+
+<b>Standard options</b>
+
+<table>
+	<tr><td>Email: </td><td>EMAIL</td></tr>
+	<tr><td>--binary-image: </td><td>LH_BINARY_IMAGES</td></tr>
+	<tr><td>--distribution: </td><td>LH_DISTRIBUTION</td></tr>
+	<tr><td>--packages-lists: </td><td>LH_PACKAGES_LISTS</td></tr>
+	<tr><td>--packages: </td><td>LH_PACKAGES</td><tr>
+</table>
+
+<b>Advanced bootstrap options</b>
+
+<table>
+	<tr><td>--architecture: </td><td>LH_ARCHITECTURE</td></tr>
+	<tr><td>--bootstrap-flavour: </td><td>LH_BOOTSTRAP_FLAVOUR</td></tr>
+	<tr><td>--mirror-bootstrap: </td><td>LH_MIRROR_BOOTSTRAP</td></tr>
+	<tr><td>--mirror-binary: </td><td>LH_MIRROR_BINARY</td></tr>
+	<tr><td>--mirror-binary-security: </td><td>LH_MIRROR_BINARY_SECURITY</td></tr>
+	<tr><td>--archive-areas: </td><td>LH_ARCHIVE_AREAS</td></tr>
+</table>
+
+<b>Advanced chroot options</b>
+
+<table>
+	<tr><td>--chroot-fileystem: </td><td>LH_CHROOT_FILESYSTEM</td></tr>
+	<tr><td>--linux-flavours: </td><td>LH_LINUX_FLAVOURS</td></tr>
+	<tr><td>--security: </td><td>LH_SECURITY</td></tr>
+	<tr><td>--symlinks: </td><td>LH_SYMLINKS</td></tr>
+	<tr><td>--sysvinit: </td><td>LH_SYSVINIT</td></tr>
+</table>
+
+<b>Advanced binary options</b>
+
+<table>
+	<tr><td>--binary-indices: </td><td>LH_BINARY_INDICES</td></tr>
+	<tr><td>--bootappend: </td><td>LH_BOOTAPPEND</td></tr>
+	<tr><td>--bootloader: </td><td>LH_BOOTLOADER</td></tr>
+	<tr><td>--debian-installer: </td><td>LH_DEBIAN_INSTALLER</td></tr>
+	<tr><td>--encryption: </td><td>LH_ENCRYPTION</td></tr>
+	<tr><td>--hostname: </td><td>LH_HOSTNAME</td></tr>
+	<tr><td>--iso-application: </td><td>LH_ISO_APPLICATION</td></tr>
+	<tr><td>--iso-preparer: </td><td>LH_ISO_PREPARER</td></tr>
+	<tr><td>--iso-publisher: </td><td>LH_ISO_PUBLISHER</td></tr>
+	<tr><td>--iso-volume: </td><td>LH_ISO_VOLUME</td></tr>
+	<tr><td>--memtest: </td><td>LH_MEMTEST</td></tr>
+	<tr><td>--net-path: </td><td>LH_NET_ROOT_PATH</td></tr>
+	<tr><td>--net-server: </td><td>LH_NET_ROOT_SERVER</td></tr>
+	<tr><td>--username: </td><td>username</td></tr>
+</table>
+
+<b>Advanced source options</b>
+
+<table>
+	<tr><td>--source: </td><td>LH_SOURCE</td></tr>
+	<tr><td>--source-images: </td><td>LH_SOURCE_IMAGES</td></tr>
+</table>
+
+</fieldset>
+
+<br />
+
+<h3>Thank you for your submission.</h3>
diff --git a/templates/cgi/debian-official/footer.html b/templates/cgi/debian-official/footer.html
new file mode 100644
index 0000000..6e2648a
--- /dev/null
+++ b/templates/cgi/debian-official/footer.html
@@ -0,0 +1,8 @@
+<div id="footer">
+	<br />
+	<h2 id="subtitle">Debian Live Project <a href="mailto:debian-live at lists.debian.org">&lt;debian-live at lists.debian.org&gt;</a> &mdash; <a href="http://live.debian.net/legal.html">Legal information</a></h2>
+	<br />
+</div>
+
+</body>
+</html>
diff --git a/templates/cgi/debian-official/form.html b/templates/cgi/debian-official/form.html
new file mode 100644
index 0000000..cf3f9dd
--- /dev/null
+++ b/templates/cgi/debian-official/form.html
@@ -0,0 +1,334 @@
+
+<h3>Submit your parameters (<b>working</b> email address is required) to generate your very own Debian Live system.</h3>
+
+<form action="live-helper" method="get">
+
+<fieldset>
+
+<legend><b>Options</b></legend>
+
+<table>
+	<tr>
+		<td><label for="Email">Email Address:</label> </td>
+		<td><input id="Email" name="email" maxlength="50" size="50" type="text" /></td>
+	</tr>
+</table>
+
+<span id="click_1" onmouseover='javascript:objectOver(this)' onmouseout='javascript:objectOut(this)' onclick='javascript:collapse(1,"<b>Standard options</b>")'>
+	<b>Standard options</b><small>&nbsp;(click to collapse)</small>
+	<br />
+</span>
+
+<div id="text_1" style='margin-left:0;display:block'>
+	<table>
+		<tr>
+			<td><label for="Binary_Images">--binary-images:</label> </td>
+			<td>
+				<select id="Binary_Images" name="binary_images" size="1">
+					<option selected value="iso">iso</option>
+					<option value="net">net</option>
+					<option value="tar">tar</option>
+					<option value="usb-hdd">usb-hdd</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Distribution">--distribution:</label> </td>
+			<td>
+				<select id="Distribution" name="distribution" size="1">
+					<option selected value="lenny">lenny</option>
+					<option value="squeeze">squeeze</option>
+					<option value="sid">sid</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Packages_Lists">--packages-lists:</label> </td>
+			<td>
+				<select id="Packages_Lists" name="packages_lists" size="1" >
+					<option value="debian-forensics">debian-forensics</option>
+					<option value="debian-junior">debian-junior</option>
+					<option value="debian-live">debian-live</option>
+					<option value="debian-science">debian-science</option>
+					<option value="gnome">gnome</option>
+					<option value="gnome-core">gnome-core</option>
+					<option value="gnome-full">gnome-full</option>
+					<option value="gnome-junior">gnome-junior</option>
+					<option value="gnustep">gnustep</option>
+					<option value="kde">kde</option>
+					<option value="kde-core">kde-core</option>
+					<option value="kde-extra">kde-extra</option>
+					<option value="kde-full">kde-full</option>
+					<option value="kde-junior">kde-junior</option>
+					<option value="lxde">lxde</option>
+					<option value="minimal">minimal</option>
+					<option value="rescue">rescue</option>
+					<option selected value="standard">standard</option>
+					<option value="standard-x11">standard-x11</option>
+					<option value="studio">studio</option>
+					<option value="studio-gnome">studio-gnome</option>
+					<option value="studio-kde">studio-kde</option>
+					<option value="studio-xfce">studio-xfce</option>
+					<option value="xfce">xfce</option>
+					<option value="xfce-junior">xfce-junior</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Packages">--packages:</label> </td>
+			<td><input id="Packages" name="packages" maxlength="256" size="50" type="text" /></td>
+		</tr>
+	</table>
+</div>
+
+<span id="click_2" onmouseover='javascript:objectOver(this)' onmouseout='javascript:objectOut(this)' onclick='javascript:collapse(2,"<b>Advanced bootstrap options</b>")'>
+	<b>Advanced bootstrap options</b><small>&nbsp;(click to expand)</small>
+	<br />
+</span>
+
+<div id="text_2" style='margin-left:0;display:none'>
+	<table>
+		<tr>
+			<td><label for="Architecture">--architecture:</label> </td>
+			<td>
+				<select id="Architecture" name="architecture" size="1">
+					<option selected value="i386">i386</option>
+				</select>
+			</td>
+		</tr>
+		<!-- LIVE_DISTRIBUTION -->
+		<!-- LIVE_DISTRIBUTION_CONFIG -->
+		<tr>
+			<td><label for="Bootstrap_Flavour">--bootstrap-flavour:</label> </td>
+			<td>
+				<select id="Bootstrap_Flavour" name="bootstrap_flavour" size="1">
+					<option value="minimal">minimal</option>
+					<option selected value="standard">standard</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Mirror_Bootstrap">--mirror-bootstrap:</label> </td>
+			<td><input id="Mirror_Bootstrap" name="mirror_bootstrap" maxlength="256" size="50" type="text" value="LH_MIRROR_BOOTSTRAP" readonly /></td>
+		</tr>
+		<tr>
+			<td><label for="Mirror_Binary">--mirror-binary:</label> </td>
+			<td><input id="Mirror_Binary" name="mirror_binary" maxlength="256" size="50" type="text" value="LH_MIRROR_BINARY" readonly /></td>
+		</tr>
+		<tr>
+			<td><label for="Mirror_Binary_Security">--mirror-binary-security:</label> </td>
+			<td><input id="Mirror_Binary_Security" name="mirror_binary_security" maxlength="256" size="50" type="text" value="LH_MIRROR_BINARY_SECURITY" readonly /></td>
+		</tr>
+		<tr>
+			<td><label for="Archive_Areas">--archive-areas:</label> </td>
+			<td><input id="Archive_Areas" name="archive_areas" maxlength="128" size="50" type="text" value="main" readonly /></td>
+		</tr>
+	</table>
+</div>
+
+<span id="click_3" onmouseover='javascript:objectOver(this)' onmouseout='javascript:objectOut(this)' onclick='javascript:collapse(3,"<b>Advanced chroot options</b>")'>
+	<b>Advanced chroot options</b><small>&nbsp;(click to expand)</small>
+	<br />
+</span>
+
+<div id="text_3" style='margin-left:0;display:none'>
+	<table>
+		<tr>
+			<td><label for="Chroot_Filesystem">--chroot-filesystem:</label> </td>
+			<td>
+				<select id="Chroot_Filesystem" name="chroot_filesystem" size="1">
+					<option value="ext2">ext2</option>
+					<option value="plain">plain</option>
+					<option selected value="squashfs">squashfs</option>
+				</select>
+			</td>
+		</tr>
+		<!-- LIVE_HOOKS -->
+		<!-- LIVE_INTERACTIVE -->
+		<!-- LIVE_KEYRING_PACKAGES -->
+		<!-- LIVE_LANGUAGE -->
+		<tr>
+			<td><label for="Linux_Flavours">--linux-flavours:</label> </td>
+			<td>
+				<select id="Linux_Flavours" name="linux_flavours" size="1">
+					<option selected value="486">486</option>
+					<option value="686">686</option>
+					<option value="686-bigmem">686-bigmem</option>
+					<option value="amd64">amd64</option>
+					<option value="k7">k7</option>
+					<option value="vserver-686">vserver-686</option>
+					<option value="vserver-k7">vserver-k7</option>
+					<option value="xen-686">xen-686</option>
+				</select>
+			</td>
+		</tr>
+		<!-- LIVE_LINUX_PACKAGES -->
+		<!-- LIVE_PACKAGES -->
+		<!-- LIVE_PACKAGES_LISTS -->
+		<!-- LIVE_TASKS -->
+		<tr>
+			<td><label for="Security">--security:</label> </td>
+			<td>
+				<select id="Security" name="security" size="1">
+					<option selected value="true">true</option>
+					<option value="false">false</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Symlinks">--symlinks:</label> </td>
+			<td>
+				<select id="Symlinks" name="symlinks" size="1">
+					<option value="true">true</option>
+					<option selected value="false">false</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Sysvinit">--sysvinit:</label> </td>
+			<td>
+				<select id="Sysvinit" name="sysvinit" size="1">
+					<option value="true">true</option>
+					<option selected value="false">false</option>
+				</select>
+			</td>
+		</tr>
+	</table>
+</div>
+
+<span id="click_4" onmouseover='javascript:objectOver(this)' onmouseout='javascript:objectOut(this)' onclick='javascript:collapse(4,"<b>Advanced binary options</b>")'>
+	<b>Advanced binary options</b><small>&nbsp;(click to expand)</small>
+	<br />
+</span>
+
+<div id="text_4" style='margin-left:0;display:none'>
+	<table>
+		<!-- LIVE_BINARY_IMAGES -->
+		<tr>
+			<td><label for="Binary_Indices">--binary-indices:</label> </td>
+			<td>
+				<select id="Binary_Indices" name="binary_indices" size="1">
+					<option selected value="true">true</option>
+					<option value="false">false</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Bootappend">--bootappend:</label> </td>
+			<td><input id="Bootappend" name="bootappend" maxlength="256" size="50" type="text" value="" /></td>
+		</tr>
+		<tr>
+			<td><label for="Bootloader">--bootloader:</label> </td>
+			<td>
+				<select id="Bootloader" name="bootloader" size="1">
+					<option value="grub">grub</option>
+					<option selected value="syslinux">syslinux</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Debian_Installer">--debian-installer:</label> </td>
+			<td>
+				<select id="Debian_Installer" name="debian_installer" size="1">
+					<option value="true">true</option>
+					<option selected value="false">false</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Encryption">--encryption:</label> </td>
+			<td>
+				<select id="Encryption" name="encryption" size="1">
+					<option selected value="">none</option>
+					<option value="AES128">AES128</option>
+					<option value="AES192">AES192</option>
+					<option value="AES256">AES256</option>
+				</select>
+			</td>
+		</tr>
+		<!-- LIVE_GRUB_SPLASH -->
+		<tr>
+			<td><label for="Hostname">--hostname:</label> </td>
+			<td><input id="Hostname" name="hostname" maxlength="128" size="50" type="text" value="debian" /></td>
+		</tr>
+		<tr>
+			<td><label for="Iso_Application">--iso-application:</label> </td>
+			<td><input id="Iso_Application" name="iso_application" maxlength="128" size="50" type="text" value="Debian Live" /></td>
+		</tr>
+		<tr>
+			<td><label for="Iso_Preparer">--iso-preparer:</label> </td>
+			<td><input id="Iso_Preparer" name="iso_preparer" maxlength="128" size="50" type="text" value="live-helper; http://packages.qa.debian.org/live-helper" /></td>
+		</tr>
+		<tr>
+			<td><label for="Iso_Publisher">--iso-publisher:</label> </td>
+			<td><input id="Iso_Publisher" name="iso_publisher" maxlength="128" size="50" type="text" value="Debian Live project; http://live.debian.net/; debian-live at lists.debian.org" /></td>
+		</tr>
+		<tr>
+			<td><label for="Iso_Volume">--iso-volume:</label> </td>
+			<td><input id="Iso_Volume" name="iso_volume" maxlength="128" size="50" type="text" value="Debian Live DATE" /></td>
+		</tr>
+		<tr>
+			<td><label for="Memtest">--memtest:</label> </td>
+			<td>
+				<select id="Memtest" name="memtest" size="1">
+					<option value="memtest86">memtest86</option>
+					<option selected value="memtest86+">memtest86+</option>
+					<option value="none">none</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Net_Path">--net-path:</label> </td>
+			<td><input id="Net_Path" name="net_path" maxlength="256" size="50" type="text" value="/srv/debian-live" /></td>
+		</tr>
+		<tr>
+			<td><label for="Net_Server">--net-server:</label> </td>
+			<td><input id="Net_Server" name="net_server" maxlength="15" size="50" type="text" value="192.168.1.1" /></td>
+		</tr>
+		<!-- LIVE_SYSLINUX_SPLASH -->
+		<tr>
+			<td><label for="Username">--username:</label> </td>
+			<td><input id="Username" name="username" maxlength="128" size="50" type="text" value="user" /></td>
+		</tr>
+	</table>
+</div>
+
+<span id="click_5" onmouseover='javascript:objectOver(this)' onmouseout='javascript:objectOut(this)' onclick='javascript:collapse(5,"<b>Advanced source options</b>")'>
+	<b>Advanced source options</b><small>&nbsp;(click to expand)</small>
+	<br />
+</span>
+
+<div id="text_5" style='margin-left:0;display:none'>
+	<table>
+		<tr>
+			<td><label for="Source">--source:</label> </td>
+			<td>
+				<select id="Source" name="source" size="1">
+					<option value="true">true</option>
+					<option selected value="false">false</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Source_Images">--source-images:</label> </td>
+			<td>
+				<select id="Source_Images" name="source_images" size="1">
+					<option value="iso">iso</option>
+					<option value="net">net</option>
+					<option selected value="tar">tar</option>
+					<option value="usb-hdd">usb-hdd</option>
+				</select>
+			</td>
+		</tr>
+	</table>
+</div>
+
+</fieldset>
+
+<br />
+
+<input type="reset" value="Reset" />
+&nbsp;
+<input type="submit" value="Submit" />
+
+</form>
diff --git a/templates/cgi/debian-official/header.html b/templates/cgi/debian-official/header.html
new file mode 100644
index 0000000..d90ddc9
--- /dev/null
+++ b/templates/cgi/debian-official/header.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html>
+	<head>
+		<title>Debian Live Helper</title>
+		<link rel="icon" href="http://live.debian.net/favicon.ico" type="image/ico">
+		<link rel="stylesheet" type="text/css" href="http://live.debian.net/stylesheet.css" />
+		<meta http-equiv="content-type" content="text/html; charset=iso-8859-15">
+		<meta name="keywords" content="Debian, Live, Project">
+		<meta name="description" content="The Debian Live Project">
+
+		<style type="text/css">
+			label { cursor:pointer; }
+		</style>
+
+		<script type="text/javascript" language="JavaScript">
+			function collapse(x, txt)
+			{
+				var oTemp=document.getElementById("text_"+x);
+				var oClick=document.getElementById("click_"+x);
+				if (oTemp.style.display=="block")
+				{
+					oTemp.style.display="none";
+					oClick.innerHTML=txt+"&nbsp<small>(click to expand)<\/small><br \/>";
+				}
+				else
+				{
+					oTemp.style.display="block";
+					oClick.innerHTML=txt+"&nbsp<small>(click to collapse)<\/small><br \/>";
+				}
+			}
+		</script>
+	</head>
+<body>
+
+<div id="maincontent" style="margin: 0 0 0 0;">
+	<h1 id="title">live-helper web-frontend of the <a href="http://live.debian.net/">Debian Live Project</a></h1>
+	<h2 id="subtitle"><a href="http://live.debian.net/">Live Debian systems!</a></h2>
+</div>
diff --git a/templates/cgi/debian-official/mail.txt b/templates/cgi/debian-official/mail.txt
new file mode 100644
index 0000000..5be98b2
--- /dev/null
+++ b/templates/cgi/debian-official/mail.txt
@@ -0,0 +1,16 @@
+Subject: Debian Live, live-helper web-frontend - Build BUILD
+From: Debian Live live-helper web-frontend <debian-live at lists.debian.org>
+To: EMAIL
+
+Hi,
+
+This is live-helper web-frontend of the Debian Live project <http://live.debian.net/>.
+
+Your build BUILD was started DATE_START and ended DATE_END with status 'STATUS'.
+
+You can see the log file and download the images from <SERVER/BUILD/>.
+
+Note that builds are removed after 24 hours.
+
+Have fun,
+The Debian Live Team
diff --git a/templates/cgi/debian-unofficial/build.html b/templates/cgi/debian-unofficial/build.html
new file mode 100644
index 0000000..d54db04
--- /dev/null
+++ b/templates/cgi/debian-unofficial/build.html
@@ -0,0 +1,79 @@
+<br />
+
+<h3>Your build 'BUILD' was recorded and will processed soon. Depending on the options you have selected, the build takes about between 5 and 20 minutes. You will be notified by email when the attempt has completed.</h3>
+
+<h3>Your build will be available at: <a href="SERVER/BUILD/">SERVER/BUILD/</a>.</h3>
+
+<fieldset>
+
+<legend><b>Options</b></legend>
+
+<b>Standard options</b>
+
+<table>
+	<tr><td>Email: </td><td>EMAIL</td></tr>
+	<tr><td>--binary-image: </td><td>LH_BINARY_IMAGES</td></tr>
+	<tr><td>--distribution: </td><td>LH_DISTRIBUTION</td></tr>
+	<tr><td>--packages-lists: </td><td>LH_PACKAGES_LISTS</td></tr>
+	<tr><td>--packages: </td><td>LH_PACKAGES</td><tr>
+</table>
+
+<b>Advanced bootstrap options</b>
+
+<table>
+	<tr><td>--architecture: </td><td>LH_ARCHITECTURE</td></tr>
+	<tr><td>--bootstrap-flavour: </td><td>LH_BOOTSTRAP_FLAVOUR</td></tr>
+	<tr><td>--mirror-bootstrap: </td><td>LH_MIRROR_BOOTSTRAP</td></tr>
+	<tr><td>--mirror-binary: </td><td>LH_MIRROR_BINARY</td></tr>
+	<tr><td>--mirror-binary-security: </td><td>LH_MIRROR_BINARY_SECURITY</td></tr>
+	<tr><td>--archive-areas: </td><td>LH_ARCHIVE_AREAS</td></tr>
+</table>
+
+<b>Advanced chroot options</b>
+
+<table>
+	<tr><td>--chroot-fileystem: </td><td>LH_CHROOT_FILESYSTEM</td></tr>
+	<tr><td>--linux-flavours: </td><td>LH_LINUX_FLAVOURS</td></tr>
+	<tr><td>--security: </td><td>LH_SECURITY</td></tr>
+	<tr><td>--symlinks: </td><td>LH_SYMLINKS</td></tr>
+	<tr><td>--sysvinit: </td><td>LH_SYSVINIT</td></tr>
+</table>
+
+<b>Advanced binary options</b>
+
+<table>
+	<tr><td>--binary-indices: </td><td>LH_BINARY_INDICES</td></tr>
+	<tr><td>--bootappend: </td><td>LH_BOOTAPPEND</td></tr>
+	<tr><td>--bootloader: </td><td>LH_BOOTLOADER</td></tr>
+	<tr><td>--debian-installer: </td><td>LH_DEBIAN_INSTALLER</td></tr>
+	<tr><td>--encryption: </td><td>LH_ENCRYPTION</td></tr>
+	<tr><td>--hostname: </td><td>LH_HOSTNAME</td></tr>
+	<tr><td>--iso-application: </td><td>LH_ISO_APPLICATION</td></tr>
+	<tr><td>--iso-preparer: </td><td>LH_ISO_PREPARER</td></tr>
+	<tr><td>--iso-publisher: </td><td>LH_ISO_PUBLISHER</td></tr>
+	<tr><td>--iso-volume: </td><td>LH_ISO_VOLUME</td></tr>
+	<tr><td>--memtest: </td><td>LH_MEMTEST</td></tr>
+	<tr><td>--net-path: </td><td>LH_NET_ROOT_PATH</td></tr>
+	<tr><td>--net-server: </td><td>LH_NET_ROOT_SERVER</td></tr>
+	<tr><td>--username: </td><td>username</td></tr>
+</table>
+
+<b>Advanced source options</b>
+
+<table>
+	<tr><td>--source: </td><td>LH_SOURCE</td></tr>
+	<tr><td>--source-images: </td><td>LH_SOURCE_IMAGES</td></tr>
+</table>
+
+<b>Unofficial options</b>
+
+<table>
+	<tr><td>custom.bootstrap: </td><td>CUSTOM_BOOTSTRAP</td></tr>
+	<tr><td>custom.binary: </td><td>CUSTOM_BINARY</td></tr>
+</table>
+
+</fieldset>
+
+<br />
+
+<h2>Thank you for your submission.</h2>
diff --git a/templates/cgi/debian-unofficial/footer.html b/templates/cgi/debian-unofficial/footer.html
new file mode 100644
index 0000000..6e2648a
--- /dev/null
+++ b/templates/cgi/debian-unofficial/footer.html
@@ -0,0 +1,8 @@
+<div id="footer">
+	<br />
+	<h2 id="subtitle">Debian Live Project <a href="mailto:debian-live at lists.debian.org">&lt;debian-live at lists.debian.org&gt;</a> &mdash; <a href="http://live.debian.net/legal.html">Legal information</a></h2>
+	<br />
+</div>
+
+</body>
+</html>
diff --git a/templates/cgi/debian-unofficial/form.html b/templates/cgi/debian-unofficial/form.html
new file mode 100644
index 0000000..d9621b6
--- /dev/null
+++ b/templates/cgi/debian-unofficial/form.html
@@ -0,0 +1,354 @@
+<h3>Submit your parameters (<b>working</b> email address is required) to generate your very own Debian Live system.</h3>
+
+<form action="live-helper" method="get">
+
+<fieldset>
+
+<legend><b>Options</b></legend>
+
+<table>
+	<tr>
+		<td><label for="Email">Email Address:</label> </td>
+		<td><input id="Email" name="email" maxlength="50" size="50" type="text" /></td>
+	</tr>
+</table>
+
+<span id="click_1" onmouseover='javascript:objectOver(this)' onmouseout='javascript:objectOut(this)' onclick='javascript:collapse(1,"<b>Standard options</b>")'>
+	<b>Standard options</b><small>&nbsp;(click to collapse)</small>
+	<br />
+</span>
+
+<div id="text_1" style='margin-left:0;display:block'>
+	<table>
+		<tr>
+			<td><label for="Binary_Images">--binary-images:</label> </td>
+			<td>
+				<select id="Binary_Images" name="binary_images" size="1">
+					<option selected value="iso">iso</option>
+					<option value="net">net</option>
+					<option value="tar">tar</option>
+					<option value="usb-hdd">usb-hdd</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Distribution">--distribution:</label> </td>
+			<td>
+				<select id="Distribution" name="distribution" size="1">
+					<option selected value="lenny">lenny</option>
+					<option value="squeeze">squeeze</option>
+					<option value="sid">sid</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Packages_Lists">--packages-lists:</label> </td>
+			<td>
+				<select id="Packages_Lists" name="packages_lists" size="1" >
+					<option value="debian-forensics">debian-forensics</option>
+					<option value="debian-junior">debian-junior</option>
+					<option value="debian-live">debian-live</option>
+					<option value="debian-science">debian-science</option>
+					<option value="gnome">gnome</option>
+					<option value="gnome-core">gnome-core</option>
+					<option value="gnome-full">gnome-full</option>
+					<option value="gnome-junior">gnome-junior</option>
+					<option value="gnustep">gnustep</option>
+					<option value="kde">kde</option>
+					<option value="kde-core">kde-core</option>
+					<option value="kde-extra">kde-extra</option>
+					<option value="kde-full">kde-full</option>
+					<option value="kde-junior">kde-junior</option>
+					<option value="lxde">lxde</option>
+					<option value="minimal">minimal</option>
+					<option value="rescue">rescue</option>
+					<option selected value="standard">standard</option>
+					<option value="standard-x11">standard-x11</option>
+					<option value="studio">studio</option>
+					<option value="studio-gnome">studio-gnome</option>
+					<option value="studio-kde">studio-kde</option>
+					<option value="studio-xfce">studio-xfce</option>
+					<option value="xfce">xfce</option>
+					<option value="xfce-junior">xfce-junior</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Packages">--packages:</label> </td>
+			<td><input id="Packages" name="packages" maxlength="256" size="50" type="text" /></td>
+		</tr>
+	</table>
+</div>
+
+<span id="click_2" onmouseover='javascript:objectOver(this)' onmouseout='javascript:objectOut(this)' onclick='javascript:collapse(2,"<b>Advanced bootstrap options</b>")'>
+	<b>Advanced bootstrap options</b><small>&nbsp;(click to expand)</small>
+	<br />
+</span>
+
+<div id="text_2" style='margin-left:0;display:none'>
+	<table>
+		<tr>
+			<td><label for="Architecture">--architecture:</label> </td>
+			<td>
+				<select id="Architecture" name="architecture" size="1">
+					<option selected value="i386">i386</option>
+				</select>
+			</td>
+		</tr>
+		<!-- LIVE_DISTRIBUTION -->
+		<!-- LIVE_DISTRIBUTION_CONFIG -->
+		<tr>
+			<td><label for="Bootstrap_Flavour">--bootstrap-flavour:</label> </td>
+			<td>
+				<select id="Bootstrap_Flavour" name="bootstrap_flavour" size="1">
+					<option value="minimal">minimal</option>
+					<option selected value="standard">standard</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Mirror_Bootstrap">--mirror-bootstrap:</label> </td>
+			<td><input id="Mirror_Bootstrap" name="mirror_bootstrap" maxlength="256" size="50" type="text" value="LH_MIRROR_BOOTSTRAP" readonly /></td>
+		</tr>
+		<tr>
+			<td><label for="Mirror_Binary">--mirror-binary:</label> </td>
+			<td><input id="Mirror_Binary" name="mirror_binary" maxlength="256" size="50" type="text" value="LH_MIRROR_BINARY" readonly /></td>
+		</tr>
+		<tr>
+			<td><label for="Mirror_Binary_Security">--mirror-binary-security:</label> </td>
+			<td><input id="Mirror_Binary_Security" name="mirror_binary_security" maxlength="256" size="50" type="text" value="LH_MIRROR_BINARY_SECURITY" readonly /></td>
+		</tr>
+		<tr>
+			<td><label for="Archive_Areas">--archive-areas:</label> </td>
+			<td><input id="Archive_Areas" name="archive_areas" maxlength="128" size="50" type="text" value="main" readonly /></td>
+		</tr>
+	</table>
+</div>
+
+<span id="click_3" onmouseover='javascript:objectOver(this)' onmouseout='javascript:objectOut(this)' onclick='javascript:collapse(3,"<b>Advanced chroot options</b>")'>
+	<b>Advanced chroot options</b><small>&nbsp;(click to expand)</small>
+	<br />
+</span>
+
+<div id="text_3" style='margin-left:0;display:none'>
+	<table>
+		<tr>
+			<td><label for="Chroot_Filesystem">--chroot-filesystem:</label> </td>
+			<td>
+				<select id="Chroot_Filesystem" name="chroot_filesystem" size="1">
+					<option value="ext2">ext2</option>
+					<option value="plain">plain</option>
+					<option selected value="squashfs">squashfs</option>
+				</select>
+			</td>
+		</tr>
+		<!-- LIVE_HOOKS -->
+		<!-- LIVE_INTERACTIVE -->
+		<!-- LIVE_KEYRING_PACKAGES -->
+		<!-- LIVE_LANGUAGE -->
+		<tr>
+			<td><label for="Linux_Flavours">--linux-flavours:</label> </td>
+			<td>
+				<select id="Linux_Flavours" name="linux_flavours" size="1">
+					<option selected value="486">486</option>
+					<option value="686">686</option>
+					<option value="686-bigmem">686-bigmem</option>
+					<option value="amd64">amd64</option>
+					<option value="k7">k7</option>
+					<option value="vserver-686">vserver-686</option>
+					<option value="vserver-k7">vserver-k7</option>
+					<option value="xen-686">xen-686</option>
+				</select>
+			</td>
+		</tr>
+		<!-- LIVE_LINUX_PACKAGES -->
+		<!-- LIVE_PACKAGES -->
+		<!-- LIVE_PACKAGES_LISTS -->
+		<!-- LIVE_TASKS -->
+		<tr>
+			<td><label for="Security">--security:</label> </td>
+			<td>
+				<select id="Security" name="security" size="1">
+					<option selected value="true">true</option>
+					<option value="false">false</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Symlinks">--symlinks:</label> </td>
+			<td>
+				<select id="Symlinks" name="symlinks" size="1">
+					<option value="true">true</option>
+					<option selected value="false">false</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Sysvinit">--sysvinit:</label> </td>
+			<td>
+				<select id="Sysvinit" name="sysvinit" size="1">
+					<option value="true">true</option>
+					<option selected value="false">false</option>
+				</select>
+			</td>
+		</tr>
+	</table>
+</div>
+
+<span id="click_4" onmouseover='javascript:objectOver(this)' onmouseout='javascript:objectOut(this)' onclick='javascript:collapse(4,"<b>Advanced binary options</b>")'>
+	<b>Advanced binary options</b><small>&nbsp;(click to expand)</small>
+	<br />
+</span>
+
+<div id="text_4" style='margin-left:0;display:none'>
+	<table>
+		<!-- LIVE_BINARY_IMAGES -->
+		<tr>
+			<td><label for="Binary_Indices">--binary-indices:</label> </td>
+			<td>
+				<select id="Binary_Indices" name="binary_indices" size="1">
+					<option selected value="true">true</option>
+					<option value="false">false</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Bootappend">--bootappend:</label> </td>
+			<td><input id="Bootappend" name="bootappend" maxlength="256" size="50" type="text" value="" /></td>
+		</tr>
+		<tr>
+			<td><label for="Bootloader">--bootloader:</label> </td>
+			<td>
+				<select id="Bootloader" name="bootloader" size="1">
+					<option value="grub">grub</option>
+					<option selected value="syslinux">syslinux</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Debian_Installer">--debian-installer:</label> </td>
+			<td>
+				<select id="Debian_Installer" name="debian_installer" size="1">
+					<option value="true">true</option>
+					<option selected value="false">false</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Encryption">--encryption:</label> </td>
+			<td>
+				<select id="Encryption" name="encryption" size="1">
+					<option selected value="">none</option>
+					<option value="AES128">AES128</option>
+					<option value="AES192">AES192</option>
+					<option value="AES256">AES256</option>
+				</select>
+			</td>
+		</tr>
+		<!-- LIVE_GRUB_SPLASH -->
+		<tr>
+			<td><label for="Hostname">--hostname:</label> </td>
+			<td><input id="Hostname" name="hostname" maxlength="128" size="50" type="text" value="debian" /></td>
+		</tr>
+		<tr>
+			<td><label for="Iso_Application">--iso-application:</label> </td>
+			<td><input id="Iso_Application" name="iso_application" maxlength="128" size="50" type="text" value="Debian Live" /></td>
+		</tr>
+		<tr>
+			<td><label for="Iso_Preparer">--iso-preparer:</label> </td>
+			<td><input id="Iso_Preparer" name="iso_preparer" maxlength="128" size="50" type="text" value="live-helper; http://packages.qa.debian.org/live-helper" /></td>
+		</tr>
+		<tr>
+			<td><label for="Iso_Publisher">--iso-publisher:</label> </td>
+			<td><input id="Iso_Publisher" name="iso_publisher" maxlength="128" size="50" type="text" value="Debian Live project; http://live.debian.net/; debian-live at lists.debian.org" /></td>
+		</tr>
+		<tr>
+			<td><label for="Iso_Volume">--iso-volume:</label> </td>
+			<td><input id="Iso_Volume" name="iso_volume" maxlength="128" size="50" type="text" value="Debian Live DATE" /></td>
+		</tr>
+		<tr>
+			<td><label for="Memtest">--memtest:</label> </td>
+			<td>
+				<select id="Memtest" name="memtest" size="1">
+					<option value="memtest86">memtest86</option>
+					<option selected value="memtest86+">memtest86+</option>
+					<option value="none">none</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Net_Path">--net-path:</label> </td>
+			<td><input id="Net_Path" name="net_path" maxlength="256" size="50" type="text" value="/srv/debian-live" /></td>
+		</tr>
+		<tr>
+			<td><label for="Net_Server">--net-server:</label> </td>
+			<td><input id="Net_Server" name="net_server" maxlength="15" size="50" type="text" value="192.168.1.1" /></td>
+		</tr>
+		<!-- LIVE_SYSLINUX_SPLASH -->
+		<tr>
+			<td><label for="Username">--username:</label> </td>
+			<td><input id="Username" name="username" maxlength="128" size="50" type="text" value="user" /></td>
+		</tr>
+	</table>
+</div>
+
+<span id="click_5" onmouseover='javascript:objectOver(this)' onmouseout='javascript:objectOut(this)' onclick='javascript:collapse(5,"<b>Advanced source options</b>")'>
+	<b>Advanced source options</b><small>&nbsp;(click to expand)</small>
+	<br />
+</span>
+
+<div id="text_5" style='margin-left:0;display:none'>
+	<table>
+		<tr>
+			<td><label for="Source">--source:</label> </td>
+			<td>
+				<select id="Source" name="source" size="1">
+					<option value="true">true</option>
+					<option selected value="false">false</option>
+				</select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="Source_Images">--source-images:</label> </td>
+			<td>
+				<select id="Source_Images" name="source_images" size="1">
+					<option value="iso">iso</option>
+					<option value="net">net</option>
+					<option selected value="tar">tar</option>
+					<option value="usb-hdd">usb-hdd</option>
+				</select>
+			</td>
+		</tr>
+	</table>
+</div>
+
+<span id="click_6" onmouseover='javascript:objectOver(this)' onmouseout='javascript:objectOut(this)' onclick='javascript:collapse(6,"<b>Unofficial options</b>")'>
+	<b>Unofficial options</b><small>&nbsp;(click to expand)</small>
+	<br />
+</span>
+
+<div id="text_6" style='margin-left:0;display:none'>
+	<li> With custom.bootstrap the repository will be available at build time, so you just have to list the packages you want in packages. See "Standard options" above.</li>
+	<li> With custom.binary the repository will be added to your live-system's /etc/apt/sources.list .</li>
+	<li> Example custom.{bootstrap,binary}: deb http://live.debian.net/debian/ etch main</li>
+	<table>
+		<tr>
+			<td><label for="Custom_Bootstrap">custom.bootstrap:</label> </td>
+			<td><input id="Custom_Bootstrap" name="custom_bootstrap" maxlength="128" size="50" type="text" /></td>
+		</tr>
+		<tr>
+			<td><label for="Custom_Binary">custom.binary:</label> </td>
+			<td><input id="Custom_Binary" name="custom_binary" maxlength="128" size="50" type="text" /></td>
+		</tr>
+	</table>
+</div>
+
+</fieldset>
+
+<br />
+
+<input type="reset" value="Reset" />
+&nbsp;
+<input type="submit" value="Submit" />
+
+</form>
diff --git a/templates/cgi/debian-unofficial/header.html b/templates/cgi/debian-unofficial/header.html
new file mode 100644
index 0000000..d90ddc9
--- /dev/null
+++ b/templates/cgi/debian-unofficial/header.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html>
+	<head>
+		<title>Debian Live Helper</title>
+		<link rel="icon" href="http://live.debian.net/favicon.ico" type="image/ico">
+		<link rel="stylesheet" type="text/css" href="http://live.debian.net/stylesheet.css" />
+		<meta http-equiv="content-type" content="text/html; charset=iso-8859-15">
+		<meta name="keywords" content="Debian, Live, Project">
+		<meta name="description" content="The Debian Live Project">
+
+		<style type="text/css">
+			label { cursor:pointer; }
+		</style>
+
+		<script type="text/javascript" language="JavaScript">
+			function collapse(x, txt)
+			{
+				var oTemp=document.getElementById("text_"+x);
+				var oClick=document.getElementById("click_"+x);
+				if (oTemp.style.display=="block")
+				{
+					oTemp.style.display="none";
+					oClick.innerHTML=txt+"&nbsp<small>(click to expand)<\/small><br \/>";
+				}
+				else
+				{
+					oTemp.style.display="block";
+					oClick.innerHTML=txt+"&nbsp<small>(click to collapse)<\/small><br \/>";
+				}
+			}
+		</script>
+	</head>
+<body>
+
+<div id="maincontent" style="margin: 0 0 0 0;">
+	<h1 id="title">live-helper web-frontend of the <a href="http://live.debian.net/">Debian Live Project</a></h1>
+	<h2 id="subtitle"><a href="http://live.debian.net/">Live Debian systems!</a></h2>
+</div>
diff --git a/templates/cgi/debian-unofficial/mail.txt b/templates/cgi/debian-unofficial/mail.txt
new file mode 100644
index 0000000..5be98b2
--- /dev/null
+++ b/templates/cgi/debian-unofficial/mail.txt
@@ -0,0 +1,16 @@
+Subject: Debian Live, live-helper web-frontend - Build BUILD
+From: Debian Live live-helper web-frontend <debian-live at lists.debian.org>
+To: EMAIL
+
+Hi,
+
+This is live-helper web-frontend of the Debian Live project <http://live.debian.net/>.
+
+Your build BUILD was started DATE_START and ended DATE_END with status 'STATUS'.
+
+You can see the log file and download the images from <SERVER/BUILD/>.
+
+Note that builds are removed after 24 hours.
+
+Have fun,
+The Debian Live Team
diff --git a/templates/syslinux/ca/f10.txt b/templates/syslinux/ca/f10.txt
index 4b425df..7836c18 100644
--- a/templates/syslinux/ca/f10.txt
+++ b/templates/syslinux/ca/f10.txt
@@ -1,6 +1,6 @@
 0fCOPYRIGHTS I GARANTIES07                                                       09F1007
 
-Debian GNU/Linux t‚ Copyright (C) 1993-2009 de Software in the Public Interest,
+Debian GNU/Linux t‚ Copyright (C) 1993-2010 de Software in the Public Interest,
 i altres.
 
 El sistema Debian GNU/Linux ‚s pot redistribuir lliurement. DesprŠs de la 
diff --git a/templates/syslinux/en/f10.txt b/templates/syslinux/en/f10.txt
index 71efdf1..9f8e481 100644
--- a/templates/syslinux/en/f10.txt
+++ b/templates/syslinux/en/f10.txt
@@ -1,6 +1,6 @@
 0fCOPYRIGHTS AND WARRANTIES07                                                    09F1007
 
-Debian GNU/Linux is Copyright (C) 1993-2009 Software in the Public Interest,
+Debian GNU/Linux is Copyright (C) 1993-2010 Software in the Public Interest,
 and others.
 
 The Debian GNU/Linux system is freely redistributable. After installation,
diff --git a/templates/syslinux/es/f10.txt b/templates/syslinux/es/f10.txt
index 0e5d60e..c70ba98 100644
--- a/templates/syslinux/es/f10.txt
+++ b/templates/syslinux/es/f10.txt
@@ -1,6 +1,6 @@
 0fCOPYRIGHTS Y GARANT¡AS07                                                       09F1007
 
-Debian GNU/Linux es Copyright (C) 1993-2009 de Software in the Public Interest,
+Debian GNU/Linux es Copyright (C) 1993-2010 de Software in the Public Interest,
 y otros.
 
 El sistema Debian GNU/Linux es libremente redistribuible. Despu‚s de la 
diff --git a/templates/syslinux/menu/splash.png b/templates/syslinux/menu/splash.png
index 75f1a3c..dd97dd0 100644
Binary files a/templates/syslinux/menu/splash.png and b/templates/syslinux/menu/splash.png differ

-- 
live-helper



More information about the debian-live-changes mailing list