chiark / gitweb /
fix madison thing
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 16 Aug 2013 19:12:13 +0000 (20:12 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 16 Aug 2013 19:12:13 +0000 (20:12 +0100)
dgit

diff --git a/dgit b/dgit
index b25c4a3d9ce558007c80321bbc7b31a88a78b040..e4b1177dc23896b2389030e70e7a5a6bca0c2890 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -209,7 +209,7 @@ sub parsechangelog {
     return $c;
 }
 
-our $rmad;
+our %rmad;
 
 sub archive_query () {
     my $query = access_cfg('archive-query');
@@ -218,13 +218,15 @@ sub archive_query () {
     my $proto = $1;
     my $url = $'; #';
     die unless $proto eq 'madison';
-    $rmad ||= cmdoutput qw(rmadison -asource),"-s$suite","-u$url",$package;
+    $rmad{$package} ||= cmdoutput
+       qw(rmadison -asource),"-s$suite","-u$url",$package;
+    my $rmad = $rmad{$package};
     if (!length $rmad) {
        return ();
     }
     $rmad =~ m{^ \s*( [^ \t|]+ )\s* \|
                  \s*( [^ \t|]+ )\s* \|
-                 \s*( [^ \t|/]+ )(?:/([^ \t|/]+)) \s* \|
+                 \s*( [^ \t|/]+ )(?:/([^ \t|/]+))? \s* \|
                  \s*( [^ \t|]+ )\s* }x or die "$rmad $?";
     $1 eq $package or die "$rmad $package ?";
     my $vsn = $2;