aboutsummaryrefslogtreecommitdiff
path: root/net-mgmt
diff options
context:
space:
mode:
authorMark Felder <feld@FreeBSD.org>2015-02-21 16:50:30 +0000
committerMark Felder <feld@FreeBSD.org>2015-02-21 16:50:30 +0000
commit5763e8cdb991a02a85ed8bd3a777617a478cbd4b (patch)
tree5c2084cd5b462491cb89d2b54dbf769a17583d7a /net-mgmt
parentae2170cacfdabd538abf064a3d0017c6ce47bdcf (diff)
Notes
Diffstat (limited to 'net-mgmt')
-rw-r--r--net-mgmt/xymon-client/Makefile2
-rw-r--r--net-mgmt/xymon-client/files/xymon-client.in46
2 files changed, 43 insertions, 5 deletions
diff --git a/net-mgmt/xymon-client/Makefile b/net-mgmt/xymon-client/Makefile
index 9ad951c7181d..387c19cf38e2 100644
--- a/net-mgmt/xymon-client/Makefile
+++ b/net-mgmt/xymon-client/Makefile
@@ -2,7 +2,7 @@
PORTNAME= xymon
PORTVERSION= 4.3.18
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= net-mgmt www
MASTER_SITES= SF/xymon/Xymon/${PORTVERSION}
PKGNAMESUFFIX= -client${PKGNAMESUFFIX2}
diff --git a/net-mgmt/xymon-client/files/xymon-client.in b/net-mgmt/xymon-client/files/xymon-client.in
index 232174c6ded6..002ec73f19c6 100644
--- a/net-mgmt/xymon-client/files/xymon-client.in
+++ b/net-mgmt/xymon-client/files/xymon-client.in
@@ -16,10 +16,48 @@ load_rc_config "$name"
: ${xymon_client_enable:=NO}
: ${xymon_client_user:=%%XYMONUSER%%}
-command=%%WWWDIR%%/client/runclient.sh
-command_args="${xymon_client_flags} ${1}"
-procname=%%WWWDIR%%/client/bin/xymonlaunch
pidfile="%%WWWDIR%%/client/logs/clientlaunch.`hostname`.pid"
-start_precmd="chown -R ${xymon_client_user} %%WWWDIR%%/client/logs"
+command=%%WWWDIR%%/client/bin/xymonlaunch
+command_args="--config=%%WWWDIR%%/client/etc/clientlaunch.cfg --log=%%WWWDIR%%/client/logs/clientlaunch.log --pidfile=${pidfile}"
+start_precmd=xymon_precmd
+# Clean up leftover children
+stop_postcmd="pkill -U ${xymon_client_user}"
+
+xymon_precmd()
+{
+ # Don't actually pass $xymon_client_flags to $command
+ rc_flags=""
+
+ # Ensure permissions of log dir
+ chown -R ${xymon_client_user} %%WWWDIR%%/client/logs
+
+ # Below is pulled almost directly from Xymon's runclient.sh script which we are bypassing due to redundancy
+
+ # Default settings for this client
+ MACHINEDOTS="`uname -n`"
+ SERVEROSTYPE="`uname -s | tr '[ABCDEFGHIJKLMNOPQRSTUVWXYZ/]' '[abcdefghijklmnopqrstuvwxyz_]'"`
+ XYMONOSSCRIPT="xymonclient-$SERVEROSTYPE.sh"
+ XYMONCLIENTHOME="%%WWWDIR%%/client"
+
+ for i in $xymon_client_flags; do
+ case "$i" in
+ --hostname=*)
+ MACHINEDOTS="`echo $i | sed -e 's/--hostname=//'`"
+ ;;
+ --os=*)
+ SERVEROSTYPE="`echo $i | sed -e 's/--os=//' | tr '[ABCDEFGHIJKLMNOPQRSTUVWXYZ/]' '[abcdefghijklmnopqrstuvwxyz_]'`"
+ ;;
+ --class=*)
+ CONFIGCLASS="`echo $i | sed -e 's/--class=//' | tr '[ABCDEFGHIJKLMNOPQRSTUVWXYZ/]' '[abcdefghijklmnopqrstuvwxyz_]'`"
+ ;;
+ esac
+ shift
+ done
+
+ export MACHINEDOTS SERVEROSTYPE XYMONOSSCRIPT XYMONCLIENTHOME CONFIGCLASS
+
+ MACHINE="`echo $MACHINEDOTS | sed -e 's/\./,/g'`"
+ export MACHINE
+}
run_rc_command "$1"