]> 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:44:59 +0000 (17:44 +0200)
committerFrédéric Buclin <LpSolit@gmail.com>
Mon, 13 Apr 2015 15:44:59 +0000 (17:44 +0200)
r=dkl a=glob

Bugzilla.pm

index 4b19301aa70a8844231236bf459c4ab6c8a46aec..21b086cbde96bd74f1ddd9594256f7abd1daa7bd 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;
@@ -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;