diff options
-rw-r--r-- | Bugzilla/Install/Requirements.pm | 13 | ||||
-rwxr-xr-x | checksetup.pl | 26 |
2 files changed, 20 insertions, 19 deletions
diff --git a/Bugzilla/Install/Requirements.pm b/Bugzilla/Install/Requirements.pm index 11eaa4447..8a46204dc 100644 --- a/Bugzilla/Install/Requirements.pm +++ b/Bugzilla/Install/Requirements.pm @@ -106,11 +106,11 @@ use constant WIN32_MODULE_NAMES => { # This was originally clipped from the libnet Makefile.PL, adapted here to # use the above vers_cmp routine for accurate version checking. sub have_vers { - my ($pkg, $wanted) = @_; + my ($pkg, $wanted, $silent) = @_; my ($msg, $vnum, $vstr); no strict 'refs'; printf("Checking for %15s %-9s ", $pkg, !$wanted?'(any)':"(v$wanted)") - unless $::silent; + unless $silent; # Modules may change $SIG{__DIE__} and $SIG{__WARN__}, so localise them here # so that later errors display 'normally' @@ -142,7 +142,7 @@ sub have_vers { } my $vok = (vers_cmp($vnum,$wanted) > -1); - print ((($vok) ? "ok: " : " "), "$vstr\n") unless $::silent; + print ((($vok) ? "ok: " : " "), "$vstr\n") unless $silent; return $vok ? 1 : 0; } @@ -245,7 +245,7 @@ represent the name of the module and the version that we require. Returns: -1 if $a is less than $b, 0 if they are equal, and 1 if $a is greater than $b. -=item C<have_vers($pkg, $wanted)> +=item C<have_vers($pkg, $wanted, $silent)> Description: Tells you whether or not you have the appropriate version of the module requested. It also prints @@ -256,13 +256,12 @@ represent the name of the module and the version that we require. C<$wanted> - The version of the package you require. Set this to 0 if you don't require any particular version. + C<$silent> - Set to true if you don't want this function + to print out anything. Returns: C<1> if you have the module installed and you have the appropriate version. C<0> otherwise. - Notes: If you set C<$main::silent> to a true value, this function - won't print out anything. - =item C<install_command($module)> Description: Prints out the appropriate command to install the diff --git a/checksetup.pl b/checksetup.pl index d6a76a0a0..844de8ac8 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -223,7 +223,7 @@ $::root = ($^O =~ /MSWin32/i ? 'Administrator' : 'root'); my %missing = (); foreach my $module (@{$modules}) { - unless (have_vers($module->{name}, $module->{version})) { + unless (have_vers($module->{name}, $module->{version}, $silent)) { $missing{$module->{name}} = $module->{version}; } } @@ -234,20 +234,22 @@ print "\nYou need one of the following DBD modules installed, depending on\n" my $have_one_dbd = 0; my $db_modules = DB_MODULE; foreach my $db (keys %$db_modules) { - if (have_vers($db_modules->{$db}->{dbd}, $db_modules->{$db}->{dbd_version})) { + if (have_vers($db_modules->{$db}->{dbd}, + $db_modules->{$db}->{dbd_version}, $silent)) + { $have_one_dbd = 1; } } print "\nThe following Perl modules are optional:\n" unless $silent; -my $gd = have_vers("GD","1.20"); -my $chartbase = have_vers("Chart::Base","1.0"); -my $xmlparser = have_vers("XML::Twig",0); -my $lwp_ua = have_vers("LWP::UserAgent",0); -my $gdgraph = have_vers("GD::Graph",0); -my $gdtextalign = have_vers("GD::Text::Align",0); -my $patchreader = have_vers("PatchReader","0.9.4"); -my $imagemagick = have_vers("Image::Magick",0); +my $gd = have_vers("GD","1.20", $silent); +my $chartbase = have_vers("Chart::Base","1.0", $silent); +my $xmlparser = have_vers("XML::Twig",0, $silent); +my $lwp_ua = have_vers("LWP::UserAgent",0, $silent); +my $gdgraph = have_vers("GD::Graph",0, $silent); +my $gdtextalign = have_vers("GD::Text::Align",0, $silent); +my $patchreader = have_vers("PatchReader","0.9.4", $silent); +my $imagemagick = have_vers("Image::Magick",0, $silent); print "\n" unless $silent; @@ -760,7 +762,7 @@ if ($my_db_check) { my $actual_dbd_ver = DB_MODULE->{lc($my_db_driver)}->{dbd_version}; my $sql_server = DB_MODULE->{lc($my_db_driver)}->{name}; my $sql_want = DB_MODULE->{lc($my_db_driver)}->{db_version}; - unless (have_vers($actual_dbd, $actual_dbd_ver)) { + unless (have_vers($actual_dbd, $actual_dbd_ver, $silent)) { print "For $sql_server, Bugzilla requires that perl's" . " $actual_dbd be installed.\nTo install this module," . " you can do:\n " . install_command($actual_dbd) . "\n"; @@ -1517,7 +1519,7 @@ import Bugzilla::Bug qw(is_open_state); for my $verifymethod (split /,\s*/, Bugzilla->params->{'user_verify_class'}) { if ($verifymethod eq 'LDAP') { - my $netLDAP = have_vers("Net::LDAP", 0); + my $netLDAP = have_vers("Net::LDAP", 0, $silent); if (!$netLDAP && !$silent) { print "If you wish to use LDAP authentication, then you must install Net::LDAP\n\n"; } |