use strict;
+my $exe_dir;
+
BEGIN {
use SL::System::Process;
- my $exe_dir = SL::System::Process::exe_dir;
+ $exe_dir = SL::System::Process::exe_dir;
unshift @INC, "${exe_dir}/modules/override"; # Use our own versions of various modules (e.g. YAML).
push @INC, "${exe_dir}/modules/fallback"; # Only use our own versions of modules if there's no system version.
use Data::Dumper;
use DateTime;
use English qw(-no_match_vars);
+use File::Spec;
use List::Util qw(first);
use POSIX qw(setuid setgid);
use SL::Auth;
use SL::LXDebug;
use SL::LxOfficeConf;
use SL::Locale;
+use SL::System::TaskServer;
our %lx_office_conf;
$::locale = Locale->new($::lx_office_conf{system}->{language});
$::form = Form->new;
+ chdir $exe_dir;
+
$job->run;
}
}
}
-my $cwd = getcwd();
-my $pidbase = "${cwd}/users/pid";
+chdir $exe_dir;
+
+mkdir SL::System::TaskServer::PID_BASE() if !-d SL::System::TaskServer::PID_BASE();
+
+my $file = first { -f } ("${exe_dir}/config/kivitendo.conf", "${exe_dir}/config/lx_office.conf", "${exe_dir}/config/kivitendo.conf.default");
+
+die "No configuration file found." unless $file;
-mkdir($pidbase) if !-d $pidbase;
+$file = File::Spec->abs2rel(Cwd::abs_path($file), Cwd::abs_path($exe_dir));
-my $file = first { -f } ("${cwd}/config/kivitendo.conf", "${cwd}/config/lx_office.conf", "${cwd}/config/kivitendo.conf.default");
newdaemon(configfile => $file,
progname => 'kivitendo-task-server',
- pidbase => "${pidbase}/",
+ pidbase => SL::System::TaskServer::PID_BASE() . '/',
);
1;