[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[6/6] Two patches with finishing touches



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

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: