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

Bug#425600: debian-cd: should include "local" packages when checking for base_installable

Package: debian-cd
Severity: minor
Version: 3.0.2
Tags: patch

If a newer version of a package wanted by debootstrap to install the base
system is included in the "local" repository, debian-cd correctly includes
it on the CD. But, when checking if the base system is installable
(function check_base_installable in make_disc_trees.pl), it fails to also
consider the "local" Packages file and thus incorrectly concludes that
base is not installable.

The rough patch below fixes this, but can probably be refined a bit so the
local Packages file is only considered if needed and the warning is avoided.

--- make_disc_trees.pl  (revision 1412)
+++ make_disc_trees.pl  (working copy)
@@ -308,6 +308,17 @@
        close PLIST;

+       $packages_file = "$cddir/dists/$codename/local/binary-$arch/Packages";
+       if (open (PLIST, $packages_file)) {
+               while (defined($p = <PLIST>)) {
+                       chomp $p;
+                       $p =~ m/^Package: (\S+)/ and $on_disc{$1} = $1;
+               }
+       close PLIST;
+       } else {
+               warn "Can't open Packages file $packages_file : $!\n";
+       }
        if (defined($ENV{'BASE_EXCLUDE'})) {
                open (ELIST, $ENV{'BASE_EXCLUDE'})
                        || die "Can't open base_exclude file $ENV{'BASE_EXCLUDE'} : $!\n";

Attachment: pgpLXlmyI4Acu.pgp
Description: PGP signature

Reply to: