#!/bin/sh
#
### BEGIN INIT INFO
# Provides: weston
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO

if test -e /etc/default/weston ; then
        . /etc/default/weston
fi

killproc() {
        pid=`/bin/pidof $1`
        [ "$pid" != "" ] && kill $pid
}

read CMDLINE < /proc/cmdline
for x in $CMDLINE; do
        case $x in
        weston=false)
		echo "Weston disabled"
		exit 0;
                ;;
        esac
done

case "$1" in
  start)
        . /etc/profile

        # This is all a nasty hack
        if test -z "$XDG_RUNTIME_DIR"; then
                export XDG_RUNTIME_DIR=/run/user/root
                mkdir --parents $XDG_RUNTIME_DIR
                chmod 0700 $XDG_RUNTIME_DIR
        fi

        openvt -s weston -- $OPTARGS
  ;;

  stop)
        echo "Stopping Weston"
        killproc weston
  ;;

  restart)
	$0 stop
        sleep 1
        $0 start
  ;;

  *)
        echo "usage: $0 { start | stop | restart }"
  ;;
esac

exit 0
