}
}
-sub readpackages() {
- my $root; # Root of archive we are scanning
- my $archive; # Name of archive we are scanning
- my $sect; # Name of current section
- my $arch; # Name of current architecture
-
- $root=shift;
- $archive=shift;
- for $arch ( @bugcfg::architectures ) {
- for $sect ( @bugcfg::sections) {
+sub readpackages {
+ my ($root,$archive) = @_;
+ for my $arch ( @bugcfg::architectures ) {
+ for my $sect ( @bugcfg::sections) {
open(P, "zcat $root/$sect/binary-$arch/Packages.gz|")
or die "open: $root/$sect/binary-$arch/Packages.gz: $!\n";
while (<P>) {
close(P);
}
}
+ # handle the source packages
+ for my $sect (@bugcfg::sections) {
+ my $fh;
+ open($fh,'-|','zcat',"$root/$sect/source/Sources.gz") or
+ die "Unable to open zcat $root/$sect/source/Sources.gz for reading: $!";
+ while (<$fh>) {
+ chomp;
+ next unless m/^Package:\s/; # We're only interested in the packagenames
+ s/^Package:\s*//; # Strip the fieldname
+ $section{$_} = "$archive/$sect";
+ }
+ }
}
sub readdebbugssources() {
}
-sub scanspooldir() {
+sub scanspooldir {
my ($dir) = @_;
my $f; # While we're currently processing
my @list; # List of files to process
}
next if $skip==1;
- my %disttags = ();
- $disttags{'oldstable'} = grep(/^etch$/, @tags);
- $disttags{'stable'} = grep(/^lenny$/, @tags);
- $disttags{'testing'} = grep(/^squeeze$/, @tags);
- $disttags{'unstable'} = grep(/^sid$/, @tags);
+ my %disttags = ();
+ for (qw(oldstable stable testing unstable)) {
+ $disttags{$_} = grep(/^$bug_cfg::debian_releases->{$_}$/, @tags);
+ }
$disttags{'experimental'} = grep(/^experimental$/, @tags);
# default according to vorlon 2007-06-17
if (defined($section{$bug->{'package'}}) && $section{$bug->{'package'}} eq 'pseudo') {
# versioning information makes no sense for pseudo packages,
# just use the tags
- for my $dist qw(oldstable stable testing unstable experimental) {
+ for my $dist (qw(oldstable stable testing unstable experimental)) {
$bi->{$dist} = $disttags{$dist};
}
next if (length($bug->{'done'}));
my $affects_any = 0;
# only bother to check the versioning status for the distributions indicated by the tags
- for my $dist qw(oldstable stable testing unstable experimental) {
+ for my $dist (qw(oldstable stable testing unstable experimental)) {
local $SIG{__WARN__} = sub {};
$bi->{$dist} = 0;
next if !$affects_any;
}
- for my $keyword qw(pending patch help moreinfo unreproducible security upstream etch-ignore lenny-ignore squeeze-ignore) {
+ for my $keyword (qw(pending patch help moreinfo unreproducible security upstream),
+ map {$_.$bug_cfg::debian_releases->{testing}.'-ignore'} keys %{$bug_cfg::debian_releases}) {
$bi->{$keyword} = grep(/^$keyword$/, @tags);
}
}
-sub readstatus() {
+sub readstatus {
my $filename = shift;
open STATUS, "<", $filename
or die "$filename: $!";
$bugs{$bug->{'number'}} = $bug;
for my $package (split /[,\s]+/, $bug->{'package'}) {
- $_= $package; y/A-Z/a-z/; $_= $` if m/[^-+._a-z0-9]/;
+ $_= $package; y/A-Z/a-z/; $_= $` if m/[^-+._:a-z0-9]/;
push @{$packagelist{$_}}, $bug->{'number'};
}
}
sub check_worry {
my ($bi) = @_;
- return ($bi->{'testing'} && !$bi->{'squeeze-ignore'});
+ return ($bi->{'testing'} && !$bi->{$bug_cfg::debian_releases->{testing}.'-ignore'});
}
sub check_worry_stable {
my ($bi) = @_;
- return ($bi->{'stable'} && !$bi->{'lenny-ignore'});
+ return ($bi->{'stable'} && !$bi->{$bug_cfg::debian_releases->{stable}.'-ignore'});
}
sub check_worry_unstable {
$taginfo .= $bi->{'unreproducible'} ? "R" : " ";
$taginfo .= $bi->{'security'} ? "S" : " ";
$taginfo .= $bi->{'upstream'} ? "U" : " ";
- $taginfo .= ($bi->{'lenny-ignore'} || $bi->{'squeeze-ignore'}) ? "I" : " ";
+ $taginfo .= ($bi->{$bug_cfg::debian_releases->{stable}.'-ignore'} || $bi->{$bug_cfg::debian_releases->{testing}.'-ignore'}) ? "I" : " ";
return $taginfo;
}
my $bi = shift;
my $relinfo = "";
- for my $dist qw(oldstable stable testing unstable experimental) {
+ for my $dist (qw(oldstable stable testing unstable experimental)) {
$relinfo .= uc(substr($dist, 0, 1)) if $bi->{$dist};
}