diff --git a/CONF.sh b/CONF.sh index 2dbafa54..9eef88ad 100644 --- a/CONF.sh +++ b/CONF.sh @@ -18,6 +18,7 @@ unset MKISOFS_OPTS unset EXCLUDE unset SRCEXCLUDE unset NORECOMMENDS +unset NOSUGGESTS unset DOJIGDO unset JIGDOCMD unset JIGDOTEMPLATEURL @@ -124,10 +125,14 @@ export APTTMP=/ftp/tmp/apt # We also exclude some source packages #export SRCEXCLUDE="$BASEDIR"/tasks/exclude-src-potato -# Set this if only the required (and NOT the recommended/suggested) packages -# should be added on CDs when a package is added on the CD. +# Set this if the recommended packages should be skipped when adding +# package on the CD. The default is 'false'. #export NORECOMMENDS=1 +# Set this if the suggested packages should be skipped when adding +# package on the CD. The default is 'true'. +#export NOSUGGESTS=1 + # Produce jigdo files: # 0/unset = Don't do jigdo at all, produce only the full iso image. # 1 = Produce both the iso image and jigdo stuff. diff --git a/debian/CONF.sh b/debian/CONF.sh index 0b86524c..f18bcb2b 100644 --- a/debian/CONF.sh +++ b/debian/CONF.sh @@ -14,6 +14,7 @@ unset MKISOFS_OPTS unset EXCLUDE unset SRCEXCLUDE unset NORECOMMENDS +unset NOSUGGESTS unset DOJIGDO unset JIGDOCMD unset JIGDOTEMPLATEURL @@ -119,10 +120,14 @@ export APTTMP=/home/ftp/tmp/apt # We also exclude some source packages #export SRCEXCLUDE="$BASEDIR"/tasks/exclude-src-potato -# Set this if only the required (and NOT the recommended/suggested) packages -# should be added on CDs when a package is added on the CD. +# Set this if the recommended packages should be skipped when adding +# package on the CD. The default is 'false'. #export NORECOMMENDS=1 +# Set this if the suggested packages should be skipped when adding +# package on the CD. The default is 'true'. +#export NOSUGGESTS=1 + # Produce jigdo files: # 0/unset = Don't do jigdo at all, produce only the full iso image. # 1 = Produce both the iso image and jigdo stuff. diff --git a/debian/changelog b/debian/changelog index ba913c39..9849c0d5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,8 +2,18 @@ debian-cd (2.2.14) unstable; urgency=low * UNRELEASED. * Updated the script to update tasks/base-woody. Closes: #138651 + * Anne commited stuff for inclusion of a local security.debian.org. + * Added NOSUGGESTS in a similar way than NORECOMMENDS. Thanks + to Petter Reinholdtsen . + * Added "decompacted language packs" to the bootable CDs. + Closes: #139179 + * Corrected name of kernel s/linux/linux.bin/ (why the hell + do they need to change that name now ...). Closes: #139503 + Change has been made for arches where the latest bf are + available. More may need to come for arches like sparc + which are catching up with bf. - -- Raphael Hertzog Sun, 17 Mar 2002 00:05:11 +0100 + -- Raphael Hertzog Mon, 25 Mar 2002 10:53:01 +0100 debian-cd (2.2.13) unstable; urgency=low diff --git a/tools/boot/woody/boot-alpha b/tools/boot/woody/boot-alpha index b087e703..fb22c950 100755 --- a/tools/boot/woody/boot-alpha +++ b/tools/boot/woody/boot-alpha @@ -11,6 +11,8 @@ # FIXME: This script ignores jensen, which needs a custom kernel. +. $BASEDIR/tools/boot/$CODENAME/common.sh + set -e N=$1 @@ -24,6 +26,8 @@ if [ $N != 1 -a $N != 1_NONUS ]; then exit 0; fi +install_languages $CDDIR + echo -n "-J boot1" > $N.mkisofs_opts mkdir -p boot1/boot diff --git a/tools/boot/woody/boot-hppa b/tools/boot/woody/boot-hppa index 8d561b82..4e657b81 100755 --- a/tools/boot/woody/boot-hppa +++ b/tools/boot/woody/boot-hppa @@ -7,6 +7,8 @@ # palo is used to make ISOs bootable on HPPA. +. $BASEDIR/tools/boot/$CODENAME/common.sh + N=$1 CDROOT=$2 @@ -24,5 +26,7 @@ fi cp -f /usr/share/palo/iplboot $CDROOT/install +install_languages $CDROOT + exit 0 diff --git a/tools/boot/woody/boot-i386 b/tools/boot/woody/boot-i386 index 7336ddf3..e1dc5ef9 100755 --- a/tools/boot/woody/boot-i386 +++ b/tools/boot/woody/boot-i386 @@ -14,6 +14,8 @@ # $1 is the CD number # $2 is the temporary CD build dir +. $BASEDIR/tools/boot/$CODENAME/common.sh + set -e N=$1 @@ -57,7 +59,7 @@ cp -f CD1/dists/$CODENAME/main/disks-$ARCH/current/images-2.88/${KTYPE[$NN]}/res echo -n "-J -b boot/rescue.bin " > $N.mkisofs_opts - +install_languages $CDDIR # Only disk one gets the extra files installed # @@ -93,10 +95,10 @@ fi # populate the install directory as well (cd $CDDIR/dists/$CODENAME/main/disks-$ARCH/current/ ; \ cp -f images-1.44/resc*.bin $CDDIR/install ; \ - cp -f linux $CDDIR/install/linux ; \ - cp -f compact/linux $CDDIR/install/lincompt ; \ - cp -f idepci/linux $CDDIR/install/linpci ; \ - cp -f bf2.4/linux $CDDIR/install/lin24 ; \ + cp -f linux.bin $CDDIR/install/linux ; \ + cp -f compact/linux.bin $CDDIR/install/lincompt ; \ + cp -f idepci/linux.bin $CDDIR/install/linpci ; \ + cp -f bf2.4/linux.bin $CDDIR/install/lin24 ; \ cp -f images-1.44/root.bin $CDDIR/install ) diff --git a/tools/boot/woody/boot-ia64 b/tools/boot/woody/boot-ia64 index abf39edd..eaca80e8 100755 --- a/tools/boot/woody/boot-ia64 +++ b/tools/boot/woody/boot-ia64 @@ -5,6 +5,8 @@ # $1 is the CD number # $2 is the temporary CD build dir +. $BASEDIR/tools/boot/$CODENAME/common.sh + set -e N=$1 @@ -19,6 +21,8 @@ if [ $N != 1 -a $N != 1_NONUS ]; then exit 0; fi +install_languages $CDDIR + mkdir -p boot$N/boot cp -f CD1/dists/$CODENAME/main/disks-$ARCH/current/images-1.44/rescue.bin boot$N/boot/ echo -n "-no-emul-boot -J -b boot/rescue.bin -c boot/boot.catalog boot$N" > $N.mkisofs_opts @@ -27,7 +31,7 @@ echo -n "-no-emul-boot -J -b boot/rescue.bin -c boot/boot.catalog boot$N" > $N. # rescue.bin is 10MB on ia64 (cd CD1/install; \ ln -s ../dists/$CODENAME/main/disks-$ARCH/current/images-1.44/rescue.bin . ; \ - ln -s ../dists/$CODENAME/main/disks-$ARCH/current/linux . ; \ + ln -s ../dists/$CODENAME/main/disks-$ARCH/current/linux.bin . ; \ ln -s ../dists/$CODENAME/main/disks-$ARCH/current/root.bin . ) # th,th, thats all diff --git a/tools/boot/woody/boot-m68k b/tools/boot/woody/boot-m68k index 40e9f7a1..4ce00a4a 100755 --- a/tools/boot/woody/boot-m68k +++ b/tools/boot/woody/boot-m68k @@ -8,6 +8,8 @@ # Do install stuff for m68k, including making bootable CDs or BVME4000/6000 # +. $BASEDIR/tools/boot/$CODENAME/common.sh + set -e #set -x @@ -24,6 +26,8 @@ if [ $N != 1 ]; then exit 0 fi +install_languages $CDDIR + # Get real name of current disks directory DISKSDIR=$CDDIR/dists/$CODENAME/main/disks-$ARCH DISKSVER=$(if ! readlink $DISKSDIR/current; then echo current; fi) diff --git a/tools/boot/woody/boot-powerpc b/tools/boot/woody/boot-powerpc index 1f2e1f91..0790ccce 100755 --- a/tools/boot/woody/boot-powerpc +++ b/tools/boot/woody/boot-powerpc @@ -12,6 +12,8 @@ # $1 is the CD number # $2 is the temporary CD build dir +. $BASEDIR/tools/boot/$CODENAME/common.sh + set -e N=$1 @@ -28,6 +30,8 @@ if [ $N != 1 -a $N != 1_NONUS ]; then exit 0 fi +install_languages $CDROOT + echo -n "--netatalk -hfs -probe -map $BASEDIR/data/hfs.map" \ > $N.mkisofs_opts echo -n " -prep-boot install/prep/boot.bin" >> $N.mkisofs_opts @@ -73,14 +77,14 @@ cd $INSTALLDIR #--------------- APUS - Stuff ------------------------------- #echo Installing APUS files mkdir apus -cp -f $DISKSROOT/apus/linux apus +cp -f $DISKSROOT/apus/linux.bin apus cp -f $DISKSROOT/apus/images-1.44/root.bin apus cp -f $DISKSROOT/apus/images-1.44/rescue.bin apus #--------------- CHRP - Stuff ------------------------------- echo Installing CHRP files mkdir chrp -cp -f $DISKSROOT/chrp/linux chrp +cp -f $DISKSROOT/chrp/linux.bin chrp cp -f $DISKSROOT/chrp/images-1.44/root.bin chrp cp -f $DISKSROOT/chrp/images-1.44/rescue.bin chrp @@ -101,8 +105,8 @@ cp -f $DISKSROOT/chrp/images-1.44/rescue.bin chrp #--------------- PMac - Stuff ------------------------------- echo Installing Power-Macintosh files mkdir powermac -cp -f $DISKSROOT/powermac/linux powermac/vmlinux -cp -f $DISKSROOT/new-powermac/linux powermac/vmlinux2.4 +cp -f $DISKSROOT/powermac/linux.bin powermac/vmlinux +cp -f $DISKSROOT/new-powermac/linux.bin powermac/vmlinux2.4 cp -f $DISKSROOT/powermac/images-1.44/root.bin powermac/ cp -f $DISKSROOT/powermac/images-1.44/boot-floppy-hfs.img powermac/ @@ -134,7 +138,7 @@ cp -f $BASEDIR/data/yaboot/boot.msg powermac/ #--------------- PReP - Stuff ------------------------------- echo Installing PReP files mkdir prep -cp -f $DISKSROOT/prep/linux prep +cp -f $DISKSROOT/prep/linux.bin prep cp -f $DISKSROOT/prep/images-1.44/boot.bin prep cp -f $DISKSROOT/prep/images-1.44/root.bin prep cp -f $DISKSROOT/prep/images-1.44/rescue.bin prep diff --git a/tools/boot/woody/boot-s390 b/tools/boot/woody/boot-s390 index 40fddeb0..30236f3a 100755 --- a/tools/boot/woody/boot-s390 +++ b/tools/boot/woody/boot-s390 @@ -14,6 +14,8 @@ # $1 is the CD number # $2 is the temporary CD build dir +. $BASEDIR/tools/boot/$CODENAME/common.sh + set -e N=$1 @@ -27,6 +29,7 @@ fi mkdir -p boot$N/boot +install_languages $CDDIR # # Install the two kernel images, the ramdisk and the parameter file diff --git a/tools/boot/woody/boot-sparc b/tools/boot/woody/boot-sparc index f6ce766f..b27f6a5b 100755 --- a/tools/boot/woody/boot-sparc +++ b/tools/boot/woody/boot-sparc @@ -9,6 +9,8 @@ # # Do install stuff for sparc, including making first CD bootable +. $BASEDIR/tools/boot/$CODENAME/common.sh + set -e N=$1 @@ -23,6 +25,8 @@ if [ $N != 1 -a $N != 1_NONUS ]; then exit 0; fi +install_languages $CDDIR + echo "-B boot/second.b boot1" > $N.mkisofs_opts rm -rf boot1 diff --git a/tools/boot/woody/common.sh b/tools/boot/woody/common.sh new file mode 100644 index 00000000..a8811334 --- /dev/null +++ b/tools/boot/woody/common.sh @@ -0,0 +1,18 @@ + +# This file provides some common code that is intented to be called +# by the various boot- scripts. + + +# install_languages decompacts the language packs, you should give the path +# to the CD temporary tree. +# This function should be called for all bootable images. +install_languages() { + # Param $1 is the CD directory + if [ -f "$MIRROR/dists/$CODENAME/main/disks-$ARCH/current/xlp.tgz" ] + then + mkdir $1/.xlp + (cd $1/.xlp; \ + tar zxf $MIRROR/dists/$CODENAME/main/disks-$ARCH/current/xlp.tgz ) + fi +} + diff --git a/tools/list2cds b/tools/list2cds index 2804918a..b7a75525 100755 --- a/tools/list2cds +++ b/tools/list2cds @@ -22,6 +22,7 @@ my $local = $ENV{'LOCAL'} || 0; my $complete = $ENV{'COMPLETE'} || 0; my $exclude = $ENV{'EXCLUDE'} || "$list.exclude"; my $norecommends = $ENV{'NORECOMMENDS'} || 0; +my $nosuggests = $ENV{'NOSUGGESTS'} || 1; my $apt = "$ENV{'BASEDIR'}/tools/apt-selection"; my $adir = "$ENV{'APTTMP'}/$ENV{'CODENAME'}-$ENV{'ARCH'}"; @@ -192,7 +193,7 @@ while (defined($_=)) { msg(3, "$_ has already been included.\n"); next; } - add_package ($_, ! $norecommends); + add_package ($_, ! $norecommends, ! $nosuggests); } close LIST; @@ -207,7 +208,7 @@ if ($complete) { foreach $p (sort { ($packages{$a}{"Section"} cmp $packages{$b}{"Section"}) || ($a cmp $b) } grep { not ($included{$_} or $excluded{$_}) } keys %packages) { - add_package ($p, 0); + add_package ($p, 0, 0); } } msg(0, "CD $cd will only be filled with $cd_size bytes ...\n"); @@ -233,7 +234,7 @@ if ($extranonfree and (! $nonfree)) # Include non-free packages foreach $p (@toinclude) { - add_package($p, 1); + add_package($p, 1, 1); } # If a contrib package was listed in the list of packages to @@ -251,7 +252,7 @@ if ($extranonfree and (! $nonfree)) "(ignored)\n"); next; } - add_package ($_, 1); + add_package ($_, 1, 1); } close LIST; @@ -264,7 +265,7 @@ if ($extranonfree and (! $nonfree)) grep { not ($included{$_} or $excluded{$_}) } keys %packages) { - add_package ($p, 0); + add_package ($p, 0, 0); } } @@ -409,7 +410,8 @@ sub read_virtualdepends { sub add_package { my $p = shift; - my $add_rec = shift; # Do we look for recommends/suggests + my $add_rec = shift; # Do we look for recommends + my $add_sug = shift; # Do we look for suggests msg(2, "+ Trying to add $p...\n"); if ($included{$p}) { @@ -438,8 +440,8 @@ sub add_package { msg(3, " \@dep after checklist = @dep\n"); if ($add_rec) { - #TODO: Look for recommends & suggests (not yet included !!) - add_suggests (\@dep); + #TODO: Look for recommends (not yet included !!) + add_recommends (\@dep); # Check again but doesn't fail if one of the package cannot be # installed, just ignore it (it will be removed from @dep) if (not check_list (\@dep, 0)) { @@ -449,6 +451,18 @@ sub add_package { msg(3, " \@dep after checklist2 = @dep\n"); } + if ($add_sug) { + #TODO: Look for suggests (not yet included !!) + add_suggests (\@dep); + # Check again but doesn't fail if one of the package cannot be + # installed, just ignore it (it will be removed from @dep) + if (not check_list (\@dep, 0)) { + msg(0, "UNEXPECTED: It shouldn't fail here !\n"); + return; + } + msg(3, " \@dep after checklist3 = @dep\n"); + } + # All packages are ok, now check for the size issue $size = get_size (\@dep); @@ -483,12 +497,22 @@ sub add_suggests { my @copy = @{$list}; # A copy is needed since I'll modify the array foreach $p (@copy) { - add_missing($list, $packages{$p}{"Recommends"}); add_missing($list, $packages{$p}{"Suggests"}); } } +sub add_recommends { + my $list = shift; + my $p; # = shift; + my @copy = @{$list}; # A copy is needed since I'll modify the array + + foreach $p (@copy) { + add_missing($list, $packages{$p}{"Recommends"}); + } + +} + sub get_missing { my $p = shift; my @list = ($p);