From: Moritz Bunkus Date: Tue, 16 Jul 2019 12:26:29 +0000 (+0200) Subject: LaTeX: openin_any weniger restriktiv X-Git-Tag: release-3.5.4~32 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=f46ac9daca71a6e0c4ca480a3f826fd2871182a2;p=kivitendo-erp.git LaTeX: openin_any weniger restriktiv Die Einstellung openin_any aus texmf.cnf (oder der Umgebungsvariable gleichen Namens) kontrolliert, aus welchen Pfaden (PDF)LaTeX Quelldateien liest: a = any liest aus beliebigen Verzeichnissen, r = restricted nicht aus Dot-Verzeichnissen und p = paranoid nur aus dem Ausgabeverzeichnis und seinen Unterverzeichnissen. Bei kivitendo ist das Ausgabeverzeichnis …/users, die Vorlagen liegen in …/templates/…, sind also keine Unterverzeichnisse. Aktuelle LaTeX-Versionen (zumindest ab TeXLive 2019.5…) wenden das nun strikt an, was dazu führt, dass z.B. das Einbinden von Bildern nicht möglich ist, wenn die Bilder in …/templates/… anstelle von …/users liegen — sogar obwohl …/templates/… in $TEXINPUTS enthalten ist. An dieser Stelle ist zu viel Sicherheit falsch bzw. für unser aktuelles Layout falsch. Eine andere mögliche Variante wäre, die LaTeX-Abhandlung direkt in …/templates anstelle von …/users uz machen. Das erfordert aber potenziell Eingriff durch den SysAdmin, um Verzeichnisrechte anders zu setzen. Daher wird das erst mal nicht gemacht. --- diff --git a/SL/Template/LaTeX.pm b/SL/Template/LaTeX.pm index 130a42484..6a5d8e4a9 100644 --- a/SL/Template/LaTeX.pm +++ b/SL/Template/LaTeX.pm @@ -495,7 +495,7 @@ sub convert_to_postscript { my $old_home = $ENV{HOME}; my $old_openin_any = $ENV{openin_any}; $ENV{HOME} = $userspath =~ m|^/| ? $userspath : getcwd(); - $ENV{openin_any} = "p"; + $ENV{openin_any} = "r"; for (my $run = 1; $run <= 2; $run++) { if (system("${latex} --interaction=nonstopmode $form->{tmpfile} " . @@ -549,7 +549,7 @@ sub convert_to_pdf { my $old_home = $ENV{HOME}; my $old_openin_any = $ENV{openin_any}; $ENV{HOME} = $userspath =~ m|^/| ? $userspath : getcwd(); - $ENV{openin_any} = "p"; + $ENV{openin_any} = "r"; for (my $run = 1; $run <= 2; $run++) { if (system("${latex} --interaction=nonstopmode $form->{tmpfile} " .