From 16b3f9f04c720781692c68aa754ec249bb1c9d4d Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel@debian.org>
Date: Sun, 23 Sep 2007 10:04:38 +0200
Subject: Adding live-package 0.99.17-1.

---
 ChangeLog                 |  13 +++++
 debian/changelog          |   6 +++
 debian/copyright          |   3 +-
 src/lists/rescue          |  56 +++++++++++++++++++
 src/main.sh               |  11 ++--
 src/scripts/02defaults.sh |  12 +++++
 src/scripts/14chroot.sh   |  18 ++++++-
 src/scripts/21image.sh    |  14 +++--
 templates/grub/menu.lst   | 135 ++++++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 259 insertions(+), 9 deletions(-)
 create mode 100644 src/lists/rescue
 create mode 100644 templates/grub/menu.lst

diff --git a/ChangeLog b/ChangeLog
index 957d16d..ec9d1cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2007-01-24 Daniel Baumann <daniel@debian.org>
+
+	* Applied patches from Otavio Salvador <otavio@debian.org>:
+	  - adding "--keyring" flag.
+	  - adding LIVE_DISK_VOLUME.
+	  - adding start-stop-daemon wrapper to avoid daemons to be started.
+	  - adding workaround to prevent binfmt locking /proc.
+	  - adding LIVE_ISOLINUX_SPLASH.
+
+2007-01-19 Daniel Baumann <daniel@debian.org>
+
+	* Replacing mkisofs with genisoimage.
+
 2007-01-16 Daniel Baumann <daniel@debian.org>
 
 	* Switched default distribution back to unstable, as unstable is usable
