my $Version = "BugCount 1.1\nCopyright (C) Wichert Akkerman <wakkerma\@debian.org>\n";
my $statusfile = "status";
-my $commentsfile = "comments";
sub ShowVersion() {
print "$Version\n";
-V show version
-h show some (hopefully) helpfull information
-S use different statusfile
- -C use different commentsfile
EOF
exit 0;
}
-our ($opt_h,$opt_V,$opt_S,$opt_C);
+our ($opt_h,$opt_V,$opt_S);
-getopts('VhS:C:');
+getopts('VhS:');
ShowUsage if ($opt_h);
ShowVersion if ($opt_V);
$statusfile=$opt_S if ($opt_S);
-$commentsfile=$opt_C if ($opt_C);
scanlib::readstatus($statusfile);
-scanlib::readcomments($commentsfile);
my $total=0; # total number of bugs
my $patchcount=0; # Number of bugs that have a fix proposed
my $ignorecount=0; # Number of bugs being ignored
my $nottestingcount=0; # Number of bugs on packages not in testing
my $worrycount=0; # Number of bugs we're actually worried about
-my %sectcount=(); # Bugs per type
for my $p (keys %scanlib::packagelist) {
next if (defined $bugcfg::exclude{$p});
$patchcount++ if ($scanlib::bugs{$nr} =~ m/^\[[^]]*\+/);
$ignorecount++ if ($scanlib::bugs{$nr} =~ m/^\[[^]]*I/);
$nottestingcount++ if ($scanlib::bugs{$nr} =~ m/ \[[^]]*X/);
- if (defined $scanlib::comments{$nr}) {
- my $sect = ($scanlib::comments{$nr} =~ m/\[([^]]*)\]/);
- $sectcount{$sect}++;
- }
$worrycount++ if (scanlib::check_worry($scanlib::bugs{$nr}));
}
}
my $Version = "BugReport 1.4\nCopyright (C) 1998-2002 Wichert Akkerman <wakkerma\@debian.org>\n";
my $html = 0;
my $statusfile = "status";
-my $commentsfile = "comments";
my $NMUfile = "/debian/home/doogie/public_html/incoming/bugs_closed";
$NMUfile = "/debian/home/doogie/chgscan/db/bugs_closed"; # Changed as of request by dark -Joey, 99/11/22
$NMUfile = "http://auric.debian.org/~doogie/incoming/bugs_closed"; # Changed as of request by dark -Joey, 99/11/22
-t show bugs relevant for testing only
-d only list these distributions (comma-separated)
-S use different statusfile
- -C use different commentsfile
EOF
exit 0;
}
for my $p (sort {$a cmp $b} keys %scanlib::packagelist) {
next if (defined $bugcfg::exclude{$p});
$header = 0;
- if (defined $scanlib::comments{$p}) {
- $header=1;
- &PrintPackageHeader($p);
- print $scanlib::comments{$p};
- }
for $nr (sort @{$scanlib::packagelist{$p}}) {
next if (defined $bugcfg::exclude{$nr});
if (! $header) {
} else {
printf(" %-6d %s\n", $nr, $scanlib::bugs{$nr});
}
- print $scanlib::comments{$nr} if (defined($scanlib::comments{$nr}));
print "[FIX] Fixed by package " . $scanlib::NMU{$nr, "source"} . ", version " . $scanlib::NMU{$nr, "version"} . " in Incoming\n" if (defined $scanlib::NMU{$nr});
print "</span>" if ($html && ($scanlib::bugs{$nr} =~ m/^\[[^]]*[H+P]/ ||
$scanlib::bugs{$nr} =~ m/ \[[^]]*X/));
}
}
-our ($opt_h,$opt_V,$opt_S,$opt_C,$opt_H,$opt_d,$opt_t,$opt_s,$opt_l);
+our ($opt_h,$opt_V,$opt_S,$opt_H,$opt_d,$opt_t,$opt_s,$opt_l);
-getopts('VhHlstd:S:C:');
+getopts('VhHlstd:S:');
ShowUsage if ($opt_h);
ShowVersion if ($opt_V);
$statusfile=$opt_S if ($opt_S);
-$commentsfile=$opt_C if ($opt_C);
$html=1 if ($opt_H);
scanlib::readstatus($statusfile);
-scanlib::readcomments($commentsfile);
# scanlib::readNMUstatus($NMUfile);
FilterPackages($opt_d) if ($opt_d);
+++ /dev/null
-#!/usr/bin/perl
-# vim: ts=4 sw=4 nowrap
-
-# Read a comments-file and output only the comments that are still relevant
-
-use Getopt::Std;
-require scanlib;
-require bugcfg;
-
-$Version = "CommentClean 1.0\nCopyright (C) Wichert Akkerman <wakkerma\@debian.org>\n";
-$html = 0;
-$statusfile = "status";
-$commentfile = "comments";
-
-sub ShowVersion() {
- print "$Version\n";
- exit 0;
-}
-
-sub ShowUsage() {
- print <<EOF;
-Usage:
- $0 [-V] [-h] [-S file] [-C file]
-Options:
- -V show version
- -h show some (hopefully) helpfull information
- -S use different statusfile
- -C use different commentfile
-EOF
- exit 0;
-}
-
-
-getopts('VhS:C:');
-ShowUsage if ($opt_h);
-ShowVersion if ($opt_V);
-$statusfile=$opt_S if ($opt_S);
-$commentfile=$opt_C if ($opt_C);
-
-&readstatus($statusfile);
-&readcomments($commentfile);
-
-for $p (keys %packagelist) {
- for my $nr (@{$packagelist{$p}}) {
- $found{$nr}=1;
- }
-}
-
-for $n (sort keys %exclude) {
- print "$n EXCLUDE\n\n"
- if (defined($found{$n}) or defined ($packagelist{$n}));
-}
-
-for $n (sort keys %comments) {
- print "$n\n$comments{$n}\n"
- if (defined($found{$n}) or defined ($packagelist{$n}));
-}
-
-exit 0;
-
</p>
<div align="center"><img src="graph.png" alt="Graph of RC bugs"></div>
+
+<p>The red line graphs all bugs with release-critical severities; the green
+line graphs the number of bugs that are actually a concern for the next
+release (excluding ignored bugs, bugs on packages not in testing, and bugs
+whose tags and/or versioning information indicate that they don't apply to
+testing).</p>
+
+<h2>Recent changes</h2>
+EOF
+
+ ./bugdiff -Hncs status-old status
+
+ cat <<EOF
+
+<h2>Detailed lists of RC bug reports:</h2>
+
+<ul>
+ <li> <a href="debian/all.html">All</a>
+ <li> <a href="debian/main.html">main</a>
+ <li> <a href="debian/source.html">source</a>
+ <li> <a href="debian/contrib.html">contrib</a>
+ <li> <a href="debian/non-free.html">non-free</a>
+ <li><a href="other/pseudo.html">pseudo-packages</a>
+ <a href="http://www.debian.org/Bugs/pseudo-packages">(?)</a>
+ <li><a href="other/all.html">Everything in one page</a>
+ <br>
+ + <a href="other/testing.html">Only bugs relevant to testing</a>
+</ul>
+<p clear=both>
+<hr>
+This page is automatically generated.<br>
+Please contact
+<a href="mailto:owner@bugs.debian.org">owner@bugs.debian.org</a> for comments.
+To receive all mails sent to release-critical bugs, subscribe to the
+<a href="http://lists.debian.org/debian-bugs-rc/">debian-bugs-rc</a>
+mailing list.
+
+EOF
+}
+
+makepage() {
+ if [ ! -d "`dirname $3`" ]; then mkdir -p "`dirname $3`"; fi
+ realmakepage "$1" "$2" "$4" "$5" > $3.new
+ mv -f $3.new $3
+}
+
+time=$(date -u --date="$(ls -Ll status | awk '{print $6, $7}'):00 $(date +%z)")
+oldtime=$(date -u --date="$(ls -Ll status-old | awk '{print $6, $7}'):00 $(date +%z)")
+title="Release-critical bugs status"
+
+makepage "debian" "$title" "$htmldir/debian/all.html" "$time"
+makepage "debian/main" "$title" $htmldir/debian/main.html "$time"
+makepage "debian/contrib" "$title" $htmldir/debian/contrib.html "$time"
+makepage "debian/non-free" "$title" $htmldir/debian/non-free.html "$time"
+makepage "debian/source" "$title" $htmldir/debian/source.html "$time"
+
+makepage "" "$title" $htmldir/other/all.html "$time"
+makepage "" "$title" "$htmldir/other/testing.html" "$time" "-t"
+
+makemainpage > $htmldir/index.html.new
+mv -f $htmldir/index.html.new $htmldir/index.html
+
# which was based on an unknown other script.
#
# Global variables:
-# %comments - map from bugnumber to bug description
# %premature - list of prematurely closed bugreports
# %exclude - list of bugreports to exclude from the report
# %maintainer - map from packagename to maintainer
require bugcfg;
package scanlib;
-our (%comments,%premature,%exclude,%maintainer,%section,%packagelist,%NMU,%debbugssection,%bugs);
-
-sub readcomments() {
-# Read bug commentary
-# It is in paragraph format, with the first line of each paragraph being
-# the bug number or package name to which the comment applies.
-# Prefix a bug number with a * to force it to be listed even if it's closed.
-# (This deals with prematurely closed bugs)
-
- my $index; # Bug-number for current comment
- my $file; # Name of comments-file
-
- %comments = (); # Initialize our data
- %premature = ();
- %exclude = ();
- $file=shift;
- open(C, $file) or die "open $file: $!\n";
- while (<C>) {
- chomp;
- if (m/^\s*$/) { # Check for paragraph-breaks
- undef $index;
- } elsif (defined $index) {
- $comments{$index} .= $_ . "\n";
- } else {
- if (s/^\*//) { # Test & remove initial *
- $premature{$_} = 1;
- }
- if (s/\s+EXCLUDE\s*//) { # Test & remove EXCLUDE
- $exclude{$_} = 1;
- next;
- }
- $index = $_;
- $comments{$index} = ''; # New comment, initialize data
- }
- }
- close(C);
-}
+our (%premature,%exclude,%maintainer,%section,%packagelist,%NMU,%debbugssection,%bugs);
# Read the list of maintainer
$NMU{$bug} = 1;
$NMU{$bug, "source"} = $source;
$NMU{$bug, "version"} = $version;
-# $comments{$bug} .= "[FIXED] Fixed package $source is in Incoming\n";
$flag = 0;
} else {
($field, $value) = split(/: /, $_, 2);
$NMU{$bug} = 1;
$NMU{$bug, "source"} = $source;
$NMU{$bug, "version"} = $version;
-# $comments{$bug} .= "[FIXED] Fixed package $source in in Incoming\n";
}
close P;
}