]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 342736: checksetup should show mod_perl requirements
authormkanat%bugzilla.org <>
Sat, 22 Jul 2006 05:00:30 +0000 (05:00 +0000)
committermkanat%bugzilla.org <>
Sat, 22 Jul 2006 05:00:30 +0000 (05:00 +0000)
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=LpSolit, a=myk

Bugzilla/Install/Requirements.pm
checksetup.pl

index d7031971c5e6c95a814746f550b11e149f98068f..f1cd26747ce43171c1b8c9e06f397befb4dda0b9 100644 (file)
@@ -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
index 7347bf753bca71e10e6c3ccafed6b992fe9a2b68..1de84e56dd06aacd5bacb2c621ca492375b287f8 100755 (executable)
@@ -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";