X-Git-Url: https://git.deb.at/?a=blobdiff_plain;ds=sidebyside;f=lib%2FPackages%2FDoSearch.pm;h=0ff2e9b7c50231a6380fe5a4deaef6328b78b18c;hb=202eb3b349348d04e15926777d7a3b7f8526c557;hp=275cb9bebc73d4a3846f4645b6b1779be1af0e3e;hpb=49f6fa5b401d8bba7abc2bafde675841a8729a15;p=deb%2Fpackages.git
diff --git a/lib/Packages/DoSearch.pm b/lib/Packages/DoSearch.pm
index 275cb9b..0ff2e9b 100644
--- a/lib/Packages/DoSearch.pm
+++ b/lib/Packages/DoSearch.pm
@@ -168,26 +168,20 @@ sub do_search {
my ($pkg) = $pkg_t =~ m/^(.+)/; # untaint
if ($arch ne 'virtual') {
- my $real_archive;
- if ($archive =~ /^(security|non-US)$/) {
- $real_archive = $archive;
- $archive = 'us';
- }
-
- $pkgs{$pkg}{$suite}{$archive}{$version}{$arch} = 1;
- $subsect{$pkg}{$suite}{$archive}{$version} = $subsection;
- $sect{$pkg}{$suite}{$archive}{$version} = $section
+ $pkgs{$pkg}{$suite}{$version}{$arch} = 1;
+ $subsect{$pkg}{$suite}{$version} = $subsection;
+ $sect{$pkg}{$suite}{$version} = $section
unless $section eq 'main';
- $archives{$pkg}{$suite}{$archive}{$version} = $real_archive
- if $real_archive;
+ $archives{$pkg}{$suite}{$version} ||= $archive;
- $desc{$pkg}{$suite}{$archive}{$version} = $desc;
+ $desc{$pkg}{$suite}{$version} = $desc;
} else {
$provided_by{$pkg}{$suite} = [ split /\s+/, $desc ];
}
}
- my @pkgs = sort(keys %pkgs, keys %provided_by);
+ my %uniq_pkgs = map { $_ => 1 } (keys %pkgs, keys %provided_by);
+ my @pkgs = sort keys %uniq_pkgs;
$$page_content .= print_packages( \%pkgs, \@pkgs, $opts, $keyword,
\&print_package, \%provided_by,
\%archives, \%sect, \%subsect,
@@ -270,28 +264,25 @@ sub print_package {
my $str = '
'.sprintf( _g( 'Package %s' ), $pkg ).'
';
$str .= '';
foreach my $suite (@SUITES) {
- foreach my $archive (@ARCHIVES) {
- next if $archive eq 'security';
- next if $archive eq 'non-US';
- my $path = $suite.(($archive ne 'us')?"/$archive":'');
- if (exists $pkgs->{$suite}{$archive}) {
+ my $path = $suite;
+ if (exists $pkgs->{$suite}) {
my %archs_printed;
- my @versions = version_sort keys %{$pkgs->{$suite}{$archive}};
+ my @versions = version_sort keys %{$pkgs->{$suite}};
my $origin_str = "";
- if ($sect->{$suite}{$archive}{$versions[0]}) {
- $origin_str .= " ".marker($sect->{$suite}{$archive}{$versions[0]});
+ if ($sect->{$suite}{$versions[0]}) {
+ $origin_str .= " ".marker($sect->{$suite}{$versions[0]});
}
$str .= sprintf( "- %s (%s): %s %s\n",
- $path, $pkg, $path, $subsect->{$suite}{$archive}{$versions[0]},
- $desc->{$suite}{$archive}{$versions[0]}, $origin_str );
+ $path, $pkg, $path, $subsect->{$suite}{$versions[0]},
+ $desc->{$suite}{$versions[0]}, $origin_str );
foreach my $v (@versions) {
my $archive_str = "";
- if ($archives->{$suite}{$archive}{$v}) {
- $archive_str .= " ".marker($archives->{$suite}{$archive}{$v});
+ if ($archives->{$suite}{$v} ne 'us') {
+ $archive_str .= " ".marker($archives->{$suite}{$v});
}
- my @archs_to_print = grep { !$archs_printed{$_} } sort keys %{$pkgs->{$suite}{$archive}{$v}};
+ my @archs_to_print = grep { !$archs_printed{$_} } sort keys %{$pkgs->{$suite}{$v}};
$str .= sprintf( "
%s$archive_str: %s\n",
$v, join (" ", @archs_to_print ))
if @archs_to_print;
@@ -308,7 +299,6 @@ sub print_package {
$str .= _g( 'provided by: ' ).
join( ', ', map { "$_" } @$p);
}
- }
}
$str .= "
\n";
return $str;