diff --git a/webtools/bugzilla/Bugzilla/Install/Requirements.pm b/webtools/bugzilla/Bugzilla/Install/Requirements.pm index d7031971c5e6..f1cd26747ce4 100644 --- a/webtools/bugzilla/Bugzilla/Install/Requirements.pm +++ b/webtools/bugzilla/Bugzilla/Install/Requirements.pm @@ -28,6 +28,7 @@ use base qw(Exporter); our @EXPORT = qw( REQUIRED_MODULES OPTIONAL_MODULES + MOD_PERL_MODULES vers_cmp have_vers @@ -130,6 +131,26 @@ use constant OPTIONAL_MODULES => [ }, ]; +# These are only required if you want to use Bugzilla with +# mod_perl. +use constant MOD_PERL_MODULES => [ + { + name => 'mod_perl2', + version => '1.999022' + }, + # Even very new releases of perl (5.8.5) don't come with this version, + # so I didn't want to make it a general requirement just for + # running under mod_cgi. + { + name => 'CGI', + version => '3.11' + }, + { + name => 'Apache::DBI', + version => '0.96' + }, +]; + # Remember that you only have to add modules to this hash if their # names are significantly different on ActiveState than on normal perl. # If it's just a difference between "::" and "-" in the name, don't worry diff --git a/webtools/bugzilla/checksetup.pl b/webtools/bugzilla/checksetup.pl index 7347bf753bca..1de84e56dd06 100755 --- a/webtools/bugzilla/checksetup.pl +++ b/webtools/bugzilla/checksetup.pl @@ -249,6 +249,14 @@ foreach my $module (@$opt_modules) { have_vers($module->{name}, $module->{version}, $silent); } +print "\nThe following modules are required for mod_perl support:\n" + unless $silent; +my $mp_modules = MOD_PERL_MODULES; +foreach my $module (@$mp_modules) { + $have_mod{$module->{name}} = + have_vers($module->{name}, $module->{version}, $silent); +} + print "\n" unless $silent; if ($^O =~ /MSWin32/i && !$silent) { @@ -311,8 +319,26 @@ if (!$have_mod{'Net::LDAP'} && !$silent) { "Net::LDAP: " . install_command('Net::LDAP') . "\n\n"; } +if (!$have_mod{'mod_perl2'} && !$silent) { + print "If you would like mod_perl support, you must install at least\n", + "the minimum required version of mod_perl. You can download", + " mod_perl from:\n", + " http://perl.apache.org/download/binaries.html\n", + "Make sure that you get the 2.0 version, not the 1.0 version.\n\n"; +} + +if ((!$have_mod{'Apache::DBI'} || !$have_mod{'CGI'}) && !$silent) { + print "For mod_perl support, you must install the following perl", + " module(s):\n"; + print " Apache::DBI: " . install_command('Apache::DBI') . "\n" + if !$have_mod{'Apache::DBI'}; + print " CGI: " . install_command('CGI') . "\n" + if !$have_mod{'CGI'}; + print "\n"; +} + if (!$have_one_dbd) { - print "\n\n"; + print "\n"; print "Bugzilla requires that at least one DBD module be installed in\n", "order to access a database. You can install the correct one by\n", "picking the command listed below for your database:\n";