Count RC bugs in stable.
[bugscan.git] / bugcounts
index 046f294..de473a1 100755 (executable)
--- a/bugcounts
+++ b/bugcounts
@@ -6,10 +6,11 @@
 use Getopt::Std;
 require scanlib;
 require bugcfg;
 use Getopt::Std;
 require scanlib;
 require bugcfg;
+use strict;
+use warnings;
 
 
-$Version               = "BugCount 1.1\nCopyright (C) Wichert Akkerman <wakkerma\@debian.org>\n";
-$statusfile            = "status";
-$commentsfile  = "comments";
+my $Version            = "BugCount 1.1\nCopyright (C) Wichert Akkerman <wakkerma\@debian.org>\n";
+my $statusfile         = "status";
 
 sub ShowVersion() {
        print "$Version\n";
 
 sub ShowVersion() {
        print "$Version\n";
@@ -24,53 +25,37 @@ Options:
   -V    show version
   -h    show some (hopefully) helpfull information
   -S    use different statusfile
   -V    show version
   -h    show some (hopefully) helpfull information
   -S    use different statusfile
-  -C    use different commentsfile
 EOF
        exit 0;
 }
 
 EOF
        exit 0;
 }
 
-getopts('VhS:C:');
+our ($opt_h,$opt_V,$opt_S);
+
+getopts('VhS:');
 ShowUsage if ($opt_h);
 ShowVersion if ($opt_V);
 $statusfile=$opt_S if ($opt_S);
 ShowUsage if ($opt_h);
 ShowVersion if ($opt_V);
 $statusfile=$opt_S if ($opt_S);
-$commentsfile=$opt_C if ($opt_C);
 
 
-&readstatus($statusfile);
-&readcomments($commentsfile);
+scanlib::readstatus($statusfile);
 
 
-$total=0;                      # total number of bugs
-$removecount=0;                # Number of bugs that will disappear if packages are removed
-$patchcount=0;         # Number of bugs that have a fix proposed
-$pendingcount=0;       # Number of bugs that will have a fix uploaded RSN
-$ignorecount=0;         # Number of bugs being ignored
-$nottestingcount=0;    # Number of bugs on packages not in testing
-$worrycount=0;         # Number of bugs we're actually worried about
-%sectcount=();         # Bugs per type
+my $total=0;           # total number of bugs
+my $patchcount=0;      # Number of bugs that have a fix proposed
+my $pendingcount=0;    # Number of bugs that will have a fix uploaded RSN
+my $ignorecount=0;      # Number of bugs being ignored
+my $worrycount=0;      # Number of bugs we're actually worried about
+my $stablecount=0;     # Number of bugs affecting stable
 
 
-for $p (keys %packagelist) {
-       next if (defined $exclude{$p});
-       for $nr (sort split(/ /, $packagelist{$p})) {
-               next if (defined $exclude{$nr});
+for my $p (keys %scanlib::packagelist) {
+       next if (defined $bugcfg::exclude{$p});
+       for my $nr (sort @{$scanlib::packagelist{$p}}) {
+               next if (defined $bugcfg::exclude{$nr});
                $total++;
                $total++;
-               $pendingcount++ if ($bugs{$nr} =~ m/^\[[^]]*P/);
-               $patchcount++ if ($bugs{$nr} =~ m/^\[[^]]*\+/);
-               $ignorecount++ if ($bugs{$nr} =~ m/^\[[^]]*I/);
-               $nottestingcount++ if ($bugs{$nr} =~ m/ \[[^]]*X/);
-               if (defined $comments{$nr}) {
-                       ($sect) = ($comments{$nr} =~ m/\[([^]]*)\]/);
-                       $sectcount{$sect}++;
-               }
-               unless ($bugs{$nr} =~ m/^\[[^]]*I/ or
-                       $bugs{$nr} =~ m/ \[[^]]*X/ or
-                       ($bugs{$nr} =~ m/ \[[^]]*[OSUE]/ and $bugs{$nr} !~ m/ \[[^]]*T/)) {
-                       $worrycount++;
-                       # print STDERR "$nr $bugs{$nr}\n";
-               }       
-       }
-
-       if (defined($comments{$p}) && $comments{$p} =~ m/^\[REMOVE\]/) {
-               $removecount+=scalar(split(/ /,$packagelist{$p}));
+               $pendingcount++ if ($scanlib::bugs{$nr} =~ m/^\[[^]]*P/);
+               $patchcount++ if ($scanlib::bugs{$nr} =~ m/^\[[^]]*\+/);
+               $ignorecount++ if ($scanlib::bugs{$nr} =~ m/^\[[^]]*I/);
+               $worrycount++ if (scanlib::check_worry($scanlib::bugs{$nr}));
+               $stablecount++ if (scanlib::check_worry_stable($scanlib::bugs{$nr}));
        }
 }
 
        }
 }
 
-printf("%d %d %d %d %d %d %d\n", $total, $pendingcount, $patchcount, $removecount, $ignorecount, $nottestingcount, $worrycount);
+printf("%d %d %d 0 %d 0 %d %d\n", $total, $pendingcount, $patchcount, $ignorecount, $worrycount, $stablecount);