X-Git-Url: https://git.deb.at/?p=deb%2Fpackages.git;a=blobdiff_plain;f=lib%2FPackages%2FConfig.pm;h=a7014f81f2353cc2af2fc6bf4053c6121348fee2;hp=43ea37ad059fbe1543332c53b057ab4c21a83342;hb=0f318fa9ad9d473b543a48f46a7714a11283d300;hpb=1d95d44a6b1addd163056c22cf16ca2337221837 diff --git a/lib/Packages/Config.pm b/lib/Packages/Config.pm index 43ea37a..a7014f8 100644 --- a/lib/Packages/Config.pm +++ b/lib/Packages/Config.pm @@ -4,30 +4,25 @@ use strict; use warnings; use Exporter; -use Packages::CGI; +use Packages::CGI qw( :DEFAULT error ); our @ISA = qw( Exporter ); -our ( $TOPDIR, $DBDIR, $ROOT, $HOSTNAME, $HOME, $CONTACT_MAIL, $WEBMASTER_MAIL, - $SEARCH_PAGE, $SEARCH_URL, @LANGUAGES, $LOCALES, - $SRC_SEARCH_URL, $CONTENTS_SEARCH_CGI, - $CN_HELP_URL, $BUG_URL, $SRC_BUG_URL, $QA_URL, $DDPO_URL, +our ( $TOPDIR, $DBDIR, $TEMPLATEDIR, $CACHEDIR, $ROOT, $SEARCH_URL, + @LANGUAGES, @DDTP_LANGUAGES, @SUITES, @SECTIONS, @ARCHIVES, @ARCHITECTURES, - %FTP_SITES ); -our @EXPORT_OK = qw( $TOPDIR $DBDIR $ROOT $HOSTNAME $HOME $CONTACT_MAIL - $WEBMASTER_MAIL @LANGUAGES $LOCALES - $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 $SEARCH_URL + @LANGUAGES @DDTP_LANGUAGES @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 (!open (C, '<', "$dir/config.sh")) { @@ -37,35 +32,30 @@ 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; - $HOSTNAME = $1 if /^\s*hostname="?([^\"]*)"?\s*$/o; - $HOME = $1 if /^\s*home="?([^\"]*)"?\s*$/o; - $LOCALES = $1 if /^\s*localedir="?([^\"]*)"?\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; - $CN_HELP_URL = $1 if /^\s*cn_help_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)) { + 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;