svn commit: r319151 - in head: . net-mgmt/devmon net-mgmt/devmon/files
Steve Wills
swills at FreeBSD.org
Mon May 27 02:29:51 UTC 2013
Author: swills
Date: Mon May 27 02:29:49 2013
New Revision: 319151
URL: http://svnweb.freebsd.org/changeset/ports/319151
Log:
- rc script passes rclint
- Runs as its own user
- Switch to @unexec rmdir since portlint warns about absolute path in @dirrmtry
not working
PR: ports/178834
Submitted by: Mark Felder <feld at feld.me> (maintainer)
Modified:
head/GIDs
head/UIDs
head/net-mgmt/devmon/Makefile
head/net-mgmt/devmon/files/devmon.in (contents, props changed)
head/net-mgmt/devmon/pkg-plist (contents, props changed)
Modified: head/GIDs
==============================================================================
--- head/GIDs Mon May 27 02:16:43 2013 (r319150)
+++ head/GIDs Mon May 27 02:29:49 2013 (r319151)
@@ -134,6 +134,7 @@ mrtg:*:279:
xymon:*:280:
prelude:*:281:
spread:*:282:
+devmon:*:283:
backuppc:*:300:
_sphinx:*:312:
dkfilter:*:325:
Modified: head/UIDs
==============================================================================
--- head/UIDs Mon May 27 02:16:43 2013 (r319150)
+++ head/UIDs Mon May 27 02:29:49 2013 (r319151)
@@ -142,6 +142,7 @@ mrtg:*:279:279::0:0:MRTG daemon:/nonexis
xymon:*:280:280::0:0:Xymon Monitor:/nonexistent:/usr/sbin/nologin
prelude:*:281:281::0:0:Prelude user:/nonexistent:/usr/sbin/nologin
spread:*:282:282::0:0:Spread user:/nonexistent:/usr/sbin/nologin
+devmon:*:283:283::0:0:devmon monitor:/nonexistent:/usr/sbin/nologin
backuppc:*:300:300::0:0:BackupPC pseudo-user:/nonexistent:/usr/sbin/nologin
_sphinx:*:312:312::0:0:Sphinxsearch Owner:/nonexistent:/usr/sbin/nologin
dkfilter:*:325:325::0:0:DK Filter Owner:/nonexistent:/usr/sbin/nologin
Modified: head/net-mgmt/devmon/Makefile
==============================================================================
--- head/net-mgmt/devmon/Makefile Mon May 27 02:16:43 2013 (r319150)
+++ head/net-mgmt/devmon/Makefile Mon May 27 02:29:49 2013 (r319151)
@@ -3,6 +3,7 @@
PORTNAME= devmon
DISTVERSION= 0.3.1-beta1
+PORTREVISION= 1
CATEGORIES= net-mgmt
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${DISTVERSION}
@@ -17,6 +18,12 @@ USE_PERL5= yes
NO_BUILD= yes
USE_RC_SUBR= devmon
+USERS= devmon
+GROUPS= devmon
+
+SUB_LIST= USERS=${USERS} \
+ GROUPS=${GROUPS}
+
OPTIONS_DEFINE= MYSQL
.include <bsd.port.options.mk>
@@ -43,6 +50,7 @@ post-install:
${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}/
${INSTALL} -d ${DOCSDIR}/docs
${INSTALL} -d ${DOCSDIR}/extras
+ ${INSTALL} -d -o ${USERS} -g ${GROUPS} /var/run/devmon
(cd ${WRKSRC}/docs && ${COPYTREE_SHARE} \* ${DOCSDIR}/docs/)
(cd ${WRKSRC}/extras && ${COPYTREE_SHARE} \* ${DOCSDIR}/extras/)
.endif
Modified: head/net-mgmt/devmon/files/devmon.in
==============================================================================
--- head/net-mgmt/devmon/files/devmon.in Mon May 27 02:16:43 2013 (r319150)
+++ head/net-mgmt/devmon/files/devmon.in Mon May 27 02:29:49 2013 (r319151)
@@ -1,56 +1,88 @@
#!/bin/sh
# $FreeBSD$
-
# PROVIDE: devmon
# REQUIRE: LOGIN
# KEYWORD: shutdown
-: ${devmon_enable="NO"}
+. /etc/rc.subr
+
+name=devmon
+rcvar=devmon_enable
+load_rc_config ${name}
+
+: ${devmon_enable:=NO}
: ${devmon_config="%%PREFIX%%/devmon/devmon.cfg"}
: ${devmon_db="%%PREFIX%%/devmon/hosts.db"}
-: ${devmon_pid="/var/run/devmon.pid"}
+: ${devmon_pid="/var/run/devmon/devmon.pid"}
+: ${devmon_user="%%USERS%%"}
+: ${devmon_group="%%GROUPS%%"}
-. /etc/rc.subr
-
-name="devmon"
-rcvar="devmon_enable"
-load_rc_config $name
command="%%PREFIX%%/devmon/devmon"
command_args="-c ${devmon_config} -d ${devmon_db}"
-command_interpreter="/usr/bin/perl"
+command_interpreter=/usr/bin/perl
pidfile=${devmon_pid}
-stop_cmd="devmon_stopcmd"
-status_cmd="devmon_statuscmd"
+start_precmd=devmon_startprecmd
+status_cmd=devmon_statuscmd
+stop_cmd=devmon_stopcmd
+
+devmon_startprecmd()
+{
+ if [ ! -e ${devmon_config} ];
+ then
+ echo "Error: ${devmon_config} does not exist."
+ exit 1;
+ fi
+
+ TEMPLATESDIR=%%PREFIX%%/devmon/templates
+ if [ ! -e ${TEMPLATESDIR} ]
+ then
+ echo ""
+ echo " ERROR: no templates exist. Please install device templates"
+ echo " to: ${TEMPLATESDIR}"
+ echo " They are available on the devmon SourceForge page via SVN."
+ echo " Note, the older template tarballs do not work reliably."
+ echo ""
+ echo " # svn co svn://svn.code.sf.net/p/devmon/code/trunk/templates ${TEMPLATESDIR}"
+ echo ""
+ exit 1;
+ fi
+
+ DEVMONLOG=$(grep "^LOGFILE=" ${devmon_config} | awk -F '=' '{print $2}')
+ if [ ! -e ${DEVMONLOG} ];
+ then
+ install -o devmon -g devmon /dev/null ${DEVMONLOG}
+ fi
+}
-devmon_statuscmd()
+devmon_statuscmd()
{
-if [ ! -e $pidfile ];
- then
- echo "pidfile does not exist. $name is not running?";
- exit 1;
-fi
-
-if pgrep -F $pidfile >/dev/null;
- then
- echo "$name is running.";
- else
- echo "$name is not running.";
- exit 1;
-fi
+ if [ ! -e ${pidfile} ];
+ then
+ echo "pidfile does not exist. ${name} is not running?";
+ exit 1;
+ fi
+
+ if pgrep -F ${pidfile} >/dev/null;
+ then
+ echo "${name} is running.";
+ else
+ echo "${name} is not running.";
+ exit 1;
+ fi
}
devmon_stopcmd()
{
-if pgrep -F $pidfile >/dev/null;
- then
- mypid=`cat $pidfile`;
- kill $sig_stop $mypid;
- wait_for_pids $mypid;
- else
- echo "$name is not running.";
- exit 1;
-fi
+ if pgrep -F ${pidfile} >/dev/null;
+ then
+ mypid=`cat ${pidfile}`;
+ kill ${sig_stop} ${mypid};
+ wait_for_pids ${mypid};
+ else
+ echo "${name} is not running.";
+ exit 1;
+ fi
}
run_rc_command "$1"
Modified: head/net-mgmt/devmon/pkg-plist
==============================================================================
--- head/net-mgmt/devmon/pkg-plist Mon May 27 02:16:43 2013 (r319150)
+++ head/net-mgmt/devmon/pkg-plist Mon May 27 02:29:49 2013 (r319151)
@@ -24,7 +24,8 @@ devmon/devmon
%%PORTDOCS%%%%DOCSDIR%%/COPYING
%%PORTDOCS%%%%DOCSDIR%%/CHANGELOG
@dirrm devmon/modules
- at dirrm devmon
+ at dirrmtry devmon
+ at unexec rmdir /var/run/devmon
%%PORTDOCS%%@dirrm %%DOCSDIR%%/extras
%%PORTDOCS%%@dirrm %%DOCSDIR%%/docs
%%PORTDOCS%%@dirrm %%DOCSDIR%%
More information about the svn-ports-head
mailing list