delete $ENV{'LC_ALL'};
delete $ENV{'LC_MESSAGES'};
- my %SUITES_ALIAS = ( oldstable => 'sarge',
- stable => 'etch',
- testing => 'lenny',
+ my %SUITES_ALIAS = ( oldstable => 'etch',
+ stable => 'lenny',
+ testing => 'squeeze',
unstable => 'sid',
- '3.1' => 'sarge',
- '4.0' => 'etch' );
+ '4.0' => 'etch',
+ '5.0' => 'lenny' );
# Read in all the variables set by the form
my $input;
my $homedir = dirname($ENV{SCRIPT_FILENAME}).'/../';
&Packages::Config::init( $homedir );
&Packages::DB::init();
+ my $last_modified = $Packages::DB::db_read_time;
+ my $now = time;
+ my $expires = $last_modified + (12*3600);
+ $expires = $now + 3600 if $expires < $now;
+ # allow some fudge, since the db mod time is not the end of
+ # the cron job
+ $last_modified = $now if $now - $last_modified < 3600;
if ($input->http('If-Modified-Since') and
(my $modtime = str2time($input->http('If-Modified-Since'), 'UTC'))) {
- if ($modtime < $Packages::DB::db_read_time) {
+ if ($modtime <= $last_modified) {
print $input->header(-status => 304);
exit;
}
} elsif (@components == 0) {
fatal_error( "We're supposed to display the homepage here, instead of getting dispatch.pl" );
} elsif (@components == 1) {
- $what_to_do = 'search';
+ if ($components[0] eq 'index') {
+ $what_to_do = 'homepage';
+ } else {
+ $what_to_do = 'search';
+ }
} else {
for ($components[-1]) {
-type => get_mime($opts{format}),
-vary => 'negotiate,accept-language',
-last_modified => strftime("%a, %d %b %Y %T %z",
- localtime($Packages::DB::db_read_time)),
+ localtime($last_modified)),
+ -expires => strftime("%a, %d %b %Y %T %z",
+ localtime($expires)),
);
#use Data::Dumper;
#print '<pre>'.Dumper(\%ENV, \%page_content, get_all_messages()).'</pre>';