#! /bin/sh
### BEGIN INIT INFO
# Provides:          cgproxy
# Required-Start:    cgmanager
# Required-Stop:     
# Default-Start:    2 3 4 5
# Default-Stop:     0 1 6
# Short-Description: Cgroup manager daemon
# Description:
#  The cgroup manager accepts cgroup administration requests
#  over dbus, honoring privilege by root users in mapped user
#  namespaces over the non-root mapped uids.  This allows safe
#  nesting of lxc containers by unprivileged users.
### END INIT INFO

. /lib/lsb/init-functions

DAEMON=/sbin/cgproxy
NAME=cgproxy
DESC="cgroup management proxy daemon"

BASEOPTS="--daemon"

test -x $DAEMON || exit 0

PIDFILE=/run/$NAME.pid

if [ -f /etc/default/cgmanager ]; then
	# get cgmanager_opts if specified
	. /etc/default/cgmanager
fi

case "$1" in
    start|restart|force-reload)
	log_daemon_msg "Starting $DESC" "$NAME"
	if [ -e /proc/self/ns/pid ] && [ "$NESTED" != "yes" ]; then
		log_daemon_msg "Kernel is new enough and not nested, no proxy is needed"
	else
		start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $BASEOPTS $cgmanager_opts
	fi
	log_end_msg 0
	;;
  stop)
	log_daemon_msg "Stopping $DESC" "$NAME"
  	start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
	log_end_msg 0
	;;
  status)
	status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
	;;
  *)
	echo "Usage: $0 {start|stop|restart|force-reload}" >&2
	exit 3
	;;
esac

:
