X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=.inspircd.inc;h=a3df44eac7cd1bbe516db9aa4bc6bc5b806f9ccf;hb=8a13e4ebf7cb38008a87cd908d44161b216f5db9;hp=91a06ccfd6430f849f13abb93f05fcd5eb749851;hpb=c8026bc2d73344e1df526f0a80694046efa4b22a;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/.inspircd.inc b/.inspircd.inc index 91a06ccfd..a3df44eac 100644 --- a/.inspircd.inc +++ b/.inspircd.inc @@ -18,6 +18,7 @@ use Fcntl; my $basepath = "@BASE_DIR@"; my $confpath = "@CONFIG_DIR@/"; my $binpath = "@BINARY_DIR@"; +my $runpath = "@BASE_DIR@"; my $valgrindlogpath = "$basepath/valgrindlogs"; my $executable = "@EXECUTABLE@"; my $version = "@VERSION@"; @@ -131,10 +132,11 @@ sub cmd_start(@) # Check to see its not 'running' already. if (getstatus() == 1) { print "InspIRCd is already running.\n"; return 0; } # If we are still alive here.. Try starting the IRCd.. + chdir $runpath; print "$binpath/$executable doesn't exist\n" and return 0 unless(-e "$binpath/$executable"); print "$binpath/$executable is not executable\n" and return 0 unless(-f "$binpath/$executable" && -x "$binpath/$executable"); - exec { "$binpath/$executable" } "$binpath/$executable", @_; + exec "$binpath/$executable", @_; die "Failed to start IRCd: $!\n"; } @@ -143,6 +145,7 @@ sub dev_debug(@) # Check to see its not 'running' already. if (getstatus() == 1) { print "InspIRCd is already running.\n"; return 0; } + chdir $runpath; print "$binpath/$executable doesn't exist\n" and return 0 unless(-e "$binpath/$executable"); print "$binpath/$executable is not executable\n" and return 0 unless(-f "$binpath/$executable" && -x "$binpath/$executable"); @@ -159,6 +162,7 @@ sub dev_screendebug(@) # Check to see its not 'running' already. if (getstatus() == 1) { print "InspIRCd is already running.\n"; return 0; } + chdir $runpath; print "$binpath/$executable doesn't exist\n" and return 0 unless(-e "$binpath/$executable"); #Check we have gdb @@ -177,6 +181,7 @@ sub dev_valdebug(@) # Check to see its not 'running' already. if (getstatus() == 1) { print "InspIRCd is already running.\n"; return 0; } + chdir $runpath; print "$binpath/$executable doesn't exist\n" and return 0 unless(-e "$binpath/$executable"); print "$binpath/$executable is not executable\n" and return 0 unless(-f "$binpath/$executable" && -x "$binpath/$executable"); @@ -197,6 +202,7 @@ sub dev_valdebug_unattended(@) # Check to see its not 'running' already. if (getstatus() == 1) { print "InspIRCd is already running.\n"; return 0; } + chdir $runpath; print "$binpath/$executable doesn't exist\n" and return 0 unless(-e "$binpath/$executable"); print "$binpath/$executable is not executable\n" and return 0 unless(-f "$binpath/$executable" && -x "$binpath/$executable"); @@ -233,6 +239,7 @@ sub dev_screenvaldebug(@) # Check to see its not 'running' already. if (getstatus() == 1) { print "InspIRCd is already running.\n"; return 0; } + chdir $runpath; print "$binpath/$executable doesn't exist\n" and return 0 unless(-e "$binpath/$executable"); print "$binpath/$executable is not executable\n" and return 0 unless(-f "$binpath/$executable" && -x "$binpath/$executable"); @@ -296,7 +303,7 @@ sub getpidfile # Are We using a relative path? if ($file !~ /^\//) { # Convert it to a full path. - $file = $confpath . $file; + $file = $runpath .'/'. $file; } # Have we checked this file before? @@ -304,7 +311,7 @@ sub getpidfile $filesparsed{$file} = 1; # Open the File.. - open INFILE, "< $file" or die "Unable to open file $file included in configuration\n"; + open INFILE, '<', $file or return; # Grab entire file contents.. my(@lines) = ; # Close the file @@ -324,13 +331,10 @@ sub getpidfile { return; } - else + elsif (-f "$runpath/$pidfile") { - if (-f $confpath . $pidfile) - { - $pidfile = $confpath . $pidfile; - return; - } + $pidfile = "$runpath/$pidfile"; + return; } return; } @@ -345,18 +349,6 @@ sub getpidfile # Decend into that file, and check for PIDs.. (that sounds like an STD ;/) getpidfile($1); # Was a PID found? - if (-f $pidfile) - { - return; - } - else - { - if (-f $confpath . $pidfile) - { - $pidfile = $confpath . $pidfile; - return; - } - } if ($pidfile ne "") { # Yes, Return. return; @@ -365,7 +357,7 @@ sub getpidfile } # End of includes / No includes found. Using default. - $pidfile = $confpath . "inspircd.pid"; + $pidfile = $runpath . "/data/inspircd.pid"; } sub getstatus { @@ -435,7 +427,7 @@ sub validateconf # Are We using a relative path? if ($file !~ /^\//) { # Convert it to a full path.. - $file = $confpath . $file; + $file = $runpath . $file; } # Have we checked this file before?