use Debbugs::Common::open_compressed_file instead
[bugscan.git] / bugcounts
index de473a1..ac49f8c 100755 (executable)
--- a/bugcounts
+++ b/bugcounts
@@ -1,13 +1,15 @@
 #! /usr/bin/perl
-# vim: ts=4 sw=4 nowrap
+# vim: ts=8 sw=8 nowrap
 
 # Generate some counts for the bugreports
 
 use Getopt::Std;
-require scanlib;
-require bugcfg;
+use File::Basename;
+use lib dirname(__FILE__);
+use bugcfg;
+use scanlib;
 use strict;
-use warnings;
+use warnings;
 
 my $Version            = "BugCount 1.1\nCopyright (C) Wichert Akkerman <wakkerma\@debian.org>\n";
 my $statusfile         = "status";
@@ -41,21 +43,18 @@ scanlib::readstatus($statusfile);
 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 $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 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++;
-               $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}));
-       }
+for my $bug (values %scanlib::bugs) {
+       $total++;
+       $pendingcount++ if ($bug->{'pending'});
+       $patchcount++ if ($bug->{'patch'});
+       $ignorecount++ if ($bug->{$bugcfg::debian_releases->{stable}.'-ignore'} ||
+                       $bug->{$bugcfg::debian_releases->{testing}.'-ignore'});
+       $worrycount++ if (scanlib::check_worry($bug));
+       $stablecount++ if (scanlib::check_worry_stable($bug));
 }
 
 printf("%d %d %d 0 %d 0 %d %d\n", $total, $pendingcount, $patchcount, $ignorecount, $worrycount, $stablecount);