diff --git a/debian/changelog b/debian/changelog
index 42c4383..7827510 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+live-package (0.99.17-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Wed, 24 Jan 2007 22:18:00 +0100
+
 live-package (0.99.16-1) unstable; urgency=low
 
   * New upstream release.
diff --git a/debian/copyright b/debian/copyright
index d09200b..407c2f9 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -3,8 +3,7 @@ Mon, 17 Jul 2006 00:00:00 +0200.
 
 It was downloaded from <http://debian-live.alioth.debian.org/>.
 
-Copyright Holders: Daniel Baumann <daniel@debian.org>,
-		   Marco Amadori <marco.amadori@gmail.com>.
+Upstream Contact: debian-live-devel@lists.alioth.debian.org
 
 License:
 
diff --git a/src/lists/rescue b/src/lists/rescue
new file mode 100644
index 0000000..a68503c
--- /dev/null
+++ b/src/lists/rescue
@@ -0,0 +1,56 @@
+# /usr/share/make-live/lists/rescue - package list for make-live(1)
+
+# Minimal
+eject file sudo vim-tiny
+
+# Standard
+console-common locales
+
+# Rescue
+
+# Editors
+mc nano-tiny qemacs-nox mg aview
+# Harddisk
+hdparm blktool scsitools
+# Memory
+memtester memtest86+ dmidecode
+# System
+procinfo pciutils usbutils hwinfo hwtools x86info cpuid
+# Tools
+tofrodos rpncalc units
+# Browser
+lynx links w3m
+# Compression
+unzip zip
+# Backup
+dar ddrescue gddrescue
+
+hal
+read-edid
+discover
+wdiff
+gawk
+dc
+dash
+rlwrap
+posh
+chkrootkit
+rkhunter
+parted
+partimage
+grub
+lilo
+testdisk
+xfsprogs
+reiserfsprogs
+e2fsprogs
+ext2resize
+ntfsprogs
+dosfstools
+genisoimage
+wodim
+dvd+rw-tools
+clamav
+clamav-data
+wipe
+secure-delete
diff --git a/src/main.sh b/src/main.sh
index cfffd83..efaab54 100755
--- a/src/main.sh
+++ b/src/main.sh
@@ -28,7 +28,7 @@ set -e
 BASE=${LIVE_BASE:-"/usr/share/make-live"}
 CONFIG="/etc/make-live.conf"
 PROGRAM="`basename ${0}`"
-VERSION="0.99.14"
+VERSION="0.99.17"
 
 CODENAME_OLDSTABLE="woody"
 CODENAME_STABLE="sarge"
@@ -41,7 +41,7 @@ do
 	. "${SCRIPT}"
 done
 
-USAGE="Usage: ${PROGRAM} [-a|--architecture ARCHITECTURE] [-b|--bootappend KERNEL_PARAMETER|\"KERNEL_PARAMETERS\"] [--clone DIRECTORY] [--config FILE] [-c|--chroot DIRECTORY] [-d|--distribution DISTRIBUTION] [--with-generic-indices] [--without-generic-indices] [--with-recommends] [--without-recommends] [--filesystem FILESYSTEM] [-f|--flavour BOOTSTRAP_FLAVOUR] [--hook COMMAND|\"COMMANDS\"] [--include-chroot FILE|DIRECTORY] [--include-image FILE|DIRECTORY] [-k|--kernel KERNEL_FLAVOUR] [--manifest PACKAGE] [-m|--mirror URL] [--mirror-security URL] [--packages PACKAGE|\"PACKAGES\"] [-p|--package-list LIST|FILE] [--preseed FILE] [--proxy-ftp URL] [--proxy-http URL] [--repositories NAME] [-r|--root DIRECTORY] [-s|--section SECTION|\"SECTIONS\"] [--server-address HOSTNAME|IP] [--server-path DIRECTORY] [--templates DIRECTORY] [-t|--type TYPE]"
+USAGE="Usage: ${PROGRAM} [-a|--architecture ARCHITECTURE] [-b|--bootappend KERNEL_PARAMETER|\"KERNEL_PARAMETERS\"] [--clone DIRECTORY] [--config FILE] [-c|--chroot DIRECTORY] [-d|--distribution DISTRIBUTION] [--with-generic-indices] [--without-generic-indices] [--with-recommends] [--without-recommends] [--filesystem FILESYSTEM] [-f|--flavour BOOTSTRAP_FLAVOUR] [--hook COMMAND|\"COMMANDS\"] [--include-chroot FILE|DIRECTORY] [--include-image FILE|DIRECTORY] [-k|--kernel KERNEL_FLAVOUR] [--manifest PACKAGE] [-m|--mirror URL] [-k|--keyring] [--mirror-security URL] [--packages PACKAGE|\"PACKAGES\"] [-p|--package-list LIST|FILE] [--preseed FILE] [--proxy-ftp URL] [--proxy-http URL] [--repositories NAME] [-r|--root DIRECTORY] [-s|--section SECTION|\"SECTIONS\"] [--server-address HOSTNAME|IP] [--server-path DIRECTORY] [--templates DIRECTORY] [-t|--type TYPE]"
 
 Help ()
 {
@@ -79,6 +79,7 @@ Help ()
 	echo "  --manifest: specifies the pivot package to create filesystem.manifest-desktop upon (mostly \"ubuntu-live\")."
 	echo "  -m, --mirror: specifies debian mirror."
 	echo "  --mirror-security: specifies debian security mirror."
+	echo "  --keyring: specifies keyring package."
 	echo "  --packages: specifies aditional packages."
 	echo "  -p, --package-list: specifies additonal package list."
 	echo "  --repositories: specifies custom repositories."
@@ -164,7 +165,7 @@ Configuration ()
 
 Main ()
 {
-	ARGUMENTS="`getopt --longoptions root:,type:,architecture:,bootappend:,clone:,config:,chroot:,distribution:,filesystem:,flavour:,bootstrap-config:,hook:,include-chroot:,include-image:,kernel:,manifest:,mirror:,mirror-security:,output:,packages:,package-list:,proxy-ftp:,preseed:,proxy-http:,repositories:,section:,server-address:,server-path:,templates:,with-generic-indices,without-generic-indices,with-recommends,without-recommends,with-source,without-source,help,usage,version --name=${PROGRAM} --options r:t:a:b:c:d:f:k:m:o:p:s:huv --shell sh -- "${@}"`"
+	ARGUMENTS="`getopt --longoptions root:,type:,architecture:,bootappend:,clone:,config:,chroot:,distribution:,filesystem:,flavour:,bootstrap-config:,hook:,include-chroot:,include-image:,kernel:,manifest:,mirror:,keyring:,mirror-security:,output:,packages:,package-list:,proxy-ftp:,preseed:,proxy-http:,repositories:,section:,server-address:,server-path:,templates:,with-generic-indices,without-generic-indices,with-recommends,without-recommends,with-source,without-source,help,usage,version --name=${PROGRAM} --options r:t:a:b:c:d:f:k:m:o:p:s:huv --shell sh -- "${@}"`"
 
 	if [ "${?}" != "0" ]
 	then
@@ -243,6 +244,10 @@ Main ()
 				LIVE_MIRROR="${2}"; shift 2
 				;;
 
+			--keyring)
+				LIVE_REPOSITORY_KEYRING="${2}"; shift 2
+				;;
+
 			--mirror-security)
 				LIVE_MIRROR_SECURITY="${2}"; shift 2
 				;;
diff --git a/src/scripts/02defaults.sh b/src/scripts/02defaults.sh
index faca476..aa26f76 100644
--- a/src/scripts/02defaults.sh
+++ b/src/scripts/02defaults.sh
@@ -154,6 +154,12 @@ Defaults ()
 		LIVE_MIRROR="http://ftp.debian.org/debian/"
 	fi
 
+	# Set debian keyring
+	if [ -z "${LIVE_REPOSITORY_KEYRING}" ]
+	then
+		LIVE_REPOSITORY_KEYRING="debian-archive-keyring"
+	fi
+
 	# Set debian security mirror
 	if [ -z "${LIVE_MIRROR_SECURITY}" ]
 	then
@@ -248,4 +254,10 @@ Defaults ()
 	then
 		LIVE_SOURCE="no"
 	fi
+
+	# Set disk volume
+	if [ -z "${LIVE_DISK_VOLUME}" ]
+	then
+		LIVE_DISK_VOLUME="Debian Live `date +%Y%m%d`"
+	fi
 }
