#! /bin/sh ### BEGIN INIT INFO # Provides: cups # Required-Start: $syslog $remote_fs # Required-Stop: $syslog $remote_fs # Should-Start: $network avahi-daemon slapd nslcd # 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 # Description: Manage the CUPS Printing spooler and server; # make it's web interface accessible on http://localhost:631/ ### END INIT INFO # Author: Debian Printing Team global PATH := '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin' global DAEMON := '/usr/sbin/cupsd' global NAME := 'cupsd' global PIDFILE := "/var/run/cups/$NAME.pid" global DESC := '"Common Unix Printing System'" global SCRIPTNAME := '/etc/init.d/cups' unset TMPDIR # Exit if the package is not installed test -x $DAEMON || exit 0 mkdir -p /var/run/cups/certs test -x /sbin/restorecon && /sbin/restorecon -R /var/run/cups # Read configuration variable file if it is present if test -r /etc/default/cups { source /etc/default/cups } # Define LSB log_* functions. # Depend on lsb-base (>= 3.2-14) to ensure that this file is present # and status_of_proc is working. source /lib/lsb/init-functions # Get the timezone set. if test -z $TZ -a -e /etc/timezone { global TZ := $[cat /etc/timezone] export TZ = '' } proc coldplug_usb_printers { if type udevadm > /dev/null !2 > !1 && test -x /lib/udev/udev-configure-printer { 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]] { /lib/udev/udev-configure-printer add $(printer#/sys) } } } matchstr $1 { start { log_daemon_msg "Starting $DESC" $NAME mkdir -p $[dirname $PIDFILE] if test $LOAD_LP_MODULE = "yes" -a -f /usr/lib/cups/backend/parallel \ -a -f /proc/devices -a -f /proc/modules -a -x /sbin/modprobe { modprobe -q -b lp || true modprobe -q -b ppdev || true modprobe -q -b parport_pc || true } start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON global status := $Status test $status = 0 && coldplug_usb_printers log_end_msg $status } stop { log_daemon_msg "Stopping $DESC" $NAME start-stop-daemon --stop --quiet --retry 5 --oknodo --pidfile $PIDFILE --name $NAME global status := $Status log_end_msg $status } reload|force-reload { log_daemon_msg "Reloading $DESC" $NAME start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME --signal 1 global status := $Status log_end_msg $status } restart { log_daemon_msg "Restarting $DESC" $NAME if start-stop-daemon --stop --quiet --retry 5 --oknodo --pidfile $PIDFILE --name $NAME { start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON } global status := $Status log_end_msg $status } status { status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $Status } * { echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" > !2 exit 3 } } exit 0