svn commit: r390934 - in head/net-mgmt/smokeping: . files

Rodrigo Osorio rodrigo at FreeBSD.org
Mon Jun 29 19:39:25 UTC 2015


Author: rodrigo
Date: Mon Jun 29 19:39:24 2015
New Revision: 390934
URL: https://svnweb.freebsd.org/changeset/ports/390934

Log:
  Fix init script to check pid correctly
  
  PR:		200851
  Submitted by:	Kan Sasaki <sasaki at fcc.ad.jp>

Modified:
  head/net-mgmt/smokeping/Makefile
  head/net-mgmt/smokeping/files/smokeping.in

Modified: head/net-mgmt/smokeping/Makefile
==============================================================================
--- head/net-mgmt/smokeping/Makefile	Mon Jun 29 19:13:05 2015	(r390933)
+++ head/net-mgmt/smokeping/Makefile	Mon Jun 29 19:39:24 2015	(r390934)
@@ -3,7 +3,7 @@
 
 PORTNAME=	smokeping
 PORTVERSION=	2.6.11
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	net-mgmt www
 MASTER_SITES=	http://oss.oetiker.ch/smokeping/pub/ \
 		http://smokeping.cs.pu.edu.tw/pub/

Modified: head/net-mgmt/smokeping/files/smokeping.in
==============================================================================
--- head/net-mgmt/smokeping/files/smokeping.in	Mon Jun 29 19:13:05 2015	(r390933)
+++ head/net-mgmt/smokeping/files/smokeping.in	Mon Jun 29 19:39:24 2015	(r390934)
@@ -24,6 +24,7 @@ rcvar=smokeping_enable
 
 extra_commands="status configtest reload"
 
+start_cmd="smokeping_start"
 status_cmd="smokeping_status"
 configtest_cmd="smokeping_configtest"
 reload_cmd="smokeping_reload"
@@ -41,43 +42,69 @@ command_args="--logfile=${smokeping_logf
 pidfile="${smokeping_pidfile}"
 command_interpreter="%%PREFIX%%/bin/perl"
 
-smokeping_startprecmd()
+smokeping_check_pidfile()
 {
+	rc_pid=$(check_pidfile $pidfile $command)
+	if [ -z "${rc_pid}" ]; then
+		rc_pid=$(check_pidfile $pidfile $command $command_interpreter)
+	fi
+}
+
+smokeping_start()
+{
+	smokeping_check_pidfile
+	if [ -n "$rc_pid" ]; then
+		echo 1>&2 "${name} already running? (pid=$rc_pid)."
+		return 1
+	fi
+
 	if [ ! -e ${smokeping_logfile} ];
 	then
-		install -o %%USERS%% -g %%GROUPS%% /dev/null ${smokeping_logfile} || echo "ERROR: Could not initialize logfile at ${smokeping_logfile}.";
+		install -o ${smokeping_user} -g ${smokeping_group} -m 644 /dev/null ${smokeping_logfile} ||\
+			 echo "ERROR: Could not initialize logfile at ${smokeping_logfile}.";
 	fi
+
+	echo "Starting ${name}."
+	${command} ${smokeping_flags} ${command_args}
 }
 
 smokeping_status()
 {
-	rc_pid=$(check_pidfile $pidfile $command $command_interpreter)
+	smokeping_check_pidfile
 	if [ -z "$rc_pid" ]; then
-		_run_rc_notrunning
+		echo "${name} is not running."
+		return 1
 	else
 		echo "${name} is running as pid $rc_pid"
-        fi
+	fi
 }
 
 smokeping_configtest()
 {
-	/usr/local/bin/smokeping --check
+	${command} --check
 }
 
 smokeping_reload()
 {
-	/usr/local/bin/smokeping --reload
+	smokeping_check_pidfile
+	if [ -z "$rc_pid" ]; then
+		_run_rc_notrunning
+		return 1
+	else
+		${command} --reload
+	fi
 }
 
 smokeping_stop()
 {
-	rc_pid=$(check_pidfile $pidfile $command $command_interpreter)
+	smokeping_check_pidfile
 	if [ -z "$rc_pid" ]; then
 		_run_rc_notrunning
+		return 1
 	else
-		echo "Stopping ${name} (pid $rc_pid)."
-		kill -15 $rc_pid
-        fi
+		echo "Stopping ${name}."
+		kill -TERM $rc_pid
+	fi
 }
 
 load_rc_config $name


More information about the svn-ports-head mailing list