summaryrefslogtreecommitdiff
path: root/debian/sane-utils.saned.init
diff options
context:
space:
mode:
Diffstat (limited to 'debian/sane-utils.saned.init')
-rw-r--r--debian/sane-utils.saned.init90
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