]> wagnertech.de Git - mfinanz.git/blobdiff - scripts/installation_check.pl
Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
[mfinanz.git] / scripts / installation_check.pl
index 1cebcb28e3c911288e65970aed55540985722aa4..a50d184d2863e06a91d2e05c5e34dae7b92fb1a0 100755 (executable)
@@ -14,6 +14,7 @@ BEGIN {
 }
 
 use SL::InstallationCheck;
 }
 
 use SL::InstallationCheck;
+use SL::LxOfficeConf;
 
 my %check;
 Getopt::Long::Configure ("bundling");
 
 my %check;
 Getopt::Long::Configure ("bundling");
@@ -29,11 +30,15 @@ GetOptions(
 );
 
 # if nothing is requested check "required"
 );
 
 # 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{a}) {
   foreach my $check (keys %check) {
     $check{$check} = 1 unless defined $check{$check};
@@ -43,10 +48,16 @@ if ($check{a}) {
 
 $| = 1;
 
 
 $| = 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.')
+} else {
+  SL::InstallationCheck::check_for_conditional_dependencies();
+}
+
 if ($check{r}) {
   print_header('Checking Required Modules');
   check_module($_, required => 1) for @SL::InstallationCheck::required_modules;
 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');
 }
 if ($check{o}) {
   print_header('Checking Optional Modules');
@@ -62,7 +73,7 @@ if ($check{l}) {
 
 sub check_latex {
   my ($res) = check_kpsewhich();
 
 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);
   }
   if ($res) {
     check_template_dir($_) for SL::InstallationCheck::template_dirs($master_templates);
   }
@@ -126,7 +137,8 @@ sub check_module {
   my $line = "Looking for $module->{fullname}";
   my ($res, $ver) = SL::InstallationCheck::module_available($module->{"name"}, $module->{version});
   if ($res) {
   my $line = "Looking for $module->{fullname}";
   my ($res, $ver) = SL::InstallationCheck::module_available($module->{"name"}, $module->{version});
   if ($res) {
-    print_line($line, $ver || 'no version', 'green');
+    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);
   }
   } else {
     print_result($line, $res);
   }
@@ -193,10 +205,7 @@ sub print_result {
 
 sub print_line {
   my ($text, $res, $color) = @_;
 
 sub print_line {
   my ($text, $res, $color) = @_;
-  print $text, " ", ('.' x (78 - length($text) - length($res)));
-  print mycolor($res, $color);
-  print "\n";
-  return;
+  print $text, " ", ('.' x (78 - length($text) - length($res))), " ", mycolor($res, $color), $/;
 }
 
 sub print_header {
 }
 
 sub print_header {