X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=lib%2FPackages%2FDoShow.pm;h=b375977a0b8628abf0059c404c169d2dfe114f54;hb=0490df1e4f11514d016bdbc418321e8d800682e5;hp=3070f1b85f7f0de6feee0c1559f4304c5d36c516;hpb=3bb6c9d9922b0487901c02962b1d64c525f1bdd7;p=deb%2Fpackages.git diff --git a/lib/Packages/DoShow.pm b/lib/Packages/DoShow.pm index 3070f1b..b375977 100644 --- a/lib/Packages/DoShow.pm +++ b/lib/Packages/DoShow.pm @@ -125,13 +125,13 @@ sub do_show { my $std = timediff($st1, $st0); debug( "Data search and merging took ".timestr($std) ); - my ($v_str, $v_str_arch, $v_str_arr) = $page->get_version_string(); my $did = $page->get_newest( 'description' ); $section = $page->get_newest( 'section' ); $subsection = $page->get_newest( 'subsection' ); my $filenames = $page->get_arch_field( 'filename' ); my $file_md5sums = $page->get_arch_field( 'md5sum' ); my $archives = $page->get_arch_field( 'archive' ); + my $versions = $page->get_arch_field( 'version' ); my $sizes_inst = $page->get_arch_field( 'installed-size' ); my $sizes_deb = $page->get_arch_field( 'size' ); my @archs = sort $page->get_architectures; @@ -161,6 +161,9 @@ sub do_show { $subsection ], ); + my $v_str = $version; + my $multiple_versions = grep { $_ ne $version } values %$versions; + $v_str .= " (and others)" if $multiple_versions; my $title .= sprintf( _g( "Package: %s (%s)" ), $pkg, $v_str ); $title .= " ".marker( $archive ) if $archive ne 'us'; $title .= " ".marker( $subsection ) if $subsection eq 'non-US' @@ -168,8 +171,6 @@ sub do_show { $title .= " ".marker( $section ) if $section ne 'main'; $package_page .= title( $title ); - $package_page .= "

"._g( "Versions:" )." $v_str_arch

\n" - unless $version eq $v_str; if (my $provided_by = $page->{provided_by}) { note( _g( "This is also a virtual package provided by ").join( ', ', map { "$_" } @$provided_by) ); } @@ -225,22 +226,27 @@ sub do_show { $package_page .= "\n"; $package_page .= "\n"; $package_page .= "\n"; - $package_page .= "\n"; + $package_page .= ""; + $package_page .= "" + if $multiple_versions; + $package_page .= "\n"; foreach my $a ( @archs ) { $package_page .= "\n"; $package_page .= "\n"; - $package_page .= "" + if $multiple_versions; + $package_page .= '\n\n"; } $package_page .= "
"._g("Download for all available architectures")."
"._g("Architecture").""._g("Files").""._g( "Package Size").""._g("Installed Size")."
"._g("Architecture").""._g("Version").""._g( "Package Size").""._g("Installed Size").""._g("Files")."
$a"; + $package_page .= "".$versions->{$a}."'; + $package_page .= floor(($sizes_deb->{$a}/102.4)+0.5)/10 . " kB"; + $package_page .= ''; + $package_page .= $sizes_inst->{$a} . " kB"; + $package_page .= ""; if ( $suite ne "experimental" ) { $package_page .= sprintf( "["._g( "list of files" )."]\n", "$ROOT/$suite/$encodedpkg/$a/filelist", $pkg ); } else { $package_page .= _g( "no current information" ); } - $package_page .= ''; - $package_page .= floor(($sizes_deb->{$a}/102.4)+0.5)/10 . " kB"; - $package_page .= ''; - $package_page .= $sizes_inst->{$a} . " kB"; $package_page .= "
\n"; @@ -296,7 +302,6 @@ sub do_show { my $std = timediff($st1, $st0); debug( "Data search and merging took ".timestr($std) ); - my ($v_str, $v_str_arr) = $page->get_version_string(); $archive = $page->get_newest( 'archive' ); $section = $page->get_newest( 'section' ); $subsection = $page->get_newest( 'subsection' ); @@ -312,7 +317,7 @@ sub do_show { ); my $title .= sprintf( _g( "Source Package: %s (%s)" ), - $pkg, $v_str ); + $pkg, $version ); $title .= " ".marker( $archive ) if $archive ne 'us'; $title .= " ".marker( $subsection ) if $subsection eq 'non-US' and $archive ne 'non-US'; # non-US/security