- my @all_archs = keys %archs;
- debug( "all_archs = @all_archs", 1 ) if DEBUG;
-
- $$page_content .= "<p>".sprintf( _g( 'Found %s results' ),
- scalar @results )."</p>";
- $$page_content .= '<div
- id="pcontentsres"><table><colgroup><col><col></colgroup><tr><th>'._g('File').'</th><th>'._g('Packages')
- .'</th></tr>';
- foreach my $file (sort keys %results) {
- $$page_content .= "<tr><td class=\"file\">/$file</td><td>";
- my @pkgs;
+ next unless keys %pkgs;
+ $results{$file} = \%pkgs;
+ }
+ my @all_archs = sort keys %archs;
+ @all_archs = sort @ARCHITECTURES unless @all_archs;
+ $page_content->{suite} = $suite;
+ $page_content->{archive} = $archive;
+ $page_content->{all_architectures} = \@all_archs;
+ $page_content->{all_suites} = \@SUITES;
+ $page_content->{mode} = $mode;
+ $page_content->{search_architectures} = $opts->{arch};
+ $page_content->{search_keywords} = $opts->{keywords};
+ $page_content->{sections} = $opts->{section};
+ $page_content->{too_many_hits} = $Packages::Search::too_many_hits;
+
+ debug( "all_archs = @all_archs", 1 ) if DEBUG;
+
+ if (keys %results) {
+ my $sort_func = sub { $_[0] cmp $_[1] };
+ $sort_func = sub { (sort keys %{$results{$_[0]}})[0]
+ cmp
+ (sort keys %{$results{$_[1]}})[0]
+ } if $opts->{sort_by} eq 'pkg';
+
+ $page_content->{results} = [];
+ foreach my $file (sort {&$sort_func($a,$b)} keys %results) {
+ my %result;
+ $result{file} = "/$file";
+ $result{packages} = [];