X-Git-Url: https://git.donarmstrong.com/?p=bugscan.git;a=blobdiff_plain;f=bugcounts;h=d7adb4d2ea4099f3e7f6781f8818274429f812eb;hp=046f294b503e12fb22d5ffe99185f2526115fce7;hb=9199c4eac048f4443133023f938885f95ea7251b;hpb=144cce1ad7e00497457520e125cebb3f25233139 diff --git a/bugcounts b/bugcounts index 046f294..d7adb4d 100755 --- a/bugcounts +++ b/bugcounts @@ -6,10 +6,11 @@ use Getopt::Std; require scanlib; require bugcfg; +use strict; +# use warnings; -$Version = "BugCount 1.1\nCopyright (C) Wichert Akkerman \n"; -$statusfile = "status"; -$commentsfile = "comments"; +my $Version = "BugCount 1.1\nCopyright (C) Wichert Akkerman \n"; +my $statusfile = "status"; sub ShowVersion() { print "$Version\n"; @@ -24,53 +25,33 @@ Options: -V show version -h show some (hopefully) helpfull information -S use different statusfile - -C use different commentsfile 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); -$commentsfile=$opt_C if ($opt_C); - -&readstatus($statusfile); -&readcomments($commentsfile); - -$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 - -for $p (keys %packagelist) { - next if (defined $exclude{$p}); - for $nr (sort split(/ /, $packagelist{$p})) { - next if (defined $exclude{$nr}); - $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})); - } +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 $worrycount=0; # Number of bugs we're actually worried about +my $stablecount=0; # Number of bugs affecting stable + +for my $bug (values %scanlib::bugs) { + $total++; + $pendingcount++ if ($bug->{'pending'}); + $patchcount++ if ($bug->{'patch'}); + $ignorecount++ if ($bug->{'sarge-ignore'} || $bug->{'etch-ignore'}); + $worrycount++ if (scanlib::check_worry($bug)); + $stablecount++ if (scanlib::check_worry_stable($bug)); } -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);