[debsums] 129/184: Keep track of packages by package specifier instead of name

Axel Beckert abe at deuxchevaux.org
Mon Mar 2 21:21:26 UTC 2015


This is an automated email from the git hooks/post-receive script.

abe pushed a commit to branch master
in repository debsums.

commit 09ccdc7c594a48da231e91aea998a38fd2fb601e
Author: Anders Kaseorg <andersk at mit.edu>
Date:   Fri Jul 8 00:45:40 2011 -0400

    Keep track of packages by package specifier instead of name
    
    Signed-off-by: Anders Kaseorg <andersk at mit.edu>
---
 debsums | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/debsums b/debsums
index 9a51ce4..29cd72e 100755
--- a/debsums
+++ b/debsums
@@ -205,14 +205,15 @@ my %installed;
 my %replaced;
 {
     for my $fields (parse_dpkg(sub {'dpkg-query', "--admindir=$DPKG", @_, '--show'},
-			       [qw(Package Version Status Conffiles Replaces)])) {
+			       [qw(Package PackageSpec Version Status Conffiles Replaces)])) {
 	my %field = %$fields;
-	next unless $field{Package} ne ''
+	$field{PackageSpec} = $field{Package} if $field{PackageSpec} eq '';
+	next unless $field{PackageSpec} ne ''
 		and $field{Version} ne ''
 		and $field{Status} =~ /\sinstalled$/;
 
-	$installed{$field{Package}}{Version} = $field{Version};
-	$installed{$field{Package}}{Conffiles} = {
+	$installed{$field{PackageSpec}}{Version} = $field{Version};
+	$installed{$field{PackageSpec}}{Conffiles} = {
 	    map m!^\s*/(\S+)\s+([\da-f]+)!, split /\n/, $field{Conffiles}
 	} if $field{Conffiles};
 
@@ -221,11 +222,11 @@ my %replaced;
 	    my ($pack, $ver) = /^(\S+)(?:\s+\(([^)]+)\))?$/;
 	    unless ($pack)
 	    {
-		warn "$self: invalid Replaces for $field{Package} '$_'\n";
+		warn "$self: invalid Replaces for $field{PackageSpec} '$_'\n";
 	    	next;
 	    }
 
-	    push @{$replaced{$pack}{$ver || 'all'}}, $field{Package};
+	    push @{$replaced{$pack}{$ver || 'all'}}, $field{PackageSpec};
 	}
     }
 }
@@ -534,22 +535,23 @@ for (@ARGV)
 
 	my $deb = $_;
 	my ($fields) = parse_dpkg(sub {'dpkg-deb', @_, '--show', $deb},
-				  [qw(Package Version Conffiles)])
+				  [qw(Package PackageSpec Version Conffiles)])
 	  or do {
 	    warn "$self: $deb does not seem to be a valid debian archive\n";
 	    $status |= 1;
 	    next;
 	};
 	my %field = %$fields;
+	$field{PackageSpec} = $field{Package} if $field{PackageSpec} eq '';
 
-	unless ($field{Package} ne '' and $field{Version} ne '')
+	unless ($field{PackageSpec} ne '' and $field{Version} ne '')
 	{
 	    warn "$self: $deb does not seem to be a valid debian archive\n";
 	    $status |= 1;
 	    next;
 	}
 
-	$pack = $field{Package};
+	$pack = $field{PackageSpec};
 	unless (exists $installed{$pack})
 	{
 	    warn "$self: package $pack is not installed\n";

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/debsums.git



More information about the Pkg-perl-cvs-commits mailing list