]> git.deb.at Git - deb/packages.git/blobdiff - bin/parse-sources
Make it more obvious what are static strings and what are parameters
[deb/packages.git] / bin / parse-sources
index 9c97e2f315750f5849a1c2eef5d76cdacd9b906c..89f071d42d389bf77c4f05d997ddce019b0060ca 100755 (executable)
@@ -53,24 +53,36 @@ for my $archive (@ARCHIVES) {
                while (/^(\S+):\s*(.*)\s*$/mg) {
                        my ($key, $value) = ($1, $2);
                        $value =~ s/\377/\n /g;
-                       $data .= "$key: $value\n";
                        $key =~ tr [A-Z] [a-z];
                        $data{$key} = $value;
                }
-               $data .= "Archive: $archive\n";
-               $sources_all_db{"$data{'package'} $data{'version'}"}
-                       = $data;
-
                $source_names{$data{'package'}} = 1;
+               delete $data{'binary'};
+
+               $data{files} =~ s/\s*\n\s*/\01/sog;
+               $data{files} =~ s/^\01//sg;
 
                my $section = 'main';
                my $subsection = $data{section} || '-';
                if ($data{section} && ($data{section} =~ m=/=o)) {
                    ($section, $subsection) = split m=/=o, $data{section}, 2;
+                   ($subsection, $section) = split m=/=o, $data{section}, 2
+                       if $section eq 'non-US';
                }
-               $data{'priority'} = "-" if not exists($data{'priority'});
+               $data{'section'} = $section;
+               $data{'subsection'} = $subsection;
+               $data{'priority'} ||= "-";
                $sources_small{$data{'package'}} .=
                        "$archive $suite $section $subsection $data{'priority'} $data{'version'}\000";
+
+               while (my ($key, $value) = each (%data)) {
+                   next if $key eq 'package' or $key eq 'archive' or $key eq 'suite';
+                   print STDERR "WARN: $key ($suite/$archive/$data{package}/$data{architecture}\n" unless defined $value;
+                   $data .= "$key\00$value\00";
+               }
+               $data =~ s/.$//so;
+               $sources_all_db{"$archive $suite $data{'package'}"}
+                       = $data;
        }
 
        untie %sources_all_db;