diff --git a/src/scripts/14chroot.sh b/src/scripts/14chroot.sh
index 2e2b489..5132e8c 100644
--- a/src/scripts/14chroot.sh
+++ b/src/scripts/14chroot.sh
@@ -30,6 +30,16 @@ Chroot ()
 		# Mount proc
 		mount proc-live -t proc "${LIVE_CHROOT}"/proc
 
+		# Avoid daemon starting
+		cat  > "${LIVE_CHROOT}"/usr/sbin/policy-rc.d <<EOF
+#!/bin/sh
+echo
+echo "Warning: invoke-rc.d policy in action. Skiping daemon starting"
+
+exit 101
+EOF
+		chmod 755 "${LIVE_CHROOT}"/usr/sbin/policy-rc.d
+
 		# Configure sources.list
 		Indices custom initial
 
@@ -42,7 +52,7 @@ Chroot ()
 		then
 			if [ "${LIVE_FLAVOUR}" != "minimal" ]
 			then
-				Chroot_exec "aptitude install --assume-yes debian-archive-keyring"
+				Chroot_exec "apt-get install --yes --force-yes ${LIVE_REPOSITORY_KEYRING}"
 
 				for NAME in ${LIVE_REPOSITORIES}
 				do
@@ -172,9 +182,15 @@ Chroot ()
 		rm -rf "${LIVE_CHROOT}"/var/cache/apt
 		mkdir -p "${LIVE_CHROOT}"/var/cache/apt/archives/partial
 
+		# Workaround binfmt-support /proc locking
+		umount "${LIVE_CHROOT}"/proc/sys/fs/binfmt_misc > /dev/null || true
+
 		# Unmount proc
 		umount "${LIVE_CHROOT}"/proc
 
+		# Allow daemon starting
+		rm "${LIVE_CHROOT}"/usr/sbin/policy-rc.d
+
 		# Deconfigure network
 		Patch_network deapply
 
