new internal structures than something looking like the final report.
for my $nr (sort @{$scanlib::packagelist{$p}}) {
next if (defined $bugcfg::exclude{$nr});
$total++;
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/);
+ $pendingcount++ if ($scanlib::bugs{$nr}->{'pending'});
+ $patchcount++ if ($scanlib::bugs{$nr}->{'patch'});
+ $ignorecount++ if ($scanlib::bugs{$nr}->{'etch-ignore'});
$worrycount++ if (scanlib::check_worry($scanlib::bugs{$nr}));
$stablecount++ if (scanlib::check_worry_stable($scanlib::bugs{$nr}));
}
$worrycount++ if (scanlib::check_worry($scanlib::bugs{$nr}));
$stablecount++ if (scanlib::check_worry_stable($scanlib::bugs{$nr}));
}
next if (defined $scanlib::exclude{$p});
for my $nr (@{$scanlib::packagelist{$p}}) {
next if (defined $scanlib::exclude{$p});
for my $nr (@{$scanlib::packagelist{$p}}) {
- $pendingtotal++ if ($scanlib::bugs{$nr} =~ m/^\[[^]]*P/);
- $patchtotal++ if ($scanlib::bugs{$nr} =~ m/^\[[^]]*\+/);
- $ignoretotal++ if ($scanlib::bugs{$nr} =~ m/^\[[^]]*I/);
+ $pendingtotal++ if ($scanlib::bugs{$nr}->{'pending'});
+ $patchtotal++ if ($scanlib::bugs{$nr}->{'patch'});
+ $ignoretotal++ if ($scanlib::bugs{$nr}->{'etch-ignore'});
$worrytotal++ if (scanlib::check_worry($scanlib::bugs{$nr}));
$stabletotal++ if (scanlib::check_worry_stable($scanlib::bugs{$nr}));
$worrytotal++ if (scanlib::check_worry($scanlib::bugs{$nr}));
$stabletotal++ if (scanlib::check_worry_stable($scanlib::bugs{$nr}));
} else {
$section = $scanlib::debbugssection{$p};
}
} else {
$section = $scanlib::debbugssection{$p};
}
- print "$p $section $scanlib::maintainer{$p}\n";
- for my $b (@{$scanlib::packagelist{$p}}) {
- print "$scanlib::bugs{$b}\n";
+ print "package\n";
+ print $p, "\n";
+ print $section, "\n";
+ print $scanlib::maintainer{$p}, "\n";
+ print "\n";
+}
+
+for my $b (keys %scanlib::bugs) {
+ print "bug\n";
+ for my $key (keys %{$scanlib::bugs{$b}}) {
+ print $key, "=", $scanlib::bugs{$b}->{$key}, "\n";
my $bug = Debbugs::Status::read_bug(summary => "$f.summary");
next if (!defined($bug));
my $bug = Debbugs::Status::read_bug(summary => "$f.summary");
next if (!defined($bug));
+ my $bi = {
+ number => $f,
+ subject => $bug->{'subject'},
+ package => $bug->{'package'}
+ };
+
$skip=1;
for $walk (@bugcfg::priorities) {
$skip=0 if $walk eq $bug->{'severity'};
$skip=1;
for $walk (@bugcfg::priorities) {
$skip=0 if $walk eq $bug->{'severity'};
$disttags{'experimental'} = 1;
}
$disttags{'experimental'} = 1;
}
if (defined($section{$bug->{'package'}}) && $section{$bug->{'package'}} eq 'pseudo') {
# versioning information makes no sense for pseudo packages,
# just use the tags
if (defined($section{$bug->{'package'}}) && $section{$bug->{'package'}} eq 'pseudo') {
# versioning information makes no sense for pseudo packages,
# just use the tags
my $taginfo = get_taginfo($bi);
my $relinfo = get_relinfo($bi);
my $taginfo = get_taginfo($bi);
my $relinfo = get_relinfo($bi);
- $bugs{$f} = "$f [$taginfo] [$relinfo] " . $bug->{'subject'};
- my $bug; # Number of current bug
- my $subject; # Subject for current bug
- my $pkg; # Name of current package
- my $file; # Name of statusfile
- my $sect; # Section of current package
- my $mnt; # Maintainer of current package
+ my $filename = shift;
+ open STATUS, "<", $filename
+ or die "$filename: $!";
+
+ while (1) {
+ chomp (my $type = <STATUS>);
+ if ($type eq 'package') {
+ chomp (my $package = <STATUS>);
+ chomp (my $section = <STATUS>);
+ chomp (my $maintainer = <STATUS>);
+ my $blank = <STATUS>;
+
+ $section{$package} = $section;
+ $maintainer{$package} = $maintainer;
+ }
+ if ($type eq 'bug') {
+ my $bug = {};
+ while (1) {
+ my $line = <STATUS>;
+ last if ($line !~ /^(.*?)=(.*)$/);
- $file=shift;
- open(P, $file) or die "open $file: $!";
- while (<P>) {
- chomp;
- if (m/^[0-9]+ \[/) {
- ($bug,$subject)=split(/ /, $_, 2);
- $bugs{$bug}=$subject;
- push @{$packagelist{$pkg}}, $bug;
- } else {
- ($pkg,$sect, $mnt)=split(/ /, $_, 3);
- next if (!defined($pkg));
- $section{$pkg}=$sect;
- $maintainer{$pkg}=$mnt;
+ $bug->{$1} = $2;
+ }
+ $bugs{$bug->{'number'}} = $bug;
+
+ for my $package (split /[,\s]+/, $bug->{'package'}) {
+ $_= $package; y/A-Z/a-z/; $_= $` if m/[^-+._a-z0-9]/;
+ push @{$packagelist{$_}}, $bug->{'number'};
+ }
+ last if ($type eq 'end');
- if ($status =~ m/^\[[^]]*I/ or
- $status !~ m/ \[[^]]*T/) {
- return 0;
- }
- return 1;
+ return ($bi->{'testing'} && !$bi->{'etch-ignore'});
}
sub check_worry_stable {
}
sub check_worry_stable {
- if ($status !~ m/ \[[^]]*S/) {
- return 0;
- }
- return 1;
+ return ($bi->{'stable'});