]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/DoShow.pm
Fix some minor issues
[deb/packages.git] / lib / Packages / DoShow.pm
index c9940a16bfc980af9a75cca6852a7108b90b4b94..e3e1945b6b7cc7123e4705a47f681e79f16106f1 100644 (file)
@@ -1,6 +1,7 @@
 package Packages::DoShow;
 
 use strict;
+use warnings;
 
 use POSIX;
 use URI::Escape;
@@ -81,7 +82,7 @@ sub do_show {
                if ($suite eq $_) {
                    $$menu .= "[ <strong>$_</strong> ] ";
                } else {
-                   $$menu .= "[ <a href=\"$ROOT/$_/$encodedpkg\">$_</a> ] ";
+                   $$menu .= "[ <a href=\"".make_url($encodedpkg,'',{suite=>$suite})."\">$_</a> ] ";
                }
            }
            $$menu .= '<br>';
@@ -100,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 ) if DEBUG;
+                           $page->merge_package(\%data)
+                               or debug( "Merging $pkg $arch $version FAILED", 2 ) if DEBUG;
                        } else {
                            $page->add_provided_by([split /\s+/, $provided_by]);
                        }
@@ -142,18 +144,20 @@ sub do_show {
                        $long_desc =~ s/\n /\n/sgo;
                        $long_desc =~ s/\n.\n/\n<p>\n/go;
                        $long_desc =~ s/(((\n|\A) [^\n]*)+)/\n<pre>$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 ], );
+                       my $source = $page->get_src('package');
+                       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;
@@ -166,7 +170,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 { "<a href=\"$ROOT/$suite/$_\">$_</a>"  } @$provided_by) );
+                           note( _g( "This is also a virtual package provided by ").join( ', ', map { "<a href=\"".make_url($_,'')."\">$_</a>"  } @$provided_by) );
                        }
                        
                        if ($suite eq "experimental") {
@@ -198,9 +202,6 @@ sub do_show {
                        if ( $dep_list ) {
                            $package_page .= "<div id=\"pdeps\">\n";
                            $package_page .= sprintf( "<h2>"._g( "Other Packages Related to %s" )."</h2>\n", $pkg );
-                           if ($suite eq "experimental") {
-                               note( sprintf( _g( 'Note that the <strong>experimental</strong> distribution is not self-contained; missing dependencies are likely found in the <a href="%s">unstable</a> distribution.' ), "$ROOT/unstable/" ) );
-                           }
                            
                            $package_page .= pdeplegend( [ 'dep',  _g( 'depends' ) ],
                                                         [ 'rec',  _g( 'recommends' ) ],
@@ -226,18 +227,22 @@ sub do_show {
                        $package_page .= "<th>"._g( "Package Size")."</th><th>"._g("Installed Size")."</th><th>"._g("Files")."</th></tr>\n";
                        foreach my $a ( @archs ) {
                            $package_page .= "<tr>\n";
-                           $package_page .=  "<th><a href=\"$ROOT/$suite/$encodedpkg/$a/download";
+                           $package_page .=  "<th><a href=\"".make_url("$encodedpkg/$a/download",'');
                            $package_page .=  "\">$a</a></th>\n";
                            $package_page .= "<td>".$versions->{$a}."</td>"
                                if $multiple_versions;
+                           $package_page .= '<td class="size">';
+                           # package size
+                           $package_page .=  sprintf(_g('%.1f&nbsp;kB'),
+                                                     floor(($sizes_deb->{$a}/102.4)+0.5)/10);
                            $package_page .= '</td><td class="size">';
-                           $package_page .=  floor(($sizes_deb->{$a}/102.4)+0.5)/10 . "&nbsp;kB";
-                           $package_page .= '</td><td class="size">';
-                           $package_page .=  $sizes_inst->{$a} . "&nbsp;kB";
+                           # installed size
+                           $package_page .=  sprintf(_g('%d&nbsp;kB'),
+                                                     $sizes_inst->{$a});
                            $package_page .= "</td>\n<td>";
                            if ( $suite ne "experimental" ) {
                                $package_page .= sprintf( "[<a href=\"%s\">"._g( "list of files" )."</a>]\n",
-                                                         "$ROOT/$suite/$encodedpkg/$a/filelist", $pkg );
+                                                         make_url("$encodedpkg/$a/filelist",''), $pkg );
                            } else {
                                $package_page .= _g( "no current information" );
                            }
@@ -260,11 +265,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' ], );
 
@@ -302,11 +307,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 ],
                                           );
                    
@@ -351,10 +356,6 @@ sub do_show {
                    if ( $dep_list ) {
                        $package_page .= "<div id=\"pdeps\">\n";
                        $package_page .= sprintf( "<h2>"._g( "Other Packages Related to %s" )."</h2>\n", $pkg );
-                       if ($suite eq "experimental") {
-                           note( sprintf( _g( 'Note that the <strong>experimental</strong> distribution is not self-contained; missing dependencies are likely found in the <a href="%s">unstable</a> distribution.' ), "$ROOT/unstable/" ) );
-
-                       }
                        
                        $package_page .= pdeplegend( [ 'adep',  _g( 'build-depends' ) ],
                                                     [ 'idep',  _g( 'build-depends-indep' ) ],
@@ -383,7 +384,7 @@ sub do_show {
                        my ($src_file_md5, $src_file_size, $src_file_name)
                            = split /\s+/, $_;
                        my $src_url;
-                       for ($archive) {
+                       for ("$suite/$archive") {
                            /security/o &&  do {
                                $src_url = $FTP_SITES{security}; last };
                            /volatile/o &&  do {