]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cups.sh.in
Load cups into easysw/current.
[thirdparty/cups.git] / cups.sh.in
diff --git a/cups.sh.in b/cups.sh.in
new file mode 100755 (executable)
index 0000000..bba1d44
--- /dev/null
@@ -0,0 +1,211 @@
+#!/bin/sh
+#
+# "$Id: cups.sh.in 4493 2005-02-18 02:09:53Z mike $"
+#
+#   Startup/shutdown script for the Common UNIX Printing System (CUPS).
+#
+#   Copyright 1997-2005 by Easy Software Products, all rights reserved.
+#
+#   These coded instructions, statements, and computer programs are the
+#   property of Easy Software Products and are protected by Federal
+#   copyright law.  Distribution and use rights are outlined in the file
+#   "LICENSE.txt" which should have been included with this file.  If this
+#   file is missing or damaged please contact Easy Software Products
+#   at:
+#
+#       Attn: CUPS Licensing Information
+#       Easy Software Products
+#       44141 Airport View Drive, Suite 204
+#       Hollywood, Maryland 20636 USA
+#
+#       Voice: (301) 373-9600
+#       EMail: cups-info@cups.org
+#         WWW: http://www.cups.org
+#
+
+#### OS-Dependent Information
+
+#
+#   Linux chkconfig stuff:
+#
+#   chkconfig: 235 99 00
+#   description: Startup/shutdown script for the Common UNIX \
+#                Printing System (CUPS).
+#
+
+#
+#   NetBSD 1.5+ rcorder script lines.  The format of the following two
+#   lines is very strict -- please don't add additional spaces!
+#
+# PROVIDE: cups
+# REQUIRE: DAEMON
+#
+
+
+#### OS-Dependent Configuration
+
+case "`uname`" in
+       IRIX*)
+               IS_ON=/sbin/chkconfig
+
+               if $IS_ON verbose; then
+                       ECHO=echo
+               else
+                       ECHO=:
+               fi
+               ECHO_OK=:
+               ECHO_ERROR=:
+               ;;
+
+       *BSD*)
+               IS_ON=:
+               ECHO=echo
+               ECHO_OK=:
+               ECHO_ERROR=:
+               ;;
+
+       Darwin*)
+               . /etc/rc.common
+
+               if test "${CUPS:=-YES-}" = "-NO-"; then
+                       exit 0
+               fi
+
+               IS_ON=:
+               ECHO=ConsoleMessage
+               ECHO_OK=:
+               ECHO_ERROR=:
+               ;;
+
+       Linux*)
+               IS_ON=/bin/true
+               if test -f /etc/init.d/functions; then
+                       . /etc/init.d/functions
+                       ECHO=echo
+                       ECHO_OK="echo_success"
+                       ECHO_ERROR="echo_failure"
+               else
+                       ECHO=echo
+                       ECHO_OK=:
+                       ECHO_ERROR=:
+               fi
+               ;;
+
+       *)
+               IS_ON=/bin/true
+               ECHO=echo
+               ECHO_OK=:
+               ECHO_ERROR=:
+               ;;
+esac
+
+#### OS-Independent Stuff
+
+#
+# Set the timezone, if possible...  This allows the
+# scheduler and all child processes to know the local
+# timezone when reporting dates and times to the user. 
+# If no timezone information is found, then Greenwich
+# Mean Time (GMT) will probably be used.
+#
+
+for file in /etc/TIMEZONE /etc/rc.config /etc/sysconfig/clock; do
+       if test -f $file; then
+               . $file
+       fi
+done
+
+if test "x$ZONE" != x; then
+       TZ="$ZONE"
+fi
+
+if test "x$TIMEZONE" != x; then
+       TZ="$TIMEZONE"
+fi
+
+if test "x$TZ" != x; then
+       export TZ
+fi
+
+#
+# See if the CUPS server (cupsd) is running...
+#
+
+case "`uname`" in
+       HP-UX* | AIX* | SINIX*)
+               pid=`ps -e | awk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'`
+               ;;
+       IRIX* | SunOS*)
+               pid=`ps -e | nawk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'`
+               ;;
+       UnixWare*)
+               pid=`ps -e | awk '{if (match($6, ".*/cupsd$") || $6 == "cupsd") print $1}'`
+               . /etc/TIMEZONE
+               ;;
+       OSF1*)
+               pid=`ps -e | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'`
+               ;;
+       Linux* | *BSD* | Darwin*)
+               pid=`ps ax | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'`
+               ;;
+       *)
+               pid=""
+               ;;
+esac
+
+#
+# Start or stop the CUPS server based upon the first argument to the script.
+#
+
+case $1 in
+       start | restart | reload)
+               if $IS_ON cups; then
+                       if test "$pid" != ""; then
+                               kill -HUP $pid
+                       else
+                               prefix=@prefix@
+                               exec_prefix=@exec_prefix@
+                               @sbindir@/cupsd
+                               if test $? != 0; then
+                                       $ECHO_FAIL
+                                       $ECHO "cups: unable to $1 scheduler."
+                                       exit 1
+                               fi
+                       fi
+                       $ECHO_OK
+                       $ECHO "cups: ${1}ed scheduler."
+               fi
+               ;;
+
+       stop)
+               if test "$pid" != ""; then
+                       kill $pid
+                       $ECHO_OK
+                       $ECHO "cups: stopped scheduler."
+               fi
+               ;;
+
+       status)
+               if test "$pid" != ""; then
+                       echo "cups: scheduler is running."
+               else
+                       echo "cups: scheduler is not running."
+               fi
+               ;;
+
+       *)
+               echo "Usage: cups {reload|restart|start|status|stop}"
+               exit 1
+               ;;
+esac
+
+#
+# Exit with no errors.
+#
+
+exit 0
+
+
+#
+# End of "$Id: cups.sh.in 4493 2005-02-18 02:09:53Z mike $".
+#