X-Git-Url: https://git.deb.at/w?a=blobdiff_plain;f=bin%2Fparse-contents;h=959b6101b8e8e9478a11dd3222e886ecf1904f62;hb=926be4db09b1c0d364801c4b2707ccc028590494;hp=11d076f49f2799a1f17c747abc5e72e4792bf63f;hpb=d2c37ad5a233f2026d3309905f6715ec672be45b;p=deb%2Fpackages.git diff --git a/bin/parse-contents b/bin/parse-contents index 11d076f..959b610 100755 --- a/bin/parse-contents +++ b/bin/parse-contents @@ -46,6 +46,8 @@ use Packages::Config qw( $TOPDIR $DBDIR @ARCHIVES @SUITES @ARCHITECTURES ); my @archives = @ARCHIVES; my @suites = @SUITES; my @archs = @ARCHITECTURES; +my %deborts_hash; +@deborts_hash{qw( alpha avr32 hppa m68k powerpcspe sh4 sparc64 )} = (); $DBDIR .= "/contents"; mkdirp( $DBDIR ); @@ -85,9 +87,11 @@ for my $suite (@suites) { open CONT, "zcat $filename|$what" or die $!; - while () { last if /^FILE/mo; } - if (eof(CONT)) { # no header found + my $header_found = 0; + while () { /^FILE/mo && do { $header_found = 1; last };} + if (eof(CONT)) { # no header found or only header found close CONT; # explicit close to reset $. + next if $header_found; open CONT, "zcat $filename|$what"; } while () { @@ -142,7 +146,7 @@ for my $suite (@suites) { activate($filelist_db); #FIXME: hardcoded archs. (debports has no contrib/non-free) - if ($arch ne 'avr32' and $arch ne 'm68k') { + if (not exists $deborts_hash{$arch}) { system("ln", "-sf", basename($filelist_db), "$DBDIR/filelists_${suite}_all.db") == 0 or die "Oops";