#!/bin/sh
#
# haldaemon:   HAL daemon
#
# chkconfig: 3457 54 02
# description:  This is a daemon for collecting and maintaining information \
#               about hardware from several sources. \
#               See http://www.freedesktop.org/Software/hal
#
# processname: hald
# pidfile: /var/run/haldaemon.pid
### BEGIN INIT INFO
# Provides: haldaemon
# Required-Start: messagebus
# Required-Stop: messagebus
# Should-Start: acpid
# Default-Start: 3 4 5 7
# Short-Description: HAL daemon
# Description: This is a daemon for collecting and maintaining information
#              about hardware from several sources.
#              See http://www.freedesktop.org/Software/hal
### END INIT INFO
#

# Sanity checks.
[ -x /usr/sbin/hald ] || exit 0

# Source function library.
. /etc/rc.d/init.d/functions

# so we can rearrange this easily
processname=hald
servicename=haldaemon

RETVAL=0

start() {
    gprintf "Starting HAL daemon: "
    daemon --check $servicename $processname
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$servicename
}

stop() {
    gprintf "Stopping HAL daemon: "

    killproc $servicename -TERM
    RETVAL=$?
    echo
    if [ $RETVAL -eq 0 ]; then
        rm -f /var/lock/subsys/$servicename
        rm -f /var/run/haldaemon.pid
    fi
}

# See how we were called.
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status $processname
        RETVAL=$?
        ;;
    restart)
        stop
	sleep 3
        start
        ;;
    condrestart)
        if [ -f /var/lock/subsys/$servicename ]; then
            stop
	    sleep 3
            start
        fi
        ;;
    *)
        gprintf "Usage: %s {start|stop|status|restart|condrestart}\n" "$0"
        ;;
esac
exit $RETVAL
