Sprache um Attribut ungültig erweitert
[kivitendo-erp.git] / scripts / installation_check.pl
index 95a93c9..33fd7ca 100755 (executable)
@@ -95,7 +95,6 @@ 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');
@@ -146,9 +145,28 @@ exit !!@missing_modules;
 sub check_latex {
   my ($res) = check_kpsewhich();
   print_result("Looking for LaTeX kpsewhich", $res);
+
+  # no pdfx -> no zugferd possible
+  my $ret = kpsewhich('template/print/', 'sty', 'pdfx');
+  die "Cannot use pdfx. Please install this package first (debian: apt install texlive-latex-extra)"  if $ret;
+  # check version 2018
+  my $latex = $::lx_office_conf{applications}->{latex} || 'pdflatex';
+  my $pdfx = (system ${latex} . ' --interaction=batchmode "\documentclass{minimal} \RequirePackage{pdfx} \csname @ifpackagelater\endcsname{pdfx}{2018/12/22}{}{\show\relax} \begin{document} \end{document}"');
+
+  print_result ("Looking for pdfx version 2018 or higher", !$pdfx);
+  push @missing_modules, \(name => 'pdfx') if $pdfx;
+
   if ($res) {
     check_template_dir($_) for SL::InstallationCheck::template_dirs($master_templates);
   }
+  print STDERR <<EOL if $pdfx;
++------------------------------------------------------------------------------+
+  Your pdfx version is too old. You cannot use ZuGFeRD or modern (2018+)
+  templates. Please consider using a more recent LaTeX environment.
+  Verify with:
+  pdflatex --interaction=batchmode "\RequirePackage{pdfx}[2018/12/22]"
++------------------------------------------------------------------------------+
+EOL
 }
 
 sub check_template_dir {
@@ -160,7 +178,7 @@ sub check_template_dir {
 
   my @sty = sort { $a cmp $b } uniq (
     SL::InstallationCheck::classes_from_latex($path, '\usepackage'),
-    qw(textcomp ulem pdfx embedfile)
+    qw(textcomp ulem embedfile)
   );
   kpsewhich($path, 'sty', $_) for @sty;
 }
@@ -223,31 +241,6 @@ sub check_pdfinfo {
   }
 }
 
-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;
-      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' );
-      push @missing_modules, \%modinfo;
-    }
-  }
-}
-
 sub check_module {
   my ($module, %role) = @_;