X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/6ba38ffedd99c9d3ade9134b01ac510c50d92d2e..915cb1a4ccd73c8795b5b5eb69d0719dfc331e59:/scripts/installation_check.pl diff --git a/scripts/installation_check.pl b/scripts/installation_check.pl index 2535a2c37..743316a46 100755 --- a/scripts/installation_check.pl +++ b/scripts/installation_check.pl @@ -6,7 +6,6 @@ BEGIN { 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 = $FindBin::Bin . '/../templates/print/'; @@ -14,6 +13,7 @@ BEGIN { use strict; use Getopt::Long; +use List::MoreUtils qw(uniq); use Pod::Usage; use Term::ANSIColor; use Text::Wrap; @@ -58,7 +58,7 @@ GetOptions( ); my %install_methods = ( - apt => { 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" }, @@ -157,7 +157,12 @@ sub check_template_dir { print_header("Checking LaTeX Dependencies for Master Templates '$dir'"); kpsewhich($path, 'cls', $_) for SL::InstallationCheck::classes_from_latex($path, '\documentclass'); - kpsewhich($path, 'sty', $_) for SL::InstallationCheck::classes_from_latex($path, '\usepackage'); + + my @sty = sort { $a cmp $b } uniq ( + SL::InstallationCheck::classes_from_latex($path, '\usepackage'), + qw(textcomp ulem pdfx embedfile) + ); + kpsewhich($path, 'sty', $_) for @sty; } our $mastertemplate_path = './templates/print/'; @@ -179,10 +184,10 @@ sub kpsewhich { $package =~ s/[^-_0-9A-Za-z]//g; my $type_desc = $type eq 'cls' ? 'document class' : 'package'; - eval { use String::ShellQuote; 1 } or warn "can't load String::ShellQuote" && return; - $dw = shell_quote $dw; - my $e_package = shell_quote $package; - my $e_type = shell_quote $type; + eval { require String::ShellQuote; 1 } or warn "can't load String::ShellQuote" && return; + $dw = String::ShellQuote::shell_quote $dw; + my $e_package = String::ShellQuote::shell_quote $package; + my $e_type = String::ShellQuote::shell_quote $type; my $exit = system(qq|TEXINPUTS=".:$dw:" kpsewhich $e_package.$e_type > /dev/null|); my $res = $exit > 0 ? 0 : 1; @@ -208,10 +213,11 @@ sub check_pdfinfo { 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 = ( name => 'pdfinfo' ); + my %modinfo = ( debian => 'poppler-utils' ); push @missing_modules, \%modinfo; } @@ -228,7 +234,12 @@ sub check_aqbanking { my ($label,$version) = split /:/,$shell_out; if ( $label && $label eq ' AqBanking-CLI' ) { chop $version; - print_line($line, $version, 'green'); + my ($number_version) = $version =~ /(\d+)/; + if ($number_version < 6) { + print_line($line, "Requires at least version 6, current version is " . $version, 'red'); + } else { + print_line($line, $version, 'green'); + } } else { print_line($line, 'not installed','red'); my %modinfo = ( name => 'aqbanking' );