#!/usr/bin/perl
-# vim: ts=4 sw=4 nowrap
+# vim: ts=8 sw=8 nowrap
# Compare two buglist status-files
use Getopt::Std;
-require scanlib;
-require bugcfg;
+use File::Basename;
+use lib dirname(__FILE__);
+use bugcfg;
+use scanlib;
use strict;
use warnings;
print "<ul>\n";
for my $p (sort keys %removed) {
print " <li><em>" . &scanlib::wwwname($p) . ":</em>\n";
- for $b (sort split(/ /, $removed{$p})) {
+ for $b (sort @{$removed{$p}}) {
print &scanlib::wwwnumber($b) . " ";
}
print "\n";
print "</ul>\n";
}
} else {
- print "Closed/downgraded release-critical bugs:\n" if (%removed>0);
+ print "Closed/downgraded release-critical bugs:\n" if (scalar keys %removed>0);
for my $p (sort keys %removed) {
print " $p: ";
- print join(", ", sort split(/ /, $removed{$p}));
+ print join(", ", sort @{$removed{$p}});
print "\n";
}
}
print "<ul>\n";
for my $p (sort keys %new) {
print " <li><em>" . &scanlib::wwwname($p) . ":</em>\n";
- for $b (sort split(/ /, $new{$p})) {
+ for $b (sort @{$new{$p}}) {
print &scanlib::wwwnumber($b) . " ";
}
print "\n";
print "Opened/upgraded release-critical bugs:\n" if (%new);
for my $p (sort keys %new) {
print " $p: ";
- print join(", ", sort split(/ /, $new{$p}));
+ print join(", ", sort @{$new{$p}});
print "\n";
}
}
for my $p (keys %oldbugs) {
for $b (@{$oldbugs{$p}}) {
if (!defined($scanlib::packagelist{$p}) || scalar grep { $_ == $b } @{$scanlib::packagelist{$p}} == 0) {
- $removed{$p} .= "$b ";
+ push @{$removed{$p}}, $b;
$closed++;
}
}
my $opened=0;
for my $p (keys %scanlib::packagelist) {
for $b (@{$scanlib::packagelist{$p}}) {
- if (not ($oldbugs{$p} =~ m/\b$b\b/)) {
- $new{$p} .= "$b ";
+ if (!defined($oldbugs{$p}) || scalar grep { $_ == $b } @{$oldbugs{$p}} == 0) {
+ push @{$new{$p}}, $b;
$opened++;
}
}