use strict;
-BEGIN {
- require Cwd;
+my $exe_dir;
- my $dir = $0;
- $dir = Cwd::getcwd() . '/' . $dir unless $dir =~ m|^/|;
- $dir =~ s|[^/]+$|..|;
+BEGIN {
+ use SL::System::Process;
+ $exe_dir = SL::System::Process::exe_dir;
- chdir($dir) || die "Cannot change directory to ${dir}\n";
+ 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.
+ unshift @INC, $exe_dir;
- unshift @INC, "modules/override"; # Use our own versions of various modules (e.g. YAML).
- push @INC, "modules/fallback"; # Only use our own versions of modules if there's no system version.
+ chdir($exe_dir) || die "Cannot change directory to ${exe_dir}\n";
}
use CGI qw( -no_xhtml);
use Data::Dumper;
use DateTime;
use English qw(-no_match_vars);
+use List::Util qw(first);
use POSIX qw(setuid setgid);
use SL::Auth;
use SL::DB::BackgroundJob;
use SL::BackgroundJob::ALL;
use SL::Form;
use SL::Helper::DateTime;
+use SL::InstanceConfiguration;
use SL::LXDebug;
use SL::LxOfficeConf;
use SL::Locale;
package main;
- $::lxdebug = LXDebug->new;
- $::locale = Locale->new($::lx_office_conf{system}->{language});
- $::form = Form->new;
- $::auth = SL::Auth->new;
- $::request = { cgi => CGI->new({}) };
+ $::lxdebug = LXDebug->new;
+ $::locale = Locale->new($::lx_office_conf{system}->{language});
+ $::form = Form->new;
+ $::auth = SL::Auth->new;
+ $::instance_conf = SL::InstanceConfiguration->new;
+ $::request = { cgi => CGI->new({}) };
die 'cannot reach auth db' unless $::auth->session_tables_present;
$::locale = Locale->new($::lx_office_conf{system}->{language});
$::form = Form->new;
+ chdir $exe_dir;
+
$job->run;
}
mkdir($pidbase) if !-d $pidbase;
-my $file = -f "${cwd}/config/lx_office.conf" ? "${cwd}/config/lx_office.conf" : "${cwd}/config/lx_office.conf.default";
+my $file = first { -f } ("${cwd}/config/kivitendo.conf", "${cwd}/config/lx_office.conf", "${cwd}/config/kivitendo.conf.default");
newdaemon(configfile => $file,
- progname => 'lx-office-task-server',
+ progname => 'kivitendo-task-server',
pidbase => "${pidbase}/",
);