]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/Dispatcher.pm
Merge commit 'origin/master' into debian-master
[deb/packages.git] / lib / Packages / Dispatcher.pm
index aad1d576872deae6ead2cff360112f0fa6106b07..037f7f36ace8798d00da5cf2d23cf1edd3bd13d6 100755 (executable)
@@ -138,7 +138,7 @@ sub do_dispatch {
 
     my $what_to_do = 'show';
     my $source = 0;
-    if (my $path = $input->path_info() || $input->param('PATH_INFO')) {
+    if (my $path = $ENV{'PATH_INFO'} || $input->param('PATH_INFO')) {
        my @components = grep { $_ } map { lc $_ } split /\/+/, $path;
 
        debug( "PATH_INFO=$path components=@components", 3) if DEBUG;
@@ -314,7 +314,9 @@ Packages::CGI::init_url( $input, \%params, \%opts );
                                             debug => ( DEBUG ? $opts{debug} : 0 ) },
                                           ( $CACHEDIR ? { COMPILE_DIR => $CACHEDIR } : {} ) );
 
-    unless (-e "$TEMPLATEDIR/$opts{format}/${what_to_do}.tmpl") {
+    #FIXME: ugly hack
+    unless (($what_to_do eq 'allpackages' and $opts{format} =~ /^(html|txt\.gz)/)
+            || -e "$TEMPLATEDIR/$opts{format}/${what_to_do}.tmpl") {
        fatal_error( "requested format not available for this document",
                     "406 requested format not available");
     }