From b8babf2c43edd0f1ee2997125c6ea4cd21e15d68 Mon Sep 17 00:00:00 2001 From: Peter Powell Date: Thu, 21 Sep 2017 18:44:29 +0100 Subject: Move the init scripts out of the prefix into the new script dir. The previous directory was okay for home directory installs but was problematic for system wide installs. --- make/template/inspircd | 5 +++-- make/template/inspircd.service | 6 +++--- make/template/main.mk | 18 ++++++++++-------- 3 files changed, 16 insertions(+), 13 deletions(-) (limited to 'make/template') diff --git a/make/template/inspircd b/make/template/inspircd index 949f85cee..2ea0a5492 100644 --- a/make/template/inspircd +++ b/make/template/inspircd @@ -48,6 +48,7 @@ use constant { GENERIC_EXIT_NOT_RUNNING => 7 }; +my $scriptpath = "@SCRIPT_DIR@" my $basepath = "@BASE_DIR@"; my $confpath = "@CONFIG_DIR@/"; my $binpath = "@BINARY_DIR@"; @@ -203,7 +204,7 @@ sub dev_debug(@) checkgdb(); # If we are still alive here.. Try starting the IRCd.. - exec 'gdb', "--command=$basepath/.gdbargs", '--args', "$binpath/$executable", qw(--nofork --debug), @_; + exec 'gdb', "--command=$scriptpath/.gdbargs", '--args', "$binpath/$executable", qw(--nofork --debug), @_; die "Failed to start GDB: $!\n"; } @@ -222,7 +223,7 @@ sub dev_screendebug(@) # If we are still alive here.. Try starting the IRCd.. print "Starting InspIRCd in `screen`, type `screen -r` when the ircd crashes to view the gdb output and get a backtrace.\n"; print "Once you're inside the screen session press ^C + d to re-detach from the session\n"; - exec qw(screen -m -d gdb), "--command=$basepath/.gdbargs", '-args', "$binpath/$executable", qw(--nofork --debug --nolog), @_; + exec qw(screen -m -d gdb), "--command=$scriptpath/.gdbargs", '-args', "$binpath/$executable", qw(--nofork --debug --nolog), @_; die "Failed to start screen: $!\n"; } diff --git a/make/template/inspircd.service b/make/template/inspircd.service index e5f28a674..c05e61822 100644 --- a/make/template/inspircd.service +++ b/make/template/inspircd.service @@ -24,9 +24,9 @@ Description=InspIRCd - Internet Relay Chat Daemon Requires=network.target [Service] -ExecReload=@BASE_DIR@/inspircd rehash -ExecStart=@BASE_DIR@/inspircd start -ExecStop=@BASE_DIR@/inspircd stop +ExecReload=@SCRIPT_DIR@/inspircd rehash +ExecStart=@SCRIPT_DIR@/inspircd start +ExecStop=@SCRIPT_DIR@/inspircd stop PIDFile=@DATA_DIR@/inspircd.pid Restart=on-failure Type=forking diff --git a/make/template/main.mk b/make/template/main.mk index 49c77da05..ff464a228 100644 --- a/make/template/main.mk +++ b/make/template/main.mk @@ -45,6 +45,7 @@ MODPATH = "$(DESTDIR)@MODULE_DIR@" LOGPATH = "$(DESTDIR)@LOG_DIR@" DATPATH = "$(DESTDIR)@DATA_DIR@" BINPATH = "$(DESTDIR)@BINARY_DIR@" +SCRPATH = "$(DESTDIR)@SCRIPT_DIR@" INSTALL = install INSTUID = @UID@ INSTMODE_DIR = 0750 @@ -224,17 +225,18 @@ install: target @-$(INSTALL) -d -m $(INSTMODE_DIR) $(CONPATH)/examples/services @-$(INSTALL) -d -m $(INSTMODE_DIR) $(MANPATH) @-$(INSTALL) -d -m $(INSTMODE_DIR) $(MODPATH) + @-$(INSTALL) -d -m $(INSTMODE_DIR) $(SCRPATH) [ "$(BUILDPATH)/bin/" -ef $(BINPATH) ] || $(INSTALL) -m $(INSTMODE_BIN) "$(BUILDPATH)/bin/inspircd" $(BINPATH) ifndef INSPIRCD_STATIC [ "$(BUILDPATH)/modules/" -ef $(MODPATH) ] || $(INSTALL) -m $(INSTMODE_LIB) "$(BUILDPATH)/modules/"*.so $(MODPATH) endif - -$(INSTALL) -m $(INSTMODE_BIN) @CONFIGURE_DIRECTORY@/inspircd $(BASE) 2>/dev/null - -$(INSTALL) -m $(INSTMODE_LIB) .gdbargs $(BASE)/.gdbargs 2>/dev/null + -$(INSTALL) -m $(INSTMODE_BIN) @CONFIGURE_DIRECTORY@/inspircd $(SCRPATH) 2>/dev/null + -$(INSTALL) -m $(INSTMODE_LIB) .gdbargs $(SCRPATH)/.gdbargs 2>/dev/null ifeq ($(SYSTEM), darwin) - -$(INSTALL) -m $(INSTMODE_BIN) @CONFIGURE_DIRECTORY@/org.inspircd.plist $(BASE) 2>/dev/null + -$(INSTALL) -m $(INSTMODE_BIN) @CONFIGURE_DIRECTORY@/org.inspircd.plist $(SCRPATH) 2>/dev/null endif ifeq ($(SYSTEM), linux) - -$(INSTALL) -m $(INSTMODE_LIB) @CONFIGURE_DIRECTORY@/inspircd.service $(BASE) 2>/dev/null + -$(INSTALL) -m $(INSTMODE_LIB) @CONFIGURE_DIRECTORY@/inspircd.service $(SCRPATH) 2>/dev/null endif -$(INSTALL) -m $(INSTMODE_LIB) @CONFIGURE_DIRECTORY@/inspircd.1 $(MANPATH) 2>/dev/null -$(INSTALL) -m $(INSTMODE_LIB) @CONFIGURE_DIRECTORY@/inspircd-genssl.1 $(MANPATH) 2>/dev/null @@ -253,7 +255,7 @@ endif @echo ' Binaries:' $(BINPATH) @echo ' Modules:' $(MODPATH) @echo ' Data:' $(DATPATH) - @echo 'To start the ircd, run:' $(BASE)/inspircd start + @echo 'To start the ircd, run:' $(SCRPATH)/inspircd start @echo 'Remember to create your config file:' $(CONPATH)/inspircd.conf @echo 'Examples are available at:' $(CONPATH)/examples/ @@ -275,9 +277,9 @@ deinstall: -rm -f $(MANPATH)/inspircd-genssl.1 -rm -f $(MODPATH)/m_*.so -rm -f $(MODPATH)/core_*.so - -rm -f $(BASE)/.gdbargs - -rm -f $(BASE)/inspircd.service - -rm -f $(BASE)/org.inspircd.plist + -rm -f $(SCRPATH)/.gdbargs + -rm -f $(SCRPATH)/inspircd.service + -rm -f $(SCRPATH)/org.inspircd.plist configureclean: rm -f .gdbargs -- cgit v1.2.3