blob: 9215c6bef6e2ff69da01aabb22c00ed19f092b29 [file] [log] [blame]
#!/bin/sh
#
# "$Id$"
#
# Startup/shutdown script for CUPS.
#
# Copyright 2007-2011 by Apple Inc.
# Copyright 1997-2007 by Easy Software Products, all rights reserved.
#
# These coded instructions, statements, and computer programs are the
# property of Apple Inc. 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
# file is missing or damaged, see the license at "http://www.cups.org/".
#
#### OS-Dependent Information
#
# Linux chkconfig stuff:
#
# chkconfig: 235 99 00
# description: Startup/shutdown script for 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
#
# Don't use TMPDIR environment variable from init script, as that can
# cause cupsd to set TempDir to a user's temporary directory instead
# of the default...
#
unset TMPDIR
#
# Make sure we have the standard program directories in the path
# since some operating systems (this means YOU HP-UX!) don't
# provide a standard path on boot-up...
#
if test "x$PATH" = x; then
PATH="/bin:/usr/bin:/sbin:/usr/sbin"
else
PATH="/bin:/usr/bin:/sbin:/usr/sbin:$PATH"
fi
export PATH
#
# 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
;;
start_msg)
# HP-UX non-standard...
echo "Starting CUPS Server"
;;
stop_msg)
# HP-UX non-standard...
echo "Starting CUPS Server"
;;
*)
echo "Usage: cups {reload|restart|start|status|stop}"
exit 1
;;
esac
#
# Exit with no errors.
#
exit 0
#
# End of "$Id$".
#