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

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: