X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/a12a2e5dcccd7d6f012ad4e89a57d24ba5461352..2acad5a65979321f2bd7ef3d51c22ddbe077d99d:/scripts/installation_check.pl diff --git a/scripts/installation_check.pl b/scripts/installation_check.pl index ba02252af..520b4f1c2 100755 --- a/scripts/installation_check.pl +++ b/scripts/installation_check.pl @@ -29,11 +29,15 @@ GetOptions( ); # if nothing is requested check "required" -$check{r} = 1 unless defined $check{a} || - defined $check{l} || - defined $check{o} || - defined $check{d}; -my $default_run ='1' if $check{r}; # no parameter, therefore print a note after default run +my $default_run; +if (!defined $check{a} + && !defined $check{l} + && !defined $check{o} + && !defined $check{d}) { + $check{r} = 1; + $default_run ='1'; # no parameter, therefore print a note after default run +} + if ($check{a}) { foreach my $check (keys %check) { $check{$check} = 1 unless defined $check{$check}; @@ -62,7 +66,7 @@ if ($check{l}) { sub check_latex { my ($res) = check_kpsewhich(); - print_result("Looking for LaTeX kpsewhich", $res ? ('ok', 'green') : ('NOT ok', 'red')); + print_result("Looking for LaTeX kpsewhich", $res); if ($res) { check_template_dir($_) for SL::InstallationCheck::template_dirs($master_templates); } @@ -124,8 +128,14 @@ sub check_module { my ($module, %role) = @_; my $line = "Looking for $module->{fullname}"; - my $res = SL::InstallationCheck::module_available($module->{"name"}, $module->{version}); - print_result($line, $res); + my ($res, $ver) = SL::InstallationCheck::module_available($module->{"name"}, $module->{version}); + if ($res) { + my $ver_string = ref $ver && $ver->can('numify') ? $ver->numify : $ver ? $ver : 'no version'; + print_line($line, $ver_string, 'green'); + } else { + print_result($line, $res); + } + return if $res; @@ -179,10 +189,16 @@ sub mycolor { sub print_result { my ($test, $exit) = @_; - print $test, " ", ('.' x (72 - length $test)); - print $exit ? '.... '. mycolor('ok', 'green') : ' '. mycolor('NOT ok', 'red'); - print "\n"; - return; + if ($exit) { + print_line($test, 'ok', 'green'); + } else { + print_line($test, 'NOT ok', 'red'); + } +} + +sub print_line { + my ($text, $res, $color) = @_; + print $text, " ", ('.' x (78 - length($text) - length($res))), " ", mycolor($res, $color), $/; } sub print_header {