X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=scripts%2Finstallation_check.pl;h=48d78eaf5cce9f2172cb635c4d6f4f56857adea1;hb=eb0c12081383b487025dd5f438808116728775ad;hp=d32951b70293e5c8f4cd7c52524d25cc0bc563e6;hpb=d88c278c29cd4ea6963062a3af6f85694e15aa7e;p=kivitendo-erp.git diff --git a/scripts/installation_check.pl b/scripts/installation_check.pl index d32951b70..48d78eaf5 100755 --- a/scripts/installation_check.pl +++ b/scripts/installation_check.pl @@ -1,19 +1,23 @@ #!/usr/bin/perl -w -use strict; -use Getopt::Long; -use Pod::Usage; -use Term::ANSIColor; -use Text::Wrap; our $master_templates; BEGIN { - unshift @INC, "modules/override"; # Use our own versions of various modules (e.g. YAML). - push @INC, "modules/fallback"; # Only use our own versions of modules if there's no system version. + use FindBin; + + unshift(@INC, $FindBin::Bin . '/../modules/override'); # Use our own versions of various modules (e.g. YAML). + push (@INC, $FindBin::Bin . '/..'); # '.' will be removed from @INC soon. + push (@INC, $FindBin::Bin . '/../modules/fallback'); # Only use our own versions of modules if there's no system version. # this is a default dir. may be wrong in your installation, change it then - $master_templates = './templates/print/'; + $master_templates = $FindBin::Bin . '/../templates/print/'; } +use strict; +use Getopt::Long; +use Pod::Usage; +use Term::ANSIColor; +use Text::Wrap; + unless (eval { require Config::Std; 1 }){ print STDERR < { key => 'debian', install => 'sudo apt-get install', system => "Debian, Ubuntu" }, + apt => { key => 'debian', install => 'sudo apt install', system => "Debian, Ubuntu" }, yum => { key => 'fedora', install => 'sudo yum install', system => "RHEL, Fedora, CentOS" }, zypper => { key => 'suse', install => 'sudo zypper install', system => "SLES, openSUSE" }, cpan => { key => 'name', install => "sudo cpan", system => "CPAN" }, @@ -86,10 +90,12 @@ if (!SL::LxOfficeConf->read(undef, 'may fail')) { if ($check{r}) { print_header('Checking Required Modules'); check_module($_, required => 1) for @SL::InstallationCheck::required_modules; + check_pdfinfo(); } 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'); @@ -197,6 +203,41 @@ EOL } } +sub check_pdfinfo { + my $line = "Looking for pdfinfo executable"; + my $shell_out = `pdfinfo -v 2>&1 | grep version 2> /dev/null`; + my ($label,$vers,$ver_string) = split / /,$shell_out; + if ( $label && $label eq 'pdfinfo' ) { + chop $ver_string; + print_line($line, $ver_string, 'green'); + } else { + print_line($line, 'not installed','red'); + my %modinfo = ( debian => 'poppler-utils' ); + push @missing_modules, \%modinfo; + + } +} + +sub check_aqbanking { + my $aqbin = $::lx_office_conf{applications}->{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) = @_;