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@";
our($pid,$pidfile);
# Lets see what they want to do.. Set the variable (Cause i'm a lazy coder)
my $arg = shift(@ARGV);
-my $conf = $confpath . "inspircd.conf";
+my $conf;
for my $a (@ARGV)
{
if ($a =~ m/^--config=(.*)$/)
last;
}
}
+if (!defined $conf) {
+ $conf = $confpath . "inspircd.conf";
+ push @ARGV, '--config='.$conf;
+}
+
getpidfile($conf);
# System for naming script command subs:
# 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";
}
# 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");
# 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
# 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");
# 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");
# 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");
# 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?
$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) = <INFILE>;
# Close the file
{
return;
}
- else
+ elsif (-f "$runpath/$pidfile")
{
- if (-f $confpath . $pidfile)
- {
- $pidfile = $confpath . $pidfile;
- return;
- }
+ $pidfile = "$runpath/$pidfile";
+ return;
}
return;
}
# 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;
}
# End of includes / No includes found. Using default.
- $pidfile = $confpath . "inspircd.pid";
+ $pidfile = $runpath . "/data/inspircd.pid";
}
sub getstatus {
# 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?