X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=lib%2FPackages%2FDoShow.pm;h=1f0beb06c4092d9ff8815dfabf7c00190fa4e7cd;hb=a38d98d27880c8fc0f4d98646e318ecc1d39884f;hp=b375977a0b8628abf0059c404c169d2dfe114f54;hpb=13d40fe95f9d8b47f370cff835cbcd77f988e5db;p=deb%2Fpackages.git
diff --git a/lib/Packages/DoShow.pm b/lib/Packages/DoShow.pm
index b375977..1f0beb0 100644
--- a/lib/Packages/DoShow.pm
+++ b/lib/Packages/DoShow.pm
@@ -1,6 +1,7 @@
package Packages::DoShow;
use strict;
+use warnings;
use POSIX;
use URI::Escape;
@@ -75,19 +76,13 @@ sub do_show {
foreach (@results, @non_results) {
my $a = $_->[1];
my $s = $_->[2];
- if ($a =~ /^(?:us|security|non-US)$/o) {
- $all_suites{$s}++;
- } else {
- $all_suites{"$s/$a"}++;
- }
+ $all_suites{$s}++;
}
foreach (suites_sort(keys %all_suites)) {
- if (("$suite/$archive" eq $_)
- || (!$all_suites{"$suite/$archive"} && ($suite eq $_))) {
+ if ($suite eq $_) {
$$menu .= "[ $_ ] ";
} else {
- $$menu .=
- "[ $_ ] ";
+ $$menu .= "[ $suite})."\">$_ ] ";
}
}
$$menu .= '
';
@@ -97,7 +92,7 @@ sub do_show {
} else {
unless ($opts->{source}) {
for my $entry (@results) {
- debug( join(":", @$entry), 1 );
+ debug( join(":", @$entry), 1 ) if DEBUG;
my (undef, $archive, undef, $arch, $section, $subsection,
$priority, $version, $provided_by) = @$entry;
@@ -106,7 +101,8 @@ sub do_show {
$data{package} = $pkg;
$data{architecture} = $arch;
$data{version} = $version;
- $page->merge_package(\%data) or debug( "Merging $pkg $arch $version FAILED", 2 );
+ $page->merge_package(\%data)
+ or debug( "Merging $pkg $arch $version FAILED", 2 ) if DEBUG;
} else {
$page->add_provided_by([split /\s+/, $provided_by]);
}
@@ -116,14 +112,14 @@ sub do_show {
$version = $page->{newest};
my $source = $page->get_newest( 'source' );
$archive = $page->get_newest( 'archive' );
- debug( "find source package: source=$source", 1);
+ debug( "find source package: source=$source", 1) if DEBUG;
my $src_data = $sources_all{"$archive $suite $source"};
$page->add_src_data( $source, $src_data )
if $src_data;
my $st1 = new Benchmark;
my $std = timediff($st1, $st0);
- debug( "Data search and merging took ".timestr($std) );
+ debug( "Data search and merging took ".timestr($std) ) if DEBUG;
my $did = $page->get_newest( 'description' );
$section = $page->get_newest( 'section' );
@@ -148,22 +144,23 @@ sub do_show {
$long_desc =~ s/\n /\n/sgo;
$long_desc =~ s/\n.\n/\n
\n/go; $long_desc =~ s/(((\n|\A) [^\n]*)+)/\n
$1\n<\/pre>/sgo; -# $long_desc = conv_desc( $lang, $long_desc ); -# $short_desc = conv_desc( $lang, $short_desc ); - - $$menu .= simple_menu( [ _g( "Distribution:" ), - _g( "Overview over this suite" ), - "$ROOT/$suite/", - $suite ], - [ _g( "Section:" ), - _g( "All packages in this section" ), - "$ROOT/$suite/$subsection/", - $subsection ], - ); + my @menu = ( [ _g( "Distribution:" ), + _g( "Overview over this suite" ), + make_url("/",''), + $suite ], + [ _g( "Section:" ), + _g( "All packages in this section" ), + make_url("$subsection/",''), + $subsection ], ); + push @menu, [ _g( "Source:" ), + _g( "Source package building this package" ), + make_url($source,'',{source=>'source'}), + $source ] if $source; + $$menu .= simple_menu( @menu ); my $v_str = $version; my $multiple_versions = grep { $_ ne $version } values %$versions; - $v_str .= " (and others)" if $multiple_versions; + $v_str .= _g(" 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' @@ -172,7 +169,7 @@ sub do_show { $package_page .= title( $title ); if (my $provided_by = $page->{provided_by}) { - note( _g( "This is also a virtual package provided by ").join( ', ', map { "$_" } @$provided_by) ); + note( _g( "This is also a virtual package provided by ").join( ', ', map { "$_" } @$provided_by) ); } if ($suite eq "experimental") { @@ -204,9 +201,6 @@ sub do_show { if ( $dep_list ) { $package_page .= "\n"; $package_page .= sprintf( ""._g( "Other Packages Related to %s" )."
\n", $pkg ); - if ($suite eq "experimental") { - note( sprintf( _g( 'Note that the experimental distribution is not self-contained; missing dependencies are likely found in the unstable distribution.' ), "$ROOT/unstable/" ) ); - } $package_page .= pdeplegend( [ 'dep', _g( 'depends' ) ], [ 'rec', _g( 'recommends' ) ], @@ -232,18 +226,22 @@ sub do_show { $package_page .= ""._g( "Package Size")." "._g("Installed Size")." "._g("Files")." \n"; foreach my $a ( @archs ) { $package_page .= "\n"; - $package_page .= " $a \n"; $package_page .= "".$versions->{$a}." " if $multiple_versions; + $package_page .= ''; + # package size + $package_page .= sprintf(_g('%.1f kB'), + floor(($sizes_deb->{$a}/102.4)+0.5)/10); $package_page .= ' '; - $package_page .= floor(($sizes_deb->{$a}/102.4)+0.5)/10 . " kB"; - $package_page .= ' '; - $package_page .= $sizes_inst->{$a} . " kB"; + # installed size + $package_page .= sprintf(_g('%d kB'), + $sizes_inst->{$a}); $package_page .= " \n"; if ( $suite ne "experimental" ) { $package_page .= sprintf( "["._g( "list of files" )."]\n", - "$ROOT/$suite/$encodedpkg/$a/filelist", $pkg ); + make_url("$encodedpkg/$a/filelist",''), $pkg ); } else { $package_page .= _g( "no current information" ); } @@ -266,11 +264,11 @@ sub do_show { $$menu .= simple_menu( [ _g( "Distribution:" ), _g( "Overview over this distribution" ), - "$ROOT/", + make_url('/',''), $suite ], [ _g( "Section:" ), _g( "All packages in this section" ), - "$ROOT/$suite/virtual/", + make_url("virtual/",''), 'virtual' ], ); @@ -288,19 +286,19 @@ sub do_show { } # else (unless $page->is_virtual) } else { # unless $opts->{source} for my $entry (@results) { - debug( join(":", @$entry), 1 ); + debug( join(":", @$entry), 1 ) if DEBUG; my (undef, $archive, undef, $section, $subsection, $priority, $version) = @$entry; my $data = $sources_all{"$archive $suite $pkg"}; $page->merge_data($pkg, $suite, $archive, $data) - or debug( "Merging $pkg $version FAILED", 2 ); + or debug( "Merging $pkg $version FAILED", 2 ) if DEBUG; } $version = $page->{version}; my $st1 = new Benchmark; my $std = timediff($st1, $st0); - debug( "Data search and merging took ".timestr($std) ); + debug( "Data search and merging took ".timestr($std) ) if DEBUG; $archive = $page->get_newest( 'archive' ); $section = $page->get_newest( 'section' ); @@ -308,11 +306,11 @@ sub do_show { $$menu .= simple_menu( [ _g( "Distribution:" ), _g( "Overview over this suite" ), - "/$suite/", + make_url('/',''), $suite ], [ _g( "Section:" ), _g( "All packages in this section" ), - "/$suite/$subsection/", + make_url("$subsection/",''), $subsection ], ); @@ -357,10 +355,6 @@ sub do_show { if ( $dep_list ) { $package_page .= " \n"; $package_page .= sprintf( ""._g( "Other Packages Related to %s" )."
\n", $pkg ); - if ($suite eq "experimental") { - note( sprintf( _g( 'Note that the experimental distribution is not self-contained; missing dependencies are likely found in the unstable distribution.' ), "$ROOT/unstable/" ) ); - - } $package_page .= pdeplegend( [ 'adep', _g( 'build-depends' ) ], [ 'idep', _g( 'build-depends-indep' ) ], @@ -388,19 +382,9 @@ sub do_show { foreach( @$source_files ) { my ($src_file_md5, $src_file_size, $src_file_name) = split /\s+/, $_; - my $src_url; - for ($archive) { - /security/o && do { - $src_url = $FTP_SITES{security}; last }; - /volatile/o && do { - $src_url = $FTP_SITES{volatile}; last }; - /backports/o && do { - - $src_url = $FTP_SITES{backports}; last }; - /non-us/io && do { - $src_url = $FTP_SITES{'non-US'}; last }; - $src_url = $FTP_SITES{us}; - } + (my $server = lc $archive) =~ s/-//go; # non-US hack + my $src_url = $FTP_SITES{$server} + || $FTP_SITES{us}; $src_url .= "/$source_dir/$src_file_name"; $package_page .= "$src_file_name \n" @@ -426,7 +410,7 @@ sub do_show { } # use Data::Dumper; -# debug( "Final page object:\n".Dumper($page), 3 ); +# debug( "Final page object:\n".Dumper($page), 3 ) if DEBUG; my $title = $opts->{source} ? _g( "Details of source package %s in %s" ) :