X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=scripts%2Finstallation_check.pl;h=250fe17127827b5fbc31017206f0bcce6d03e638;hb=832dce93297e0577b2f7acf6be3612adca7334d9;hp=6a65ec5e64be7894e0b57afe2839a9a5c0b96a1e;hpb=53a78ccf4a0283a773990b9d03cd154fe29883e1;p=kivitendo-erp.git diff --git a/scripts/installation_check.pl b/scripts/installation_check.pl index 6a65ec5e6..250fe1712 100755 --- a/scripts/installation_check.pl +++ b/scripts/installation_check.pl @@ -50,6 +50,7 @@ GetOptions( "h|help" => sub { pod2usage(-verbose => 2) }, "c|color!" => \ ( my $c = 1 ), "i|install-command!" => \ my $apt, + "s|silent" => \ $check{s}, ); my %install_methods = ( @@ -70,16 +71,14 @@ if (!defined $check{a} } if ($check{a}) { - foreach my $check (keys %check) { - $check{$check} = 1 unless defined $check{$check}; - } + $check{$_} //= 1 for qw(o d l r); } $| = 1; if (!SL::LxOfficeConf->read(undef, 'may fail')) { - print_header('Could not load the config file. If you have dependancies from any features enabled in the configuration these will still show up as optional because of this. Please rerun this script after installing the dependancies needed to load the cofiguration.') + print_header('Could not load the config file. If you have dependancies from any features enabled in the configuration these will still show up as optional because of this. Please rerun this script after installing the dependancies needed to load the configuration.') } else { SL::InstallationCheck::check_for_conditional_dependencies(); } @@ -91,6 +90,7 @@ if ($check{r}) { if ($check{o}) { print_header('Checking Optional Modules'); check_module($_, optional => 1) for @SL::InstallationCheck::optional_modules; + check_aqbanking(); } if ($check{d}) { print_header('Checking Developer Modules'); @@ -104,7 +104,7 @@ my $fail = @missing_modules; print_header('Result'); print_line('All', $fail ? 'NOT ok' : 'OK', $fail ? 'red' : 'green'); -if ($default_run) { +if ($default_run && !$check{s}) { if (@missing_modules) { $apt = 1; print <<"EOL"; @@ -122,7 +122,7 @@ EOL } } -if (@missing_modules && $apt) { +if (@missing_modules && $apt && !$check{s}) { print "\nHere are some sample installation lines, choose one appropriate for your system:\n\n"; local $Text::Wrap::separator = " \\\n"; @@ -136,6 +136,8 @@ if (@missing_modules && $apt) { } } +exit !!@missing_modules; + sub check_latex { my ($res) = check_kpsewhich(); print_result("Looking for LaTeX kpsewhich", $res); @@ -158,7 +160,7 @@ our $mastertemplate_path = './templates/print/'; sub check_kpsewhich { return 1 if SL::InstallationCheck::check_kpsewhich(); - print STDERR <{aqbanking}; + if ( !$aqbin ) { + print_line('Looking for aqbanking executable', 'not configured','red'); + } + else { + my $line = "Looking for aqbanking executable '".$aqbin."'"; + my $shell_out = `$aqbin versions 2>&1 | grep AqBanking-CLI 2> /dev/null`; + my ($label,$version) = split /:/,$shell_out; + if ( $label && $label eq ' AqBanking-CLI' ) { + chop $version; + print_line($line, $version, 'green'); + } else { + print_line($line, 'not installed','red'); + my %modinfo = ( name => 'aqbanking' ); + push @missing_modules, \%modinfo; + } + } +} + sub check_module { my ($module, %role) = @_; @@ -222,7 +244,7 @@ sub check_module { my @source_texts = module_source_texts($module); local $" = $/; - print STDERR <{fullname} could not be loaded. @@ -270,10 +292,12 @@ sub print_result { sub print_line { my ($text, $res, $color) = @_; + return if $check{s}; print $text, " ", ('.' x (78 - length($text) - length($res))), " ", mycolor($res, $color), $/; } sub print_header { + return if $check{s}; print $/; print "$_[0]:", $/; }