X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=bin%2Fparse-packages;h=6dad93ea1f8b9cf6d06b17533838badc81858813;hb=f6000bc63f707c11cbb15433f66b41144c91522e;hp=61d6b841676fc644b2ca1dbbe0be31be1130cc9e;hpb=994eceb69bd5a8865a51e00b3cfb1c7a1f03f78e;p=deb%2Fpackages.git diff --git a/bin/parse-packages b/bin/parse-packages index 61d6b84..6dad93e 100755 --- a/bin/parse-packages +++ b/bin/parse-packages @@ -85,11 +85,13 @@ for my $suite (@SUITES) { $key =~ tr [A-Z] [a-z]; $data{$key} = $value; } + # Skip broken debs + next unless $data{architecture}; # Skip double package next if exists($packages_all_db{"$data{'package'} $data{'architecture'} $data{'version'}"}); - # Skip arch:all for amd64 & gnuab, any non-redundancy is + # Skip arch:all for amd64 & debports, any non-redundancy is # usually a bug anyway - next if ($archive eq 'amd64' or $archive eq 'gnuab') + next if ($archive eq 'amd64' or $archive eq 'debports') and $data{architecture} eq 'all'; if ($data{'provides'}) { @@ -115,10 +117,12 @@ for my $suite (@SUITES) { foreach (@complete_tags) { my ($facet, $tag) = split( /::/, $_, 2); if ($tag =~ s/^\{(.+)\}$/$1/) { + warn "pkg=$data{package} tags=$data{tag}\n" unless $facet && $tag; foreach (split( /,/, $tag )) { push @tags, "${facet}::$_"; } } else { + warn "pkg=$data{package} tags=$data{tag}\n" unless $facet && $tag; push @tags, "${facet}::$tag"; } } @@ -336,11 +340,10 @@ tie %package_postfixes_db, "DB_File", "$DBDIR/package_postfixes.db.new", or die "Error creating DB: $!"; while (my ($k, $v) = each(%package_postfixes)) { $v =~ s/.$//s; - my $nr = $v; - $nr =~ s/[^\000]//g; - $nr = length($nr) + 1; # < number of hits + my $nr = ($v =~ tr/\000/\000/) + 1; if ($nr > $MAX_PACKAGE_POSTFIXES) { - $v = "\001" . $nr; + $v = ($v =~ /\^/) ? "^\001" . $nr + : "\001" . $nr; } $package_postfixes_db{$k} = $v; }