]> wagnertech.de Git - mfinanz.git/blobdiff - scripts/installation_check.pl
SelfTests: Weitere Randfälle zumindestens in der Analyse-Ausgabe erwähnen
[mfinanz.git] / scripts / installation_check.pl
index 6a65ec5e64be7894e0b57afe2839a9a5c0b96a1e..d32951b70293e5c8f4cd7c52524d25cc0bc563e6 100755 (executable)
@@ -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();
 }
@@ -104,7 +103,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 +121,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 +135,8 @@ if (@missing_modules && $apt) {
   }
 }
 
+exit !!@missing_modules;
+
 sub check_latex {
   my ($res) = check_kpsewhich();
   print_result("Looking for LaTeX kpsewhich", $res);
@@ -158,7 +159,7 @@ our $mastertemplate_path = './templates/print/';
 sub check_kpsewhich {
   return 1 if SL::InstallationCheck::check_kpsewhich();
 
-  print STDERR <<EOL if $v;
+  print STDERR <<EOL if $v && !$check{s};
 +------------------------------------------------------------------------------+
   Can't find kpsewhich, is there a proper installed LaTeX?
   On Debian you may run "aptitude install texlive-base-bin"
@@ -182,7 +183,7 @@ sub kpsewhich {
 
   print_result("Looking for LaTeX $type_desc $package", $res);
   if (!$res) {
-    print STDERR <<EOL if $v;
+    print STDERR <<EOL if $v && !$check{s};
 +------------------------------------------------------------------------------+
   LaTeX $type_desc $package could not be loaded.
 
@@ -222,7 +223,7 @@ sub check_module {
 
   my @source_texts = module_source_texts($module);
   local $" = $/;
-  print STDERR <<EOL if $v;
+  print STDERR <<EOL if $v && !$check{s};
 +------------------------------------------------------------------------------+
   $module->{fullname} could not be loaded.
 
@@ -270,10 +271,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]:", $/;
 }