From: Max Kanat-Alexander Date: Wed, 10 Mar 2010 14:44:28 +0000 (-0800) Subject: Bug 550966: Syntax errors in extensions' Extension.pm were causing "deep X-Git-Tag: bugzilla-3.6~52 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=915604e8d8ed343f5e6c9004c8d8b0e5253c2f26;p=thirdparty%2Fbugzilla.git Bug 550966: Syntax errors in extensions' Extension.pm were causing "deep recursion on subroutine" errors. r=mkanat, a=mkanat (module owner) --- diff --git a/Bugzilla/Install/Util.pm b/Bugzilla/Install/Util.pm index 99aacb3e78..55bbd455c8 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};