The first patch basically forces DESKTOP and KERNEL_PARAMS to sane values for arches other than i386 and amd64 as they don't (yet) support desktop selection through the bootloader.
Because of this the light CD will install Xfce by default, at least if the boot script for the arch supports KERNEL_PARAMS which several do not.
Ensure working boot config for light/all desktops for arches other than x86 diff --git a/tools/boot/lenny/common.sh b/tools/boot/lenny/common.sh index b8a055a..53a573c 100644 --- a/tools/boot/lenny/common.sh +++ b/tools/boot/lenny/common.sh @@ -6,6 +6,23 @@ DI_WWW_HOME="$(echo "$DI_WWW_HOME" | sed -e "s|%ARCH%|$ARCH|g")" DI_DIR="$(echo "$DI_DIR" | sed -e "s|%ARCH%|$ARCH|g")" +# Only i386 and amd64 support desktop selection with the 'light' and 'all' +# desktops; make sure other arches get a working config +if [ "$ARCH" != i386 ] && [ "$ARCH" != amd64 ]; then + case $DESKTOP in + light) + DESKTOP=xfce + KERNEL_PARAMS="$(echo "$KERNEL_PARAMS" | \ + sed -r "s/(desktop=)light/\1xfce/")" + ;; + all) + DESKTOP= + KERNEL_PARAMS="$(echo "$KERNEL_PARAMS" | \ + sed -r "s/desktop=all ?//")" + ;; + esac +fi + # install_languages decompacts the language packs, you should give the path # to the CD temporary tree.
easy-build: allow building all-desktop businesscard and netinst CDs Also add sanity tests and update README.easy-build for (multi-)desktop support. diff --git a/README.easy-build b/README.easy-build index b04604a..a8a7975 100644 --- a/README.easy-build +++ b/README.easy-build @@ -11,7 +11,11 @@ easy-build.sh supports the following variations: - businesscard, netinst and full CD images, and DVD images - single-architecture and multi-architecture images - optionally include source packages -- select to install GNOME (default), KDE or Xfce desktops as desktop task +- select to install GNOME (default), KDE, LXDE or Xfce desktops as desktop + task +- create a combined LXDE/Xfce "light desktop" CD +- create a businesscard or netinst CD, or DVD set supporting all four + desktop environments - creates ISO files by default; creating jigdo files is possible - specify which Debian release to use - include custom versions of packages (debs) diff --git a/easy-build.sh b/easy-build.sh index 0760044..9b5db66 100755 --- a/easy-build.sh +++ b/easy-build.sh @@ -131,16 +131,28 @@ case $DISKTYPE in ;; esac -# By default a GNOME CD/DVD is built, but KDE and Xfce are supported too -if [ "$desktop" ] && ([ $DISKTYPE = CD ] || [ $DISKTYPE = DVD ]); then - TASK=Debian-$desktop +# By default a GNOME CD/DVD is built, but other desktops are supported too +if [ "$desktop" ]; then + if [ ! -e tasks/$CODENAME/task.list${desktop:+.$desktop} ]; then + echo "Error: desktop '$desktop' is not supported for $CODENAME" + exit 1 + fi + if [ "$desktop" = all ] && [ $DISKTYPE = CD ]; then + echo + echo "WARNING: CD1 by itself can never support installing all desktops!" + echo + fi + + if [ $DISKTYPE != BC ] && [ $DISKTYPE != NETINST ]; then + export TASK=Debian-$desktop + fi if [ "$CODENAME" = etch ]; then KERNEL_PARAMS="tasks=\"$desktop-desktop, standard\"" else KERNEL_PARAMS="desktop=$desktop" fi DESKTOP=$desktop - export TASK KERNEL_PARAMS DESKTOP + export KERNEL_PARAMS DESKTOP fi if [ "$LOCAL" ] && [ "$UPDATE_LOCAL" ]; then
signature.asc
Description: This is a digitally signed message part.