[debsums] 130/184: Support foreign multiarch packages

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 c57845f7b11fff3e6189c41fb2c9a976024fd9be
Author: Anders Kaseorg <andersk at mit.edu>
Date:   Fri Jul 8 00:45:40 2011 -0400

    Support foreign multiarch packages
    
    Signed-off-by: Anders Kaseorg <andersk at mit.edu>
---
 debsums | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/debsums b/debsums
index 29cd72e..7de5146 100755
--- a/debsums
+++ b/debsums
@@ -293,9 +293,10 @@ sub is_replaced
 
     unless ($installed{$pack}{ReplacedBy})
     {
-	return 0 unless $replaced{$pack};
+	(my $name = $pack) =~ s/:[^:]*$//;
+	return 0 unless $replaced{$name};
 
-	while (my ($ver, $p) = each %{$replaced{$pack}})
+	while (my ($ver, $p) = each %{$replaced{$name}})
 	{
 	    next unless $ver eq 'all'
 		or dpkg_cmp $installed{$pack}{Version}, $ver;
@@ -447,7 +448,7 @@ for (@ARGV)
     my $conffiles;
 
     # looks like a package name
-    unless (/[^a-z\d+.-]/ or /\.deb$/)
+    unless (/[^a-z\d+.:-]/ or /\.deb$/)
     {
 	$pack = $_;
 	unless (exists $installed{$pack})
@@ -471,8 +472,11 @@ for (@ARGV)
 	    {
 		# look for <pack>_<ver>_<arch>.deb or <pack>_<ver>.deb
 		# where <ver> may or may not contain an epoch
-		if (($deb) = grep -f, map +(glob "$dir/${pack}_$_.deb"),
-		    map +("${_}_$arch", "${_}_all", $_), @v)
+		my ($debname, $debarch);
+		($debname, $debarch) = ($pack =~ /^(.*):([^:]*)$/)
+		    or ($debname, $debarch) = ($pack, $arch);
+		if (($deb) = grep -f, map +(glob "$dir/${debname}_$_.deb"),
+		    map +("${_}_$debarch", "${_}_all", $_), @v)
 		{
 		    $deb =~ s!^\./+!!;
 		    last;

-- 
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