From dfa35307058c916d3040c9be0c976b1fd5f82e5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Hertzog?= Date: Thu, 26 Dec 2002 10:39:02 +0000 Subject: [PATCH] * Include patches from Petter Reinholdtsen and Santiago Garcia Mantinan. * Include udebs without checking dependencies. --- CONF.sh | 9 +++++- Makefile | 12 +++++--- debian/CONF.sh | 9 +++++- debian/changelog | 13 +++++++-- tasks/debian-installer | 39 ++++++++++++++++++-------- tasks/debian-installer+kernel | 13 +++++++++ tools/list2cds | 52 +++++++++++++++++++---------------- tools/sarge/installtools.sh | 2 +- 8 files changed, 104 insertions(+), 45 deletions(-) create mode 100644 tasks/debian-installer+kernel diff --git a/CONF.sh b/CONF.sh index 4723a1df..4c31dd6d 100644 --- a/CONF.sh +++ b/CONF.sh @@ -32,6 +32,7 @@ unset FASTSUMS || true unset PUBLISH_URL || true unset PUBLISH_NONUS_URL || true unset PUBLISH_PATH || true +unset INSTALLER_CD || true # The debian-cd dir @@ -42,7 +43,7 @@ export BASEDIR=`pwd` export CODENAME=woody # Version number, "2.2 r0", "2.2 r1" etc. -export DEBVERSION="3.0 beta" +export DEBVERSION="3.0" # Official or non-official set. # NOTE: THE "OFFICIAL" DESIGNATION IS ONLY ALLOWED FOR IMAGES AVAILABLE @@ -202,3 +203,9 @@ export PUBLISH_PATH="/home/jigdo-area/" # 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 --git a/Makefile b/Makefile index ca05c4c7..028bf15a 100755 --- a/Makefile +++ b/Makefile @@ -215,11 +215,15 @@ src-distclean: 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 @@ ifdef FORCENONUSONCD1 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 --git a/debian/CONF.sh b/debian/CONF.sh index 675d31a9..d91827d8 100644 --- a/debian/CONF.sh +++ b/debian/CONF.sh @@ -28,6 +28,7 @@ unset FASTSUMS || true unset PUBLISH_URL || true unset PUBLISH_NONUS_URL || true unset PUBLISH_PATH || true +unset INSTALLER_CD || true # The debian-cd dir @@ -37,7 +38,7 @@ export BASEDIR=/usr/share/debian-cd export CODENAME=woody # Version number, "2.2 r0", "2.2 r1" etc. -export DEBVERSION="3.0 beta" +export DEBVERSION="3.0" # Official or non-official set. # NOTE: THE "OFFICIAL" DESIGNATION IS ONLY ALLOWED FOR IMAGES AVAILABLE @@ -197,3 +198,9 @@ export PUBLISH_PATH="/home/jigdo-area/" # 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 --git a/debian/changelog b/debian/changelog index c8ae4a44..0c703e22 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,8 +10,9 @@ debian-cd (2.2.16) UNRELEASED; urgency=low task mechanism, cf tasks/debian-installer for the current list) * Added all files for sarge (in tasks/ data/ and tools/). * Updated isolinux.bin from syslinux 1.75-1. - * Make it possible to exclude contrib from the CDs. Useful if you only - have a mirror of main. + * Tollef Fog Heen: + - Make it possible to exclude contrib from the CDs. Useful if you only + have a mirror of main. * Petter Reinholdtsen: - Add CONTRIB flag to debian/CONF.sh. - Add support for BASE_INCLUDE and BASE_EXCLUDE, making files @@ -20,8 +21,14 @@ debian-cd (2.2.16) UNRELEASED; urgency=low - Document BOOTDISKS. - Make disk number available in tools/add-bin-doc. - In woody, keep the time stamp of smb.bin when copying it to CD. + * Apply patch from Petter Reinholdtsen for inclusion of + Recommends/Suggests from the base system. Closes: #106903 + * Apply nice patch from Santiago Garcia Mantinan for building + "netinst CDs" ! + * Don't check dependencies for udebs, they tend to be broken + and we still want them on the CD. - -- Tollef Fog Heen Sat, 7 Dec 2002 10:58:53 +0100 + -- Raphael Hertzog Thu, 26 Dec 2002 11:08:55 +0100 debian-cd (2.2.15) unstable; urgency=low diff --git a/tasks/debian-installer b/tasks/debian-installer index e0a4e23a..952dcdb1 100644 --- a/tasks/debian-installer +++ b/tasks/debian-installer @@ -7,19 +7,31 @@ */ 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 @@ evms-udeb 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 @@ nano-udeb 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 --git a/tasks/debian-installer+kernel b/tasks/debian-installer+kernel new file mode 100644 index 00000000..8b57d0c2 --- /dev/null +++ b/tasks/debian-installer+kernel @@ -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$ + */ + +#include +cramfsprogs +dash +initrd-tools +kernel-image-2.4.19-386 +zlib1g diff --git a/tools/list2cds b/tools/list2cds index b7a75525..f8f72eb9 100755 --- a/tools/list2cds +++ b/tools/list2cds @@ -73,6 +73,7 @@ while (defined($_=)) { $packages{$p}{"Depends"} = []; $packages{$p}{"Suggests"} = []; $packages{$p}{"Recommends"} = []; + $packages{$p}{"IsUdeb"} = ($packages{$p}{"Filename"} =~ /.udeb$/) ? 1 : 0; } close AVAIL or die "apt-cache failed : $@ ($!)\n"; $/ = $oldrs; @@ -127,31 +128,9 @@ foreach (keys %excluded) { close (STATS); # Browse the list of packages to include -msg(0, "-- Adding standard, required, important and base packages \n" . - " on the first CD ...\n"); my ($total_size, $cd_size, $size, $cd) = (0, 0, 0, 1); my %cds; -# Automatically include packages listed in the status file -open(STATUS, "< $adir/status") || die "Can't open status file : $!\n"; -while (defined($_ = )) { - next if not m/^Package: (\S+)/; - $p = $1; - if (not exists $packages{$p}) { - msg(1, "WARNING: Package `$p' is listed in the status file " - . "but doesn't exist ! (ignored) \n", - " TIP: Try to generate the status file with " . - "make (correct)status (after a make distclean)...\n"); - next; - } - next if $excluded{$p}; - msg(2, "+ Trying to add $p...\n"); - my $size = $packages{$p}{"Size"}; - add_to_cd (1, $size, [ $p ]); -} -close STATUS; -msg(0, " Standard system already takes $cd_size bytes on the first CD.\n"); - # Generate a dependency tree for each package msg(0, "-- Generating dependencies tree with apt-cache depends...\n"); my (@list) = keys %packages; @@ -177,6 +156,26 @@ while (@list) { } +msg(0, "-- Adding standard, required, important and base packages \n" . + " on the first CD ...\n"); +# Automatically include packages listed in the status file +open(STATUS, "< $adir/status") || die "Can't open status file : $!\n"; +while (defined($_ = )) { + next if not m/^Package: (\S+)/; + $p = $1; + if (not exists $packages{$p}) { + msg(1, "WARNING: Package `$p' is listed in the status file " + . "but doesn't exist ! (ignored) \n", + " TIP: Try to generate the status file with " . + "make (correct)status (after a make distclean)...\n"); + next; + } + next if $excluded{$p}; + add_package($p, ! $norecommends, ! $nosuggests); +} +close STATUS; +msg(0, " Standard system already takes $cd_size bytes on the first CD.\n"); + # Now start to look for packages wanted by the user ... msg(0, "-- Starting to add packages to the CDs ...\n"); open (LIST, "< $list") || die "Can't open $list : $!\n"; @@ -193,7 +192,14 @@ while (defined($_=)) { msg(3, "$_ has already been included.\n"); next; } - add_package ($_, ! $norecommends, ! $nosuggests); + # This is because udebs tend to have bad dependencies but work + # nevertheless ... this may be removed once the udebs have a + # better depencency system + if ($packages{$_}{"IsUdeb"}) { + add_to_cd($cd, $packages{$_}{"Size"}, []); + } else { + add_package ($_, ! $norecommends, ! $nosuggests); + } } close LIST; diff --git a/tools/sarge/installtools.sh b/tools/sarge/installtools.sh index 0732343e..19c27fb6 100755 --- a/tools/sarge/installtools.sh +++ b/tools/sarge/installtools.sh @@ -20,7 +20,7 @@ fi 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