[SCM] live-helper branch, upstream, updated. upstream/2.0_a6-2-g1fb6e61

Daniel Baumann daniel at debian.org
Sun Feb 21 13:48:58 UTC 2010


The following commit has been merged in the upstream branch:
commit 1fb6e61cba8c1ebd4d7162222883254392de46bf
Author: Daniel Baumann <daniel at debian.org>
Date:   Sun Feb 21 14:44:02 2010 +0100

    Adding upstream version 2.0~a8.

diff --git a/examples/cron/images.sh b/examples/cron/images.sh
index 9bd85b4..b875e86 100755
--- a/examples/cron/images.sh
+++ b/examples/cron/images.sh
@@ -1,4 +1,6 @@
-#!/bin/sh -e
+#!/bin/sh
+
+set -e
 
 # Static variables
 DISTRIBUTIONS="${DISTRIBUTIONS:-lenny squeeze sid}"
@@ -12,75 +14,130 @@ MIRROR_SECURITY="${MIRROR_SECURITY:-http://security.debian.org/}"
 ARCHITECTURE="$(dpkg --print-architecture)"
 DATE="$(date +%Y%m%d)"
 
+Set_defaults ()
+{
+	# Distribution defaults
+	APT_RECOMMENDS="true"
+	BINARY_INDICES="true"
+	DEBIAN_INSTALLER="live"
+	DEBIAN_INSTALLER_GUI="true"
+	PACKAGES="--packages live-installer-launcher"
+	TASKSEL="tasksel"
+
+	# Distribution specific options (ugly!)
+	case "${DISTRIBUTION}" in
+		lenny)
+			APT_RECOMMENDS="false"
+			BINARY_INDICES="true"
+			DEBIAN_INSTALLER="false"
+			PACKAGES=""
+			TASKSEL="aptitude"
+
+			case "${ARCHITECTURE}" in
+				amd64)
+					case "${FLAVOUR}" in
+						gnome-desktop)
+							BINARY_INDICES="false"
+
+							mkdir -p config/chroot_local-hooks
+							cd config/chroot_local-hooks
+							echo "apt-get remove --yes --purge openoffice.org-help-en-us" > package-removals
+							echo "apt-get remove --yes --purge epiphany-browser epiphany-browser-data epiphany-extensions epiphany-gecko" >> package-removals
+							echo "apt-get remove --yes --purge gnome-user-guide" >> package-removals
+							cd -
+							;;
+
+						kde-desktop)
+							BINARY_INDICES="false"
+							;;
+					esac
+					;;
+
+				i386)
+					case "${FLAVOUR}" in
+						gnome-desktop|kde-desktop)
+							BINARY_INDICES="false"
+							KERNEL="-k 686"
+							;;
+					esac
+					;;
+			esac
+			;;
+
+		squeeze)
+			DEBIAN_INSTALLER_GUI="false"
+
+			LIVE_INSTALLER="16"
+			LIVE_INITRAMFS="1.173.3-1"
+
+			mkdir -p config/binary_local-udebs
+			cd config/binary_local-udebs
+			wget -c http://live.debian.net/archive/packages/live-installer/${LIVE_INSTALLER}/live-installer_${LIVE_INSTALLER}.dsc
+			wget -c http://live.debian.net/archive/packages/live-installer/${LIVE_INSTALLER}/live-installer_${LIVE_INSTALLER}.tar.gz
+			wget -c http://live.debian.net/archive/packages/live-installer/${LIVE_INSTALLER}/live-installer_${LIVE_INSTALLER}_i386.udeb
+			cd -
+
+			mkdir -p config/chroot_local-packages
+			cd config/chroot_local-packages
+			wget -c http://live.debian.net/archive/packages/live-installer/${LIVE_INSTALLER}/live-installer_${LIVE_INSTALLER}.dsc
+			wget -c http://live.debian.net/archive/packages/live-installer/${LIVE_INSTALLER}/live-installer_${LIVE_INSTALLER}.tar.gz
+			wget -c http://live.debian.net/archive/packages/live-installer/${LIVE_INSTALLER}/live-installer-launcher_${LIVE_INSTALLER}_all.deb
+			wget -c http://live.debian.net/archive/packages/live-initramfs/${LIVE_INITRAMFS}/live-initramfs_${LIVE_INITRAMFS}.diff.gz
+			wget -c http://live.debian.net/archive/packages/live-initramfs/${LIVE_INITRAMFS}/live-initramfs_${LIVE_INITRAMFS}.dsc
+			wget -c http://live.debian.net/archive/packages/live-initramfs/${LIVE_INITRAMFS}/live-initramfs_${LIVE_INITRAMFS}_all.deb
+			wget -c http://live.debian.net/archive/packages/live-initramfs/${LIVE_INITRAMFS}/live-initramfs_$(echo ${LIVE_INITRAMFS} | awk -F- '{ print $1 }').orig.tar.gz
+			cd -
+			;;
+		esac
+}
+
+# Build images
 for DISTRIBUTION in ${DISTRIBUTIONS}
 do
 	rm -rf cache/stages*
 
 	for FLAVOUR in ${FLAVOURS}
 	do
-		mkdir -p config
-
 		if [ -e .stage ]
 		then
 			lh clean
 		fi
 
-		rm -rf config
-		rm -rf cache/packages*
-		rm -rf cache/stages_rootfs
-
-		case "${ARCHITECTURE}" in
-			amd64)
-				case "${FLAVOUR}" in
-					gnome-desktop)
-						mkdir -p config/chroot_local-hooks
-						echo "apt-get remove --yes --purge openoffice.org-help-en-us" > config/chroot_local-hooks/package-removals
-						echo "apt-get remove --yes --purge epiphany-browser epiphany-browser-data epiphany-extensions epiphany-gecko" >> config/chroot_local-hooks/package-removals
-						echo "apt-get remove --yes --purge gnome-user-guide" >> config/chroot_local-hooks/package-removals
-
-						INDICES="none"
-						;;
-
-					kde-desktop)
-						INDICES="none"
-						;;
-				esac
-				;;
-
-			i386)
-				case "${FLAVOUR}" in
-					standard|rescue|lxde-desktop|xfce-desktop)
-						INDICES="true"
-						;;
-
-					gnome-desktop|kde-desktop)
-						KERNEL="-k 686"
-						INDICES="none"
-						;;
-				esac
-				;;
-		esac
-
-		if [ "${SOURCE}" = "true" ]
+		if [ -e config ]
 		then
-			lh config -d ${DISTRIBUTION} -p ${FLAVOUR} --cache-stages "bootstrap rootfs" --apt-recommends false --binary-indices ${INDICES} --tasksel aptitude ${KERNEL} --source true --mirror-bootstrap ${MIRROR} --mirror-chroot ${MIRROR} --mirror-chroot-security ${MIRROR_SECURITY}
-		else
-			lh config -d ${DISTRIBUTION} -p ${FLAVOUR} --cache-stages "bootstrap rootfs" --apt-recommends false --binary-indices ${INDICES} --tasksel aptitude ${KERNEL} --source false --mirror-bootstrap ${MIRROR} --mirror-chroot ${MIRROR} --mirror-chroot-security ${MIRROR_SECURITY}
+			rm -f config/* || true
+			rmdir --ignore-fail-on-non-empty config/* || true
 		fi
 
-		if [ "${DISTRIBUTION}" = "sid" ]
-		then
-			echo 'deb http://live.debian.net/ sid/snapshots main' > config/chroot_sources/debian-live_sid-snapshots.chroot
-			echo 'deb http://live.debian.net/ sid/snapshots main' > config/chroot_sources/debian-live_sid-snapshots.boot
-
-			wget http://live.debian.net/debian/project/openpgp/archive-key.asc -O config/chroot_sources/debian-live_sid-snapshots.chroot.gpg
-			wget http://live.debian.net/debian/project/openpgp/archive-key.asc -O config/chroot_sources/debian-live_sid-snapshots.binary.gpg
+		rm -rf cache/packages*
+		rm -rf cache/stages_rootfs
 
+		Set_defaults
+
+		lh config \
+			--apt-recommends ${APT_RECOMMENDS} \
+			--binary-indices ${BINARY_INDICES} \
+			--cache-stages "bootstrap rootfs" \
+			--debian-installer ${DEBIAN_INSTALLER} \
+			--debian-installer-gui ${DEBIAN_INSTALLER_GUI} \
+			--distribution ${DISTRIBUTION} \
+			--mirror-bootstrap ${MIRROR} \
+			--mirror-chroot ${MIRROR} \
+			--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 ]
+		then
+			lh config --memtest none
 		fi
 
 		lh build 2>&1 | tee debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.iso.log
 
-		mv binary.iso debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.iso
+		mv binary*.iso debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.iso
 		mv binary.list debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.iso.list
 		mv binary.packages debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.iso.packages
 
@@ -90,22 +147,27 @@ do
 			mv source.list debian-live-${DISTRIBUTION}-source-${FLAVOUR}.tar.gz.list
 		fi
 
-		lh clean --binary
-		lh config -b usb-hdd
-		lh binary 2>&1 | tee debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.img.log
+		if [ "${DISTRIBUTION}" = "lenny" ]
+		then
+			lh clean --binary
+			lh config -binary-images usb-hdd
+			lh binary 2>&1 | tee debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.img.log
+
+			mv binary.img debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.img
+			mv binary.list debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.img.list
+			mv binary.packages debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.img.packages
+		fi
 
-		mv binary.img debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.img
-		mv binary.list debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.img.list
-		mv binary.packages debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.img.packages
+		lh clean
+		rm -rf cache/stages_rootfs
+		lh config --binary-images net
 
-		lh clean --binary
-		lh config -b net
-		lh binary 2>&1 | tee debian-live-${DISTRIBUTION}-i386-${FLAVOUR}-net.tar.gz.log
+		lh build 2>&1 | tee debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}-net.tar.gz.log
 
-		mv binary-net.tar.gz debian-live-${DISTRIBUTION}-i386-${FLAVOUR}-net.tar.gz
-		mv binary.list debian-live-${DISTRIBUTION}-i386-${FLAVOUR}-net.tar.gz.list
-		mv binary.packages debian-live-${DISTRIBUTION}-i386-${FLAVOUR}-net.tar.gz.packages
+		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/*/filesystem.squashfs debian-live-${DISTRIBUTION}-i386-${FLAVOUR}.squashfs
+		mv binary/*/filesystem.squashfs debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.squashfs
 	done
 done
diff --git a/examples/sources/debian-live_sid-snapshots.gpg b/examples/sources/debian-live_sid-snapshots.gpg
index 004fe90..e817812 100644
--- a/examples/sources/debian-live_sid-snapshots.gpg
+++ b/examples/sources/debian-live_sid-snapshots.gpg
@@ -1,32 +1,20 @@
 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
-mQINBEqdKDABEADBLagcqCJZea/V62l/ow6qo0gjmMOSiF8oi5HJmFfHoX1hogTP
-JCaemzc8/CVBQ9ryLRyIfxVT367tBHweWFIEJZUnNINFYLsQms8WOex5fKZkRrox
-ROsKDh+zeaUWeKEEG9Z9SAvpvPS50L3KnwKiZZE1tFY4LitVDapw+C7ElmLrvdhq
-O9Gg6TohO7Q6hNA266InZggnNFI2Fs6GmfdcxlSc3rcBJj60/5imtXu1b/zO2EgX
-1Mhc4DRFRC2N/ywEB4XzF7Dc/EdFbhyQt+et3u6Hr0OqNBZfN61vCYj4G/+3hj6m
-/FUkz2SUrXpSIf7uBxZwGRWq6En9GKDSqJjVFuNfRmAhSO6ywiZ+3bbOu93rGDl0
-RGxmst19GrBFv1fgAWv//UTf1f3461poFQBsbEQ2FhJt+06x5x6sm6uKUeznC5Gr
-DihYcXgAPWVHmxuDtGJUgwSQCBCmEPZVI/25pvR1uxxOXldXv5glaSeslZjCGdzv
-72g2sV5ACjWsAaLAJCZcp9BtgImTTYqV3CEPsWIY/hqzHLFcpfpok4CkPNHzQVrg
-VaGSH2KqvUXl5joyuKmF77hqtWoDxSU8urVbcij/TYejoo99BgpEuq1yPwaU7Sdy
-ZvBO+TIxO28/JldgTJ0SKdYUyyaV8fBiwMzFsbjAYa06X0barbsUpg01zQARAQAB
-tGdkZWJpYW4tbWFpbnRhaW5lcnMub3JnIEFyY2hpdmUgQXV0b21hdGljIFNpZ25p
-bmcgS2V5ICgyMDA5MDkwMSkgPHN5c2FkbWluQGxpc3RzLmRlYmlhbi1tYWludGFp
-bmVycy5vcmc+iQI9BBMBCAAnBQJKnSgwAhsDBQkAybWABQsJCAcDBRUKCQgLBRYC
-AwEAAh4BAheAAAoJEEUyUiR/CNd+gigP/iAWMn2xLgFQqoaDPzq1vdewll6WDcfi
-XQ7AW5wwrhwr5YMOdX+MQfrIIqwYhnEHHpkky7a1jzkYWTm2h0217Ev7AZ5fBl47
-vtWOcFU57BKgl0lUBRcYNmSqWNCsuw5iPuBgY/bD22aRO+JHVj5lcaK2JKUiHtBd
-oML9uqNbahQTlIW1c7r66pOENwDjWuqdfYkh4bRU4/gAEanKpViqT30NwUkVQcBD
-wVH73vV9BoFUEtPxPrZw431wAxKgO4fJpz0iWXx0yFkpnLqUAhtwv/Befd4yE8Fy
-q4Iv7ci9+oVROQ6R5Yd2kaadtwC498TPncUzr07gPXR/q1j2/K7kJuTlUyVv/z5U
-p63/uOtbRrX/9vC8VCIaXfi2JXpMhzs9zN6mjjPCLhmoC50h234SGrWHJ0zJPYW5
-TDDeOBff3nv4mXdZ5/OyYTdIZkI7YOfcGzA1Z80kha2FBhAYWmyxUld0PDqeaTRd
-A2+xjf1e20rs6ZN9+Hwb7kiJeJhhClsXybMfSyRToSS2lbLzzPt0fX5QSMwCH1LU
-eASRVH7yIruYbUWRyIlT8vsXwSQeYjEo35K8+qPII3uH+zkpUY0L0XQZcwd/qap0
-t7gKexWh3jaMJUhbqGxgOxtBQ879xKxRuL9fVmF3vovn58mlIRabFYyvQRRNVD8X
-ZkV6m4jPd7dwiEYEEBECAAYFAkqdLO0ACgkQ+C5cwEsrK57PRgCffbfv/+c4/qQg
-lW323xymUg9xdfYAnRObBPqkLXgIP9Y1pxxijskBRYui
-=MviB
+mQENBEtljiMBCADSIplButAWL0OuM4uvDtZYjBcPlQNjwQDZ/Dpg5QuRAgNSUdx7
+wBQOQXqC4LCi9ykpvYi8FEtz0bl60M9uJdc4n+130It8gSZs7Cn0WoFk7uo0S4IS
+79EQdP+yfZNv/vY11cv6TwOb7JEqB5BI7T642Y+UgQZnpT/Diykks986CYeZSfpm
+6gnASAEe0jJg79Zpzpc3kBECCwN6fIFZ4MOxkaXgvfhWsOS42s6zxtQXJ65njibR
+W47Klu75sxPS+5EKaS10C5+Tmv0XpV7S7s8VtRtKemMjYfLdsPmubmGcI+t/uEF7
+qT2zJLINSIIL01kpVBFpqxCmnO51XURgRqOFABEBAAG0Z2RlYmlhbi1tYWludGFp
+bmVycy5vcmcgQXJjaGl2ZSBBdXRvbWF0aWMgU2lnbmluZyBLZXkgKDIwMTAwMTAx
+KSA8c3lzYWRtaW5AbGlzdHMuZGViaWFuLW1haW50YWluZXJzLm9yZz6JAT4EEwEC
+ACgFAktljiMCGwMFCQHihQAGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEJ7r
+yNubnDy2BeUH/1SWIbqzIh2LkF1XK4iXyXGrzGlqtef5JX/tjaY7RC5gPVyZBP1V
+jHcozn7Sum09KxaijsgP/lIVZ2tnu9niT2Waz5GPgUv79bqjGc238gEhH5zpbun/
+WF6UapiINHNYLFx0f18ImQ1gU13hLn0PYvuyN/QKmxaPlcUQtNJc3/ZtyFA0nPpB
+ejiMEBxgw0H80FWSpawLKUFEStT1Y+khK0fZYVoWl0OwhJbsY/L6nBcfv27zH+5d
+g7VuNpRte7AyxZEufescwWILTjIq3K2v9XHAy7sJmstfycrHQFy/33hE4yRQcOyu
+bAMnNqLUp7mwqRw+KYPkAQo/DUlO//SsUKY=
+=+IFy
 -----END PGP PUBLIC KEY BLOCK-----
diff --git a/functions/architecture.sh b/functions/architecture.sh
index cd8e073..9f18ad4 100755
--- a/functions/architecture.sh
+++ b/functions/architecture.sh
@@ -59,28 +59,29 @@ Check_multiarchitecture ()
 	if [ "$(echo ${LH_ARCHITECTURE} | wc -w)" -gt "1" ]
 	then
 		# First, only support multiarch on iso
-		if [ "${LH_BINARY_IMAGES}" = "iso" ]
-		then
-			# Assemble multi-arch
-			case "${LH_CURRENT_ARCHITECTURE}" in
-				amd64)
-					DESTDIR="${DESTDIR}.amd"
-					DESTDIR_LIVE="${DESTDIR_LIVE}.amd"
-					DESTDIR_INSTALL="${DESTDIR_INSTALL}.amd"
-					;;
+		case "${LH_BINARY_IMAGES}" in
+			iso*)
+				# Assemble multi-arch
+				case "${LH_CURRENT_ARCHITECTURE}" in
+					amd64)
+						DESTDIR="${DESTDIR}.amd"
+						DESTDIR_LIVE="${DESTDIR_LIVE}.amd"
+						DESTDIR_INSTALL="${DESTDIR_INSTALL}.amd"
+						;;
 
-				i386)
-					DESTDIR="${DESTDIR}.386"
-					DESTDIR_LIVE="${DESTDIR_LIVE}.386"
-					DESTDIR_INSTALL="${DESTDIR_INSTALL}.386"
-					;;
+					i386)
+						DESTDIR="${DESTDIR}.386"
+						DESTDIR_LIVE="${DESTDIR_LIVE}.386"
+						DESTDIR_INSTALL="${DESTDIR_INSTALL}.386"
+						;;
 
-				powerpc)
-					DESTDIR="${DESTDIR}.ppc"
-					DESTDIR_LIVE="${DESTDIR_LIVE}.ppc"
-					DESTDIR_INSTALL="${DESTDIR_INSTALL}.ppc"
-					;;
-			esac
-		fi
+					powerpc)
+						DESTDIR="${DESTDIR}.ppc"
+						DESTDIR_LIVE="${DESTDIR_LIVE}.ppc"
+						DESTDIR_INSTALL="${DESTDIR_INSTALL}.ppc"
+						;;
+				esac
+				;;
+		esac
 	fi
 }
diff --git a/functions/common.sh b/functions/common.sh
index b7a8417..581c495 100755
--- a/functions/common.sh
+++ b/functions/common.sh
@@ -9,7 +9,7 @@
 
 PROGRAM="$(basename ${0})"
 PACKAGE="live-helper"
-VERSION="2.0~a7-1"
+VERSION="2.0~a8-1"
 CONFIG_VERSION="$(echo ${VERSION} | awk -F- '{ print $1 }')"
 
 PATH="${PWD}/auto/helpers:${PATH}"
diff --git a/functions/defaults.sh b/functions/defaults.sh
index 13399c3..140cc65 100755
--- a/functions/defaults.sh
+++ b/functions/defaults.sh
@@ -440,6 +440,12 @@ Set_defaults ()
 	if [ -z "${LH_LINUX_FLAVOURS}" ]
 	then
 		case "${LH_ARCHITECTURE}" in
+			arm|armel)
+				Echo_error "There is no default kernel flavour defined for your architecture."
+				Echo_error "Please configure it manually with 'lh config -k FLAVOUR'."
+				exit 1
+				;;
+
 			alpha)
 				case "${LH_MODE}" in
 					ubuntu)
@@ -530,11 +536,6 @@ Set_defaults ()
 				LH_LINUX_FLAVOURS="sparc64"
 				;;
 
-			arm|armel|m68k)
-				Echo_error "You need to specify the linux kernel flavour manually on ${LH_ARCHITECTURE} (FIXME)."
-				exit 1
-				;;
-
 			*)
 				Echo_error "Architecture ${LH_ARCHITECTURE} not yet supported (FIXME)"
 				exit 1
@@ -617,22 +618,56 @@ Set_defaults ()
 
 			gnome-desktop)
 				LH_PACKAGES_LISTS="$(echo ${LH_PACKAGES_LISTS} | sed -e 's|gnome-desktop||') standard-x11"
-				LH_TASKS="$(echo ${LH_TASKS} | sed -e 's|standard||' -e 's|gnome-desktop||' -e 's|desktop||') standard gnome-desktop desktop"
+				case "${LH_DISTRIBUTION}" in
+					lenny)
+						LH_TASKS="$(echo ${LH_TASKS} | sed -e 's|standard||' -e 's|gnome-desktop||' -e 's|desktop||') standard gnome-desktop desktop"
+						;;
+
+					*)
+						LH_TASKS="$(echo ${LH_TASKS} | sed -e 's|standard||' -e 's|gnome-desktop||' -e 's|desktop||' -e 's|laptop||') standard gnome-desktop desktop laptop"
+						;;
+				esac
 				;;
 
 			kde-desktop)
 				LH_PACKAGES_LISTS="$(echo ${LH_PACKAGES_LISTS} | sed -e 's|kde-desktop||') standard-x11"
-				LH_TASKS="$(echo ${LH_TASKS} | sed -e 's|standard||' -e 's|kde-desktop||' -e 's|desktop||') standard kde-desktop desktop"
+
+				case "${LH_DISTRIBUTION}" in
+					lenny)
+						LH_TASKS="$(echo ${LH_TASKS} | sed -e 's|standard||' -e 's|kde-desktop||' -e 's|desktop||') standard kde-desktop desktop"
+						;;
+
+					*)
+						LH_TASKS="$(echo ${LH_TASKS} | sed -e 's|standard||' -e 's|kde-desktop||' -e 's|desktop||' -e 's|laptop||') standard kde-desktop desktop laptop"
+				esac
 				;;
 
 			lxde-desktop)
 				LH_PACKAGES_LISTS="$(echo ${LH_PACKAGES_LISTS} | sed -e 's|lxde-desktop||') standard-x11"
-				LH_TASKS="$(echo ${LH_TASKS} | sed -e 's|standard||' -e 's|lxde-desktop||' -e 's|desktop||') standard lxde-desktop desktop"
+
+				case "${LH_DISTRIBUTION}" in
+					lenny)
+						LH_TASKS="$(echo ${LH_TASKS} | sed -e 's|standard||' -e 's|lxde-desktop||' -e 's|desktop||') standard lxde-desktop desktop"
+						;;
+
+					*)
+						LH_TASKS="$(echo ${LH_TASKS} | sed -e 's|standard||' -e 's|lxde-desktop||' -e 's|desktop||' -e 's|laptop||') standard lxde-desktop desktop laptop"
+						;;
+				esac
 				;;
 
 			xfce-desktop)
 				LH_PACKAGES_LISTS="$(echo ${LH_PACKAGES_LISTS} | sed -e 's|xfce-desktop||') standard-x11"
-				LH_TASKS="$(echo ${LH_TASKS} | sed -e 's|standard||' -e 's|xfce-desktop||' -e 's|desktop||') standard xfce-desktop desktop"
+
+				case "${LH_DISTRIBUTION}" in
+					lenny)
+						LH_TASKS="$(echo ${LH_TASKS} | sed -e 's|standard||' -e 's|xfce-desktop||' -e 's|desktop||') standard xfce-desktop desktop"
+						;;
+
+					*)
+						LH_TASKS="$(echo ${LH_TASKS} | sed -e 's|standard||' -e 's|xfce-desktop||' -e 's|desktop||' -e 's|laptop||') standard xfce-desktop desktop laptop"
+						;;
+				esac
 				;;
 		esac
 	done
@@ -668,8 +703,23 @@ Set_defaults ()
 	esac
 
 	# Setting image type
-	LH_BINARY_IMAGES="${LH_BINARY_IMAGES:-iso}"
-	LH_BINARY_ISO_HYRBID="${LH_BINARY_ISO_HYBRID:-false}"
+	case "${LH_DISTRIBUTION}" in
+		squeeze|sid)
+			case "${LH_ARCHITECTURE}" in
+				amd64|i386)
+					LH_BINARY_IMAGES="${LH_BINARY_IMAGES:-iso-hybrid}"
+					;;
+
+				*)
+					LH_BINARY_IMAGES="${LH_BINARY_IMAGES:-iso}"
+					;;
+			esac
+			;;
+
+		*)
+			LH_BINARY_IMAGES="${LH_BINARY_IMAGES:-iso}"
+			;;
+	esac
 
 	# Setting apt indices
 	if echo ${LH_PACKAGES_LISTS} | grep -qs -E "(stripped|minimal)\b"
@@ -752,11 +802,11 @@ Set_defaults ()
 	if [ -n "${LH_DEBIAN_INSTALLER_PRESEEDFILE}" ]
 	then
 		case "${LH_BINARY_IMAGES}" in
-			iso)
+			iso*)
 				_LH_BOOTAPPEND_PRESEED="file=/cdrom/install/${LH_DEBIAN_INSTALLER_PRESEEDFILE}"
 				;;
 
-			usb-hdd)
+			usb*)
 				if [ "${LH_MODE}" = "ubuntu" ] || [ "${LH_DEBIAN_INSTALLER}" = "live" ]
 				then
 					_LH_BOOTAPPEND_PRESEED="file=/cdrom/install/${LH_DEBIAN_INSTALLER_PRESEEDFILE}"
@@ -779,25 +829,21 @@ Set_defaults ()
 		esac
 	fi
 
-	if [ "${LH_BINARY_IMAGES}" = "usb-hdd" ]
-	then
-		# Try USB block devices for install media
-		if ! echo "${LH_BOOTAPPEND_INSTALL}" | grep -q try-usb
-		then
-			LH_BOOTAPPEND_INSTALL="cdrom-detect/try-usb=true ${LH_BOOTAPPEND_INSTALL}"
-		fi
-	fi
+	case "${LH_BINARY_IMAGES}" in
+		usb*)
+			# Try USB block devices for install media
+			if ! echo "${LH_BOOTAPPEND_INSTALL}" | grep -q try-usb
+			then
+				LH_BOOTAPPEND_INSTALL="cdrom-detect/try-usb=true ${LH_BOOTAPPEND_INSTALL}"
+			fi
+			;;
+	esac
 
 	if [ -n ${_LH_BOOTAPPEND_PRESEED} ]
 	then
 		LH_BOOTAPPEND_INSTALL="${LH_BOOTAPPEND_INSTALL} ${_LH_BOOTAPPEND_PRESEED}"
 	fi
 
-	if [ -n "${LH_BOOTAPPEND_LIVE}" ]
-	then
-		LH_BOOTAPPEND_INSTALL="${LH_BOOTAPPEND_INSTALL} -- \${LH_BOOTAPPEND_LIVE}"
-	fi
-
 	LH_BOOTAPPEND_INSTALL="$(echo ${LH_BOOTAPPEND_INSTALL} | sed -e 's/[ \t]*$//')"
 
 	# Setting encryption
@@ -1032,16 +1078,17 @@ Check_defaults ()
 		esac
 	fi
 
-	if [ "${LH_BINARY_IMAGES}" = "usb-hdd" ]
-	then
-		# grub or yaboot + usb-hdd
-		case "${LH_BOOTLOADER}" in
-			grub|yaboot)
-				Echo_error "You have selected a combination of bootloader and image type that is currently not supported by live-helper. Please use either another bootloader or a different image type."
-				exit 1
-				;;
-		esac
-	fi
+	case "${LH_BINARY_IMAGES}" in
+		usb*)
+			# grub or yaboot + usb
+			case "${LH_BOOTLOADER}" in
+				grub|yaboot)
+					Echo_error "You have selected a combination of bootloader and image type that is currently not supported by live-helper. Please use either another bootloader or a different image type."
+					exit 1
+					;;
+			esac
+			;;
+	esac
 
 	if [ "$(echo ${LH_ISO_APPLICATION} | wc -c)" -gt 128 ]
 	then
diff --git a/helpers/binary b/helpers/binary
index 33ee5d6..234d898 100755
--- a/helpers/binary
+++ b/helpers/binary
@@ -39,6 +39,7 @@ then
 	lh chroot_hosts install ${*}
 	lh chroot_resolv install ${*}
 	lh chroot_hostname install ${*}
+	lh chroot_sysv-rc install ${*}
 	lh chroot_apt install-binary ${*}
 	lh chroot_sources install ${*}
 fi
@@ -77,7 +78,7 @@ fi
 lh binary_iso ${*}
 lh binary_net ${*}
 lh binary_tar ${*}
-lh binary_usb-hdd ${*}
+lh binary_usb ${*}
 lh binary_virtual-hdd ${*}
 
 if [ "${LH_CHROOT_BUILD}" = "true" ]
@@ -90,6 +91,7 @@ then
 fi
 
 lh chroot_apt remove ${*}
+lh chroot_sysv-rc remove ${*}
 lh chroot_sysfs remove ${*}
 lh chroot_selinuxfs remove ${*}
 lh chroot_proc remove ${*}
diff --git a/helpers/binary_debian-installer b/helpers/binary_debian-installer
index cb1af38..d525ca6 100755
--- a/helpers/binary_debian-installer
+++ b/helpers/binary_debian-installer
@@ -83,7 +83,7 @@ case "${LH_BINARY_IMAGES}" in
 		DESTDIR="tftpboot/debian-install/${LH_ARCHITECTURE}"
 		;;
 
-	tar|usb-hdd)
+	usb*|tar)
 		DESTDIR="binary/install"
 		;;
 
@@ -601,10 +601,14 @@ EOF
 		ln -s ${LH_DEBIAN_INSTALLER_DISTRIBUTION} binary/dists/${DISTRIBUTION}
 	done
 
-	if [ "${LH_BINARY_IMAGES}" != "usb-hdd" ]
-	then
-		ln -s . binary/debian
-	fi
+	case "${LH_BINARY_IMAGES}" in
+		usb*)
+			;;
+
+		*)
+			ln -s . binary/debian
+			;;
+	esac
 
 	# Including preseeding files
 	if Find_files config/binary_debian-installer/*.cfg
diff --git a/helpers/binary_disk b/helpers/binary_disk
index 2bbd73d..b6edf4a 100755
--- a/helpers/binary_disk
+++ b/helpers/binary_disk
@@ -24,7 +24,7 @@ Read_conffiles config/all config/common config/bootstrap config/chroot config/bi
 Set_defaults
 
 case "${LH_BINARY_IMAGES}" in
-	iso|usb-hdd)
+	iso*)
 		;;
 	*)
 		exit 0
diff --git a/helpers/binary_grub b/helpers/binary_grub
index 35fa43d..373d64e 100755
--- a/helpers/binary_grub
+++ b/helpers/binary_grub
@@ -128,7 +128,7 @@ esac
 
 # Setting destination directory
 case "${LH_BINARY_IMAGES}" in
-	iso|tar)
+	iso*|tar)
 		case "${LH_INITRAMFS}" in
 			casper)
 				DESTDIR_LIVE="binary/casper"
@@ -142,7 +142,7 @@ case "${LH_BINARY_IMAGES}" in
 		DESTDIR_INSTALL="binary/install"
 		;;
 
-	usb-hdd|net)
+	usb*|net)
 		Echo_warning "Bootloader in this image type not yet supported by live-helper."
 		Echo_warning "This would produce a not bootable image, aborting (FIXME)."
 		exit 1
@@ -276,11 +276,11 @@ mkdir -p binary/boot/grub
 cp -r "${TEMPLATES}"/* binary/boot/grub
 
 case ${LH_BINARY_IMAGES} in
-	iso)
+	iso*)
 		FILES="chroot/usr/lib/grub/*/stage2_eltorito"
 		;;
 
-	tar|usb-hdd)
+	usb*|tar)
 		FILES="chroot/usr/lib/grub/*/stage1 chroot/usr/lib/grub/*/e2fs_stage1_5 chroot/usr/lib/grub/*/stage2"
 		;;
 esac
diff --git a/helpers/binary_grub2 b/helpers/binary_grub2
index 76b9373..7a7b26e 100755
--- a/helpers/binary_grub2
+++ b/helpers/binary_grub2
@@ -102,7 +102,7 @@ esac
 
 # Setting destination directory
 case "${LH_BINARY_IMAGES}" in
-	iso|tar)
+	iso*|tar)
 		case "${LH_INITRAMFS}" in
 			casper)
 				DESTDIR_LIVE="binary/casper"
@@ -116,7 +116,7 @@ case "${LH_BINARY_IMAGES}" in
 		DESTDIR_INSTALL="binary/install"
 		;;
 
-	usb-hdd|net)
+	usb*|net)
 		Echo_warning "Bootloader in this image type not yet supported by live-helper."
 		Echo_warning "This would produce a not bootable image, aborting (FIXME)."
 		exit 1
@@ -249,11 +249,11 @@ mkdir -p binary/boot/grub
 cp -r "${TEMPLATES}"/* binary/boot/grub
 
 case ${LH_BINARY_IMAGES} in
-	iso)
+	iso*)
 		FILES="chroot/usr/lib/grub/i386-pc/*.mod chroot/usr/lib/grub/i386-pc/*.lst chroot/usr/lib/grub/i386-pc/efiemu??.o chroot/usr/share/grub/*.pf2"
 		;;
 
-	tar|usb-hdd)
+	usb*|tar)
 		FILES="chroot/usr/lib/grub/i386-pc/*"
 		;;
 esac
diff --git a/helpers/binary_includes b/helpers/binary_includes
index 196f902..e37f4df 100755
--- a/helpers/binary_includes
+++ b/helpers/binary_includes
@@ -80,14 +80,15 @@ case "${LH_ARCHITECTURE}" in
 esac
 
 # Working arround vfat limitations
-if [ "${LH_BINARY_IMAGE}" = "usb-hdd" ]
-then
-	case "${LH_BINARY_FILESYSTEM}" in
-		fat*)
-			CP_OPTIONS="-L"
-			;;
-	esac
-fi
+case "${LH_BINARY_IMAGES}" in
+	usb*)
+		case "${LH_BINARY_FILESYSTEM}" in
+			fat*)
+				CP_OPTIONS="-L"
+				;;
+		esac
+		;;
+esac
 
 # Copying common templates
 if [ -d "${LH_INCLUDES}"/"${LH_DISTRIBUTION}"/common ] && \
diff --git a/helpers/binary_iso b/helpers/binary_iso
index 4012a70..811310d 100755
--- a/helpers/binary_iso
+++ b/helpers/binary_iso
@@ -23,10 +23,19 @@ Arguments "${@}"
 Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
 Set_defaults
 
-if ! In_list iso "${LH_BINARY_IMAGES}"
-then
-	exit 0
-fi
+case "${LH_BINARY_IMAGES}" in
+	iso)
+		IMAGE="binary.iso"
+		;;
+
+	iso-hybrid)
+		IMAGE="binary-hybrid.iso"
+		;;
+
+	*)
+		exit 0
+		;;
+esac
 
 Echo_message "Begin building binary iso image..."
 
@@ -45,7 +54,7 @@ Create_lockfile .lock
 # Checking depends
 Check_package chroot/usr/bin/genisoimage genisoimage
 
-if [ "${LH_BINARY_ISO_HYBRID}" = "true" ]
+if [ "${LH_BINARY_IMAGES}" = "iso-hybrid" ]
 then
 	Check_package chroot/usr/bin/isohybrid syslinux-common
 fi
@@ -57,9 +66,9 @@ Restore_cache cache/packages_binary
 Install_package
 
 # Remove old iso image
-if [ -f binary.iso ]
+if [ -f ${IMAGE} ]
 then
-	rm -f binary.iso
+	rm -f ${IMAGE}
 fi
 
 # Handle genisoimage generic options
@@ -177,15 +186,15 @@ fi
 
 cat >> binary.sh << EOF
 
-genisoimage ${GENISOIMAGE_OPTIONS} -o binary.iso binary
+genisoimage ${GENISOIMAGE_OPTIONS} -o ${IMAGE} binary
 EOF
 
-if [ "${LH_BINARY_ISO_HYRBID}" = "true" ]
+if [ "${LH_BINARY_IMAGES}" = "iso-hybrid" ]
 then
 
 cat >> binary.sh << EOF
 
-isohybrid binary.iso
+isohybrid ${IMAGE}
 EOF
 
 fi
@@ -199,7 +208,7 @@ case "${LH_CHROOT_BUILD}" in
 		Chroot chroot "sh binary.sh"
 
 		# Move image
-		mv chroot/binary chroot/binary.iso ./
+		mv chroot/binary chroot/${IMAGE} ./
 		rm -f chroot/binary.sh
 		;;
 
diff --git a/helpers/binary_local-includes b/helpers/binary_local-includes
index 63986ae..44f93c9 100755
--- a/helpers/binary_local-includes
+++ b/helpers/binary_local-includes
@@ -45,10 +45,11 @@ then
 	cd "${OLDPWD}"
 
 	# Removing symlinks
-	if [ "${LH_BINARY_IMAGES}" = "usb-hdd" ]
-	then
-		find binary -type l | xargs rm -f
-	fi
+	case "${LH_BINARY_IMAGES}" in
+		usb*)
+			find binary -type l | xargs rm -f
+			;;
+	esac
 
 	# Creating stage file
 	Create_stagefile .stage/binary_local-includes
diff --git a/helpers/binary_silo b/helpers/binary_silo
index d79d0b7..356c47e 100755
--- a/helpers/binary_silo
+++ b/helpers/binary_silo
@@ -30,7 +30,7 @@ fi
 
 # Check image type
 case "${LH_BINARY_IMAGES}" in
-	iso|usb-hdd|tar)
+	iso*|usb*|tar)
 		;;
 
 	net)
@@ -225,7 +225,7 @@ fi
 LINUX_INSTALL="$(/bin/echo ${LINUX_INSTALL} | sed -e 's|binary||g' -e 's|//|/|g')"
 
 case "${LH_BINARY_IMAGES}" in
-	iso|usb-hdd)
+	iso*|usb*)
 		# Copying silo
 		mkdir -p binary/boot
 
diff --git a/helpers/binary_syslinux b/helpers/binary_syslinux
index ba7f9d5..4fa2805 100755
--- a/helpers/binary_syslinux
+++ b/helpers/binary_syslinux
@@ -90,7 +90,7 @@ Syslinux_live_entry ()
 	APPEND="${5}"
 
 	case "${LH_BINARY_IMAGES}" in
-		iso|usb-hdd)
+		iso*|usb*)
 			NUMBER="$(ls -1 ${KERNEL_PATH} | grep 'vmlinuz[0-9]\+$' | wc -l)"
 			NUMBER="$((${NUMBER} +1))"
 
@@ -334,7 +334,7 @@ Configure_syslinux_templates ()
 	done
 
 	case "${LH_BINARY_IMAGES}" in
-		usb-hdd)
+		usb*)
 			if [ -f "${SYSLINUX_PATH}/exithelp.cfg" ]
 			then
 				sed -i -e "s|config isolinux.cfg|config syslinux.cfg|" "${SYSLINUX_PATH}"/exithelp.cfg
@@ -363,7 +363,7 @@ esac
 
 # Setting boot method specific variables
 case "${LH_BINARY_IMAGES}" in
-	iso)
+	iso*)
 		SYSLINUX_PATH="binary/isolinux"
 		KERNEL_PATH="binary/${INITFS}"
 		SCREEN_PATH="${SYSLINUX_PATH}"
@@ -387,7 +387,7 @@ case "${LH_BINARY_IMAGES}" in
 		MEDIA="netboot"
 		;;
 
-	tar|usb-hdd)
+	usb*|tar)
 		SYSLINUX_PATH="binary/syslinux"
 		KERNEL_PATH="binary/${INITFS}"
 		SCREEN_PATH="${SYSLINUX_PATH}"
@@ -581,7 +581,7 @@ Configure_syslinux_templates
 
 # Configure syslinux setup per boot method
 case "${LH_BINARY_IMAGES}" in
-	iso)
+	iso*)
 		case "${LH_CHROOT_BUILD}" in
 			true)
 				cp chroot/usr/lib/syslinux/isolinux.bin ${SCREEN_PATH}
@@ -631,7 +631,7 @@ case "${LH_BINARY_IMAGES}" in
 		fi
 		;;
 
-	tar|usb-hdd)
+	usb*|tar)
 		case "${LH_CHROOT_BUILD}" in
 			true)
 				cp chroot/usr/lib/syslinux/isolinux.bin ${SCREEN_PATH}/syslinux.bin
diff --git a/helpers/binary_usb-hdd b/helpers/binary_usb
similarity index 96%
rename from helpers/binary_usb-hdd
rename to helpers/binary_usb
index 53d9e37..59aae15 100755
--- a/helpers/binary_usb-hdd
+++ b/helpers/binary_usb
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# lh_binary_usb-hdd(1) - build binary usb-hdd image
+# lh_binary_usb(1) - build binary usb image
 # Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
 #
 # live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
@@ -28,13 +28,13 @@ then
 	exit 0
 fi
 
-Echo_message "Begin building binary usb-hdd image..."
+Echo_message "Begin building binary usb image..."
 
 # Requiring stage file
 Require_stagefile .stage/config .stage/bootstrap .stage/chroot_proc
 
 # Checking stage file
-Check_stagefile .stage/binary_usb-hdd
+Check_stagefile .stage/binary_usb
 
 # Checking lock file
 Check_lockfile .lock
@@ -277,4 +277,4 @@ Save_cache cache/packages_binary
 Remove_package
 
 # Creating stage file
-Create_stagefile .stage/binary_usb-hdd
+Create_stagefile .stage/binary_usb
diff --git a/helpers/binary_yaboot b/helpers/binary_yaboot
index fdd857d..b896eac 100755
--- a/helpers/binary_yaboot
+++ b/helpers/binary_yaboot
@@ -135,7 +135,7 @@ esac
 
 # Setting destination directory
 case "${LH_BINARY_IMAGES}" in
-	iso)
+	iso*)
 		case "${LH_INITRAMFS}" in
 			casper)
 				DESTDIR_LIVE="binary/casper"
@@ -149,7 +149,7 @@ case "${LH_BINARY_IMAGES}" in
 		DESTDIR_INSTALL="binary/install"
 		;;
 
-	net|tar|usb-hdd)
+	usb*|net|tar)
 		Echo_error "not yet supported, aborting (FIXME)."
 		exit 1
 	;;
@@ -272,7 +272,7 @@ fi
 LINUX_INSTALL="$(/bin/echo ${LINUX_INSTALL} | sed -e 's|binary||g' -e 's|//|/|g')"
 
 case "${LH_BINARY_IMAGES}" in
-	iso|usb-hdd)
+	iso*|usb*)
 		# Copying yaboot
 		mkdir -p binary/yaboot
 
@@ -288,13 +288,14 @@ case "${LH_BINARY_IMAGES}" in
 
 		cp -r "${TEMPLATES}"/* binary/yaboot
 
-		if [ "${LH_BINARY_IMAGES}" = "usb-hdd" ]
-		then
-			mv binary/yaboot/yaboot.conf binary/yaboot/yaboot.conf.tmp
-			echo "root=/dev/ram" > binary/yaboot/yaboot.conf
-			cat binary/yaboot/yaboot.conf.tmp >> binary/yaboot/yaboot.conf
-			rm -f binary/yaboot/yaboot.conf.tmp
-		fi
+		case "${LH_BINARY_IMAGES}" in
+			usb*)
+				mv binary/yaboot/yaboot.conf binary/yaboot/yaboot.conf.tmp
+				echo "root=/dev/ram" > binary/yaboot/yaboot.conf
+				cat binary/yaboot/yaboot.conf.tmp >> binary/yaboot/yaboot.conf
+				rm -f binary/yaboot/yaboot.conf.tmp
+				;;
+		esac
 
 		# Configure yaboot templates
 		sed -i -e "s|LINUX_LIVE|${LINUX_LIVE}|" -e "s|LINUX_INSTALL|${LINUX_INSTALL}|" binary/yaboot/yaboot.conf
diff --git a/helpers/build b/helpers/build
index 835ad8e..52400fa 100755
--- a/helpers/build
+++ b/helpers/build
@@ -12,6 +12,13 @@ set -e
 # Including common functions
 . "${LH_BASE:-/usr/share/live-helper}"/live-helper.sh
 
+# Automatically populating config tree
+if [ -x auto/config ] && [ ! -e .stage/config ]
+then
+	Echo_message "Automatically populating config tree."
+	lh config
+fi
+
 # Read meta config
 if [ "${1}" != "noautoconfig" ] && [ -x auto/build ]
 then
diff --git a/helpers/chroot_hacks b/helpers/chroot_hacks
index 66fb365..98e6b5b 100755
--- a/helpers/chroot_hacks
+++ b/helpers/chroot_hacks
@@ -37,6 +37,76 @@ Check_lockfile .lock
 # Creating lock file
 Create_lockfile .lock
 
+# Handling default desktop configuration
+for TASK in ${LH_TASKS}
+do
+	case "${TASKS}" 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)" ]
+			then
+				# set display manager
+				echo "gdm shared/default-x-display-manager select gdm" > chroot/root/preseed
+				Chroot chroot "debconf-set-selections /root/preseed"
+				rm -f chroot/root/preseed
+				Chroot chroot "dpkg-reconfigure gdm"
+				echo "/usr/bin/gdm" > chroot/etc/X11/default-display-manager
+
+				# set session manager
+				Chroot chroot "update-alternatives --set x-session-manager /usr/bin/gnome-session"
+			fi
+			;;
+
+		kde-desktop)
+			# kde is the only desktop-environment in this image
+			if [ -z "$(echo ${LH_TASKS} | sed -e 's|kde-desktop||' -e 's| desktop ||' | grep desktop)" ]
+			then
+				# set display manager
+				echo "kdm shared/default-x-display-manager select kdm" > chroot/root/preseed
+				Chroot chroot "debconf-set-selections /root/preseed"
+				rm -f chroot/root/preseed
+				Chroot chroot "dpkg-reconfigure kdm"
+				echo "/usr/bin/kdm" > chroot/etc/X11/default-display-manager
+
+				# set session manager
+				Chroot chroot "update-alternatives --set x-session-manager /usr/bin/startkde"
+			fi
+			;;
+
+		lxde-desktop)
+			# lxde is the only desktop environment in this image
+			if [ -z "$(echo ${LH_TASKS} | sed -e 's|lxde-desktop||' -e 's| desktop ||' | grep desktop)" ]
+			then
+				# set display manager
+				echo "gdm shared/default-x-display-manager select gdm" > chroot/root/preseed
+				Chroot chroot "debconf-set-selections /root/preseed"
+				rm -f chroot/root/preseed
+				Chroot chroot "dpkg-reconfigure gdm"
+				echo "/usr/bin/gdm" > chroot/etc/X11/default-display-manager
+
+				# set session manager
+				Chroot chroot "update-alternatives --set x-session-manager /usr/bin/startlxde"
+			fi
+			;;
+
+		xfce-desktop)
+			# xfce is the only desktop environment in this image
+			if [ -z "$(echo ${LH_TASKS} | sed -e 's|xfce-desktop||' -e 's| desktop ||' | grep desktop)" ]
+			then
+				# set display manager
+				echo "gdm shared/default-x-display-manager select gdm" > chroot/root/preseed
+				Chroot chroot "debconf-set-selections /root/preseed"
+				rm -f chroot/root/preseed
+				Chroot chroot "dpkg-reconfigure gdm"
+				echo "/usr/bin/gdm" > chroot/etc/X11/default-display-manager
+
+				# set session manager
+				Chroot chroot "update-alternatives --set x-session-manager /usr/bin/xfce4-session"
+			fi
+			;;
+	esac
+done
+
 # Removing udev mac caching rule
 rm -f chroot/etc/udev/rules.d/*persistent-net.rules
 
diff --git a/helpers/chroot_hooks b/helpers/chroot_hooks
index 986aab5..04fe487 100755
--- a/helpers/chroot_hooks
+++ b/helpers/chroot_hooks
@@ -42,12 +42,6 @@ HOOKS="$(echo ${LH_HOOKS} ${LH_PACKAGES_LISTS} ${LH_TASKS} | sed -e 's| |\n|g' |
 
 for HOOK in ${HOOKS}
 do
-	# Special handling for kde
-	if [ "${HOOK}" = "kde-desktop" ] && [ -n "$(echo ${HOOKS} | grep gnome-desktop)" ]
-	then
-		continue
-	fi
-
 	if [ -f ${LH_BASE:-/usr/share/live-helper}/hooks/"${HOOK}" ]
 	then
 		# Copying hook
diff --git a/helpers/chroot_localization b/helpers/chroot_localization
index a277f17..333ee34 100755
--- a/helpers/chroot_localization
+++ b/helpers/chroot_localization
@@ -638,7 +638,11 @@ then
 		esac
 	done
 
-	Check_installed chroot/usr/bin/gwenview gwenview; [ $INSTALL_STATUS -eq 0 ] && Check_package "" gwenview-i18n
+	if [ "${LH_DISTRIBUTION}" = "lenny" ]
+	then
+		Check_installed chroot/usr/bin/gwenview gwenview; [ $INSTALL_STATUS -eq 0 ] && Check_package "" gwenview-i18n
+	fi
+
 	Check_installed chroot/usr/bin/k3b k3b; [ $INSTALL_STATUS -eq 0 ] && Check_package "" k3b-i18n
 
 	# Restoring cache
diff --git a/helpers/clean b/helpers/clean
index 8f74209..0596e39 100755
--- a/helpers/clean
+++ b/helpers/clean
@@ -90,7 +90,7 @@ do
 		--binary)
 			${LH_ROOT_COMMAND} umount -f binary.tmp > /dev/null 2>&1 || true
 			rm -rf binary.tmp binary.deb binary.udeb
-			rm -f binary.iso
+			rm -f binary*.iso
 			rm -f binary*.img
 			rm -f binary*.tar.gz
 			rm -f binary.sh
@@ -122,7 +122,7 @@ do
 			;;
 
 		--source)
-			rm -f source.iso
+			rm -f source*.iso
 			rm -f source*.img
 			rm -f source*.tar
 			rm -f source*.tar.gz
diff --git a/helpers/source b/helpers/source
index 8d11c44..1783216 100755
--- a/helpers/source
+++ b/helpers/source
@@ -44,7 +44,7 @@ lh source_md5sum ${*}
 lh source_iso ${*}
 lh source_net ${*}
 lh source_tar ${*}
-lh source_usb-hdd ${*}
+lh source_usb ${*}
 lh source_virtual-hdd ${*}
 
 # Deconfiguring chroot
diff --git a/helpers/source_disk b/helpers/source_disk
index a765bb4..50db471 100755
--- a/helpers/source_disk
+++ b/helpers/source_disk
@@ -23,10 +23,14 @@ Arguments "${@}"
 Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
 Set_defaults
 
-if [ "${LH_SOURCE_IMAGES}" != "iso" ]
-then
-	exit 0
-fi
+case "${LH_SOURCE_IMAGES}" in
+	iso*)
+		;;
+
+	*)
+		exit 0
+		;;
+esac
 
 Echo_message "Begin installing disk information..."
 
diff --git a/helpers/source_iso b/helpers/source_iso
index 0ef1bcb..0752ebe 100755
--- a/helpers/source_iso
+++ b/helpers/source_iso
@@ -28,10 +28,14 @@ then
 	exit 0
 fi
 
-if ! In_list iso "${LH_SOURCE_IMAGES}"
-then
-	exit 0
-fi
+case "${LH_SOURCE_IMAGES}" in
+	iso*)
+		;;
+
+	*)
+		exit 0
+		;;
+esac
 
 Echo_message "Begin building source iso image..."
 
diff --git a/helpers/source_usb-hdd b/helpers/source_usb
similarity index 93%
rename from helpers/source_usb-hdd
rename to helpers/source_usb
index e8cd8ca..6065382 100755
--- a/helpers/source_usb-hdd
+++ b/helpers/source_usb
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# lh_source_usb-hdd(1) - build source usb-hdd image
+# lh_source_usb(1) - build source usb image
 # Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
 #
 # live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
@@ -33,13 +33,13 @@ then
 	exit 0
 fi
 
-Echo_message "Begin building source usb-hdd image..."
+Echo_message "Begin building source usb image..."
 
 # Requiring stage file
 Require_stagefile .stage/config .stage/source_debian
 
 # Checking stage file
-Check_stagefile .stage/source_usb-hdd
+Check_stagefile .stage/source_usb
 
 # Checking lock file
 Check_lockfile .lock
@@ -136,4 +136,4 @@ fi
 Remove_package
 
 # Creating stage file
-Create_stagefile .stage/source_usb-hdd
+Create_stagefile .stage/source_usb
diff --git a/hooks/kde-desktop b/hooks/kde-desktop
deleted file mode 100755
index 3dc4d24..0000000
--- a/hooks/kde-desktop
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-# /usr/share/live-helper/hooks/kde-desktop - hook list for live-helper(7)
-# Copyright (C) 2006-2009 Daniel Baumann <daniel at debian.org>
-#
-# live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
-# This is free software, and you are welcome to redistribute it
-# under certain conditions; see COPYING for details.
-
-set -e
-
-apt-get remove --purge --yes gdm
-update-alternatives --set x-session-manager /usr/bin/startkde
-dpkg-reconfigure kdm
diff --git a/lists/kde b/lists/kde
index 13e40b1..c135a76 100644
--- a/lists/kde
+++ b/lists/kde
@@ -3,5 +3,11 @@
 ## LH: KDE
 #include <kde-core>
 
-kde kdm
+#if DISTRIBUTION lenny
+kde
+#endif
+#if DISTRIBUTION squeeze sid
+kde-full
+#endif
+kdm
 desktop-base
diff --git a/lists/kde-full b/lists/kde-full
index 6af449e..3737bed 100644
--- a/lists/kde-full
+++ b/lists/kde-full
@@ -2,5 +2,6 @@
 
 ## LH: KDE Full
 #include <kde>
-
+#if DISTRIBUTION lenny
 koffice
+#endif
diff --git a/lists/rescue b/lists/rescue
index 287ced2..67c2621 100644
--- a/lists/rescue
+++ b/lists/rescue
@@ -86,7 +86,10 @@ colordiff
 chrootuid
 cpio
 cryptcat
+#if DISTRIBUTION lenny sid
+# currently not in squeeze (FIXME)
 directvnc
+#endif
 etherwake
 ftp
 ifenslave-2.6
@@ -99,7 +102,9 @@ gkermit
 netcat
 netcat6
 netmask
+#if DISTRIBUTION lenny
 openntpd
+#endif
 openssl
 openvpn
 strongswan
@@ -128,7 +133,9 @@ iptables
 knockd
 portsentry
 vlan
+#if DISTRIBUTION lenny
 zorp
+#endif
 
 # Essential networking
 netbase
diff --git a/manpages/lh_binary_usb-hdd.en.1 b/manpages/lh_binary_usb.en.1
similarity index 100%
rename from manpages/lh_binary_usb-hdd.en.1
rename to manpages/lh_binary_usb.en.1
diff --git a/manpages/lh_config.en.1 b/manpages/lh_config.en.1
index df47d9d..3a3e4cf 100644
--- a/manpages/lh_config.en.1
+++ b/manpages/lh_config.en.1
@@ -26,7 +26,7 @@ lh_config \- create configuration for live\-helper
 .br
 	[\-a|\fB\-\-architecture\fR \fIARCHITECTURE\fR]
 .br
-	[\-b|\fB\-\-binary\-images\fR iso|net|tar|usb\-hdd]
+	[\-b|\fB\-\-binary\-images\fR iso|iso-hybrid|net|tar|usb\-hdd]
 .br
 	[\fB\-\-binary\-filesystem\fR fat16|fat32|ext2]
 .br
@@ -226,8 +226,8 @@ defines if apt should install recommended packages automatically. By default, th
 defines if apt should check repository signatures. This is true by default.
 .IP "\-a|\fB\-\-architecture\fR \fIARCHITECTURE\fR" 4
 defines the architecture of the to be build image. By default, this is set to the host architecture. Note that you cannot crossbuild for another architecture if your host system is not able to execute binaries for the target architecture natively. For example, building amd64 images on i386 and vice versa is possile if you have a 64bit capable i386 processor and the right kernel. But building powerpc images on an i386 system is not possible.
-.IP "\-b|\fB\-\-binary\-images\fR iso|net|tar|usb\-hdd" 4
-defines the image type to build. By default this is set to iso to build CD/DVD images.
+.IP "\-b|\fB\-\-binary\-images\fR iso|iso-hybrid|net|tar|usb\-hdd" 4
+defines the image type to build. By default this is set to iso to build CD/DVD images, for squeeze and newer it defaults to iso-hybrid.
 .IP "\fB\-\-binary\-filesystem\fR fat16|fat32|ext2" 4
 defines the filesystem to be used in the image type. This only has an effect if the selected binary image type does allow to choose a filesystem. For example, when selection iso the resulting CD/DVD has always the filesystem ISO9660. When building usb-hdd images for usb sticks, this is active. Note that it defaults to fat16 on all architectures except sparc where it defaults to ext2. Also note that if you choose fat16 and your resulting binary image gets bigger than 2GB, the binary filesystem automatically gets switched to fat32.
 .IP "\fB\-\-binary\-indices\fR true|false|none" 4
@@ -362,7 +362,7 @@ sets the IP or hostname that will be configured in the bootloader configuration
 .IP "\fB\-\-net\-tarball\fR bzip2|gzip|tar|none" 4
 defines the format of the netboot image. Choosing tar results in a not compressed tarball, bzip2 and gzip in a bzip2 resp. gzip compressed tarball. Choosing none leads to no tarball at all, the plain binary directory is considered the output in this case. Default is gzip.
 .IP "\-p|\fB\-\-packages\-lists\fR \fIFILE\fR" 4
-defines which lists available in /usr/share/live-helper/lists should be used. By default, this is set to standard. Note that in case you have local packages lists, you don't need to list them here. Putting them into config/chroot_local-packageslists is enough.
+defines which lists available in /usr/share/live-helper/lists should be used. By default, this is set to standard. Note that in case you have local packages lists, you don't need to list them here. Putting them into config/chroot_local-packageslists is enough (the filename needs to have the .list suffix though).
 .IP "\fB\-\-packages\fR \fIPACKAGE\fR|\fI""PACKAGES""\fR" 4
 defines one or more packages to be installed in the live system. This is a quick and convenient place to add a few packages when building an image (limited by the max length of shell). Packages that should be permanently installed should be put into a local packages list.
 .IP "\fB\-\-root-command\fR sudo" 4
diff --git a/manpages/lh_source_usb-hdd.en.1 b/manpages/lh_source_usb.en.1
similarity index 100%
rename from manpages/lh_source_usb-hdd.en.1
rename to manpages/lh_source_usb.en.1
diff --git a/manpages/live-helper.en.7 b/manpages/live-helper.en.7
index 1ef64c9..dba08f1 100644
--- a/manpages/live-helper.en.7
+++ b/manpages/live-helper.en.7
@@ -189,7 +189,7 @@ installs silo into binary
 installs syslinux into binary
 .IP "\fBlh_binary_tar\fR(1)" 4
 build harddisk binary image
-.IP "\fBlh_binary_usb-hdd\fR(1)" 4
+.IP "\fBlh_binary_usb\fR(1)" 4
 build binary usb-hdd image
 .IP "\fBlh_binary_virtual-hdd\fR(1)" 4
 build binary virtual-hdd image
@@ -212,7 +212,7 @@ create source md5sum
 build source net image
 .IP "\fBlh_source_tar\fR(1)" 4
 build source tarball
-.IP "\fBlh_source_usb-hdd\fR(1)" 4
+.IP "\fBlh_source_usb\fR(1)" 4
 build source usb-hdd image
 .IP "\fBlh_source_virtual-hdd\fR(1)" 4
 build source virtual-hdd image
diff --git a/manpages/po4a/de/lh_binary_usb-hdd.en.1.po b/manpages/po4a/de/lh_binary_usb.en.1.po
similarity index 100%
rename from manpages/po4a/de/lh_binary_usb-hdd.en.1.po
rename to manpages/po4a/de/lh_binary_usb.en.1.po
diff --git a/manpages/po4a/de/lh_source_usb-hdd.en.1.po b/manpages/po4a/de/lh_source_usb.en.1.po
similarity index 100%
rename from manpages/po4a/de/lh_source_usb-hdd.en.1.po
rename to manpages/po4a/de/lh_source_usb.en.1.po
diff --git a/manpages/po4a/fr/lh_binary_usb-hdd.en.1.po b/manpages/po4a/fr/lh_binary_usb.en.1.po
similarity index 100%
rename from manpages/po4a/fr/lh_binary_usb-hdd.en.1.po
rename to manpages/po4a/fr/lh_binary_usb.en.1.po
diff --git a/manpages/po4a/fr/lh_source_usb-hdd.en.1.po b/manpages/po4a/fr/lh_source_usb.en.1.po
similarity index 100%
rename from manpages/po4a/fr/lh_source_usb-hdd.en.1.po
rename to manpages/po4a/fr/lh_source_usb.en.1.po
diff --git a/manpages/po4a/pot/lh_binary_usb-hdd.en.1.pot b/manpages/po4a/pot/lh_binary_usb.en.1.pot
similarity index 100%
rename from manpages/po4a/pot/lh_binary_usb-hdd.en.1.pot
rename to manpages/po4a/pot/lh_binary_usb.en.1.pot
diff --git a/manpages/po4a/pot/lh_source_usb-hdd.en.1.pot b/manpages/po4a/pot/lh_source_usb.en.1.pot
similarity index 100%
rename from manpages/po4a/pot/lh_source_usb-hdd.en.1.pot
rename to manpages/po4a/pot/lh_source_usb.en.1.pot

-- 
live-helper



More information about the debian-live-changes mailing list