diff options
author | Frédéric Buclin <LpSolit@gmail.com> | 2015-12-23 20:46:43 +0100 |
---|---|---|
committer | Frédéric Buclin <LpSolit@gmail.com> | 2015-12-23 20:46:43 +0100 |
commit | 8bbc156ca9a4bf3bfff8a9b7014a002808b1b7f0 (patch) | |
tree | 74808e169701195ce18498f4de6dcf35778464a6 /Bugzilla/Install | |
parent | c94abb0445d015c1bffcd7207eac6fd9a3a8371b (diff) | |
download | bugzilla-8bbc156ca9a4bf3bfff8a9b7014a002808b1b7f0.tar.gz bugzilla-8bbc156ca9a4bf3bfff8a9b7014a002808b1b7f0.tar.xz |
Bug 1201113: Support to run Bugzilla as a PSGI application
r=dylan
Diffstat (limited to 'Bugzilla/Install')
-rw-r--r-- | Bugzilla/Install/Filesystem.pm | 1 | ||||
-rw-r--r-- | Bugzilla/Install/Requirements.pm | 21 | ||||
-rw-r--r-- | Bugzilla/Install/Util.pm | 10 |
3 files changed, 32 insertions, 0 deletions
diff --git a/Bugzilla/Install/Filesystem.pm b/Bugzilla/Install/Filesystem.pm index 5f5677460..e17285b2f 100644 --- a/Bugzilla/Install/Filesystem.pm +++ b/Bugzilla/Install/Filesystem.pm @@ -167,6 +167,7 @@ sub FILESYSTEM { 'install-module.pl' => { perms => OWNER_EXECUTE }, 'clean-bug-user-last-visit.pl' => { perms => WS_EXECUTE }, + 'app.psgi' => { perms => CGI_READ }, 'Bugzilla.pm' => { perms => CGI_READ }, "$localconfig*" => { perms => CGI_READ }, 'bugzilla.dtd' => { perms => WS_SERVE }, diff --git a/Bugzilla/Install/Requirements.pm b/Bugzilla/Install/Requirements.pm index 9a03968d7..a48778c1b 100644 --- a/Bugzilla/Install/Requirements.pm +++ b/Bugzilla/Install/Requirements.pm @@ -313,6 +313,26 @@ sub OPTIONAL_MODULES { feature => ['jsonrpc'], }, { + package => 'Plack', + module => 'Plack', + # 1.0031 contains a security fix which would affect us. + # It also fixes warnings thrown in Perl 5.20 and newer. + version => 1.0031, + feature => ['psgi'], + }, + { + package => 'CGI-Compile', + module => 'CGI::Compile', + version => 0, + feature => ['psgi'], + }, + { + package => 'CGI-Emulate-PSGI', + module => 'CGI::Emulate::PSGI', + version => 0, + feature => ['psgi'], + }, + { package => 'Test-Taint', module => 'Test::Taint', # 1.06 no longer throws warnings with Perl 5.10+. @@ -474,6 +494,7 @@ use constant FEATURE_FILES => ( 'Bugzilla/WebService.pm', 'Bugzilla/WebService/*.pm'], rest => ['Bugzilla/WebService/Server/REST.pm', 'rest.cgi', 'Bugzilla/WebService/Server/REST/Resources/*.pm'], + psgi => ['app.psgi'], moving => ['importxml.pl'], auth_ldap => ['Bugzilla/Auth/Verify/LDAP.pm'], auth_radius => ['Bugzilla/Auth/Verify/RADIUS.pm'], diff --git a/Bugzilla/Install/Util.pm b/Bugzilla/Install/Util.pm index c05037061..82752b961 100644 --- a/Bugzilla/Install/Util.pm +++ b/Bugzilla/Install/Util.pm @@ -34,6 +34,7 @@ our @EXPORT_OK = qw( extension_requirement_packages extension_template_directory extension_web_directory + i_am_persistent indicate_progress install_string include_languages @@ -83,6 +84,10 @@ sub get_version_and_os { os_ver => $os_details[3] }; } +sub i_am_persistent { + return ($ENV{MOD_PERL} || $ENV{BZ_PLACK}) ? 1 : 0; +} + sub _extension_paths { my $dir = bz_locations()->{'extensionsdir'}; my @extension_items = glob("$dir/*"); @@ -711,6 +716,11 @@ binary, if the binary is in the C<PATH>. Returns a hash containing information about what version of Bugzilla we're running, what perl version we're using, and what OS we're running on. +=item C<i_am_persistent> + +Returns true if Bugzilla is running in a persistent environment, such as +mod_perl or PSGI. Returns false if running in mod_cgi mode. + =item C<get_console_locale> Returns the language to use based on the LC_CTYPE value returned by the OS. |