#! /bin/sh
#
# hobbitclient    This shell script takes care of starting and stopping
#                 the hobbit client.

### BEGIN INIT INFO
# Provides:          hobbit-client
# Required-Start:    $remote_fs $network
# Should-Start:      $all
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Hobbit system monitor client
# Description:       Client to feed system data to a remote Hobbit server.
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON="/usr/lib/hobbit/client/bin/hobbitlaunch"
NAME=hobbitclient
DESC="Hobbit Client"
PIDFILE="/var/run/hobbit/clientlaunch.pid"
HOBBITCLIENTHOME="/usr/lib/hobbit/client"

test -x $DAEMON || exit 0

. /lib/lsb/init-functions
. /usr/share/hobbit/init-common.sh

# Include hobbitclient defaults if available
if [ -f /etc/default/hobbit-client ] ; then
	. /etc/default/hobbit-client
fi
[ -z "$MACHINE" ] && MACHINE="$CLIENTHOSTNAME"
[ -z "$MACHINEDOTS" ] && MACHINEDOTS="`hostname -f`"
export HOBBITSERVERS HOBBITCLIENTHOME CLIENTHOSTNAME MACHINE MACHINEDOTS

case "$1" in
  start)
	# do not run the client script on the server
	[ -x /usr/lib/hobbit/server/bin/hobbitd ] && exit 0

	create_includefiles

	log_daemon_msg "Starting $DESC" "$NAME"
	start-stop-daemon --exec $DAEMON --chuid hobbit --umask 022 --start \
		-- \
		--config=/etc/hobbit/clientlaunch.cfg \
		--log=/var/log/hobbit/clientlaunch.log \
		--pidfile=$PIDFILE
	log_end_msg $?
	;;
  stop)
	log_daemon_msg "Stopping $DESC" "$NAME"
	start-stop-daemon --exec $DAEMON --pidfile $PIDFILE --stop --retry 5
	log_end_msg $?
	;;
  restart)
	if [ -x /usr/lib/hobbit/server/bin/hobbitd ] ; then
		log_action_msg "Hobbit server installed. Please restart 'hobbit' instead"
		exit 0
	fi
	$0 stop
	sleep 1
	$0 start
	;;
  reload|force-reload)
	[ -x /usr/lib/hobbit/server/bin/hobbitd ] && exit 0
	create_includefiles
	kill -HUP `cat /var/run/hobbit/clientlaunch.pid`
	;;
  rotate)
	for PIDFILE in /var/run/hobbit/*.pid
	do
		test -e $PIDFILE && kill -HUP `cat $PIDFILE`
	done
	;;
  *)
	N=/etc/init.d/$NAME
	echo "Usage: $N {start|stop|restart|force-reload|rotate}" >&2
	exit 1
	;;
esac

exit 0

