From e8230c189da00b3b68c04c354ecb7cc6cacb4ad8 Mon Sep 17 00:00:00 2001 From: David Cook Date: Wed, 25 Jan 2017 09:58:40 +1100 Subject: [PATCH] Bug 17986 - Perl dependency evaluation incorrect It looks like I made a copy/paste error in a previous patch. While the fix was working when you pass the param "module" to version_info, it wasn't populating the version correctly for the "all" param, which causes koha_perl_deps.pl to think all OK modules actually need an upgrade. TEST PLAN 0) Be on a system where you know your Koha Perl dependencies are mostly up-to-date 1) Run ./koha_perl_deps.pl -a -c 2) Note that most modules say they need an upgrade even when the installed version is the same as the minimum version 3) Apply patch 4) Run ./koha_perl_deps.pl -a -c 5) Note that most moduls say they're OK, especially when the installed version is the same or greater than the minimum version https://bugs.koha-community.org/show_bug.cgi?id=17880 https://bugs.koha-community.org/show_bug.cgi?id=17986 Signed-off-by: Mason James --- C4/Installer/PerlModules.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Installer/PerlModules.pm b/C4/Installer/PerlModules.pm index 9d8d1c8825..2a64826f43 100644 --- a/C4/Installer/PerlModules.pm +++ b/C4/Installer/PerlModules.pm @@ -84,7 +84,7 @@ sub version_info { for (sort keys(%{$PERL_DEPS})) { my $pkg = $_; # $_ holds the string eval "require $pkg"; - my $pkg_version = $params{'module'} && $params{'module'}->can("VERSION") ? $params{'module'}->VERSION : 0; + my $pkg_version = $pkg && $pkg->can("VERSION") ? $pkg->VERSION : 0; my $min_version = $PERL_DEPS->{$_}->{'min_ver'} // 0; if ($@) { push (@{$self->{'missing_pm'}}, {$_ => {cur_ver => 0, min_ver => $PERL_DEPS->{$_}->{'min_ver'}, required => $PERL_DEPS->{$_}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}}); -- 2.39.5