From: Don Armstrong Date: Sun, 1 Aug 2010 20:33:42 +0000 (-0400) Subject: * cleanup readpackages to be more standard perl X-Git-Url: https://git.donarmstrong.com/?p=bugscan.git;a=commitdiff_plain;h=186f132aa9babad2e573f64c170ae22cee326fa4 * cleanup readpackages to be more standard perl * read the source packages in as well as the binary packages --- diff --git a/scanlib.pm b/scanlib.pm index 6978dae..43cfb8d 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() {