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-head mailing list