request for simple-cdd freeze exception
i intend to upload a version of simple-cdd that works with the recent debian-cd
upload targeted for lenny. a diff of planned changes is attached.
please review if it would be acceptible for a freeze exception.
simple-cdd (0.3.9) unstable; urgency=low
* depend on debian-cd >= 3.1.0
* update task and exclude handling to support newer versions of debian-cd.
* set MAXISOS and MAXJIGDOS used in newer versions of debian-cd.
* only download installer when DI_WWW_HOME is not set, as debian-cd will
handle it.
* fix BOOT_TIMEOUT parameter.
* debian/control: use proper Vcs-* header.
* update architecture specific kernel selection.
* ensure that relevent linux-image-2.6-* packages are also installed, as
changes to linux-image metapackages do not pull in linux-image-2.6-* by
default, which causes debian-installer to ask which kernel to install.
* exit if being run as root. add --force-root commandline option to override.
* profile updates:
- ltsp:
+ include commented out example to enable DHCP server
+ remove packages no longer needed
- vserver:
+ ensure that a vserver capable kernel is installed
+ install util-vserver and debootstrap by default
+ lower vserver-debiantools to an optional package
-- Vagrant Cascadian <vagrant@freegeek.org> Mon, 12 Jan 2009 12:42:44 -0800
live well,
vagrant
=== modified file 'build-simple-cdd'
--- build-simple-cdd 2008-06-20 17:56:35 +0000
+++ build-simple-cdd 2009-01-12 20:14:04 +0000
@@ -37,6 +37,7 @@
--help|-h display this help
--qemu|-q use qemu to test the image
--force-preseed only issue a warning if a preseeding file is invalid
+--force-root allow running as root
--profiles-udeb-dist pull simple-cdd-profiles udeb from other distribution
--extra-udeb-dist also pull in udebs from specified distribution
--require-optional-packages fail if missing optional packages (*.downloads)
@@ -94,6 +95,7 @@
--extra-udeb-dist) extra_udeb_dist="$2"
shift ;;
--require-optional-packages) export require_optional_packages="true" ;;
+ --force-root) force_root="true" ;;
*) get_help "ERROR: unknown commandline option: $1" > /dev/stderr
exit 1 ;;
esac
@@ -157,6 +159,10 @@
# get defaults, and have build profiles over-ride all others
get_config default $profiles $build_profiles
+if [ "$force_root" != "true" ] && [ "$UID" = "0" ]; then
+ die "Running as root is strongly discouraged. please run as a non-root user."
+fi
+
test -z "$server" && server="ftp.us.debian.org"
test -z "$debian_mirror" && debian_mirror="ftp://$server/debian/"
test -z "$wget_debian_mirror" && wget_debian_mirror="$debian_mirror"
@@ -200,6 +206,7 @@
test -z "$MAXCDS" && export MAXCDS=1
test -z "$OMIT_RELEASE_NOTES" && export OMIT_RELEASE_NOTES=1
test -z "$DOJIGDO" && export DOJIGDO="0"
+test -z "$MAXJIGDOS" && export MAXJIGDOS="0"
export MIRROR="$simple_cdd_mirror"
export BASEDIR="$simple_cdd_basedir"
@@ -221,7 +228,9 @@
debian-cd)
test -z "$debian_cd_dir" && debian_cd_dir="/usr/share/debian-cd"
# set include files for debian-cd
- test -z "$includes" && includes="$BASEDIR/tasks/debian-installer+kernel-$CODENAME $BASEDIR/tasks/debian-installer-$CODENAME $BASEDIR/tasks/base-$CODENAME"
+ test -z "$includes" && includes="debian-installer+kernel debian-installer"
+ # ensure that ISO images are built
+ test -z "$MAXISOS" && export MAXISOS="ALL"
;;
esac
done
@@ -304,12 +313,17 @@
done
if [ -z "$kernel_packages" ]; then
- # FIXME: add appropriate kernels for other architectures.
- for a in $ARCHES ; do
- case $a in
- i386) kernel_packages="$kernel_packages linux-image-486" ;;
- *) kernel_packages="$kernel_packages linux-image-$a" ;;
- esac
+ # guess appropriate kernel for architectures
+ for kernel_base in linux-image- linux-image-2.6- ; do
+ for a in $ARCHES ; do
+ case $a in
+ i386) kernel_packages="$kernel_packages ${kernel_base}486" ;;
+ powerpc|amd64|s390) kernel_packages="$kernel_packages ${kernel_base}$a" ;;
+ alpha) kernel_packages="$kernel_packages ${kernel_base}alpha-generic" ;;
+ sparc) kernel_packages="$kernel_packages ${kernel_base}sparc64" ;;
+ *) echo "WARNING: unable to guess kernel for architecture: $a" ;;
+ esac
+ done
done
fi
@@ -372,7 +386,7 @@
mkdir -p $BASEDIR
if [ "true" = "$do_mirror" ] || [ -z "$do_mirror" ] ; then
- if [ -z "$custom_installer" ]; then
+ if [ -z "$custom_installer" ] && [ -z "$DI_WWW_HOME" ]; then
# add d-i files for each architecture
for a in $ARCHES ; do
case $a in
=== modified file 'debian/control'
--- debian/control 2008-10-31 22:19:34 +0000
+++ debian/control 2009-01-12 18:55:28 +0000
@@ -4,12 +4,12 @@
Maintainer: Vagrant Cascadian <vagrant@freegeek.org>
Build-Depends: debhelper (>= 5.0.22), cdbs, libdebian-installer4-dev (>= 0.41), libdebconfclient0-dev (>= 0.49)
Standards-Version: 3.8.0
-XS-X-Vcs-Bzr: http://cdd.alioth.debian.org/bzr/simple-cdd/simple-cdd-devel
+Vcs-Bzr: http://cdd.alioth.debian.org/bzr/simple-cdd/simple-cdd-devel
XS-DM-Upload-Allowed: yes
Package: simple-cdd
Architecture: all
-Depends: rsync, debian-cd (>= 3.0.5), reprepro | debpartial-mirror, apt-utils, wget, python, debootstrap, lsb-release, dctrl-tools
+Depends: rsync, debian-cd (>= 3.1.0), reprepro | debpartial-mirror, apt-utils, wget, python, debootstrap, lsb-release, dctrl-tools
Suggests: qemu
Description: create custom debian-installer CDs
simple-cdd is a limited though relatively easy tool to create a customized
=== modified file 'profiles/ltsp.downloads'
--- profiles/ltsp.downloads 2007-06-04 09:07:23 +0000
+++ profiles/ltsp.downloads 2009-01-12 18:45:35 +0000
@@ -1,10 +1,6 @@
ltsp-client
xorg
-discover1
-mdetect
-xresprobe
udev
xdebconfigurator
-esound
ltsp-server-standalone
linux-image-486
=== modified file 'profiles/ltsp.postinst'
--- profiles/ltsp.postinst 2007-03-20 04:31:38 +0000
+++ profiles/ltsp.postinst 2009-01-12 18:45:35 +0000
@@ -3,4 +3,6 @@
# configure NFS
echo '/opt/ltsp *(ro,no_root_squash,async)' >> /etc/exports
-# TODO: configure DHCP
+# configure DHCP (disabled by default, so as not to interfere with existing
+# networks)
+#echo 'include "/etc/ltsp/dhcpd.conf";' >> /etc/dhcp3/dhcpd.conf
=== modified file 'profiles/vserver.downloads'
--- profiles/vserver.downloads 2006-12-03 21:24:15 +0000
+++ profiles/vserver.downloads 2009-01-12 18:45:35 +0000
@@ -1,1 +1,2 @@
linux-image-vserver-686
+vserver-debianutils
=== removed file 'profiles/vserver.excludes'
--- profiles/vserver.excludes 2007-03-20 03:06:10 +0000
+++ profiles/vserver.excludes 1970-01-01 00:00:00 +0000
@@ -1,3 +0,0 @@
-linux-image-486
-linux-image-2.6-486
-linux-image-2.6.18-4-486
=== modified file 'profiles/vserver.packages'
--- profiles/vserver.packages 2006-12-15 19:32:48 +0000
+++ profiles/vserver.packages 2009-01-12 18:45:35 +0000
@@ -1,2 +1,3 @@
-vserver-debiantools
+util-vserver
+debootstrap
libc6-i686
=== modified file 'profiles/vserver.preseed'
--- profiles/vserver.preseed 2006-12-03 21:24:15 +0000
+++ profiles/vserver.preseed 2009-01-12 18:45:35 +0000
@@ -1,2 +1,1 @@
-# this should select the vserver kernel, but it only works if linux-image-2.6-486 isn't available.
-base-installer base-installer/kernel/which-kernel select linux-image-vserver-686
+base-installer base-installer/kernel/image select linux-image-vserver-686
=== modified file 'tools/build/debian-cd'
--- tools/build/debian-cd 2007-10-27 20:02:03 +0000
+++ tools/build/debian-cd 2009-01-12 18:45:56 +0000
@@ -2,14 +2,6 @@
export PATH="$debian_cd_dir/tools:$PATH"
-test -r "$TASK" && mv -f $TASK $TASK.bak
-for i in $includes ; do
- echo '#include <'"$i"'>'
-done | sort -u > $TASK
-for p in $all_packages ; do
- echo $p
-done | sort -u >> $TASK
-
# copy debian-cd files into working dir
rsync --delete -aWHr $debian_cd_dir/. $BASEDIR/
@@ -25,8 +17,28 @@
make distclean
make status
-mv $TASK $BASEDIR/tasks/
-make packagelists TASK=tasks/simple-cdd.task
+if [ -n "$EXCLUDE" ]; then
+ mv $EXCLUDE $TDIR/$CODENAME/tasks/simple-cdd.exclude
+ export EXCLUDE=simple-cdd.exclude
+fi
+
+# add include files to the task
+test -r "$TASK" && mv -f $TASK $TASK.bak
+for i in $includes ; do
+ echo '#include <'"$i"'>'
+ # ensure includes exist in the appropriate place
+ if [ -f "$BASEDIR/tasks/$i" ]; then
+ cp $BASEDIR/tasks/$i $TDIR/$CODENAME/tasks/
+ fi
+done | sort -u > $TASK
+
+# add all desired packages to the task
+for p in $all_packages ; do
+ echo $p
+done | sort -u >> $TASK
+
+mv $TASK $TDIR/$CODENAME/tasks/simple-cdd.task
+make packagelists TASK=simple-cdd.task
make image-trees
@@ -36,7 +48,7 @@
echo "SERIAL 0 $serial_console_speed 0" >> $isolinuxcfg
fi
if [ -n "$BOOT_TIMEOUT" ]; then
- sed -i -e "s,TIMEOUT.*,TIMEOUT $BOOT_TIMEOUT,g" $isolinuxcfg
+ sed -r -i -e "s,(TIMEOUT|timeout).*,TIMEOUT $BOOT_TIMEOUT,g" $isolinuxcfg
fi
fi
Reply to: