-while (my ($k, $v) = each(%packages_small)) {
- $v =~ s/.$//s;
- $packages_small_db{$k} = $v;
+while (my ($pkg, $v) = each(%packages_small)) {
+ my ($res1, $res2, $res3) = ("", "", "");
+ while (my ($suite, $v2) = each %$v) {
+ $res2 .= $v2->{'any'};
+ while (my ($arch, $v3) = each %$v2) {
+ next if $arch eq 'any' or $v3 eq $v2->{'any'};
+ $res3 .= $v3;
+ }
+ }
+
+ if (exists $virtual_packages{$pkg}) {
+ while (my ($suite, $v2) = each %{$virtual_packages{$pkg}}) {
+ $res1 .= "$suite\01".(join ' ', keys %$v2)."\01";
+ }
+ } else {
+ $res1 .= "-\01-\01";
+ }
+ $res1 =~ s/.$/\0/s;
+
+ my $res = "$res1$res2$res3";
+ $res =~ s/.$//s;
+ $packages_small_db{$pkg} = $res;