diff --git a/src/scripts/21image.sh b/src/scripts/21image.sh
index d44d4f3..ba52d70 100644
--- a/src/scripts/21image.sh
+++ b/src/scripts/21image.sh
@@ -181,6 +181,10 @@ Syslinux ()
 					"${LIVE_ROOT}"/binary/isolinux
 				rm -f "${LIVE_ROOT}"/binary/isolinux/pxelinux.cfg
 
+				if [ -n "${LIVE_ISOLINUX_SPLASH}" ]; then
+					cp "${LIVE_ISOLINUX_SPLASH}" "${LIVE_ROOT}/binary/isolinux/splash.rle"
+				fi
+
 				# Configure syslinux templates
 				sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" "${LIVE_ROOT}"/binary/isolinux/isolinux.cfg
 				sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" "${LIVE_ROOT}"/binary/isolinux/f1.txt
@@ -200,6 +204,10 @@ Syslinux ()
 				rm -f "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/isolinux.cfg
 				sed -i -e 's#splash.rle#pxelinux.cfg/splash.rle#' "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/isolinux.txt
 
+				if [ -n "${LIVE_ISOLINUX_SPLASH}" ]; then
+					cp "${LIVE_ISOLINUX_SPLASH}" "${LIVE_ROOT}/tftpboot/pxelinux.cfg/splash.rle"
+				fi
+
 				# Configure syslinux templates
 				sed -i -e "s/LIVE_SERVER_ADDRESS/${LIVE_SERVER_ADDRESS}/" -e "s#LIVE_SERVER_PATH#${LIVE_SERVER_PATH}#" -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/default
 				sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" "${LIVE_ROOT}"/tftpboot/pxelinux.cfg/f1.txt
@@ -296,19 +304,19 @@ Mkisofs ()
 			if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ]
 			then
 				# Create image
-				mkisofs -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -publisher "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -o "${LIVE_ROOT}"/"${LIVE_IMAGE}"binary.iso -r -J -l -V "Debian Live `date +%Y%m%d`" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table "${LIVE_ROOT}"/binary ${LIVE_INCLUDE_IMAGE}
+				genisoimage -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -publisher "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -o "${LIVE_ROOT}"/"${LIVE_IMAGE}"binary.iso -r -J -l -V "${LIVE_DISK_VOLUME}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table "${LIVE_ROOT}"/binary ${LIVE_INCLUDE_IMAGE}
 			else
 				echo "W: Bootloader on your architecture not yet supported (Continuing in 5 seconds)."
 				sleep 5
 
 				# Create image
-				mkisofs -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -publisher "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -o "${LIVE_ROOT}"/"${LIVE_IMAGE}"binary.iso -r -J -l -V "Debian Live `date +%Y%m%d`" "${LIVE_ROOT}"/binary ${LIVE_INCLUDE_IMAGE}
+				genisoimage -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -publisher "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -o "${LIVE_ROOT}"/"${LIVE_IMAGE}"binary.iso -r -J -l -V "${LIVE_DISK_VOLUME}" "${LIVE_ROOT}"/binary ${LIVE_INCLUDE_IMAGE}
 			fi
 			;;
 
 		source)
 			# Create image
-			mkisofs -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -publisher "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -o "${LIVE_ROOT}"/"${LIVE_IMAGE}"source.iso -r -J -l -V "Debian Live `date +%Y%m%d`" "${LIVE_ROOT}"/source
+			genisoimage -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -publisher "Debian Live; http://debian-live.alioth.debian.org/; debian-live-devel@lists.alioth.debian.org" -o "${LIVE_ROOT}"/"${LIVE_IMAGE}"source.iso -r -J -l -V "${LIVE_DISK_VOLUME}" "${LIVE_ROOT}"/source
 			;;
 	esac
 }
