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

Bug#706150: Build without isolinux/desktop



Package: debian-cd
Version: 3.1.12

I'm building custom server install ISOs, installing a desktop is unnecessary and unneeded. debian-cd currently expects there to always be isolinux/desktop/* files and a dtmenu.cfg file, failing if they are missing.

The attached patch file makes it so debian-cd can cope whether those files are present or not.

--
Robert Spencer
--- tools/boot/squeeze/boot-x86~	2011-02-22 20:52:44.000000000 +0000
+++ tools/boot/squeeze/boot-x86	2013-04-25 12:50:20.000000000 +0000
@@ -269,17 +269,14 @@
 
 if [ -z "$MULTIARCH" ]; then
 	# Set up isolinux dir for only the current arch
-	sed -i "s|%install%|$INSTALLDIR|" \
-		boot$N/isolinux/*.cfg boot$N/isolinux/desktop/*.cfg
+	grep -lr '%install%' boot$N/isolinux/* | xargs -r sed -i "s|%install%|$INSTALLDIR|"
     
 	# Remove the amd*.cfg files to avoid them being loaded on a
 	# disc that does not have both amd64 and i386 dirs.
-	rm -f boot$N/isolinux/amd*.cfg boot$N/isolinux/desktop/amd*.cfg
+	find boot$N/isolinux/ -name "amd*.cfg" -delete
 else
 	# Set up isolinux dir for multi-arch
-	sed -i "s|%install%|$INSTALLDIR_i386|
-			s|%install-amd%|$INSTALLDIR_amd64|" \
-			    boot$N/isolinux/*.cfg boot$N/isolinux/desktop/*.cfg
+	grep -lr '%install[-amd]*%' boot$N/isolinux/* | xargs -r sed -i -e "s|%install%|$INSTALLDIR_i386|" -e "s|%install-amd%|$INSTALLDIR_amd64|"
 
 	for file in boot$N/isolinux/f3.txt* boot$N/isolinux/f4.txt*; do
 		sed -i "4 s/^$/(note: i386 is default; prepend 'amd64-' to use an amd64 kernel instead)/" $file
--- tools/boot/squeeze/x86-desktop.sh~	2009-05-31 23:53:55.000000000 +0000
+++ tools/boot/squeeze/x86-desktop.sh	2013-04-25 12:59:18.000000000 +0000
@@ -22,8 +22,10 @@
 		boot$N/isolinux/amdtxt.cfg || true
 	sed -i "/^include menu.cfg/ a\include instsel.cfg" \
 		boot$N/isolinux/prompt.cfg
-	sed -i "/^default install/ a\include instsel.cfg" \
-		boot$N/isolinux/desktop/prompt.cfg
+	if [ -e boot$N/isolinux/desktop/prompt.cfg ]; then
+		sed -i "/^default install/ a\include instsel.cfg" \
+			boot$N/isolinux/desktop/prompt.cfg
+	fi
 	cat >boot$N/isolinux/instsel.cfg <<EOF
 default install-select
 label install-select
@@ -48,8 +50,8 @@
 
 modify_for_single_desktop() {
 	# Cleanup
-	rm boot$N/isolinux/dtmenu.cfg
-	rm -r boot$N/isolinux/desktop
+	rm -f boot$N/isolinux/dtmenu.cfg
+	rm -fr boot$N/isolinux/desktop
 
 	# Set default desktop, or remove if not applicable
 	if [ "$DESKTOP" ]; then
--- tools/boot/wheezy/boot-x86~	2013-03-24 20:13:25.000000000 +0000
+++ tools/boot/wheezy/boot-x86	2013-04-25 12:00:42.000000000 +0000
@@ -284,17 +284,14 @@
 
 if [ -z "$MULTIARCH" ]; then
 	# Set up isolinux dir for only the current arch
-	sed -i "s|%install%|$INSTALLDIR|" \
-		boot$N/isolinux/*.cfg boot$N/isolinux/desktop/*.cfg
+	grep -lr '%install%' boot$N/isolinux/* | xargs -r sed -i "s|%install%|$INSTALLDIR|"
     
 	# Remove the amd*.cfg files to avoid them being loaded on a
 	# disc that does not have both amd64 and i386 dirs.
-	rm -f boot$N/isolinux/amd*.cfg boot$N/isolinux/desktop/amd*.cfg
+	find boot$N/isolinux/ -name "amd*.cfg" -delete
 else
 	# Set up isolinux dir for multi-arch
-	sed -i "s|%install%|$INSTALLDIR_i386|
-			s|%install-amd%|$INSTALLDIR_amd64|" \
-			    boot$N/isolinux/*.cfg boot$N/isolinux/desktop/*.cfg
+	grep -lr '%install[-amd]*%' boot$N/isolinux/* | xargs -r sed -i -e "s|%install%|$INSTALLDIR_i386|" -e "s|%install-amd%|$INSTALLDIR_amd64|"
 
 	for file in boot$N/isolinux/f3.txt* boot$N/isolinux/f4.txt*; do
 		sed -i "4 s/^$/(note: i386 is default; prepend 'amd64-' to use an amd64 kernel instead)/" $file
--- tools/boot/wheezy/x86-desktop.sh~	2009-05-31 23:53:55.000000000 +0000
+++ tools/boot/wheezy/x86-desktop.sh	2013-04-25 11:54:58.000000000 +0000
@@ -22,8 +22,10 @@
 		boot$N/isolinux/amdtxt.cfg || true
 	sed -i "/^include menu.cfg/ a\include instsel.cfg" \
 		boot$N/isolinux/prompt.cfg
-	sed -i "/^default install/ a\include instsel.cfg" \
-		boot$N/isolinux/desktop/prompt.cfg
+	if [ -e boot$N/isolinux/desktop/prompt.cfg ]; then
+		sed -i "/^default install/ a\include instsel.cfg" \
+			boot$N/isolinux/desktop/prompt.cfg
+	fi
 	cat >boot$N/isolinux/instsel.cfg <<EOF
 default install-select
 label install-select
@@ -48,8 +50,8 @@
 
 modify_for_single_desktop() {
 	# Cleanup
-	rm boot$N/isolinux/dtmenu.cfg
-	rm -r boot$N/isolinux/desktop
+	rm -f boot$N/isolinux/dtmenu.cfg
+	rm -fr boot$N/isolinux/desktop
 
 	# Set default desktop, or remove if not applicable
 	if [ "$DESKTOP" ]; then

Reply to: