X-Git-Url: https://git.donarmstrong.com/?p=bugscan.git;a=blobdiff_plain;f=bugcounts;h=de473a18011984c2452f9610256640f4c017a3ea;hp=046f294b503e12fb22d5ffe99185f2526115fce7;hb=c0db4b9d56c1fbb988dffa9fff9f86d181d8b270;hpb=144cce1ad7e00497457520e125cebb3f25233139 diff --git a/bugcounts b/bugcounts index 046f294..de473a1 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,37 @@ 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); +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++; - $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);