Commit b07bd7dc authored by mkanat%bugzilla.org's avatar mkanat%bugzilla.org

Bug 346343: Clean up all of checksetup prior to localconfig code

Patch By Max Kanat-Alexander <mkanat@bugzilla.org> (module owner) a=myk
parent 0a075818
...@@ -110,6 +110,7 @@ use File::Basename; ...@@ -110,6 +110,7 @@ use File::Basename;
DB_MODULE DB_MODULE
ROOT_USER ROOT_USER
ON_WINDOWS
); );
@Bugzilla::Constants::EXPORT_OK = qw(contenttypes); @Bugzilla::Constants::EXPORT_OK = qw(contenttypes);
...@@ -299,8 +300,13 @@ use constant DB_MODULE => { ...@@ -299,8 +300,13 @@ use constant DB_MODULE => {
name => 'PostgreSQL'}, name => 'PostgreSQL'},
}; };
# The user who should be considered "root" when we're giving
# instructions to Bugzilla administrators.
use constant ROOT_USER => $^O =~ /MSWin32/i ? 'Administrator' : 'root'; use constant ROOT_USER => $^O =~ /MSWin32/i ? 'Administrator' : 'root';
# True if we're on Win32.
use constant ON_WINDOWS => ($^O =~ /MSWin32/i);
sub bz_locations { sub bz_locations {
# We know that Bugzilla/Constants.pm must be in %INC at this point. # We know that Bugzilla/Constants.pm must be in %INC at this point.
# So the only question is, what's the name of the directory # So the only question is, what's the name of the directory
......
...@@ -220,6 +220,10 @@ sub check_requirements { ...@@ -220,6 +220,10 @@ sub check_requirements {
have_vers($module->{name}, $module->{version}, $output); have_vers($module->{name}, $module->{version}, $output);
} }
# If we're running on Windows, reset the input line terminator so that
# console input works properly - loading CGI tends to mess it up
$/ = "\015\012" if ON_WINDOWS;
if ($output) { if ($output) {
print "\n"; print "\n";
......
...@@ -262,38 +262,25 @@ pod2usage({-verbose => 1, -exitval => 1}) if $switch{'help'}; ...@@ -262,38 +262,25 @@ pod2usage({-verbose => 1, -exitval => 1}) if $switch{'help'};
our %answer = %{read_answers_file()}; our %answer = %{read_answers_file()};
my $silent = scalar(keys %answer) && !$switch{'verbose'}; my $silent = scalar(keys %answer) && !$switch{'verbose'};
###########################################################################
# Display version information # Display version information
########################################################################### printf "\n*** This is Bugzilla " . BUGZILLA_VERSION . " on perl %vd ***\n",
$^V unless $silent;
printf "\n*** This is Bugzilla " . BUGZILLA_VERSION . " on perl %vd ***\n", $^V unless $silent;
###########################################################################
# Check required module
###########################################################################
use Bugzilla::Install::Requirements;
#
# Here we check for --MODULES--
#
exit if !check_requirements(!$silent)->{pass};
# Check required --MODULES--
my $module_results = check_requirements(!$silent);
exit if !$module_results->{pass};
# Break out if checking the modules is all we have been asked to do. # Break out if checking the modules is all we have been asked to do.
exit if $switch{'check-modules'}; exit if $switch{'check-modules'};
# If we're running on Windows, reset the input line terminator so that
# console input works properly - loading CGI tends to mess it up
if ($^O =~ /MSWin/i) {
$/ = "\015\012";
}
########################################################################### ###########################################################################
# Global definitions # Load Bugzilla Modules
########################################################################### ###########################################################################
# It's never safe to "use" a Bugzilla module in checksetup. If a module
# prerequisite is missing, and you "use" a module that requires it,
# then instead of our nice normal checksetup message, the user would
# get a cryptic perl error about the missing module.
# We need $::ENV{'PATH'} to remain defined. # We need $::ENV{'PATH'} to remain defined.
my $env = $::ENV{'PATH'}; my $env = $::ENV{'PATH'};
require Bugzilla; require Bugzilla;
...@@ -302,11 +289,18 @@ $::ENV{'PATH'} = $env; ...@@ -302,11 +289,18 @@ $::ENV{'PATH'} = $env;
require Bugzilla::Config; require Bugzilla::Config;
import Bugzilla::Config qw(:admin); import Bugzilla::Config qw(:admin);
# 12/17/00 justdave@syndicomm.com - removed declarations of the localconfig require Bugzilla::User::Setting;
# variables from this location. We don't want these declared here. They'll import Bugzilla::User::Setting qw(add_setting);
# automatically get declared in the process of reading in localconfig, and
# this way we can look in the symbol table to see if they've been declared require Bugzilla::Util;
# yet or not. import Bugzilla::Util qw(bz_crypt trim html_quote is_7bit_clean
clean_text url_quote);
require Bugzilla::User;
import Bugzilla::User qw(insert_new_user);
require Bugzilla::Bug;
import Bugzilla::Bug qw(is_open_state);
########################################################################### ###########################################################################
# Check and update local configuration # Check and update local configuration
...@@ -1424,32 +1418,6 @@ if ($^O !~ /MSWin32/i) { ...@@ -1424,32 +1418,6 @@ if ($^O !~ /MSWin32/i) {
} }
########################################################################### ###########################################################################
# Global Utility Library
###########################################################################
# This is done here, because some modules require params to be set up, which
# won't have happened earlier.
# It's never safe to "use" a Bugzilla module in checksetup. If a module
# prerequisite is missing, and you "use" a module that requires it,
# then instead of our nice normal checksetup message the user would
# get a cryptic perl error about the missing module.
# This is done so we can add new settings as developers need them.
require Bugzilla::User::Setting;
import Bugzilla::User::Setting qw(add_setting);
require Bugzilla::Util;
import Bugzilla::Util qw(bz_crypt trim html_quote is_7bit_clean
clean_text url_quote);
require Bugzilla::User;
import Bugzilla::User qw(insert_new_user);
require Bugzilla::Bug;
import Bugzilla::Bug qw(is_open_state);
###########################################################################
# Check GraphViz setup # Check GraphViz setup
########################################################################### ###########################################################################
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment