View | Details | Raw Unified | Return to bug 17880
Collapse All | Expand All

(-)a/C4/Installer/PerlModules.pm (-3 / +6 lines)
Lines 68-77 sub version_info { Link Here
68
    if ($params{'module'}) {
68
    if ($params{'module'}) {
69
        return -1 unless grep {m/$params{'module'}/} keys(%$PERL_DEPS);
69
        return -1 unless grep {m/$params{'module'}/} keys(%$PERL_DEPS);
70
        eval "require $params{'module'}";
70
        eval "require $params{'module'}";
71
        my $pkg_version =  $params{'module'} &&  $params{'module'}->can("VERSION") ? $params{'module'}->VERSION : 0;
72
        my $min_version =  $PERL_DEPS->{$params{'module'}}->{'min_ver'} // 0;
71
        if ($@) {
73
        if ($@) {
72
            return {$params{'module'} => {cur_ver => 0, min_ver => $PERL_DEPS->{$_}->{'min_ver'}, upgrade => 0, required => $PERL_DEPS->{$_}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}};
74
            return {$params{'module'} => {cur_ver => 0, min_ver => $PERL_DEPS->{$_}->{'min_ver'}, upgrade => 0, required => $PERL_DEPS->{$_}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}};
73
        }
75
        }
74
        elsif ($params{'module'}->VERSION lt $PERL_DEPS->{$params{'module'}}->{'min_ver'}) {
76
        elsif (version->parse("$pkg_version") < version->parse("$min_version")) {
75
            return {$params{'module'} => {cur_ver => $params{'module'}->VERSION, min_ver => $PERL_DEPS->{$params{'module'}}->{'min_ver'}, upgrade => 1, required => $PERL_DEPS->{$params{'module'}}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}};
77
            return {$params{'module'} => {cur_ver => $params{'module'}->VERSION, min_ver => $PERL_DEPS->{$params{'module'}}->{'min_ver'}, upgrade => 1, required => $PERL_DEPS->{$params{'module'}}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}};
76
        }
78
        }
77
        else {
79
        else {
Lines 82-91 sub version_info { Link Here
82
        for (sort keys(%{$PERL_DEPS})) {
84
        for (sort keys(%{$PERL_DEPS})) {
83
            my $pkg = $_;  #  $_ holds the string
85
            my $pkg = $_;  #  $_ holds the string
84
            eval "require $pkg";
86
            eval "require $pkg";
87
            my $pkg_version =  $params{'module'} &&  $params{'module'}->can("VERSION") ? $params{'module'}->VERSION : 0;
88
            my $min_version = $PERL_DEPS->{$_}->{'min_ver'} // 0;
85
            if ($@) {
89
            if ($@) {
86
                push (@{$self->{'missing_pm'}}, {$_ => {cur_ver => 0, min_ver => $PERL_DEPS->{$_}->{'min_ver'}, required => $PERL_DEPS->{$_}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}});
90
                push (@{$self->{'missing_pm'}}, {$_ => {cur_ver => 0, min_ver => $PERL_DEPS->{$_}->{'min_ver'}, required => $PERL_DEPS->{$_}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}});
87
            }
91
            }
88
            elsif ($pkg->VERSION lt $PERL_DEPS->{$_}->{'min_ver'}) {
92
            elsif (version->parse("$pkg_version") < version->parse("$min_version")) {
89
                push (@{$self->{'upgrade_pm'}}, {$_ => {cur_ver => $pkg->VERSION, min_ver => $PERL_DEPS->{$_}->{'min_ver'}, required => $PERL_DEPS->{$_}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}});
93
                push (@{$self->{'upgrade_pm'}}, {$_ => {cur_ver => $pkg->VERSION, min_ver => $PERL_DEPS->{$_}->{'min_ver'}, required => $PERL_DEPS->{$_}->{'required'}, usage => $PERL_DEPS->{$_}->{'usage'}}});
90
            }
94
            }
91
            else {
95
            else {
92
- 

Return to bug 17880