diff options
author | mkanat%bugzilla.org <> | 2006-07-29 05:34:00 +0200 |
---|---|---|
committer | mkanat%bugzilla.org <> | 2006-07-29 05:34:00 +0200 |
commit | b07bd7dcd718ed4a9a04d8010b74100d864c80bc (patch) | |
tree | 24ef30d1bd5b126cb5ba84a7316514fcc3d4d815 | |
parent | 0a075818e83337cad28529df317cca7bec93e32c (diff) | |
download | bugzilla-b07bd7dcd718ed4a9a04d8010b74100d864c80bc.tar.gz bugzilla-b07bd7dcd718ed4a9a04d8010b74100d864c80bc.tar.xz |
Bug 346343: Clean up all of checksetup prior to localconfig code
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> (module owner) a=myk
-rw-r--r-- | Bugzilla/Constants.pm | 6 | ||||
-rw-r--r-- | Bugzilla/Install/Requirements.pm | 4 | ||||
-rwxr-xr-x | checksetup.pl | 78 |
3 files changed, 33 insertions, 55 deletions
diff --git a/Bugzilla/Constants.pm b/Bugzilla/Constants.pm index 0bbbfa7d5..15595c269 100644 --- a/Bugzilla/Constants.pm +++ b/Bugzilla/Constants.pm @@ -110,6 +110,7 @@ use File::Basename; DB_MODULE ROOT_USER + ON_WINDOWS ); @Bugzilla::Constants::EXPORT_OK = qw(contenttypes); @@ -299,8 +300,13 @@ use constant DB_MODULE => { 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'; +# True if we're on Win32. +use constant ON_WINDOWS => ($^O =~ /MSWin32/i); + sub bz_locations { # 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 diff --git a/Bugzilla/Install/Requirements.pm b/Bugzilla/Install/Requirements.pm index 6d119044c..8893b0ff8 100644 --- a/Bugzilla/Install/Requirements.pm +++ b/Bugzilla/Install/Requirements.pm @@ -220,6 +220,10 @@ sub check_requirements { 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) { print "\n"; diff --git a/checksetup.pl b/checksetup.pl index 7ca2a5852..837bdb674 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -262,38 +262,25 @@ pod2usage({-verbose => 1, -exitval => 1}) if $switch{'help'}; our %answer = %{read_answers_file()}; my $silent = scalar(keys %answer) && !$switch{'verbose'}; -########################################################################### # Display version information -########################################################################### - -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}; +printf "\n*** This is Bugzilla " . BUGZILLA_VERSION . " on perl %vd ***\n", + $^V unless $silent; +# 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. 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. my $env = $::ENV{'PATH'}; require Bugzilla; @@ -302,11 +289,18 @@ $::ENV{'PATH'} = $env; require Bugzilla::Config; import Bugzilla::Config qw(:admin); -# 12/17/00 justdave@syndicomm.com - removed declarations of the localconfig -# variables from this location. We don't want these declared here. They'll -# 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 -# yet or not. +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 and update local configuration @@ -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 ########################################################################### |