#!/bin/sh

# variables users can override in the defaults file
OSVC_ROOT_PATH="/usr/share/opensvc"
OSVC_PYTHON="python"
OSVC_PYTHON_ARGS=""

if [ -r "/etc/defaults/opensvc" ]
then
	# FreeBSD, Darwin
	. "/etc/defaults/opensvc"
elif [ -r "/etc/default/opensvc" ]
then
	# Debian-like, Tru64, SunOS and HP-UX
	. "/etc/default/opensvc"
elif [ -r "/etc/sysconfig/opensvc" ]
then
	# Red Hat-like
	. "/etc/sysconfig/opensvc"
elif [ -r "/etc/rc.config.d/opensvc" ]
then
	# AIX
	. "/etc/rc.config.d/opensvc"
fi

BASENAME=`basename $0`

case $BASENAME in
opensvc)
	#
	# Use me as the shebang for python modules to be garantied the
	# same python requirements than the agent are met (ie 2.6+).
	#
	# Example: #!/usr/bin/env opensvc
	#
	exec "$OSVC_PYTHON" "$@"
	;;
*.cluster)
	BIN_ARGS="--cluster"
	BASENAME=`echo $BASENAME|sed -e "s/.cluster$//"`
	;;
*.stonith)
	set --
	BIN_ARGS="stonith --cluster"
	BASENAME=`echo $BASENAME|sed -e "s/.stonith$//"`
	;;
esac

if [ "$BASENAME" = "nodemgr" -o "$BASENAME" = "svcmgr" -o "$BASENAME" = "svcmon" ]
then
	unset OSVC_SERVICE_LINK
	BIN="$OSVC_ROOT_PATH/lib/$BASENAME.py"
else
	# exec from a service link: add the --service parameter
	OSVC_SERVICE_LINK=$BASENAME
	export OSVC_SERVICE_LINK
	BIN="$OSVC_ROOT_PATH/lib/svcmgr.py"
fi

"$OSVC_PYTHON" $OSVC_PYTHON_ARGS "$BIN" $BIN_ARGS "$@"