diff --git a/templates/grub/menu.lst b/templates/grub/menu.lst
new file mode 100644
index 0000000..843a135
--- /dev/null
+++ b/templates/grub/menu.lst
@@ -0,0 +1,135 @@
+# menu.lst - See: grub(8), info grub, update-grub(8)
+#            grub-install(8), grub-floppy(8),
+#            grub-md5-crypt, /usr/share/doc/grub
+#            and /usr/share/doc/grub-doc/.
+
+## default num
+# Set the default entry to the entry number NUM. Numbering starts from 0, and
+# the entry number 0 is the default if the command is not used.
+#
+# You can specify 'saved' instead of a number. In this case, the default entry
+# is the entry saved with the command 'savedefault'.
+# WARNING: If you are using dmraid do not change this entry to 'saved' or your
+# array will desync and will not let you boot your system.
+default		0
+
+## timeout sec
+# Set a timeout, in SEC seconds, before automatically booting the default entry
+# (normally the first entry defined).
+timeout		1
+
+# Pretty colours
+color cyan/blue white/blue
+
+## password ['--md5'] passwd
+# If used in the first section of a menu file, disable all interactive editing
+# control (menu entry editor and command-line)  and entries protected by the
+# command 'lock'
+# e.g. password topsecret
+#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
+# password topsecret
+
+#
+# examples
+#
+# title		Windows 95/98/NT/2000
+# root		(hd0,0)
+# makeactive
+# chainloader	+1
+#
+# title		Linux
+# root		(hd0,1)
+# kernel	/vmlinuz root=/dev/hda2 ro
+#
+
+#
+# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
+
+### BEGIN AUTOMAGIC KERNELS LIST
+## lines between the AUTOMAGIC KERNELS LIST markers will be modified
+## by the debian update-grub script except for the default options below
+
+## DO NOT UNCOMMENT THEM, Just edit them to your needs
+
+## ## Start Default Options ##
+## default kernel options
+## default kernel options for automagic boot options
+## If you want special options for specific kernels use kopt_x_y_z
+## where x.y.z is kernel version. Minor versions can be omitted.
+## e.g. kopt=root=/dev/hda1 ro
+##      kopt_2_6_8=root=/dev/hdc1 ro
+##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
+# kopt=CDLABEL=Debian-Live rootfstype=iso9660 ro
+
+## default grub root device
+## e.g. groot=(hd0,0)
+# groot=(hd0,4)
+
+## should update-grub create alternative automagic boot options
+## e.g. alternative=true
+##      alternative=false
+# alternative=true
+
+## should update-grub lock alternative automagic boot options
+## e.g. lockalternative=true
+##      lockalternative=false
+# lockalternative=false
+
+## additional options to use with the default boot option, but not with the
+## alternatives
+## e.g. defoptions=vga=791 resume=/dev/hda5
+# defoptions=
+
+## should update-grub lock old automagic boot options
+## e.g. lockold=false
+##      lockold=true
+# lockold=false
+
+## Xen hypervisor options to use with the default Xen boot option
+# xenhopt=
+
+## Xen Linux kernel options to use with the default Xen boot option
+# xenkopt=console=tty0
+
+## altoption boot targets option
+## multiple altoptions lines are allowed
+## e.g. altoptions=(extra menu suffix) extra boot options
+##      altoptions=(single-user) single
+# altoptions=(single-user mode) single
+
+## controls how many kernels should be put into the menu.lst
+## only counts the first occurence of a kernel, not the
+## alternative kernel options
+## e.g. howmany=all
+##      howmany=7
+# howmany=all
+
+## should update-grub create memtest86 boot option
+## e.g. memtest86=true
+##      memtest86=false
+# memtest86=true
+
+## should update-grub adjust the value of the default booted system
+## can be true or false
+# updatedefaultentry=false
+
+## ## End Default Options ##
+
+title		Debian Live (default)
+root		(cd)
+kernel		/boot/vmlinuz root=CDLABEL=Debian-Live rootfstype=iso9660 ro boot=casper
+initrd		/boot/initrd.img
+savedefault
+
+title		Debian Live (run from RAM)
+root		(cd)
+kernel		/boot/vmlinuz root=CDLABEL=Debian-Live rootfstype=iso9660 ro boot=casper toram
+initrd		/boot/initrd.img
+savedefault
+
+title		memtest86+ RAM tester
+root		(cd)
+kernel		/boot/memtest
+savedefault
+
+### END DEBIAN AUTOMAGIC KERNELS LIST
-- 
cgit v1.0