#! /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 setglobal PATH = '/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin' setglobal DAEMON = '/usr/sbin/cupsd' setglobal NAME = 'cupsd' setglobal PIDFILE = "/var/run/cups/$NAME.pid" setglobal DESC = '"Common Unix Printing System'" setglobal 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 { setglobal 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 setglobal 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 setglobal 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 setglobal 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 } setglobal 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