]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/Config.pm
fix off-by-one after switching on the brain again
[deb/packages.git] / lib / Packages / Config.pm
index 8252a1b132271d8f1c49159d4a0c7ec914c15140..a7014f81f2353cc2af2fc6bf4053c6121348fee2 100644 (file)
@@ -8,12 +8,12 @@ use Packages::CGI qw( :DEFAULT error );
 
 our @ISA = qw( Exporter );
 
-our ( $TOPDIR, $DBDIR, $TEMPLATEDIR, $CACHEDIR, $ROOT,
-      @LANGUAGES, $LOCALES,
+our ( $TOPDIR, $DBDIR, $TEMPLATEDIR, $CACHEDIR, $ROOT, $SEARCH_URL,
+      @LANGUAGES, @DDTP_LANGUAGES,
       @SUITES, @SECTIONS, @ARCHIVES, @ARCHITECTURES,
       @PRIORITIES, %FTP_SITES );
-our @EXPORT_OK = qw( $TOPDIR $DBDIR $TEMPLATEDIR $CACHEDIR $ROOT
-                    @LANGUAGES $LOCALES
+our @EXPORT_OK = qw( $TOPDIR $DBDIR $TEMPLATEDIR $CACHEDIR $ROOT $SEARCH_URL
+                    @LANGUAGES @DDTP_LANGUAGES
                     @SUITES @SECTIONS @ARCHIVES @ARCHITECTURES
                     @PRIORITIES %FTP_SITES  );
 our %EXPORT_TAGS = ( all => [ @EXPORT_OK ] );
@@ -24,7 +24,7 @@ sub init {
     my ($dir) = @_;
     my $modtime = (stat( "$dir/config.sh" ))[9] || 0;
     $config_read_time ||= 0;
-    if ($modtime >= $config_read_time) {
+    if ($modtime > $config_read_time) {
        if (!open (C, '<', "$dir/config.sh")) {
            error( "Internal: Cannot open configuration file." );
        }
@@ -35,25 +35,27 @@ sub init {
            $TEMPLATEDIR = $1 if /^\s*templatedir="?([^\"]*)"?\s*$/o;
            $CACHEDIR = $1 if /^\s*cachedir="?([^\"]*)"?\s*$/o;
            $ROOT = $1 if /^\s*root="?([^\"]*)"?\s*$/o;
-           $LOCALES = $1 if /^\s*localedir="?([^\"]*)"?\s*$/o;
+           $SEARCH_URL = $1 if /^\s*search_url="?([^\"]*)"?\s*$/o;
            $FTP_SITES{us} = $1 if /^\s*ftpsite="?([^\"]*)"?\s*$/o;
            $FTP_SITES{$1} = $2 if /^\s*(\w+)_ftpsite="?([^\"]*)"?\s*$/o;
            @LANGUAGES = split(/\s+/, $1) if /^\s*polangs="?([^\"]*)"?\s*$/o;
+           @DDTP_LANGUAGES = split(/\s+/, $1) if /^\s*ddtplangs="?([^\"]*)"?\s*$/o;
            @SUITES = split(/\s+/, $1) if /^\s*suites="?([^\"]*)"?\s*$/o;
            @SECTIONS = split(/\s+/, $1) if /^\s*sections="?([^\"]*)"?\s*$/o;
            @ARCHIVES = split(/\s+/, $1) if /^\s*archives="?([^\"]*)"?\s*$/o;
            @ARCHITECTURES = split(/\s+/, $1) if /^\s*architectures="?([^\"]*)"?\s*$/o;
            @PRIORITIES = split(/\s+/, $1) if /^\s*priorities="?([^\"]*)"?\s*$/o;
        }
-       foreach (($TEMPLATEDIR, $CACHEDIR, $LOCALES)) {
+       foreach (($TEMPLATEDIR, $CACHEDIR)) {
            s/\$\{?topdir\}?/$TOPDIR/g;
        }
        close (C);
+       unshift @LANGUAGES, 'en';
+       unshift @DDTP_LANGUAGES, 'en';
        debug( "read config ($modtime > $config_read_time)" ) if DEBUG;
        $config_read_time = $modtime;
     }
     $DBDIR = "$TOPDIR/files/db";
-    unshift @LANGUAGES, 'en';
 }
 
 1;