]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/DoIndex.pm
fix off-by-one after switching on the brain again
[deb/packages.git] / lib / Packages / DoIndex.pm
index 21cd164077bedb78b7c4fc12d662e16f8faf9fe2..6af0c3ab34bee37de557845e6a1f9f2a389dc8f9 100644 (file)
@@ -12,7 +12,12 @@ use Packages::Config qw( $TOPDIR );
 use Packages::CGI;
 
 our @ISA = qw( Exporter );
-our @EXPORT = qw( do_index do_allpackages );
+our @EXPORT = qw( do_homepage do_index do_allpackages );
+
+sub do_homepage {
+    $_[1]->{suite} = [];
+    return send_file( 'index', @_ );
+}
 
 sub do_index {
     return send_file( 'index', @_ );
@@ -46,7 +51,7 @@ sub send_file {
     my $wwwdir = "$TOPDIR/www";
     my $path = "";
     $path .= "source/" if $opts->{source};
-    $path .= "$opts->{suite}[0]/";
+    $path .= "$opts->{suite}[0]/" if @{$opts->{suite}};
     $path .= "$opts->{archive}[0]/" if @{$opts->{archive}} == 1;
     $path .= "$opts->{subsection}[0]/" if @{$opts->{subsection}};
     $path .= "$opts->{priority}[0]/" if @{$opts->{priority}};
@@ -63,6 +68,7 @@ sub send_file {
            $headers{'-content-length'} = $size;
            $headers{'-vary'} = 'negotiate,accept-language';
            $headers{'-last-modified'} = strftime("%a, %d %b %Y %T %z", localtime($mtime));
+           $headers{'-expires'} = strftime("%a, %d %b %Y %T %z", localtime($mtime+(12*3600)));
            print header( %headers );
 
            binmode INDEX;