X-Git-Url: https://git.donarmstrong.com/?p=bugscan.git;a=blobdiff_plain;f=scanlib.pm;h=60e4cf47837d454823a022f86de99c08b47f2962;hp=65b3d7a6d3211290af4f8c4d318672f946f5f772;hb=c0f4a4d5ce63338390dfd851c4b403769266d0d7;hpb=58e5d0d29c328af4ea46abed36a388c3d91876e2 diff --git a/scanlib.pm b/scanlib.pm index 65b3d7a..60e4cf4 100644 --- a/scanlib.pm +++ b/scanlib.pm @@ -66,16 +66,10 @@ sub readsources() { } } -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 (

) { @@ -88,6 +82,18 @@ sub readpackages() { 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() { @@ -135,7 +141,7 @@ sub scanspool() { } -sub scanspooldir() { +sub scanspooldir { my ($dir) = @_; my $f; # While we're currently processing my @list; # List of files to process @@ -177,9 +183,9 @@ sub scanspooldir() { next if $skip==1; my %disttags = (); - $disttags{'oldstable'} = grep(/^etch$/, @tags); - $disttags{'stable'} = grep(/^lenny$/, @tags); - $disttags{'testing'} = grep(/^squeeze$/, @tags); + $disttags{'oldstable'} = grep(/^lenny$/, @tags); + $disttags{'stable'} = grep(/^squeeze$/, @tags); + $disttags{'testing'} = grep(/^wheezy$/, @tags); $disttags{'unstable'} = grep(/^sid$/, @tags); $disttags{'experimental'} = grep(/^experimental$/, @tags); @@ -228,7 +234,7 @@ sub scanspooldir() { 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 etch-ignore lenny-ignore squeeze-ignore wheezy-ignore) { $bi->{$keyword} = grep(/^$keyword$/, @tags); } @@ -238,7 +244,7 @@ sub scanspooldir() { } 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{$_}}, $f; } @@ -250,7 +256,7 @@ sub scanspooldir() { } -sub readstatus() { +sub readstatus { my $filename = shift; open STATUS, "<", $filename or die "$filename: $!"; @@ -277,7 +283,7 @@ sub readstatus() { $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'}; } } @@ -320,13 +326,13 @@ sub wwwname() { sub check_worry { my ($bi) = @_; - return ($bi->{'testing'} && !$bi->{'squeeze-ignore'}); + return ($bi->{'testing'} && !$bi->{'wheezy-ignore'}); } sub check_worry_stable { my ($bi) = @_; - return ($bi->{'stable'} && !$bi->{'lenny-ignore'}); + return ($bi->{'stable'} && !$bi->{'squeeze-ignore'}); } sub check_worry_unstable { @@ -346,7 +352,7 @@ sub get_taginfo { $taginfo .= $bi->{'unreproducible'} ? "R" : " "; $taginfo .= $bi->{'security'} ? "S" : " "; $taginfo .= $bi->{'upstream'} ? "U" : " "; - $taginfo .= ($bi->{'lenny-ignore'} || $bi->{'squeeze-ignore'}) ? "I" : " "; + $taginfo .= ($bi->{'wheezy-ignore'} || $bi->{'squeeze-ignore'}) ? "I" : " "; return $taginfo; }