summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkanat%bugzilla.org <>2006-07-29 05:34:00 +0200
committermkanat%bugzilla.org <>2006-07-29 05:34:00 +0200
commitb07bd7dcd718ed4a9a04d8010b74100d864c80bc (patch)
tree24ef30d1bd5b126cb5ba84a7316514fcc3d4d815
parent0a075818e83337cad28529df317cca7bec93e32c (diff)
downloadbugzilla-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.pm6
-rw-r--r--Bugzilla/Install/Requirements.pm4
-rwxr-xr-xchecksetup.pl78
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
###########################################################################