]> git.deb.at Git - deb/packages.git/blobdiff - cgi-bin/show_package.pl
Begin implementing virtual package support.
[deb/packages.git] / cgi-bin / show_package.pl
index 747db62ada96ee2b29bd87695a7b2255c19befd3..2ec4616d548512a01d733b6352673ffaf6364ffc 100755 (executable)
@@ -154,13 +154,17 @@ unless (@Packages::CGI::fatal_errors) {
                for my $entry (@results) {
                    debug( join(":", @$entry), 1 );
                    my (undef, $archive, undef, $arch, $section, $subsection,
-                       $priority, $version) = @$entry;
+                       $priority, $version, @provided_by) = @$entry;
                    
-                   my %data = split /\000/, $packages_all{"$pkg $arch $version"};
-                   $data{package} = $pkg;
-                   $data{architecture} = $arch;
-                   $data{version} = $version;
-                   $page->merge_package(\%data) or debug( "Merging $pkg $arch $version FAILED", 2 );
+                   if ($arch ne 'virtual') {
+                       my %data = split /\000/, $packages_all{"$pkg $arch $version"};
+                       $data{package} = $pkg;
+                       $data{architecture} = $arch;
+                       $data{version} = $version;
+                       $page->merge_package(\%data) or debug( "Merging $pkg $arch $version FAILED", 2 );
+                   } else {
+                       $page->add_provided_by(\@provided_by);
+                   }
                }
 
                $version = $page->{newest};
@@ -342,8 +346,8 @@ unless (@Packages::CGI::fatal_errors) {
                    my (undef, $archive, undef, $section, $subsection,
                        $priority, $version) = @$entry;
                    
-                   my $data = $sources_all{"$pkg $version"};
-                   $page->merge_data($pkg, $version, $data) or debug( "Merging $pkg $version FAILED", 2 );
+                   my $data = $sources_all{"$archive $suite $pkg"};
+                   $page->merge_data($pkg, $suite, $archive, $data) or debug( "Merging $pkg $version FAILED", 2 );
                }
                $version = $page->{version};
 
@@ -459,7 +463,8 @@ unless (@Packages::CGI::fatal_errors) {
                                          gettext("Size (in kB)"),
                                          gettext("md5sum") );
                foreach( @$source_files ) {
-                   my ($src_file_md5, $src_file_size, $src_file_name) = @$_;
+                   my ($src_file_md5, $src_file_size, $src_file_name)
+                       = split /\s+/, $_;
                    my $src_url;
                    for ($archive) {
                        /security/o &&  do {
@@ -495,8 +500,8 @@ unless (@Packages::CGI::fatal_errors) {
     }
 }
 
-#use Data::Dumper;
-#debug( "Final page object:\n".Dumper($page), 3 );
+use Data::Dumper;
+debug( "Final page object:\n".Dumper($page), 3 );
 
 my $title = $opts{source} ?
     "Details of source package <em>$pkg</em> in $suite"  :