use Debbugs::Packages;
use Debbugs::Versions;
use Debbugs::Status;
+use Debbugs::Common qw(open_compressed_file);
use Fcntl qw(O_RDONLY);
use File::Basename;
close(M);
}
+sub glob_compressed_fh {
+ my ($fn) = @_;
+ my @fn = grep { -f $_ } glob $fn;
+ if (not @fn) {
+ die "No files exist which match glob '$fn'";
+ }
+ my $fh = Debbugs::Common::open_compressed_file($fn[0]) or
+ die "Unable to open $fn for reading: $!";
+ return $fh;
+}
+
sub readsources {
my ($root,$archive) = @_;
for my $sect (@bugcfg::sections) {
- open(P, "zcat $root/$sect/source/Sources.gz|")
- or die open "open: $sect sourcelist: $!\n";
- while (<P>) {
+ my $p = glob_compressed_fh("$root/$sect/source/Sources.*");
+ while (<$p>) {
chomp;
next unless m/^Package:\s/;
s/^Package:\s*//; # Strip the fieldname
$section{$_} = "$archive/$sect";
}
- close (P);
+ close ($p);
}
}
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>) {
+ my $p = glob_compressed_fh("$root/$sect/binary-$arch/Packages.*");
+ while (<$p>) {
chomp;
next unless m/^Package:\s/; # We're only interested in the packagenames
s/^Package:\s*//; # Strip the fieldname
$section{$_} = "$archive/$sect";
print "$root/$sect/binary-$arch/Packages.gz\n" if ($_ eq 'xtla');
}
- close(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: $!";
+ my $fh = glob_compressed_fh("$root/$sect/source/Sources.*");
while (<$fh>) {
chomp;
next unless m/^Package:\s/; # We're only interested in the packagenames
return $in;
}
-sub wwwnumber() {
+sub wwwnumber {
my $number = shift; # Number of bug to html-ize
"<A HREF=\"http://bugs.debian.org/cgi-bin/bugreport.cgi?archive=no&bug=" .
urlsanit($number) . '">' . htmlsanit($number) . '</A>';
}
-sub wwwname() {
+sub wwwname {
my $name = shift; # Name of package
"<A HREF=\"http://bugs.debian.org/cgi-bin/pkgreport.cgi?archive=no&pkg=" .
}
sub check_worry {
- my ($bi) = @_;
+ my ($bi,$dist) = @_;
+ $dist = 'testing' if not defined $dist;
- return ($bi->{'testing'} && !$bi->{$bugcfg::debian_releases->{testing}.'-ignore'});
+ return ($bi->{$dist} && !$bi->{$bugcfg::debian_releases->{$dist}.'-ignore'});
}
+sub check_worry_testing {
+ return check_worry($_[0],'testing');
+}
sub check_worry_stable {
- my ($bi) = @_;
-
- return ($bi->{'stable'} && !$bi->{$bugcfg::debian_releases->{stable}.'-ignore'});
+ return check_worry($_[0],'stable');
+}
+sub check_worry_oldstable {
+ return check_worry($_[0],'oldstable');
}
sub check_worry_unstable {