#! /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 setvar PATH = "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" setvar DAEMON = '/usr/sbin/cupsd' setvar NAME = 'cupsd' setvar PIDFILE = "/var/run/cups/$NAME.pid" setvar DESC = ""Common Unix Printing System"" setvar 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 # 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 { setvar 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} } } } match $1 { with start log_daemon_msg "Starting $DESC" $NAME mkdir -p $(dirname $PIDFILE) start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON setvar status = "$Status" test $status = 0 && coldplug_usb_printers log_end_msg $status with stop log_daemon_msg "Stopping $DESC" $NAME start-stop-daemon --stop --quiet --retry 5 --oknodo --pidfile $PIDFILE --name $NAME setvar status = "$Status" log_end_msg $status with reload|force-reload log_daemon_msg "Reloading $DESC" $NAME start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $NAME --signal 1 setvar status = "$Status" log_end_msg $status with 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 } setvar status = "$Status" log_end_msg $status with status status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? with * echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|status}" >&2 exit 3 } exit 0