]> git.deb.at Git - deb/packages.git/blobdiff - bin/parse-contents
Merge branch 'master' into ubuntu-master
[deb/packages.git] / bin / parse-contents
index 11d076f49f2799a1f17c747abc5e72e4792bf63f..22a72e8b507a5ae9adfd8219da3be4b1cf0e2c88 100755 (executable)
@@ -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( avr32 m68k powerpcspe sh4 sparc64 )} = ();
 
 $DBDIR .= "/contents";
 mkdirp( $DBDIR );
@@ -85,9 +87,11 @@ for my $suite (@suites) {
 
                open CONT, "zcat $filename|$what"
                    or die $!;
-               while (<CONT>) { last if /^FILE/mo; }
-               if (eof(CONT)) { # no header found
+               my $header_found = 0;
+               while (<CONT>) { /^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 (<CONT>) {
@@ -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";