]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/Search.pm
* Add back some parts of the cron job (100syncarchive_*)
[deb/packages.git] / lib / Packages / Search.pm
index ae8cee3c577edf729db8d0db3152147c59693309..31fe9d78d4821bf0c71a1a5b9309dd0070c070f8 100644 (file)
@@ -342,11 +342,11 @@ sub read_entry {
     my ($hash, $key, $results, $opts) = @_;
     my $result = $hash->{$key} || '';
     foreach (split /\000/, $result) {
-       my @data = split ( /\s/, $_, 7 );
+       my @data = split ( /\s/, $_, 8 );
        debug( "Considering entry ".join( ':', @data), 2);
-       if ($opts->{h_suites}{$data[0]}
-           && ($opts->{h_archs}{$data[1]} || $data[1] eq 'all')
-           && $opts->{h_sections}{$data[2]}) {
+       if ($opts->{h_archives}{$data[0]} && $opts->{h_suites}{$data[1]}
+           && ($opts->{h_archs}{$data[2]} || $data[2] eq 'all')
+           && $opts->{h_sections}{$data[3]}) {
            debug( "Using entry ".join( ':', @data), 2);
            push @$results, [ $key, @data ];
        }
@@ -356,9 +356,11 @@ sub read_src_entry {
     my ($hash, $key, $results, $opts) = @_;
     my $result = $hash->{$key} || '';
     foreach (split /\000/, $result) {
-       my @data = split ( /\s/, $_, 5 );
+       my @data = split ( /\s/, $_, 6 );
        debug( "Considering entry ".join( ':', @data), 2);
-       if ($opts->{h_suites}{$data[0]} && $opts->{h_sections}{$data[1]}) {
+       if ($opts->{h_archives}{$data[0]}
+           && $opts->{h_suites}{$data[1]}
+           && $opts->{h_sections}{$data[2]}) {
            debug( "Using entry ".join( ':', @data), 2);
            push @$results, [ $key, @data ];
        }
@@ -446,15 +448,16 @@ sub do_fulltext_search {
 }
 
 sub find_binaries {
-    my ($pkg, $suite, $src2bin) = @_;
+    my ($pkg, $archive, $suite, $src2bin) = @_;
 
     my $bins = $src2bin->{$pkg} || '';
     my %bins;
     foreach (split /\000/o, $bins) {
-       my @data = split /\s/, $_, 4;
+       my @data = split /\s/, $_, 5;
 
-       if ($data[0] eq $suite) {
-           $bins{$data[1]}++;
+       if (($data[0] eq $archive)
+           && ($data[1] eq $suite)) {
+           $bins{$data[2]}++;
        }
     }