diff options
author | Max Kanat-Alexander <mkanat@bugzilla.org> | 2010-03-10 15:43:24 +0100 |
---|---|---|
committer | Max Kanat-Alexander <mkanat@bugzilla.org> | 2010-03-10 15:43:24 +0100 |
commit | 55312f690a61c8078c23028fc26b5afb6c4149de (patch) | |
tree | f29e27efb7fcbecda886ddbf95ae29aa44af6806 | |
parent | ef49edd7887c2e334f215ba7b584e1224bf2ab85 (diff) | |
download | bugzilla-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)
-rw-r--r-- | Bugzilla/Install/Util.pm | 8 |
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}; |