]> git.deb.at Git - deb/packages.git/blobdiff - lib/Packages/Config.pm
parse-translations: new script to parse the Translation files
[deb/packages.git] / lib / Packages / Config.pm
index 73d3542a8cf77c854d3f1b799cd50a143d4e1e7a..96f8b679ccc8c76ec5446abd1f51ee5096a5427b 100644 (file)
@@ -4,32 +4,27 @@ use strict;
 use warnings;
 
 use Exporter;
-use Packages::CGI;
+use Packages::CGI qw( :DEFAULT error );
 
 our @ISA = qw( Exporter );
 
-our ( $TOPDIR, $DBDIR, $ROOT, $HOME, $CONTACT_MAIL, $WEBMASTER_MAIL,
-      $SEARCH_PAGE, $SEARCH_URL,
-      $SRC_SEARCH_URL, $CONTENTS_SEARCH_CGI,
-      $CN_HELP_URL, $BUG_URL, $SRC_BUG_URL, $QA_URL, $DDPO_URL,
+our ( $TOPDIR, $DBDIR, $TEMPLATEDIR, $CACHEDIR, $ROOT,
+      @LANGUAGES, @DDTP_LANGUAGES, $LOCALES,
       @SUITES, @SECTIONS, @ARCHIVES, @ARCHITECTURES,
-      %FTP_SITES );
-our @EXPORT_OK = qw( $TOPDIR $DBDIR $ROOT $HOME $CONTACT_MAIL
-                    $WEBMASTER_MAIL
-                    $SEARCH_PAGE $SEARCH_URL
-                    $SRC_SEARCH_URL $CONTENTS_SEARCH_CGI
-                    $CN_HELP_URL $BUG_URL $SRC_BUG_URL $QA_URL $DDPO_URL
+      @PRIORITIES, %FTP_SITES );
+our @EXPORT_OK = qw( $TOPDIR $DBDIR $TEMPLATEDIR $CACHEDIR $ROOT
+                    @LANGUAGES @DDTP_LANGUAGES $LOCALES
                     @SUITES @SECTIONS @ARCHIVES @ARCHITECTURES
-                    %FTP_SITES  );
+                    @PRIORITIES %FTP_SITES  );
 our %EXPORT_TAGS = ( all => [ @EXPORT_OK ] );
 
 our $config_read_time;
 
 sub init {
     my ($dir) = @_;
-    my $modtime = (stat( "$dir/config.sh" ))[9];
+    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." );
        }
@@ -37,30 +32,29 @@ sub init {
            next if /^\s*\#/o;
            chomp;
            $TOPDIR = $1 if /^\s*topdir="?([^\"]*)"?\s*$/o;
+           $TEMPLATEDIR = $1 if /^\s*templatedir="?([^\"]*)"?\s*$/o;
+           $CACHEDIR = $1 if /^\s*cachedir="?([^\"]*)"?\s*$/o;
            $ROOT = $1 if /^\s*root="?([^\"]*)"?\s*$/o;
-           $HOME = $1 if /^\s*home="?([^\"]*)"?\s*$/o;
-#          $SEARCH_CGI = $1 if /^\s*search_cgi="?([^\"]*)"?\s*$/o;
-           $SEARCH_PAGE = $1 if /^\s*search_page="?([^\"]*)"?\s*$/o;
-           $SEARCH_URL = $1 if /^\s*search_url="?([^\"]*)"?\s*$/o;
-           $SRC_SEARCH_URL = $1 if /^\s*search_src_url="?([^\"]*)"?\s*$/o;
-           $WEBMASTER_MAIL = $1 if /^\s*webmaster="?([^\"]*)"?\s*$/o;
-           $CONTACT_MAIL = $1 if /^\s*contact="?([^\"]*)"?\s*$/o;
-           $BUG_URL = $1 if /^\s*bug_url="?([^\"]*)"?\s*$/o;
-           $SRC_BUG_URL = $1 if /^\s*src_bug_url="?([^\"]*)"?\s*$/o;
-           $QA_URL = $1 if /^\s*qa_url="?([^\"]*)"?\s*$/o;
-           $DDPO_URL = $1 if /^\s*ddpo_url="?([^\"]*)"?\s*$/o;
+           $LOCALES = $1 if /^\s*localedir="?([^\"]*)"?\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)) {
+           s/\$\{?topdir\}?/$TOPDIR/g;
        }
        close (C);
-       debug( "read config ($modtime > $config_read_time)" );
+       debug( "read config ($modtime > $config_read_time)" ) if DEBUG;
        $config_read_time = $modtime;
     }
     $DBDIR = "$TOPDIR/files/db";
+    unshift @LANGUAGES, 'en';
 }
 
 1;