From e0213e29ca84cb03cb5d9eeeb3d3777d74250c0b Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Fri, 28 Sep 2007 18:41:02 +0000 Subject: [PATCH] * Exclude packages and add all task present ones before resolve dependencies, avoiding OR dependencies to take their place and removed packages dependencies to be included. Closes: #410418. --- debian/changelog | 5 ++++- tools/list2cds | 23 +++++++++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index d3489203..35910e9e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,6 +15,9 @@ debian-cd (3.0.4) UNRELEASED; urgency=low * Exclude multipath-udeb and libaio1-udeb since they're not being use yet. * Fix autorun.inf generation when win32-loader is present. + * Exclude packages and add all task present ones before resolve + dependencies, avoiding OR dependencies to take their place and removed + packages dependencies to be included. Closes: #410418. [ Steve McIntyre ] * Make daily i386/amd64 lenny builds work again - don't attempt to copy @@ -31,7 +34,7 @@ debian-cd (3.0.4) UNRELEASED; urgency=low [ Joey Hess ] * Include dmraid deb. Closes: #443991 - -- Joey Hess Thu, 27 Sep 2007 13:44:56 -0400 + -- Otavio Salvador Fri, 28 Sep 2007 15:40:56 -0300 debian-cd (3.0.3) unstable; urgency=low diff --git a/tools/list2cds b/tools/list2cds index 2c3591bf..ab377db9 100755 --- a/tools/list2cds +++ b/tools/list2cds @@ -104,6 +104,16 @@ if (not $nonfree) { } } +open (EXCLUDE_LIST, "< $exclude") || die "Can't open $exclude : $!\n"; +while (defined($_=)) { + chomp; + next if m/^\s*$/; + next if $excluded{$_}; + $excluded{$_} = 'list'; + $count_excl++; +} +close EXCLUDE_LIST; + msg(1, "Statistics: Number of packages: @{ [scalar(keys %packages)] } Number of excluded: $count_excl of @{ [scalar(keys %excluded)] } @@ -179,10 +189,20 @@ while (defined($_=)) { next; } next if $excluded{$_}; - if ($included{$_}) { + if ($included{$_} == -1) { msg(3, "$_ has already been included.\n"); next; } + + $included{$_} = -1; +} +close LIST; + +foreach (keys %included) { + next if ($included{$_} != -1); + + $included{$_} = 0; + # This is because udebs tend to have bad dependencies but work # nevertheless ... this may be removed once the udebs have a # better depencency system @@ -192,7 +212,6 @@ while (defined($_=)) { add_package ($_, ! $norecommends, ! $nosuggests); } } -close LIST; msg(0, " Now up to $cd_size bytes\n"); # All requested packages have been included