# %section - map from packagename to section in the FTP-site
# %packagelist - map from packagename to bugreports
+use warnings;
+use strict;
+
use lib qw(/org/bugs.debian.org/perl);
use LWP::UserAgent;
use Debbugs::MIME qw(decode_rfc1522 encode_rfc1522);
use Debbugs::Versions;
use Debbugs::Status;
use Fcntl qw(O_RDONLY);
-use strict;
-use warnings;
-require bugcfg;
+
+use File::Basename;
+use lib dirname(__FILE__);
+use bugcfg;
+
package scanlib;
our (%maintainer,%section,%packagelist,%debbugssection,%bugs);
}
-sub readsources() {
- my $root; # Root of archive we are scanning
- my $archive; # Name of archive we are scanning
- my $sect; # Name of current section
+sub readsources {
+ my ($root,$archive) = @_;
- $root=shift;
- $archive=shift;
- for $sect (@bugcfg::sections) {
+ for my $sect (@bugcfg::sections) {
open(P, "zcat $root/$sect/source/Sources.gz|")
or die open "open: $sect sourcelist: $!\n";
while (<P>) {
}
}
-sub readdebbugssources() {
- my $file;
- my $archive;
+sub readdebbugssources {
+ my ($file,$archive) = @_;
- $file=shift;
- $archive=shift;
open(P, $file)
or die "open: $file: $!\n";
while (<P>) {
my @dirs;
my $dir;
- chdir($bugcfg::spooldir) or die "chdir $bugcfg::spooldir: $!\n";
-
opendir(DIR, $bugcfg::spooldir) or die "opendir $bugcfg::spooldir: $!\n";
@dirs=grep(m/^\d+$/,readdir(DIR));
closedir(DIR);
my @archs_with_source = ( @bugcfg::architectures, 'source' );
- chdir($dir) or die "chdir $dir: $!\n";
opendir(DIR, $dir) or die "opendir $dir: $!\n";
@list = grep { s/\.summary$// }
closedir(DIR);
for $f (@list) {
- my $bug = Debbugs::Status::read_bug(summary => "$f.summary");
+ my $bug = Debbugs::Status::read_bug(summary => $dir.'/'."$f.summary");
next if (!defined($bug));
my $bi = {
}
next if $skip==1;
- my %disttags = ();
- $disttags{'oldstable'} = grep(/^lenny$/, @tags);
- $disttags{'stable'} = grep(/^squeeze$/, @tags);
- $disttags{'testing'} = grep(/^wheezy$/, @tags);
- $disttags{'unstable'} = grep(/^sid$/, @tags);
+ my %disttags = ();
+ for my $release (qw(oldstable stable testing unstable)) {
+ $disttags{$release} = grep(/^$bugcfg::debian_releases->{$release}$/, @tags);
+ }
$disttags{'experimental'} = grep(/^experimental$/, @tags);
# default according to vorlon 2007-06-17
next if !$affects_any;
}
- for my $keyword (qw(pending patch help moreinfo unreproducible security upstream etch-ignore lenny-ignore squeeze-ignore wheezy-ignore)) {
+ for my $keyword (qw(pending patch help moreinfo unreproducible security upstream),
+ map {$bugcfg::debian_releases->{$_}.'-ignore'} keys %{$bugcfg::debian_releases}) {
$bi->{$keyword} = grep(/^$keyword$/, @tags);
}
sub check_worry {
my ($bi) = @_;
- return ($bi->{'testing'} && !$bi->{'wheezy-ignore'});
+ return ($bi->{'testing'} && !$bi->{$bugcfg::debian_releases->{testing}.'-ignore'});
}
sub check_worry_stable {
my ($bi) = @_;
- return ($bi->{'stable'} && !$bi->{'squeeze-ignore'});
+ return ($bi->{'stable'} && !$bi->{$bugcfg::debian_releases->{stable}.'-ignore'});
}
sub check_worry_unstable {
$taginfo .= $bi->{'unreproducible'} ? "R" : " ";
$taginfo .= $bi->{'security'} ? "S" : " ";
$taginfo .= $bi->{'upstream'} ? "U" : " ";
- $taginfo .= ($bi->{'wheezy-ignore'} || $bi->{'squeeze-ignore'}) ? "I" : " ";
+ $taginfo .= ($bi->{$bugcfg::debian_releases->{stable}.'-ignore'} || $bi->{$bugcfg::debian_releases->{testing}.'-ignore'}) ? "I" : " ";
return $taginfo;
}