]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - .inspircd.inc
Remove more classbase
[user/henk/code/inspircd.git] / .inspircd.inc
index 6181d66ec523852caae5b293998076d020d805fc..a3df44eac7cd1bbe516db9aa4bc6bc5b806f9ccf 100644 (file)
@@ -18,7 +18,7 @@ use Fcntl;
 my $basepath   =       "@BASE_DIR@";
 my $confpath   =       "@CONFIG_DIR@/";
 my $binpath    =       "@BINARY_DIR@";
-my $libpath    =       "@LIBRARY_DIR@";
+my $runpath    =       "@BASE_DIR@";
 my $valgrindlogpath    =       "$basepath/valgrindlogs";
 my $executable =       "@EXECUTABLE@";
 my $version    =       "@VERSION@";
@@ -26,7 +26,7 @@ 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=(.*)$/)
@@ -35,6 +35,11 @@ for my $a (@ARGV)
                last;
        }
 }
+if (!defined $conf) {
+       $conf = $confpath . "inspircd.conf";
+       push @ARGV, '--config='.$conf;
+}
+
 getpidfile($conf);
 
 # System for naming script command subs:
@@ -127,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";
 }
 
@@ -139,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");
 
@@ -155,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
@@ -173,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");
 
@@ -193,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");
 
@@ -229,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");
 
@@ -292,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?
@@ -300,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) = <INFILE>;
        # Close the file
@@ -320,13 +331,10 @@ sub getpidfile
                        {
                                return;
                        }
-                       else
+                       elsif (-f "$runpath/$pidfile")
                        {
-                               if (-f $confpath . $pidfile)
-                               {
-                                       $pidfile = $confpath . $pidfile;
-                                       return;
-                               }
+                               $pidfile = "$runpath/$pidfile";
+                               return;
                        }
                        return;
                }
@@ -341,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;
@@ -361,7 +357,7 @@ sub getpidfile
        }
 
        # End of includes / No includes found. Using default.
-       $pidfile = $confpath . "inspircd.pid";
+       $pidfile = $runpath . "/data/inspircd.pid";
 }
 
 sub getstatus {
@@ -431,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?