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

Patch for small cd images and producing them officially?



Hi!

I've been working on a patch to make debian-cd be able to build small cd
images. I think this one does it.

The following patch produces images just with:

1-debian-installer and the doc
2-debian-installer, files necesary for a basic install and the doc

I have tested it both here at home and at gluck, so if nobody objects to the
code I will commit it.

I could put this into production in gluck if we like it, but there are some
issues:

First of all, what do we want to build, the smaller ones 45 Mb right now,
or the installable from cd ones, 83 Mb.

Second but not least, there are several problems with the dependencies on
d-i:

The first one is that the packages depend on libc6, which causes libc6
to go into the cds wich means at least more than 3 megs of unneeded
oversize, the packages depend on libc6 2.3.1 and we are putting on the cds
version 2.2.5.

Second, there are some d-i udeb packages that won't be installed due to
missing dependencies, these missing depends are libparted1.6-0 and
libdebian-installer3 which are on sid but are not udebs on d-i repository.
The packages that depend on them and that don't go on the cd are:
anna, autopartkit, choose-mirror, ethdetect, main-menu, net-retriever,
netcfg-dhcp and netcfg-static.

I can fix this last problem adding those packages from sid, but I really
believe that that is not the way to go. I believe that this should be fixed
by making udebs of those packages with the right dependencies. As for the
dependency on libc6, that should also be fixed on d-i packages.

Once we have this fixed we can go to the first question, the medium cds or
the smaller ones? and then put them into production, but I really don't
think that they should be put into production before this problems being
solved.

Comments on all this?

I'd like to know other people opinions on this, mostly the Release
Manager's, but also others.

Well, guess that is all, questions will also be accepted ;-)

Regards...
-- 
Manty/BestiaTester -> http://manty.net


diff -N -u -r debian-cd.orig/CONF.sh debian-cd/CONF.sh
--- debian-cd.orig/CONF.sh	2002-12-14 14:58:15.000000000 +0100
+++ debian-cd/CONF.sh	2002-12-19 01:30:27.000000000 +0100
@@ -32,6 +32,7 @@
 unset PUBLISH_URL       || true
 unset PUBLISH_NONUS_URL || true
 unset PUBLISH_PATH      || true
+unset INSTALLER_CD      || true
 
 
 # The debian-cd dir
@@ -202,3 +203,9 @@
 
 # File with list of packages to exclude as above.
 #export BASE_EXCLUDE="$BASEDIR"/data/$CODENAME/base_exclude
+
+# Only put the installer onto the cd (set NORECOMMENDS,... as well).
+# INSTALLER_CD=0: nothing special (default)
+# INSTALLER_CD=1: just add debian-installer (use TASK=tasks/debian-installer)
+# INSTALLER_CD=2: add d-i and base (use TASK=tasks/debian-installer+kernel)
+#export INSTALLER_CD=0
diff -N -u -r debian-cd.orig/Makefile debian-cd/Makefile
--- debian-cd.orig/Makefile	2002-12-14 14:53:18.000000000 +0100
+++ debian-cd/Makefile	2002-12-19 00:59:41.000000000 +0100
@@ -215,11 +215,15 @@
 status: init $(ADIR)/status
 $(ADIR)/status:
 	@echo "Generating a fake status file for apt-get and apt-cache..."
-	$(Q)zcat $(MIRROR)/dists/$(CODENAME)/main/binary-$(ARCH)/Packages.gz | \
-	perl -000 -ne 's/^(Package: .*)$$/$$1\nStatus: install ok installed/m; \
+	$(Q)if [ "$(INSTALLER_CD)" = "1" -o "$(INSTALLER_CD)" = "2" ];then \
+		:> $(ADIR)/status ; \
+	else \
+		zcat $(MIRROR)/dists/$(CODENAME)/main/binary-$(ARCH)/Packages.gz | \
+		perl -000 -ne 's/^(Package: .*)$$/$$1\nStatus: install ok installed/m; \
 	               print if (/^Priority: (required|important|standard)/m or \
 		       /^Section: base/m);' \
-	> $(ADIR)/status
+		> $(ADIR)/status ; \
+	fi
 	# Updating the apt database
 	$(Q)$(apt) update
 	#
@@ -328,7 +332,7 @@
 		grep-dctrl -FSection -n -sPackage -e '^(non-US|non-us)' - | \
 		sort | uniq > $(BDIR)/Debian_$(CODENAME)_nonUS
 endif
-	$(Q)if [ -x "/usr/sbin/debootstrap" ]; then \
+	$(Q)if [ -x "/usr/sbin/debootstrap" -a _$(INSTALLER_CD) != _1 ]; then \
 		/usr/sbin/debootstrap --arch $(ARCH) --print-debs $(CODENAME) \
 		| tr ' ' '\n' >>$(BDIR)/rawlist; \
 	fi
diff -N -u -r debian-cd.orig/debian/CONF.sh debian-cd/debian/CONF.sh
--- debian-cd.orig/debian/CONF.sh	2002-12-14 14:58:15.000000000 +0100
+++ debian-cd/debian/CONF.sh	2002-12-19 01:30:49.000000000 +0100
@@ -28,6 +28,7 @@
 unset PUBLISH_URL       || true
 unset PUBLISH_NONUS_URL || true
 unset PUBLISH_PATH      || true
+unset INSTALLER_CD      || true
 
 
 # The debian-cd dir
@@ -197,3 +198,9 @@
 
 # File with list of packages to exclude as above.
 #export BASE_EXCLUDE="$BASEDIR"/data/$CODENAME/base_exclude
