The following commit has been merged in the master branch:
commit 8e3f26ad2d330da7269e77a097b8eefb3f148e02
Author: Guillem Jover <guil...@debian.org>
Date:   Sun Jun 14 21:41:24 2009 +0200

    dpkg-scanpackages: Properly detect spurious overrides
    
    The detection was being done too late as no overriden information is
    kept if the packages is not on the archive.

diff --git a/debian/changelog b/debian/changelog
index 6526f56..f377ec0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,7 @@ dpkg (1.15.3) UNRELEASED; urgency=low
   [ Guillem Jover ]
   * Unset TAR_OPTIONS when extracting .deb archives. Closes: #530860
   * Use default compressor values in dpkg-source from Dpkg::Source::Compressor.
+  * Fix dpkg-scanpackages to properly detect spurious overrides.
 
   [ Raphael Hertzog ]
   * Unset TAR_OPTIONS when creating/extracting tar archives for source
diff --git a/scripts/dpkg-scanpackages.pl b/scripts/dpkg-scanpackages.pl
index d2189d5..dadf5bd 100755
--- a/scripts/dpkg-scanpackages.pl
+++ b/scripts/dpkg-scanpackages.pl
@@ -14,6 +14,7 @@ use Dpkg::Version qw(compare_versions);
 textdomain("dpkg-dev");
 
 my (@samemaint, @changedmaint);
+my @spuriousover;
 my %packages;
 my %overridden;
 
@@ -85,7 +86,10 @@ sub load_override
 
        my ($p, $priority, $section, $maintainer) = split(/\s+/, $_, 4);
 
-       next unless defined($packages{$p});
+       if (not defined($packages{$p})) {
+           push(@spuriousover, $p);
+           next;
+       }
 
        for my $package (@{$packages{$p}}) {
            if ($maintainer) {
@@ -268,8 +272,6 @@ for my $p (sort keys %packages) {
 }
 close(STDOUT) or syserr(_g("Couldn't close stdout"));
 
-my @spuriousover= grep(!defined($packages{$_}),sort keys %overridden);
-
 writelist(_g("** Packages in archive but missing from override file: **"),
           @missingover);
 if (@changedmaint) {

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to debian-dpkg-cvs-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to