X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=bin%2Fparse-packages;h=7de51b6e89d0780a0d2186051976046cfb62528c;hb=dc9512b1309f4c8c6bd1171b543183e8ac8b2115;hp=817f547e09d6c030259c583412e5971f11876b56;hpb=9d463c289353df50118033b581bc60bd291c9d01;p=deb%2Fpackages.git diff --git a/bin/parse-packages b/bin/parse-packages index 817f547..7de51b6 100755 --- a/bin/parse-packages +++ b/bin/parse-packages @@ -48,6 +48,7 @@ $/ = ""; for my $archive (@ARCHIVES) { for my $suite (@SUITES) { + my %virtual_packages = (); print "Reading $archive/$suite...\n"; my %packages_all_db; tie %packages_all_db, "DB_File", "$DBDIR/packages_all_$suite.db.new", @@ -69,6 +70,11 @@ for my $archive (@ARCHIVES) { # Skip double package next if exists($packages_all_db{"$data{'package'} $data{'architecture'} $data{'version'}"}); + if ($data{'provides'}) { + foreach (split /\s*,\s*/, $data{'provides'}) { + $virtual_packages{$_}{$data{'package'}}++; + } + } $package_names{$data{'package'}} = 1; my $src = $data{'package'}; my $src_version = ''; @@ -122,6 +128,11 @@ for my $archive (@ARCHIVES) { = $data; } + foreach (keys %virtual_packages) { + my @provided_by = keys %{$virtual_packages{$_}}; + $packages_small{$_} .= "$archive $suite virtual - - - - @provided_by\000"; + } + untie %packages_all_db; } }