/rc5.d/S50cups
http://github.com/brinkman83/bashrc · Shell · 116 lines · 88 code · 14 blank · 14 comment · 24 complexity · f4412c6b8ae3c5ac5491e418d2a23a2b MD5 · raw file
- #! /bin/sh
- ### BEGIN INIT INFO
- # Provides: cups
- # Required-Start: $syslog $remote_fs
- # Required-Stop: $syslog $remote_fs
- # Should-Start: $network avahi
- # Should-Stop: $network
- # X-Start-Before: samba
- # X-Stop-After: samba
- # Default-Start: 2 3 4 5
- # Default-Stop: 1
- # Short-Description: CUPS Printing spooler and server
- ### END INIT INFO
- PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
- DAEMON=/usr/sbin/cupsd
- NAME=cupsd
- PIDFILE=/var/run/cups/$NAME.pid
- DESC="Common Unix Printing System"
- unset TMPDIR
- test -x $DAEMON || exit 0
- mkdir -p /var/run/cups/certs
- if [ -r /etc/default/cups ]; then
- . /etc/default/cups
- fi
- . /lib/lsb/init-functions
- # Get the timezone set.
- if [ -z "$TZ" -a -e /etc/timezone ]; then
- TZ=`cat /etc/timezone`
- export TZ
- fi
- restart_xprint() {
- if [ -n "$success" ] && [ -x /etc/init.d/xprint ]; then
- invoke-rc.d xprint force-reload || true
- fi
- }
- coldplug_usb_printers() {
- if type udevadm > /dev/null 2>&1 && [ -x /lib/udev/udev-configure-printer ]; then
- for printer in `udevadm trigger --verbose --dry-run --subsystem-match=usb \
- --attr-match=bInterfaceClass=07 --attr-match=bInterfaceSubClass=01 2>/dev/null || true; \
- udevadm trigger --verbose --dry-run --subsystem-match=usb \
- --sysname-match='lp[0-9]*' 2>/dev/null || true`; do
- /lib/udev/udev-configure-printer add "${printer#/sys}"
- done
- fi
- }
- case "$1" in
- start)
- log_begin_msg "Starting $DESC: $NAME"
- chown root:lpadmin /usr/share/ppd/custom 2>/dev/null || true
- chmod 3775 /usr/share/ppd/custom 2>/dev/null || true
- mkdir -p `dirname "$PIDFILE"`
- if [ "$LOAD_LP_MODULE" = "yes" -a -f /usr/lib/cups/backend/parallel \
- -a -f /proc/devices -a -f /proc/modules -a -x /sbin/modprobe ]; then
- modprobe -q -b lp || true
- modprobe -q -b ppdev || true
- fi
- start-stop-daemon --start --quiet --oknodo --pidfile "$PIDFILE" --exec $DAEMON && success=1
- coldplug_usb_printers
- log_end_msg $?
- restart_xprint
- ;;
- stop)
- log_begin_msg "Stopping $DESC: $NAME"
- start-stop-daemon --stop --quiet --retry 5 --oknodo --pidfile $PIDFILE --name $NAME && success=1
- log_end_msg $?
- restart_xprint
- ;;
- reload|force-reload)
- log_begin_msg "Reloading $DESC: $NAME"
- start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME --signal 1 && success=1
- log_end_msg $?
- restart_xprint
- ;;
- restart)
- log_begin_msg "Restarting $DESC: $NAME"
- if start-stop-daemon --stop --quiet --retry 5 --oknodo --pidfile $PIDFILE --name $NAME; then
- start-stop-daemon --start --quiet --pidfile "$PIDFILE" --exec $DAEMON && success=1
- fi
- log_end_msg $?
- restart_xprint
- ;;
- status)
- echo -n "Status of $DESC: "
- if [ ! -r "$PIDFILE" ]; then
- echo "$NAME is not running."
- exit 3
- fi
- if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then
- echo "$NAME is running."
- exit 0
- else
- echo "$NAME is not running but $PIDFILE exists."
- exit 1
- fi
- ;;
- *)
- N=/etc/init.d/${0##*/}
- echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
- exit 1
- ;;
- esac
- exit 0