diff options
Diffstat (limited to 'debian/sane-utils.saned.init')
| -rw-r--r-- | debian/sane-utils.saned.init | 90 | 
1 files changed, 90 insertions, 0 deletions
| diff --git a/debian/sane-utils.saned.init b/debian/sane-utils.saned.init new file mode 100644 index 0000000..e629105 --- /dev/null +++ b/debian/sane-utils.saned.init @@ -0,0 +1,90 @@ +#! /bin/sh +# +### BEGIN INIT INFO +# Provides:          saned +# Required-Start:    $syslog $local_fs $remote_fs +# Required-Stop:     $syslog $local_fs $remote_fs +# Should-Start:      dbus avahi-daemon +# Should-Stop:       dbus avahi-daemon +# Default-Start:     2 3 4 5 +# Default-Stop:      0 1 6 +# Short-Description: SANE network scanner server +# Description:       saned makes local scanners available over the +#                    network. +### END INIT INFO + +. /lib/lsb/init-functions + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/saned +NAME=saned +DESC="SANE network scanner server" + +test -x $DAEMON || exit 0 + +RUN=no +RUN_AS_USER=saned + +# Get lsb functions +. /lib/lsb/init-functions + +# Include saned defaults if available +if [ -f /etc/default/saned ] ; then +    . /etc/default/saned +fi + +DAEMON_OPTS="-a $RUN_AS_USER" + +set -e + +case "$1" in +  start) +	log_daemon_msg "Starting $DESC" "$NAME" +	start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ +		--exec $DAEMON -- $DAEMON_OPTS +	log_end_msg $? +	;; +  stop) +	log_daemon_msg "Stopping $DESC" "$NAME" +	start-stop-daemon --stop --oknodo --quiet --pidfile /var/run/$NAME.pid \ +		--retry 10 --exec $DAEMON +	log_end_msg $? +	;; +  force-reload) +	# check whether $DAEMON is running. If so, restart +	start-stop-daemon --stop --test --quiet --pidfile \ +		/var/run/$NAME.pid --exec $DAEMON \ +	&& $0 restart \ +	|| exit 0 +	;; +  restart) +	log_daemon_msg "Restarting $DESC" "$NAME" +	$0 stop +	$0 start +	;; +  status) +	if [ -s /var/run/$NAME.pid ]; then +            RUNNING=$(cat /var/run/$NAME.pid) +            if [ -d /proc/$RUNNING ]; then +                if [ $(readlink /proc/$RUNNING/exe) = $DAEMON ]; then +                    log_success_msg "$NAME is running" +                    exit 0 +                fi +            fi + +            # No such PID, or executables don't match +            log_failure_msg "$NAME is not running, but pidfile existed" +            rm /var/run/$NAME.pid +            exit 1 +        else +            rm -f /var/run/$NAME.pid +            log_failure_msg "$NAME not running" +            exit 1 +        fi +	;; +  *) +	N=/etc/init.d/$NAME +	log_failure_msg "Usage: $N {start|stop|restart|force-reload}" +	exit 1 +	;; +esac | 
