[Debian-live-changes] r2265 - in dists/trunk/live-helper: docs helpers

otavio at alioth.debian.org otavio at alioth.debian.org
Thu Jun 28 03:37:32 UTC 2007


Author: otavio
Date: 2007-06-28 03:37:31 +0000 (Thu, 28 Jun 2007)
New Revision: 2265

Modified:
   dists/trunk/live-helper/docs/ChangeLog
   dists/trunk/live-helper/helpers/lh_binary_syslinux
Log:
Refactory lh_binary_syslinux

All entries for isolinux were hardcoded and then the code looked very
ugly and difficult to read. To solve it, methods to write the
debian-installer and normal entries were add and all code was change
to use those new methods.


Modified: dists/trunk/live-helper/docs/ChangeLog
===================================================================
--- dists/trunk/live-helper/docs/ChangeLog	2007-06-27 21:28:35 UTC (rev 2264)
+++ dists/trunk/live-helper/docs/ChangeLog	2007-06-28 03:37:31 UTC (rev 2265)
@@ -1,5 +1,10 @@
 2007-06-27  Otavio Salvador  <otavio at debian.org>
 
+	* helpers/lh_binary_syslinux:
+	  - Added new methods (syslinux_live_entry and syslinux_di_entry)
+  	    and change whole code to use them making it much easier to
+	    read and modify.
+
 	* functions/arch.sh:
 	  - Added.
 	* helpers/lh_binary_grub, helpers/lh_binary_syslinux,

Modified: dists/trunk/live-helper/helpers/lh_binary_syslinux
===================================================================
--- dists/trunk/live-helper/helpers/lh_binary_syslinux	2007-06-27 21:28:35 UTC (rev 2264)
+++ dists/trunk/live-helper/helpers/lh_binary_syslinux	2007-06-28 03:37:31 UTC (rev 2265)
@@ -17,6 +17,47 @@
 	. "${FUNCTION}"
 done
 
+# Local methods
+syslinux_live_entry ()
+{
+	label=$1
+	kernel=$2
+	initrd=$3
+	append=$4
+
+	# pxelinux and syslinux << 3.36 lacks support to file/path
+	files_path="/`basename ${DESTDIR_LIVE}`"
+	if [ "${LIVE_BINARY_IMAGES}" != "net" ] && [ "$files_path" != "binary" ]
+	then
+		kernel=$files_path/$kernel
+		initrd=$files_path/$initrd
+	fi
+
+    LINUX="$LINUX\nLABEL $label\n"
+	LINUX="$LINUX\tkernel $kernel\n"
+	LINUX="$LINUX\tappend initrd=$initrd boot=${INITFS} LIVE_BOOTAPPEND $append\n"
+}
+
+syslinux_di_entry ()
+{
+	label=$1
+	kernel=$2
+	initrd=$3
+	append=$4
+
+	# pxelinux and syslinux << 3.36 lacks support to file/path
+	files_path="/`basename ${DESTDIR_INSTALL}`"
+	if [ "${LIVE_BINARY_IMAGES}" != "net" ] && [ "$files_path" != "binary" ]
+	then
+		kernel=$files_path/$kernel
+		initrd=$files_path/$initrd
+	fi
+
+    LIVE_LINUX_INSTALL="$LIVE_LINUX_INSTALL\nLABEL $label\n"
+	LIVE_LINUX_INSTALL="$LIVE_LINUX_INSTALL\tkernel $kernel\n"
+	LIVE_LINUX_INSTALL="$LIVE_LINUX_INSTALL\tappend initrd=$initrd $append --\n"
+}
+
 # Setting static variables
 DESCRIPTION="installs syslinux into binary"
 HELP=""
@@ -165,49 +206,25 @@
 FAILSAFE="noapic noapm nodma nomce nolapic nosmp vga=normal"
 
 # Assembling kernel configuration
-if [ "${LIVE_BINARY_IMAGES}" != "net" ]
-then
-	DEFAULT_FLAVOUR="`echo ${LIVE_LINUX_FLAVOURS} | awk '{ print $1 }'`"
 
-	# Workaround for syslinux (<< 3.36) which doesn't support long file/path names
-	if [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
-	then
-		LINUX="# Debian GNU/Linux - live\nLABEL live\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
-		LINUX="${LINUX}\n\n# Debian GNU/Linux - live-failsafe\nLABEL live-failsafe\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
-	else
-		LINUX="# Debian GNU/Linux - live\nLABEL live\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
-		LINUX="${LINUX}\n\n# Debian GNU/Linux - live-failsafe\nLABEL live-failsafe\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
-	fi
-else
-	DEFAULT_FLAVOUR="`echo ${LIVE_LINUX_FLAVOURS} | awk '{ print $1 }'`"
-	LINUX="# Debian GNU/Linux - live\nLABEL live\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
-	LINUX="${LINUX}\n\n# Debian GNU/Linux - live-failsafe\nLABEL live-failsafe\n\tkernel `basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`\n\tappend initrd=initrd.img-`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
-fi
+# Default entries
+DEfAULT_FLAVOUR="`echo ${LIVE_LINUX_FLAVOURS} | awk '{ print $1 }'`"
+DEFAULT_KERNEL="`basename chroot/boot/vmlinuz-*${DEFAULT_FLAVOUR}`"
+DEFAULT_INITRD="initrd.img-`echo ${DEFAULT_KERNEL} | sed -e 's/vmlinuz-//'`"
 
+syslinux_live_entry "live" "$DEFAULT_KERNEL" "$DEFAULT_INITRD"
+syslinux_live_entry "live-failsafe" "$DEFAULT_KERNEL" "$DEFAULT_INITRD" "$FAILSAFE"
+
 if [ "`echo ${LIVE_LINUX_FLAVOURS} | wc -w`" -gt "1" ]
 then
 	for KERNEL in chroot/boot/vmlinuz*
 	do
-		if [ -z "${LINUX}" ]
-		then
-			if [ "${LIVE_BINARY_IMAGES}" = "iso" ]
-			then
-				LINUX="# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
-				LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
-			else
-				LINUX="# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} live_BOOTAPPEND"
-				LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
-			fi
-		else
-			if [ "${LIVE_BINARY_IMAGES}" = "iso" ]
-			then
-				LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
-				LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`-failsafe\n\tkernel /`basename ${DESTDIR_LIVE}`/`basename ${KERNEL}`\n\tappend initrd=/`basename ${DESTDIR_LIVE}`/initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
-			else
-				LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND"
-				LINUX="${LINUX}\n\n# Debian GNU/Linux - live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\nLABEL live-`basename ${KERNEL} | sed -e 's/vmlinuz-//'`\n\tkernel `basename ${KERNEL}`\n\tappend initrd=initrd.img-`basename ${KERNEL} | sed -e 's/vmlinuz-//'` boot=${INITFS} LIVE_BOOTAPPEND ${FAILSAFE}"
-			fi
-		fi
+		KERNEL_IMG="`basename ${KERNEL}`"
+		KERNEL_VERSION="`echo ${KERNEL_IMG} | sed -e 's/vmlinuz-//'`"
+		INITRD="initrd.img-${KERNEL_VERSION}"
+
+		syslinux_live_entry "live-$KERNEL_VERSION" "$KERNEL_IMG" "$INITRD"
+		syslinux_live_entry "live-$KERNEL_VERSION-failsafe" "$KERNEL_IMG" "$INITRD" "$FAILSAFE"
 	done
 fi
 
@@ -219,9 +236,11 @@
 then
 	VMLINUZ_DI="vmlinuz"
 	INITRD_DI="initrd.gz"
+	APPEND_DI="vga=normal"
 
 	VMLINUZ_GI="gtk/vmlinuz"
 	INITRD_GI="gtk/initrd.gz"
+	APPEND_GI="video=vesa:ywrap,mtrr vga=788"
 
 	# Workaround for syslinux (<< 3.36) which doesn't support long file/path names
 	if [ "${LIVE_DISTRIBUTION}" = "etch" ]
@@ -236,35 +255,15 @@
 		fi
 	fi
 
-	# Workaround for syslinux (<< 3.36) which doesn't support long file/path names
-	if [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
-	then
-		LIVE_LINUX_INSTALL="LABEL install\n\tkernel ${VMLINUZ_DI}\n\tappend vga=normal initrd=${INITRD_DI} -- "
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL linux\n\tkernel ${VMLINUZ_DI}\n\tappend vga=normal initrd=${INITRD_DI} -- "
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL installgui\n\tkernel ${VMLINUZ_GI}\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=${INITRD_GI} -- "
-
-		LIVE_KENREL_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL expert\n\tkernel ${VMLINUZ_DI}\n\tappend priority=low vga=normal initrd=${INITRD_DI} -- "
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL expertgui\n\tkernel ${VMLINUZ_GI}\n\tappend priority=low video=vesa:ywrap,mtrr vga=788 initrd=${INITRD_GI} -- "
-
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL rescue\n\tkernel ${VMLINUZ_DI}\n\tappend vga=normal initrd=${INITRD_DI} rescue/enable=true -- "
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL rescuegui\n\tkernel ${VMLINUZ_GI}\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=${INITRD_GI} rescue/enable=true -- "
-
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL auto\n\tkernel ${VMLINUZ_DI}\n\tappend auto=true priority=critical vga=normal initrd=${INITRD_DI} -- "
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL autogui\n\tkernel ${VMLINUZ_GI}\n\tappend auto=true priority=critical video=vesa:ywrap,mtrr vga=788 initrd=${INITRD_GI} -- "
-	else
-		LIVE_LINUX_INSTALL="LABEL install\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} -- "
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL linux\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} -- "
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL installgui\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_GI}\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_GI} -- "
-
-		LIVE_KENREL_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL expert\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend priority=low vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} -- "
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL expertgui\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_GI}\n\tappend priority=low video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_GI} -- "
-
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL rescue\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} rescue/enable=true -- "
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL rescuegui\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_GI}\n\tappend video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_GI} rescue/enable=true -- "
-
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL auto\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_DI}\n\tappend auto=true priority=critical vga=normal initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_DI} -- "
-		LIVE_LINUX_INSTALL="${LIVE_LINUX_INSTALL}\n\nLABEL autogui\n\tkernel /`basename ${DESTDIR_INSTALL}`/${VMLINUZ_GI}\n\tappend auto=true priority=critical video=vesa:ywrap,mtrr vga=788 initrd=/`basename ${DESTDIR_INSTALL}`/${INITRD_GI} -- "
-	fi
+	syslinux_di_entry "linux" "$VMLINUZ_DI" "$INITRD_DI" "$APPEND_DI"
+	syslinux_di_entry "install" "$VMLINUZ_DI" "$INITRD_DI" "$APPEND_DI"
+	syslinux_di_entry "installgui" "$VMLINUZ_GI" "$INITRD_GI" "$APPEND_GI"
+	syslinux_di_entry "expert" "$VMLINUZ_DI" "$INITRD_DI" "priority=low $APPEND_DI"
+	syslinux_di_entry "expertgui" "$VMLINUZ_GI" "$INITRD_GI" "priority=low $APPEND_GI"
+	syslinux_di_entry "rescue" "$VMLINUZ_DI" "$INITRD_DI" "rescue/enable=true $APPEND_DI"
+	syslinux_di_entry "rescuegui" "$VMLINUZ_GI" "$INITRD_GI" "rescue/enable=true $APPEND_GI"
+	syslinux_di_entry "auto" "$VMLINUZ_DI" "$INITRD_DI" "auto=true $APPEND_DI"
+	syslinux_di_entry "autogui" "$VMLINUZ_GI" "$INITRD_GI" "auto=true $APPEND_GI"
 fi
 
 LIVE_LINUX_INSTALL="`echo ${LIVE_LINUX_INSTALL} | sed -e 's/binary//g' -e 's#//#/#g'`"
@@ -272,20 +271,14 @@
 # Assembling memtest configuration
 if [ -f "${DESTDIR_LIVE}"/memtest ]
 then
-	if [ "${LIVE_BINARY_IMAGES}" != "net" ]
+	KERNEL_PATH="/`basename ${DESTDIR_LIVE}`/"
+	# pxelinux and syslinux << 3.36 lacks support to file/path
+	if [ "${LIVE_BINARY_IMAGES}" = "net" ] || [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
 	then
-		# Workaround for syslinux (<< 3.36) which doesn't support long file/path names
-		if [ "`basename ${DESTDIR_LIVE}`" = "binary" ]
-		then
-			MEMTEST="LABEL memtest\n\tkernel memtest"
-		else
-			MEMTEST="LABEL memtest\n\tkernel /`basename ${DESTDIR_LIVE}`/memtest"
-		fi
-	else
-		MEMTEST="LABEL memtest\n\tkernel memtest"
+		KERNEL_PATH=""
 	fi
 
-	MEMTEST="`echo ${MEMTEST} | sed -e 's#//#/#g'`"
+	MEMTEST="`echo LABEL ${KERNEL_PATH}memtest\n\tkernel memtest | sed -e 's#//#/#g'`"
 fi
 
 case "${LIVE_BINARY_IMAGES}" in




More information about the Debian-live-changes mailing list