blob: 29dbf391745b21725d7762132377e83b89bd189d [file] [log] [blame]
#!/bin/sh
### BEGIN INIT INFO
# Provides: libvirtd
# Required-Start: $local_fs $network dbus
# Required-Stop: $local_fs $network dbus
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
if [ -f /lib/lsb/init-functions ]
then
. /lib/lsb/init-functions
else
# int log_begin_message (char *message)
log_begin_msg () {
if [ -z "$1" ]; then
return 1
fi
echo " * $@"
}
# int log_end_message (int exitstatus)
log_end_msg () {
# If no arguments were passed, return
[ -z "$1" ] && return 1
# Only do the fancy stuff if we have an appropriate terminal
# and if /usr is already mounted
TPUT=/usr/bin/tput
EXPR=/usr/bin/expr
if [ -x $TPUT ] && [ -x $EXPR ] && $TPUT hpa 60 >/dev/null 2>&1; then
COLS=`$TPUT cols`
if [ -n "$COLS" ]; then
COL=`$EXPR $COLS - 7`
else
COL=73
fi
UP=`$TPUT cuu1`
END=`$TPUT hpa $COL`
START=`$TPUT hpa 0`
RED=`$TPUT setaf 1`
NORMAL=`$TPUT op`
if [ $1 -eq 0 ]; then
echo "$UP$END[ ok ]"
else
echo -e "$UP$START $RED*$NORMAL$END[${RED}fail${NORMAL}]"
fi
else
if [ $1 -eq 0 ]; then
echo " ...done."
else
echo " ...fail!"
fi
fi
return $1
}
log_warning_msg () {
if log_use_fancy_output; then
YELLOW=`$TPUT setaf 3`
NORMAL=`$TPUT op`
echo "$YELLOW*$NORMAL $@"
else
echo "$@"
fi
}
fi
case "$1" in
start)
if [ -e /var/run/libvirtd.pid ]; then
if [ -d /proc/$(cat /var/run/libvirtd.pid) ]; then
echo "virtualization library already started; not starting."
else
echo "Removing stale PID file /var/run/libvirtd.pid."
rm -f /var/run/libvirtd.pid
fi
fi
log_begin_msg "Starting virtualization library daemon: libvirtd"
if [ ! -e /var/run/libvirtd.pid ]; then
start-stop-daemon -K -x /usr/bin/dnsmasq --pidfile /var/run/libvirt/network/default.pid
fi
start-stop-daemon --start --quiet --pidfile /var/run/libvirtd.pid --exec /usr/sbin/libvirtd -- --daemon --listen
log_end_msg $?
;;
stop)
log_begin_msg "Stopping virtualization library daemon: libvirtd"
start-stop-daemon --stop --quiet --retry 3 --exec /usr/sbin/libvirtd --pidfile /var/run/libvirtd.pid
log_end_msg $?
rm -f /var/run/libvirtd.pid
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac