svn commit: r343571 - in head/irc/inspircd: . files
Mark Felder
feld at FreeBSD.org
Mon Feb 10 01:46:34 UTC 2014
Author: feld
Date: Mon Feb 10 01:46:33 2014
New Revision: 343571
URL: http://svnweb.freebsd.org/changeset/ports/343571
QAT: https://qat.redports.org/buildarchive/r343571/
Log:
Change rc script to daemonize inspircd via daemon(8)
inspircd has a curious feature where it exits with signal 15 when it
forks off to the background. This is very confusing and leads users to
believe the service was not started successfully when in fact it was.
https://github.com/inspircd/inspircd/pull/626
Approved by: swills (mentor)
Modified:
head/irc/inspircd/Makefile
head/irc/inspircd/files/inspircd.in
Modified: head/irc/inspircd/Makefile
==============================================================================
--- head/irc/inspircd/Makefile Mon Feb 10 01:39:25 2014 (r343570)
+++ head/irc/inspircd/Makefile Mon Feb 10 01:46:33 2014 (r343571)
@@ -3,7 +3,7 @@
PORTNAME= inspircd
PORTVERSION= 2.0.14
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= irc
MAINTAINER= feld at FreeBSD.org
Modified: head/irc/inspircd/files/inspircd.in
==============================================================================
--- head/irc/inspircd/files/inspircd.in Mon Feb 10 01:39:25 2014 (r343570)
+++ head/irc/inspircd/files/inspircd.in Mon Feb 10 01:46:33 2014 (r343571)
@@ -38,21 +38,23 @@ load_rc_config ${name}
: ${inspircd_logfile="%%INSPIRCD_LOG%%"}
: ${inspircd_flags="${inspircd_flags} --logfile ${inspircd_logfile} --config ${inspircd_config}"}
-command=%%PREFIX%%/bin/inspircd
+command=/usr/sbin/daemon
+command_args=" -f %%PREFIX%%/bin/inspircd --nofork ${inspircd_flags}"
+procname=%%PREFIX%%/bin/inspircd
pidfile=${inspircd_pidfile}
required_files=${inspircd_config}
start_precmd=inspircd_prestart
inspircd_prestart()
{
- piddir=$(dirname ${inspircd_pidfile})
- if [ ! -d ${piddir} ]; then
- install -d -m 755 -o ${inspircd_user} -g ${inspircd_group} ${piddir}
- fi
- logdir=$(dirname ${inspircd_logfile})
- if [ ! -d ${logdir} ]; then
- install -d -m 755 -o ${inspircd_user} -g ${inspircd_group} ${logdir}
- fi
+ # inspircd_flags gets applied too early if we don't do this.
+ # I didn't want to force people to update their rc.conf files
+ # and change the inspircd_flags to something else.
+ rc_flags=""
+
+ for i in ${inspircd_pidfile} ${inspircd_logfile}; do
+ install -d -m 755 -o ${inspircd_user} -g ${inspircd_group} ${i%/*}
+ done
}
run_rc_command "$1"
More information about the svn-ports-all
mailing list