[SCM] Git repository for devscripts branch, master, updated. v2.11.7-6-geb83b7e

James McCoy jamessan at debian.org
Thu May 17 00:51:18 UTC 2012


The following commit has been merged in the master branch:
commit eb83b7e27942f0dfd4b42b0f01f86f91ae8a7969
Author: James McCoy <jamessan at debian.org>
Date:   Wed May 16 20:46:46 2012 -0400

    dd-list: Don't error when given multiple binary packages from the same source.
    
    Closes: #672309
    Signed-off-by: James McCoy <jamessan at debian.org>

diff --git a/debian/changelog b/debian/changelog
index bef5745..a0aa202 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,8 @@ devscripts (2.11.8) UNRELEASED; urgency=low
   [ James McCoy ]
   * dd-list:
     + Recognize -h argument, as documented.
+    + Don't error when given multiple binary packages from the same source.
+      (Closes: #672309)
   * Also note DEBCHANGE_MAINTTRAILER change in NEWS entry for 2.11.7.
     (Closes: #672973)
 
diff --git a/scripts/dd-list.pl b/scripts/dd-list.pl
index e89e699..7e5b36a 100755
--- a/scripts/dd-list.pl
+++ b/scripts/dd-list.pl
@@ -100,7 +100,7 @@ sub parsefh
 				 keys %package_name;
     }
     while (<$fh>) {
-	my ($package, $source, $binaries, $maintainer, $uploaders, @uploaders);
+	my ($package, $source, $binaries, $maintainer, @uploaders);
 
 	# Binary is shown in _source_Sources and contains all binaries produced by
 	# that source package
@@ -123,30 +123,34 @@ sub parsefh
 	    $maintainer=$1;
 	}
 	if (/^Uploaders:\s+(.*(?:\n .*)*)$/m) {
-	    $uploaders=$1;
-	    $uploaders =~ s/\n//g;
-	    @uploaders = split /(?<=>)\s*,\s*/, $uploaders;
+	    my $matches=$1;
+	    $matches =~ s/\n//g;
+	    @uploaders = split /(?<=>)\s*,\s*/, $matches;
 	}
 
 	if (defined $maintainer
 	    && (defined $package || defined $source || defined $binaries)) {
 	    $source ||= $package;
 	    $binaries ||= $package;
+	    my @names;
 	    if ($check_package) {
-		if ($binaries =~ m/$package_names/) {
-		    $binaries = $1;
-		    $package_name{$binaries}--;
+		my @pkgs;
+		if (@pkgs = ($binaries =~ m/$package_names/g)) {
+		    map { $package_name{$_}-- } @pkgs;
 		}
 		elsif ($source !~ m/$package_names/) {
 		    next;
 		}
 		$package_name{$source}--;
-		$package = $print_binary ? $binaries : $source;
+		@names = $print_binary ? @pkgs : $source;
 	    }
-	    push @{$dict{$maintainer}}, $package;
-	    if ($show_uploaders && defined $uploaders) {
+	    else {
+		@names = $print_binary ? $binaries : $source;
+	    }
+	    push @{$dict{$maintainer}}, @names;
+	    if ($show_uploaders && @uploaders) {
 		foreach my $uploader (@uploaders) {
-		    push @{$dict{$uploader}}, "$package (U)";
+		    push @{$dict{$uploader}}, map "$_ (U)", @names;
 		}
 	    }
 	}

-- 
Git repository for devscripts



More information about the devscripts-devel mailing list