);
# 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};
if ($check{r}) {
print_header('Checking Required Modules');
check_module($_, required => 1) for @SL::InstallationCheck::required_modules;
- print_header('Standard check for required modules done. See additional parameters for more checks (-- help)') if $default_run;
+ print_header('Standard check for required modules done. See additional parameters for more checks (--help)') if $default_run;
}
if ($check{o}) {
print_header('Checking Optional Modules');
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);
}
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;
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 {