diff options
author | mkanat%bugzilla.org <> | 2006-09-04 04:18:53 +0200 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2006-09-04 04:18:53 +0200 |
commit | 9d96ac724457e849dcc01c9fb1b87128a6b75e05 (patch) | |
tree | 8f61489bbb03a20d296aed563e2cdaca281d1d5e | |
parent | 788beb08c05baf7aeb2556fe1355fe15a21e3f8f (diff) | |
download | bugzilla-9d96ac724457e849dcc01c9fb1b87128a6b75e05.tar.gz bugzilla-9d96ac724457e849dcc01c9fb1b87128a6b75e05.tar.xz |
Bug 347096: Create Bugzilla->localconfig and replace most read_localconfig calls with it
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=myk
-rw-r--r-- | Bugzilla.pm | 6 | ||||
-rw-r--r-- | Bugzilla/Install/Filesystem.pm | 4 | ||||
-rw-r--r-- | Bugzilla/Install/Localconfig.pm | 13 | ||||
-rwxr-xr-x | checksetup.pl | 8 |
4 files changed, 17 insertions, 14 deletions
diff --git a/Bugzilla.pm b/Bugzilla.pm index 19c52ee2f..0fb223e9e 100644 --- a/Bugzilla.pm +++ b/Bugzilla.pm @@ -32,6 +32,7 @@ use Bugzilla::Auth; use Bugzilla::Auth::Persist::Cookie; use Bugzilla::CGI; use Bugzilla::DB; +use Bugzilla::Install::Localconfig qw(read_localconfig); use Bugzilla::Template; use Bugzilla::User; use Bugzilla::Error; @@ -147,6 +148,11 @@ sub cgi { return request_cache()->{cgi}; } +sub localconfig { + request_cache()->{localconfig} ||= read_localconfig(); + return request_cache()->{localconfig}; +} + sub params { my $class = shift; request_cache()->{params} ||= Bugzilla::Config::read_param_file(); diff --git a/Bugzilla/Install/Filesystem.pm b/Bugzilla/Install/Filesystem.pm index 9ba8fcd1b..02131531c 100644 --- a/Bugzilla/Install/Filesystem.pm +++ b/Bugzilla/Install/Filesystem.pm @@ -59,7 +59,7 @@ sub FILESYSTEM { my $templatedir = bz_locations()->{'templatedir'}; my $libdir = bz_locations()->{'libpath'}; - my $ws_group = read_localconfig()->{'webservergroup'}; + my $ws_group = Bugzilla->localconfig->{'webservergroup'}; # The set of permissions that we use: @@ -494,7 +494,7 @@ sub fix_all_file_permissions { my $owner_id = POSIX::getuid(); my $group_id = POSIX::getgid(); - my $ws_group = read_localconfig()->{'webservergroup'}; + my $ws_group = Bugzilla->localconfig->{'webservergroup'}; if ($ws_group) { my $ws_group_id = getgrnam($ws_group); die "There is no such group: $ws_group. Check your \$webservergroup" diff --git a/Bugzilla/Install/Localconfig.pm b/Bugzilla/Install/Localconfig.pm index ef5605d41..f01be8bf9 100644 --- a/Bugzilla/Install/Localconfig.pm +++ b/Bugzilla/Install/Localconfig.pm @@ -33,11 +33,9 @@ use IO::File; use Safe; use base qw(Exporter); -our @EXPORT = qw( - read_localconfig -); our @EXPORT_OK = qw( + read_localconfig update_localconfig ); @@ -344,6 +342,9 @@ EOT # Now we do some checks on localconfig values. _check_web_server_group($localconfig->{'webservergroup'}) if $output; + # Reset the cache for Bugzilla->localconfig so that it will be re-read + delete Bugzilla->request_cache->{localconfig}; + return { old_vars => \@old_vars, new_vars => \@new_vars }; } @@ -460,14 +461,14 @@ Bugzilla::Install::Localconfig - Functions and variables dealing =head1 SYNOPSIS - use Bugzilla::Install::Requirements qw(read_localconfig update_localconfig) - my $localconfig = read_localconfig(); + use Bugzilla::Install::Requirements qw(update_localconfig); update_localconfig({ output => 1, answer => \%answer }); =head1 DESCRIPTION This module is used primarily by L<checksetup.pl> to create and -modify the localconfig file. +modify the localconfig file. Most scripts should use L<Bugzilla/localconfig> +to access localconfig variables. =head1 CONSTANTS diff --git a/checksetup.pl b/checksetup.pl index 7f3c6783f..27ee5d6ea 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -331,7 +331,7 @@ require Bugzilla::Bug; import Bugzilla::Bug qw(is_open_state); require Bugzilla::Install::Localconfig; -import Bugzilla::Install::Localconfig qw(read_localconfig update_localconfig); +import Bugzilla::Install::Localconfig qw(update_localconfig); require Bugzilla::Install::Filesystem; import Bugzilla::Install::Filesystem qw(update_filesystem create_htaccess @@ -349,11 +349,7 @@ require Bugzilla::Install; print "Reading " . bz_locations()->{'localconfig'} . "...\n" unless $silent; update_localconfig({ output => !$silent, answer => \%answer }); -my $lc_hash = read_localconfig(); - -# XXX Eventually this variable can be eliminated, but it is -# used more than once throughout checksetup right now. -my $my_webservergroup = $lc_hash->{'webservergroup'}; +my $lc_hash = Bugzilla->localconfig; ########################################################################### # Check --DATABASE-- setup |