]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 1153027: Bugzilla->feature incorrectly checks Perl modules
authorFrédéric Buclin <LpSolit@gmail.com>
Mon, 13 Apr 2015 15:46:14 +0000 (17:46 +0200)
committerFrédéric Buclin <LpSolit@gmail.com>
Mon, 13 Apr 2015 15:46:14 +0000 (17:46 +0200)
r=dkl a=glob

Bugzilla.pm

index e27be0f7f465c8676cf4af951627c9dfe7c83681..e3184fdb81c5abbb2f56f1f880bd3bee7b207601 100644 (file)
@@ -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;
@@ -220,7 +220,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;
@@ -231,8 +231,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;