r13926 - in /scripts/qa/DebianQA: Archive.pm Common.pm Svn.pm

tincho-guest at users.alioth.debian.org tincho-guest at users.alioth.debian.org
Fri Feb 1 03:06:00 UTC 2008


Author: tincho-guest
Date: Fri Feb  1 03:06:00 2008
New Revision: 13926

URL: http://svn.debian.org/wsvn/?sc=1&rev=13926
Log:
Archive.pm: Add control fields from unstable; changes data format.
Svn.pm: Split fields so they're easier to work on; changes data format.
Common.pm: Bump format version.

Modified:
    scripts/qa/DebianQA/Archive.pm
    scripts/qa/DebianQA/Common.pm
    scripts/qa/DebianQA/Svn.pm

Modified: scripts/qa/DebianQA/Archive.pm
URL: http://svn.debian.org/wsvn/scripts/qa/DebianQA/Archive.pm?rev=13926&op=diff
==============================================================================
--- scripts/qa/DebianQA/Archive.pm (original)
+++ scripts/qa/DebianQA/Archive.pm Fri Feb  1 03:06:00 2008
@@ -79,8 +79,10 @@
             }
         }
     }
+    $modified ||= (find_stamp(read_cache("consolidated", "", 0), "pkglist") >
+        find_stamp(read_cache("consolidated", "", 0), "archive"));
     return unless($modified);
-    info("Re-generating consolidated hash");
+    info("Re-generating archive consolidated hash");
     my $pkgs = get_pkglist_hashref();
     # retain lock, we need consistency
     $data = read_cache("archive", "", 1);
@@ -90,7 +92,7 @@
         foreach my $pkg (keys(%{$data->{$suite}})) {
             next if($pkg =~ m#^/#);
             next if(%$pkgs and not $pkgs->{$pkg});
-            $g->{$pkg}{$suite} = $data->{$suite}{$pkg};
+            $g->{$pkg}{$suite} = $data->{$suite}{$pkg}{ver};
         }
     }
     # Hash for comparing equivalent versions in different suites
@@ -105,8 +107,8 @@
         incoming    => 5,
         new         => 6,
         unstable    => 7,
-        sid         => 8,
-        other       => 9
+        sid         => 7,
+        other       => 8
     );
     foreach my $pkg (keys(%$g)) {
         my @recent = sort( {
@@ -117,7 +119,14 @@
         $g->{$pkg}{most_recent} = $g->{$pkg}{$recent[-1]};
         $g->{$pkg}{most_recent_src} = $recent[-1];
     }
-    $data = update_cache("consolidated", $g, "archive", 1, 0);
+    # Get control data from unstable only
+    if($data->{unstable}) {
+        foreach my $pkg (keys(%$g)) {
+            $g->{$pkg}{control} = $data->{unstable}{$pkg} or next;
+            delete $g->{$pkg}{control}{ver};
+        }
+    }
+    $g = update_cache("consolidated", $g, "archive", 1, 0);
     unlock_cache("archive");
     return;
 }
@@ -165,10 +174,26 @@
         local $/ = "";
         while(<$data>) {
             s/\n\s+//gm;
-            /^package:\s*(\S+)\s*$/mi or next;
-            my $pkg = $1;
-            /^version:\s*(\S+)\s*$/mi or next;
-            $vers{$pkg} = $1;
+            my($pkg) = /^package:\s*(\S+)\s*$/mi or next;
+            my($ver) = /^version:\s*(\S+)\s*$/mi or next;
+            my($b_d) = /^build-depends:\s*(.+)\s*$/mi;
+            my($b_d_i) = /^build-depends-indep:\s*(.+)\s*$/mi;
+            my($maint) = /^maintainer:\s*(.+)\s*$/mi;
+            my($upldr) = /^uploaders:\s*(.+)\s*$/mi;
+            my $dm = /^dm-upload-allowed:\s*yes\s*$/mi;
+            my(@b_d, @b_d_i, @maint, @upldr);
+            @b_d = split(/\s*,\s*/, $b_d) if($b_d);
+            @b_d_i = split(/\s*,\s*/, $b_d_i) if($b_d_i);
+            @maint = split(/\s*,\s*/, $maint) if($maint);
+            @upldr = split(/\s*,\s*/, $upldr) if($upldr);
+            $vers{$pkg} = {
+                ver => $ver,
+                b_d => \@b_d,
+                b_d_i => \@b_d_i,
+                maintainer => \@maint,
+                uploaders => \@upldr,
+                dm_allowed => $dm
+            };
         }
         close $data;
     }
@@ -185,10 +210,11 @@
     my $data = $res->decoded_content();
     my %vers;
     while($data =~ /<a href="([^_]+)_(.+)\.dsc">/g) {
-        debug("existing $1: $vers{$1} / $2") if(defined($vers{$1}));
-        if(!defined $vers{$1} or deb_compare($2, $vers{$1}) > 0) {
-            debug("replaced $1: $vers{$1} -> $2") if(defined($vers{$1}));
-            $vers{$1} = $2;
+        debug("existing $1: $vers{$1}{ver} / $2") if(defined($vers{$1}{ver}));
+        if(!defined $vers{$1}{ver} or deb_compare($2, $vers{$1}{ver}) > 0) {
+            debug("replaced $1: $vers{$1}{ver} -> $2") if(
+                defined($vers{$1}{ver}));
+            $vers{$1}{ver} = $2;
         }
     }
     return \%vers;
@@ -213,12 +239,13 @@
             my $pkg = $row->[0];
             foreach(split(/\s+/, $row->[1])) {
                 next unless($_);
-                debug("existing $pkg: $vers{$pkg} / $_") if(
-                    defined($vers{$pkg}));
-                if(!defined $vers{$pkg} or deb_compare($_, $vers{$pkg}) > 0) {
-                    debug("replaced $pkg: $vers{$pkg} -> $_") if(
-                        defined($vers{$pkg}));
-                    $vers{$pkg} = $_;
+                debug("existing $pkg: $vers{$pkg}{ver} / $_") if(
+                    defined($vers{$pkg}{ver}));
+                if(!defined $vers{$pkg}{ver} or
+                    deb_compare($_, $vers{$pkg}{ver}) > 0) {
+                    debug("replaced $pkg: $vers{$pkg}{ver} -> $_") if(
+                        defined($vers{$pkg}{ver}));
+                    $vers{$pkg}{ver} = $_;
                 }
             }
         }

Modified: scripts/qa/DebianQA/Common.pm
URL: http://svn.debian.org/wsvn/scripts/qa/DebianQA/Common.pm?rev=13926&op=diff
==============================================================================
--- scripts/qa/DebianQA/Common.pm (original)
+++ scripts/qa/DebianQA/Common.pm Fri Feb  1 03:06:00 2008
@@ -19,7 +19,7 @@
 #our $VERSION = qv("1.000");
 
 # Bump this version in case of data file change
-our $VERSION = 1.002;
+our $VERSION = 1.003;
 
 use DebianQA::Config '%CFG';
 use POSIX;

Modified: scripts/qa/DebianQA/Svn.pm
URL: http://svn.debian.org/wsvn/scripts/qa/DebianQA/Svn.pm?rev=13926&op=diff
==============================================================================
--- scripts/qa/DebianQA/Svn.pm (original)
+++ scripts/qa/DebianQA/Svn.pm Fri Feb  1 03:06:00 2008
@@ -150,11 +150,13 @@
         unshift @section, "main" unless(@section > 1);
         $svn{$dir}{section} = $section[0];
         $svn{$dir}{subsection} = $section[1];
-        $svn{$dir}{uploaders} = $ctrl_data->[0]{uploaders};
-        $svn{$dir}{maintainer} = $ctrl_data->[0]{maintainer};
+        $svn{$dir}{maintainer} = [ split(/\s*,\s*/,
+            $ctrl_data->[0]{maintainer} || "") ];
+        $svn{$dir}{uploaders} = [ split(/\s*,\s*/,
+            $ctrl_data->[0]{uploaders} || "") ];
+        $svn{$dir}{b_d} = [ split(/\s*,\s*/, $ctrl_data->[0]{b_d} || "") ];
+        $svn{$dir}{b_d_i} = [ split(/\s*,\s*/, $ctrl_data->[0]{b_d_i} || "") ];
         $svn{$dir}{std_version} = $ctrl_data->[0]{'standards-version'};
-        $svn{$dir}{b_d} = $ctrl_data->[0]{'build-depends'};
-        $svn{$dir}{b_d_i} = $ctrl_data->[0]{'build-depends-indep'};
         $svn{$dir}{short_descr} = $short;
         $svn{$dir}{long_descr} = $long;
         my %bins;




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