summaryrefslogtreecommitdiffstats
path: root/Bugzilla
diff options
context:
space:
mode:
authorMax Kanat-Alexander <mkanat@bugzilla.org>2010-03-10 15:43:24 +0100
committerMax Kanat-Alexander <mkanat@bugzilla.org>2010-03-10 15:43:24 +0100
commit55312f690a61c8078c23028fc26b5afb6c4149de (patch)
treef29e27efb7fcbecda886ddbf95ae29aa44af6806 /Bugzilla
parentef49edd7887c2e334f215ba7b584e1224bf2ab85 (diff)
downloadbugzilla-55312f690a61c8078c23028fc26b5afb6c4149de.tar.gz
bugzilla-55312f690a61c8078c23028fc26b5afb6c4149de.tar.xz
Bug 550966: Syntax errors in extensions' Extension.pm were causing "deep
recursion on subroutine" errors. r=mkanat, a=mkanat (module owner)
Diffstat (limited to 'Bugzilla')
-rw-r--r--Bugzilla/Install/Util.pm8
1 files changed, 7 insertions, 1 deletions
diff --git a/Bugzilla/Install/Util.pm b/Bugzilla/Install/Util.pm
index 89cca2dfa..233e08e19 100644
--- a/Bugzilla/Install/Util.pm
+++ b/Bugzilla/Install/Util.pm
@@ -153,7 +153,13 @@ sub extension_requirement_packages {
# Bugzilla::Extension->load_all (because stuff has already been loaded).
# (This matters because almost every page calls Bugzilla->feature, which
# calls OPTIONAL_MODULES, which calls this method.)
- if (eval { Bugzilla->extensions }) {
+ #
+ # We check if Bugzilla.pm is already loaded, instead of doing a "require",
+ # because we *do* want the code lower down to run during the Requirements
+ # phase of checksetup.pl, instead of Bugzilla->extensions, and Bugzilla.pm
+ # actually *can* be loaded during the Requirements phase if all the
+ # requirements have already been installed.
+ if ($INC{'Bugzilla.pm'}) {
return Bugzilla->extensions;
}
my $packages = _cache()->{extension_requirement_packages};