summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkanat%bugzilla.org <>2006-07-29 03:03:43 +0200
committermkanat%bugzilla.org <>2006-07-29 03:03:43 +0200
commit0d94f047fb3f02733195ce8c5ed822502611339e (patch)
treed95ab0330fe3e88beed73ad587e736491b7705f0
parentbe4ea608880b0da1f2013dfe8e0cbbcecdf664a0 (diff)
downloadbugzilla-0d94f047fb3f02733195ce8c5ed822502611339e.tar.gz
bugzilla-0d94f047fb3f02733195ce8c5ed822502611339e.tar.xz
Bug 346270: Eliminate as many BEGIN blocks as possible from checksetup.pl
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> (module owner) a=myk
-rwxr-xr-xchecksetup.pl59
1 files changed, 19 insertions, 40 deletions
diff --git a/checksetup.pl b/checksetup.pl
index f541fc627..3906ae463 100755
--- a/checksetup.pl
+++ b/checksetup.pl
@@ -207,35 +207,24 @@ L<Bugzilla::Install::Requirements>
=cut
use strict;
-
-my ($silent, %switch);
-
-BEGIN {
- if ($^O =~ /MSWin32/i) {
- require 5.008001; # for CGI 2.93 or higher
- }
- require 5.008;
- use File::Basename;
- chdir dirname($0);
-}
-
+use 5.008;
+use File::Basename;
+use File::Find;
+use Getopt::Long qw(:config bundling);
+BEGIN { chdir dirname($0); }
use lib ".";
use Bugzilla::Constants;
+use Bugzilla::Install::Requirements;
-BEGIN {
- use Getopt::Long qw(:config bundling);
- GetOptions(\%switch, 'help|h|?', 'check-modules', 'no-templates|t',
- 'verbose|v|no-silent');
+if ($^O =~ /MSWin32/i) {
+ require 5.008001; # for CGI 2.93 or higher
}
+my ($silent, %switch);
our %answer;
-# The use of some Bugzilla modules brings in modules we need to test for
-# Check first, via BEGIN
-BEGIN {
-
- # However, don't run under -c (because of tests)
- if (!$^C) {
+GetOptions(\%switch, 'help|h|?', 'check-modules', 'no-templates|t',
+ 'verbose|v|no-silent');
###########################################################################
# Check for help request. Display help page if --help/-h/-? was passed.
@@ -275,9 +264,6 @@ use Bugzilla::Install::Requirements;
exit if !check_requirements(!$silent)->{pass};
-}
-}
-
# Break out if checking the modules is all we have been asked to do.
exit if $switch{'check-modules'};
@@ -292,19 +278,13 @@ if ($^O =~ /MSWin/i) {
# Global definitions
###########################################################################
-# These don't work as a "use," and they don't work as a "require" outside
-# of a BEGIN block. However, we're safe to them in a BEGIN block here since
-# we've already checked all of the pre-requisites above in the previous
-# BEGIN block.
-BEGIN {
- # We need $::ENV{'PATH'} to remain defined.
- my $env = $::ENV{'PATH'};
- require Bugzilla;
- $::ENV{'PATH'} = $env;
-
- require Bugzilla::Config;
- import Bugzilla::Config qw(:admin);
-}
+# We need $::ENV{'PATH'} to remain defined.
+my $env = $::ENV{'PATH'};
+require Bugzilla;
+$::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
@@ -1239,13 +1219,12 @@ unless ($switch{'no-templates'}) {
{
print "Precompiling templates ...\n" unless $silent;
- use File::Find;
require Bugzilla::Template;
# Don't hang on templates which use the CGI library
eval("use CGI qw(-no_debug)");
- use File::Spec;
+ require File::Spec;
opendir(DIR, $templatedir) || die "Can't open '$templatedir': $!";
my @files = grep { /^[a-z-]+$/i } readdir(DIR);
closedir DIR;