From: Frédéric Buclin Date: Mon, 13 Apr 2015 15:44:59 +0000 (+0200) Subject: Bug 1153027: Bugzilla->feature incorrectly checks Perl modules X-Git-Tag: release-5.1.1~283 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d82782d4075bdcdbd94319c9ce525249e9b06113;p=thirdparty%2Fbugzilla.git Bug 1153027: Bugzilla->feature incorrectly checks Perl modules r=dkl a=glob --- diff --git a/Bugzilla.pm b/Bugzilla.pm index 4b19301aa7..21b086cbde 100644 --- a/Bugzilla.pm +++ b/Bugzilla.pm @@ -31,7 +31,7 @@ use Bugzilla::Extension; use Bugzilla::Field; use Bugzilla::Flag; use Bugzilla::Install::Localconfig qw(read_localconfig); -use Bugzilla::Install::Requirements qw(OPTIONAL_MODULES); +use Bugzilla::Install::Requirements qw(OPTIONAL_MODULES have_vers); use Bugzilla::Install::Util qw(init_console include_languages); use Bugzilla::Memcached; use Bugzilla::Template; @@ -234,7 +234,7 @@ sub feature { foreach my $package (@{ OPTIONAL_MODULES() }) { foreach my $f (@{ $package->{feature} }) { $feature_map->{$f} ||= []; - push(@{ $feature_map->{$f} }, $package->{module}); + push(@{ $feature_map->{$f} }, $package); } } $cache->{feature_map} = $feature_map; @@ -245,8 +245,8 @@ sub feature { } my $success = 1; - foreach my $module (@{ $feature_map->{$feature} }) { - eval "require $module" or $success = 0; + foreach my $package (@{ $feature_map->{$feature} }) { + have_vers($package) or $success = 0; } $cache->{feature}->{$feature} = $success; return $success;