Revert manifest to default one
[external/cups.git] / scheduler / cups.sh.in
1 #!/bin/sh
2 #
3 # "$Id: cups.sh.in 9949 2011-08-31 04:58:33Z mike $"
4 #
5 #   Startup/shutdown script for CUPS.
6 #
7 #   Copyright 2007-2011 by Apple Inc.
8 #   Copyright 1997-2007 by Easy Software Products, all rights reserved.
9 #
10 #   These coded instructions, statements, and computer programs are the
11 #   property of Apple Inc. and are protected by Federal copyright
12 #   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
13 #   which should have been included with this file.  If this file is
14 #   file is missing or damaged, see the license at "http://www.cups.org/".
15 #
16
17 #### OS-Dependent Information
18
19 #
20 #   Linux chkconfig stuff:
21 #
22 #   chkconfig: 235 99 00
23 #   description: Startup/shutdown script for CUPS.
24 #
25
26 #
27 #   NetBSD 1.5+ rcorder script lines.  The format of the following two
28 #   lines is very strict -- please don't add additional spaces!
29 #
30 # PROVIDE: cups
31 # REQUIRE: DAEMON
32 #
33
34
35 #### OS-Dependent Configuration
36
37 case "`uname`" in
38         IRIX*)
39                 IS_ON=/sbin/chkconfig
40
41                 if $IS_ON verbose; then
42                         ECHO=echo
43                 else
44                         ECHO=:
45                 fi
46                 ECHO_OK=:
47                 ECHO_ERROR=:
48                 ;;
49
50         *BSD*)
51                 IS_ON=:
52                 ECHO=echo
53                 ECHO_OK=:
54                 ECHO_ERROR=:
55                 ;;
56
57         Darwin*)
58                 . /etc/rc.common
59
60                 if test "${CUPS:=-YES-}" = "-NO-"; then
61                         exit 0
62                 fi
63
64                 IS_ON=:
65                 ECHO=ConsoleMessage
66                 ECHO_OK=:
67                 ECHO_ERROR=:
68                 ;;
69
70         Linux*)
71                 IS_ON=/bin/true
72                 if test -f /etc/init.d/functions; then
73                         . /etc/init.d/functions
74                         ECHO=echo
75                         ECHO_OK="echo_success"
76                         ECHO_ERROR="echo_failure"
77                 else
78                         ECHO=echo
79                         ECHO_OK=:
80                         ECHO_ERROR=:
81                 fi
82                 ;;
83
84         *)
85                 IS_ON=/bin/true
86                 ECHO=echo
87                 ECHO_OK=:
88                 ECHO_ERROR=:
89                 ;;
90 esac
91
92 #### OS-Independent Stuff
93
94 #
95 # Set the timezone, if possible...  This allows the scheduler and
96 # all child processes to know the local timezone when reporting
97 # dates and times to the user.  If no timezone information is
98 # found, then Greenwich Mean Time (GMT) will probably be used.
99 #
100
101 for file in /etc/TIMEZONE /etc/rc.config /etc/sysconfig/clock; do
102         if test -f $file; then
103                 . $file
104         fi
105 done
106
107 if test "x$ZONE" != x; then
108         TZ="$ZONE"
109 fi
110
111 if test "x$TIMEZONE" != x; then
112         TZ="$TIMEZONE"
113 fi
114
115 if test "x$TZ" != x; then
116         export TZ
117 fi
118
119 #
120 # Don't use TMPDIR environment variable from init script, as that can
121 # cause cupsd to set TempDir to a user's temporary directory instead
122 # of the default...
123 #
124
125 unset TMPDIR
126
127
128 #
129 # Make sure we have the standard program directories in the path
130 # since some operating systems (this means YOU HP-UX!) don't
131 # provide a standard path on boot-up...
132 #
133
134 if test "x$PATH" = x; then
135         PATH="/bin:/usr/bin:/sbin:/usr/sbin"
136 else
137         PATH="/bin:/usr/bin:/sbin:/usr/sbin:$PATH"
138 fi
139
140 export PATH
141
142 #
143 # See if the CUPS server (cupsd) is running...
144 #
145
146 case "`uname`" in
147         HP-UX* | AIX* | SINIX*)
148                 pid=`ps -e | awk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'`
149                 ;;
150         IRIX* | SunOS*)
151                 pid=`ps -e | nawk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'`
152                 ;;
153         UnixWare*)
154                 pid=`ps -e | awk '{if (match($6, ".*/cupsd$") || $6 == "cupsd") print $1}'`
155                 . /etc/TIMEZONE
156                 ;;
157         OSF1*)
158                 pid=`ps -e | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'`
159                 ;;
160         Linux* | *BSD* | Darwin*)
161                 pid=`ps ax | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'`
162                 ;;
163         *)
164                 pid=""
165                 ;;
166 esac
167
168 #
169 # Start or stop the CUPS server based upon the first argument to the script.
170 #
171
172 case $1 in
173         start | restart | reload)
174                 if $IS_ON cups; then
175                         if test -x /sbin/portrelease; then
176                                 /sbin/portrelease cups
177                         fi
178
179                         if test "$pid" != ""; then
180                                 kill -HUP $pid
181                         else
182                                 prefix=@prefix@
183                                 exec_prefix=@exec_prefix@
184                                 @sbindir@/cupsd
185                                 if test $? != 0; then
186                                         $ECHO_FAIL
187                                         $ECHO "cups: unable to $1 scheduler."
188                                         exit 1
189                                 fi
190                         fi
191                         $ECHO_OK
192                         $ECHO "cups: ${1}ed scheduler."
193                 fi
194                 ;;
195
196         stop)
197                 if test "$pid" != ""; then
198                         kill $pid
199                         $ECHO_OK
200                         $ECHO "cups: stopped scheduler."
201                 fi
202                 ;;
203
204         status)
205                 if test "$pid" != ""; then
206                         echo "cups: scheduler is running."
207                 else
208                         echo "cups: scheduler is not running."
209                 fi
210                 ;;
211
212         start_msg)
213                 # HP-UX non-standard...
214                 echo "Starting CUPS Server"
215                 ;;
216
217         stop_msg)
218                 # HP-UX non-standard...
219                 echo "Starting CUPS Server"
220                 ;;
221
222         *)
223                 echo "Usage: cups {reload|restart|start|status|stop}"
224                 exit 1
225                 ;;
226 esac
227
228 #
229 # Exit with no errors.
230 #
231
232 exit 0
233
234
235 #
236 # End of "$Id: cups.sh.in 9949 2011-08-31 04:58:33Z mike $".
237 #