summaryrefslogtreecommitdiffstats
path: root/setup.cgi
diff options
context:
space:
mode:
authormkanat%bugzilla.org <>2007-03-16 23:10:32 +0100
committermkanat%bugzilla.org <>2007-03-16 23:10:32 +0100
commit9d49c338c438c62b5c7c5d09be6351659d932f10 (patch)
tree82423b90088f0c7794df2175a01798a6fe6f5078 /setup.cgi
parent0ce0e2a279f6f39b6ce5f3b17699f285feca9ba1 (diff)
downloadbugzilla-9d49c338c438c62b5c7c5d09be6351659d932f10.tar.gz
bugzilla-9d49c338c438c62b5c7c5d09be6351659d932f10.tar.xz
Bug 374222: Create a setup.cgi that can check perl module requirements
(This is the beginning of web-based installation.) Patch By Max Kanat-Alexander <mkanat@bugzilla.org> (module owner) a=mkanat
Diffstat (limited to 'setup.cgi')
-rw-r--r--setup.cgi50
1 files changed, 50 insertions, 0 deletions
diff --git a/setup.cgi b/setup.cgi
new file mode 100644
index 000000000..c31db382c
--- /dev/null
+++ b/setup.cgi
@@ -0,0 +1,50 @@
+#!/usr/bin/perl -wT
+# The contents of this file are subject to the Mozilla Public
+# License Version 1.1 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy of
+# the License at http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS
+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Initial Developer of the Original Code is Everything Solved.
+# Portions created by Everything Solved are Copyright (C) 2006
+# Everything Solved. All Rights Reserved.
+#
+# The Original Code is the Bugzilla Bug Tracking System.
+#
+# Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
+
+use strict;
+use lib ".";
+
+
+# The order of these "use" statements is important--we have to have
+# CGI before we have CGI::Carp. Without CGI::Carp, "use 5.008" will just throw
+# an Internal Server Error if it fails, instead of showing a useful error
+# message. And unless we're certain we're on 5.008, we shouldn't compile any
+# Bugzilla code, particularly Bugzilla::Constants, because "use constant"
+# might not exist.
+#
+# We can't use Bugzilla::CGI yet, because we're not sure our
+# required perl modules are installed yet. However, CGI comes
+# with perl.
+use CGI;
+use CGI::Carp qw(fatalsToBrowser);
+use 5.008;
+use Bugzilla::Constants;
+require 5.008001 if ON_WINDOWS;
+use Bugzilla::Install::Requirements;
+use Bugzilla::Install::Util qw(display_version_and_os);
+
+local $| = 1;
+
+my $cgi = new CGI;
+$cgi->charset('UTF-8');
+print $cgi->header(-type => 'text/plain');
+
+display_version_and_os();
+my $module_results = check_requirements(1);
+Bugzilla::Install::Requirements::print_module_instructions($module_results, 1); \ No newline at end of file