#! /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: 1 # Short-Description: SANE network scanner server # Description: saned makes local scanners available over the # network. ### END INIT INFO source /lib/lsb/init-functions setglobal PATH = '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin' setglobal DAEMON = '/usr/sbin/saned' setglobal NAME = 'saned' setglobal DESC = '"SANE network scanner server'" test -x $DAEMON || exit 0 setglobal RUN = 'no' setglobal RUN_AS_USER = 'saned' # Get lsb functions source /lib/lsb/init-functions # Include saned defaults if available if test -f /etc/default/saned { source /etc/default/saned } if test "x$RUN" != "xyes" { log_success_msg "$NAME disabled; edit /etc/default/saned" exit 0 } setglobal DAEMON_OPTS = ""-a $RUN_AS_USER"" set -e match $1 { with start log_daemon_msg "Starting $DESC" $NAME start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON -- $DAEMON_OPTS log_end_msg $Status with stop log_daemon_msg "Stopping $DESC" $NAME start-stop-daemon --stop --oknodo --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON log_end_msg $Status with 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 with restart log_daemon_msg "Restarting $DESC" $NAME start-stop-daemon --stop --oknodo --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON sleep 1 start-stop-daemon --start --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS log_end_msg $Status with status if test -s /var/run/$NAME.pid { setglobal RUNNING = $[cat /var/run/$NAME.pid] if test -d /proc/$RUNNING { if test $[readlink /proc/$RUNNING/exe] = $DAEMON { log_success_msg "$NAME is running" exit 0 } } # 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 } with * setglobal N = "/etc/init.d/$NAME" log_failure_msg "Usage: $N {start|stop|restart|force-reload}" exit 1 } exit 0