#!/bin/sh

if [ -z "$SYNOPKG_PKGNAME" ]; then
	# prior DSM 3.2, start script will be run without environment variable
	#  at boot time, thus we need a workaround to gather name and version info
	PACKAGE_NAME="virtualbox"
else
	PACKAGE_NAME=$SYNOPKG_PKGNAME
fi 

PACKAGE_DIR="/var/packages/${PACKAGE_NAME}" 
SCRIPTSPATH="/var/packages/${PACKAGE_NAME}/target/scripts"
APP_PATH="/usr/syno/synoman/webman/3rdparty/$PACKAGE_NAME" 
INSTALL_DIR="${PACKAGE_DIR}/target/opt/VirtualBox"
PACKAGE_ENABLED="${PACKAGE_DIR}/enabled" 

start()
{ 
		# check for libs
		if [ ! -f "/lib/libz.so" ]; then
			cp -r "${PACKAGE_DIR}"/target/lib/* /lib/
		fi 
		
		if [ ! -f "/lib/modules/modules/3.2.40/vboxdrv.ko" ]; then
			cp -r "${PACKAGE_DIR}"/target/lib/modules/3.2.40 /lib/modules/
		fi 
		
		if [ ! -f "/lib64/libz.so" ]; then
			cp -r "${PACKAGE_DIR}"/target/lib64/* /lib64/
		fi

		# check for config
		if [ ! -d "/etc/vbox" ]; then
			ln -s "${PACKAGE_DIR}"/target/etc/vbox /etc/vbox
		fi 

		# start services
		$SCRIPTSPATH/vboxdrv.sh start
		$SCRIPTSPATH/vboxweb-service.sh start 
		$SCRIPTSPATH/vboxinit.sh start 
}

stop()
{
		# stop services, we will let vboxdrv shutdown VM's based on vbox.cfg
		#$SCRIPTSPATH/vboxinit.sh stop 
		$SCRIPTSPATH/vboxweb-service.sh stop
		$SCRIPTSPATH/vboxdrv.sh stop
}

case $1 in
    start)
		# check enabled
		if [ ! -f $PACKAGE_ENABLED ]; then
			exit 0;
		fi

		# start routine
		start
		exit 0 
        ;;
    stop)
		stop
        exit 0
        ;;
    status)
		if [ -e ${APP_PATH} ]; then
			exit 0
		else
			exit 1
		fi 
        ;;
	killall)
        ;; 
	log)
        exit 1
        ;;
    *)
        exit 1
        ;;
esac