+
+# Only put the installer onto the cd (set NORECOMMENDS,... as well).
+# INSTALLER_CD=0: nothing special (default)
+# INSTALLER_CD=1: just add debian-installer (use TASK=tasks/debian-installer)
+# INSTALLER_CD=2: add d-i and base (use TASK=tasks/debian-installer+kernel)
+#export INSTALLER_CD=0
diff -N -u -r debian-cd.orig/tasks/debian-installer debian-cd/tasks/debian-installer
--- debian-cd.orig/tasks/debian-installer	2002-11-22 18:14:32.000000000 +0100
+++ debian-cd/tasks/debian-installer	2002-12-14 17:32:52.000000000 +0100
@@ -3,23 +3,35 @@
  * This list can be generated with that command line:
  * $ grep-dctrl -s Package -n -e '.*' /mirror/debian/dists/sarge/main/debian-installer/binary-i386/Packages
  *
- * Last update: $Date: 2002/11/22 17:14:32 $
+ * Last update: $Date: 2002/12/14 13:48:52 $
  */
  
 anna
+autopartkit
 base-installer
 brltty-udeb
+busybox-cvs-udeb
 busybox-udeb
 cdebconf-udeb
 cdrom-detect
-cdrom-modules-2.4.18-386-udeb
 cdrom-modules-2.4.19-386-udeb
+cdrom-modules-2.4.20-386-udeb
 cdrom-retriever
 choose-mirror
+console-fonts
+console-keymaps-acorn
+console-keymaps-amiga
+console-keymaps-atari
+console-keymaps-mac
+console-keymaps-ps2
+console-keymaps-sun
 dash-udeb
 debootstrap-udeb
 dhcp-client-udeb
 dhcp3-client-udeb
+di-utils-fake-mkfs
+di-utils-fake-mount-partitions
+di-utils-fake-partitioner
 di-utils-mkfs
 di-utils-mount-partitions
 di-utils-partitioner
@@ -32,14 +44,17 @@
 fdisk-udeb
 file-retriever
 floppy-modules-2.4.19-386-udeb
+floppy-modules-2.4.20-386-udeb
+floppy-retriever
 grub-installer
-ide-modules-2.4.18-386-udeb
 ide-modules-2.4.19-386-udeb
+ide-modules-2.4.20-386-udeb
 ipv6-modules-2.4.19-386-udeb
-isa-pnp-modules-2.4.18-386-udeb
+ipv6-modules-2.4.20-386-udeb
 isa-pnp-modules-2.4.19-386-udeb
-kernel-image-2.4.18-386-udeb
+isa-pnp-modules-2.4.20-386-udeb
 kernel-image-2.4.19-386-udeb
+kernel-image-2.4.20-386-udeb
 libc-udeb
 lilo-installer
 main-menu
@@ -49,27 +64,27 @@
 net-retriever
 netcfg-dhcp
 netcfg-static
-nic-modules-2.4.18-386-udeb
 nic-modules-2.4.19-386-udeb
-nic-modules-extra-2.4.18-386-udeb
+nic-modules-2.4.20-386-udeb
 nic-modules-extra-2.4.19-386-udeb
-nic-modules-shared-2.4.18-386-udeb
+nic-modules-extra-2.4.20-386-udeb
 nic-modules-shared-2.4.19-386-udeb
-packet-socket-2.4.18-386-udeb
+nic-modules-shared-2.4.20-386-udeb
 packet-socket-2.4.19-386-udeb
-plip-modules-2.4.18-386-udeb
 plip-modules-2.4.19-386-udeb
-ppp-modules-2.4.18-386-udeb
+plip-modules-2.4.20-386-udeb
 ppp-modules-2.4.19-386-udeb
+ppp-modules-2.4.20-386-udeb
 ppp-udeb
 prebaseconfig
 pump-udeb
 rootskel
-scsi-modules-2.4.18-386-udeb
 scsi-modules-2.4.19-386-udeb
-serial-modules-2.4.18-386-udeb
+scsi-modules-2.4.20-386-udeb
 serial-modules-2.4.19-386-udeb
+serial-modules-2.4.20-386-udeb
 socket-modules-2.4.19-386-udeb
+socket-modules-2.4.20-386-udeb
 udhcpc-udeb
 udpkg
 
diff -N -u -r debian-cd.orig/tasks/debian-installer+kernel debian-cd/tasks/debian-installer+kernel
--- debian-cd.orig/tasks/debian-installer+kernel	1970-01-01 01:00:00.000000000 +0100
+++ debian-cd/tasks/debian-installer+kernel	2002-12-14 17:32:52.000000000 +0100
@@ -0,0 +1,13 @@
+/* These files + the ones needed by debootstrap are the ones needed for
+ * debian-installer to be able to complete the installation of the base.
+ * at least at this pre-sarge days.
+ *
+ * Last update: $Date: 2002/12/14 16:06/34 $
+ */
+
+#include <debian-installer>
+cramfsprogs
+dash
+initrd-tools
+kernel-image-2.4.19-386
+zlib1g
diff -N -u -r debian-cd.orig/tools/sarge/installtools.sh debian-cd/tools/sarge/installtools.sh
--- debian-cd.orig/tools/sarge/installtools.sh	2002-10-11 11:51:24.000000000 +0200
+++ debian-cd/tools/sarge/installtools.sh	2002-12-14 17:32:52.000000000 +0100
@@ -20,7 +20,7 @@
 cd $DOCS
 mkdir -p $DIR/install/$DOCDIR
 if cp -a * $DIR/install/$DOCDIR/ ; then
-    ln -f install.en.html $DIR/install/$DOCDIR/index.html
+    ln -f $DIR/install/$DOCDIR/install.en.html $DIR/install/$DOCDIR/index.html
 else
     echo "ERROR: Unable to copy boot-floppies documentation to CD."
 fi



Reply to: