X-Git-Url: https://git.deb.at/?p=deb%2Fpackages.git;a=blobdiff_plain;f=bin%2Fparse-packages;h=40c4356eed0e140360366b4cb0eb29c360a0b0cd;hp=1c671e5076754c1019943248a0f23e9bb69a3bfe;hb=b974018eda7ed7c6e6352bb570c1ea5e04ef8147;hpb=2fea5d1ed90131319a07494c8fedd42778494ded diff --git a/bin/parse-packages b/bin/parse-packages index 1c671e5..40c4356 100755 --- a/bin/parse-packages +++ b/bin/parse-packages @@ -53,29 +53,22 @@ for my $suite (@suites) { my %data = (); chomp; s/\n /\377/g; - #s/\376\377\s*\376\377/\376\377/og; 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; } # Skip double package next if exists($packages_all_db{"$data{'package'} $data{'architecture'} $data{'version'}"}); - $packages_all_db{"$data{'package'} $data{'architecture'} $data{'version'}"} - = $data; $package_names{$data{'package'}} = 1; my $src = $data{'package'}; - my $srcversion = $data{'version'}; if ($data{'source'}) { $src = $data{'source'}; - if ($src =~ /(\S+) \((\S+)\)/) { - $src = $1; - $srcversion = $2; - } + $src =~ s/ .*//; # strip version info } + $data{'source'} = $src; my $descr = $data{'description'}; my $did = undef; if (exists($descriptions{$descr})) { @@ -85,6 +78,7 @@ for my $suite (@suites) { $descriptions[$did] = $descr; $descriptions{$descr} = $did; } + $data{'description'} = $did; $packages_descriptions{"$data{'package'} $data{'version'} $data{'architecture'}"} = $did; $descriptions_packages{$did} .= "$data{'package'} $data{'version'} $data{'architecture'}\000"; @@ -96,10 +90,19 @@ for my $suite (@suites) { if ($data{section} && ($data{section} =~ m=/=o)) { ($section, $subsection) = split m=/=o, $data{section}, 2; } + $data{'section'} = $section; + $data{'subsection'} = $subsection; $packages_small{$data{'package'}} .= "$suite $data{'architecture'} ". "$section $subsection $data{'priority'} $data{'version'} $sdescr\000"; $sources_packages{$src} .= "$suite $data{'package'} $data{'version'} $data{'architecture'}\000"; + while (my ($key, $value) = each (%data)) { + next if $key eq 'package' or $key eq 'version' or $key eq 'architecture' + or $key eq 'maintainer'; + $data .= "$key: $value\n"; + } + $packages_all_db{"$data{'package'} $data{'architecture'} $data{'version'}"} + = $data; } untie %packages_all_db;