Initialisierung von %ENV von lx-erp.conf nach lx_office.conf verschoben
authorMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 19 Jan 2011 13:33:40 +0000 (14:33 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Wed, 19 Jan 2011 13:33:40 +0000 (14:33 +0100)
SL/Dispatcher.pm
config/lx-erp.conf
config/lx-erp.conf.default
config/lx_office.conf.default

index 57e2b54..d7e645d 100644 (file)
@@ -77,6 +77,7 @@ sub pre_startup_setup {
 
   read_config 'config/lx_office.conf' => %::lx_office_conf;
   _decode_recursively(\%::lx_office_conf);
+  _init_environment();
 
   eval {
     package main;
@@ -334,6 +335,27 @@ sub _decode_recursively {
   }
 }
 
+sub _init_environment {
+  my %key_map = ( lib  => { name => 'PERL5LIB', append_path => 1 },
+                  path => { name => 'PATH',     append_path => 1 },
+                );
+  my $cfg     = $::lx_office_conf{environment} || {};
+
+  while (my ($key, $value) = each %{ $cfg }) {
+    next unless $value;
+
+    my $info = $key_map{$key} || {};
+    $key     = $info->{name}  || $key;
+
+    if ($info->{append_path}) {
+      $value = ':' . $value unless $value =~ m/^:/ || !$ENV{$key};
+      $value = $ENV{$key} . $value;
+    }
+
+    $ENV{$key} = $value;
+  }
+}
+
 package main;
 
 use strict;
index f28d8e3..16ad492 100644 (file)
@@ -23,12 +23,6 @@ $language = "de";
 # if you have latex installed set to 1
 $latex_templates = 1;
 
-# if the server can't find gzip, latex, dvips or pdflatex, add the path
-$ENV{PATH} .= ":/usr/local/bin";
-
-# on mac os X using Fink's Perl libs, add the path
-$ENV{PERL5LIB} .= ":/sw/lib/perl5";
-
 # Aktivierung der verschiedenen Spezialmodule
 $webdav = 0;
 $lizenzen = 1;
@@ -63,9 +57,6 @@ $openofficeorg_daemon = 1;
 $openofficeorg_daemon_port = 2002;
 
 # Pfad zum "X virtual frame buffer", unter dem OpenOffice gestartet wird.
-# Zusaetzlich muessen die Programme "xauth" und "mcookie" gefunden werden
-# koennen, was eine Aenderung an PATH bedeuten kann.
-$ENV{"PATH"} = $ENV{"PATH"} . ":/usr/X11R6/bin:/usr/X11/bin";
 $xvfb_bin = "/usr/bin/Xvfb";
 
 # Das charset, in dem die Daten in der Datenbank abgelegt sind.
index f28d8e3..16ad492 100644 (file)
@@ -23,12 +23,6 @@ $language = "de";
 # if you have latex installed set to 1
 $latex_templates = 1;
 
-# if the server can't find gzip, latex, dvips or pdflatex, add the path
-$ENV{PATH} .= ":/usr/local/bin";
-
-# on mac os X using Fink's Perl libs, add the path
-$ENV{PERL5LIB} .= ":/sw/lib/perl5";
-
 # Aktivierung der verschiedenen Spezialmodule
 $webdav = 0;
 $lizenzen = 1;
@@ -63,9 +57,6 @@ $openofficeorg_daemon = 1;
 $openofficeorg_daemon_port = 2002;
 
 # Pfad zum "X virtual frame buffer", unter dem OpenOffice gestartet wird.
-# Zusaetzlich muessen die Programme "xauth" und "mcookie" gefunden werden
-# koennen, was eine Aenderung an PATH bedeuten kann.
-$ENV{"PATH"} = $ENV{"PATH"} . ":/usr/X11R6/bin:/usr/X11/bin";
 $xvfb_bin = "/usr/bin/Xvfb";
 
 # Das charset, in dem die Daten in der Datenbank abgelegt sind.
index 4a0d9b3..4e6e83d 100644 (file)
@@ -8,6 +8,13 @@ templates = templates
 # Path to the old memberfile (ignored on new installations)
 memberfile = users/members
 
+[environment]
+# Add the following paths to the PATH environment variable.
+path = /usr/local/bin:/usr/X11R6/bin:/usr/X11/bin
+# Add the following paths to the PERL5LIB environment variable.
+# "/sw/lib/perl5" is for Mac OS X with Fink's Perl.
+lib = /sw/lib/perl5
+
 [task_server]
 # User name to use for database access
 login = mb
@@ -96,4 +103,4 @@ watch_form = 0
 keep_temp_files = 0
 
 # The file name where the debug messages are written to.
-file_name = /tmp/lx-office-debug.log
+file_name = /tmp/mb-lxdebug.log