X-Git-Url: https://git.deb.at/?p=deb%2Fpackages.git;a=blobdiff_plain;f=lib%2FPackages%2FDoSearch.pm;h=0ff2e9b7c50231a6380fe5a4deaef6328b78b18c;hp=c1c544690ae3ffc21c7ae85f046284c4b06086cb;hb=33c3adfb631d4c1fb6690a02117674a984d0e6ee;hpb=6faf06d52e7364cdeaafb18f9b8dac32d5dcecf7 diff --git a/lib/Packages/DoSearch.pm b/lib/Packages/DoSearch.pm index c1c5446..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}{$archive} = [ split /\s+/, $desc ]; + $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,45 +264,41 @@ sub print_package { my $str = '

'.sprintf( _g( 'Package %s' ), $pkg ).'

'; $str .= '\n"; return $str;