Load cups into easysw/current.
[thirdparty/cups.git] / cups.sh.in
1 #!/bin/sh
2 #
3 # "$Id: cups.sh.in 4493 2005-02-18 02:09:53Z mike $"
4 #
5 #   Startup/shutdown script for the Common UNIX Printing System (CUPS).
6 #
7 #   Copyright 1997-2005 by Easy Software Products, all rights reserved.
8 #
9 #   These coded instructions, statements, and computer programs are the
10 #   property of Easy Software Products and are protected by Federal
11 #   copyright law.  Distribution and use rights are outlined in the file
12 #   "LICENSE.txt" which should have been included with this file.  If this
13 #   file is missing or damaged please contact Easy Software Products
14 #   at:
15 #
16 #       Attn: CUPS Licensing Information
17 #       Easy Software Products
18 #       44141 Airport View Drive, Suite 204
19 #       Hollywood, Maryland 20636 USA
20 #
21 #       Voice: (301) 373-9600
22 #       EMail: cups-info@cups.org
23 #         WWW: http://www.cups.org
24 #
25
26 #### OS-Dependent Information
27
28 #
29 #   Linux chkconfig stuff:
30 #
31 #   chkconfig: 235 99 00
32 #   description: Startup/shutdown script for the Common UNIX \
33 #                Printing System (CUPS).
34 #
35
36 #
37 #   NetBSD 1.5+ rcorder script lines.  The format of the following two
38 #   lines is very strict -- please don't add additional spaces!
39 #
40 # PROVIDE: cups
41 # REQUIRE: DAEMON
42 #
43
44
45 #### OS-Dependent Configuration
46
47 case "`uname`" in
48         IRIX*)
49                 IS_ON=/sbin/chkconfig
50
51                 if $IS_ON verbose; then
52                         ECHO=echo
53                 else
54                         ECHO=:
55                 fi
56                 ECHO_OK=:
57                 ECHO_ERROR=:
58                 ;;
59
60         *BSD*)
61                 IS_ON=:
62                 ECHO=echo
63                 ECHO_OK=:
64                 ECHO_ERROR=:
65                 ;;
66
67         Darwin*)
68                 . /etc/rc.common
69
70                 if test "${CUPS:=-YES-}" = "-NO-"; then
71                         exit 0
72                 fi
73
74                 IS_ON=:
75                 ECHO=ConsoleMessage
76                 ECHO_OK=:
77                 ECHO_ERROR=:
78                 ;;
79
80         Linux*)
81                 IS_ON=/bin/true
82                 if test -f /etc/init.d/functions; then
83                         . /etc/init.d/functions
84                         ECHO=echo
85                         ECHO_OK="echo_success"
86                         ECHO_ERROR="echo_failure"
87                 else
88                         ECHO=echo
89                         ECHO_OK=:
90                         ECHO_ERROR=:
91                 fi
92                 ;;
93
94         *)
95                 IS_ON=/bin/true
96                 ECHO=echo
97                 ECHO_OK=:
98                 ECHO_ERROR=:
99                 ;;
100 esac
101
102 #### OS-Independent Stuff
103
104 #
105 # Set the timezone, if possible...  This allows the
106 # scheduler and all child processes to know the local
107 # timezone when reporting dates and times to the user. 
108 # If no timezone information is found, then Greenwich
109 # Mean Time (GMT) will probably be used.
110 #
111
112 for file in /etc/TIMEZONE /etc/rc.config /etc/sysconfig/clock; do
113         if test -f $file; then
114                 . $file
115         fi
116 done
117
118 if test "x$ZONE" != x; then
119         TZ="$ZONE"
120 fi
121
122 if test "x$TIMEZONE" != x; then
123         TZ="$TIMEZONE"
124 fi
125
126 if test "x$TZ" != x; then
127         export TZ
128 fi
129
130 #
131 # See if the CUPS server (cupsd) is running...
132 #
133
134 case "`uname`" in
135         HP-UX* | AIX* | SINIX*)
136                 pid=`ps -e | awk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'`
137                 ;;
138         IRIX* | SunOS*)
139                 pid=`ps -e | nawk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'`
140                 ;;
141         UnixWare*)
142                 pid=`ps -e | awk '{if (match($6, ".*/cupsd$") || $6 == "cupsd") print $1}'`
143                 . /etc/TIMEZONE
144                 ;;
145         OSF1*)
146                 pid=`ps -e | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'`
147                 ;;
148         Linux* | *BSD* | Darwin*)
149                 pid=`ps ax | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'`
150                 ;;
151         *)
152                 pid=""
153                 ;;
154 esac
155
156 #
157 # Start or stop the CUPS server based upon the first argument to the script.
158 #
159
160 case $1 in
161         start | restart | reload)
162                 if $IS_ON cups; then
163                         if test "$pid" != ""; then
164                                 kill -HUP $pid
165                         else
166                                 prefix=@prefix@
167                                 exec_prefix=@exec_prefix@
168                                 @sbindir@/cupsd
169                                 if test $? != 0; then
170                                         $ECHO_FAIL
171                                         $ECHO "cups: unable to $1 scheduler."
172                                         exit 1
173                                 fi
174                         fi
175                         $ECHO_OK
176                         $ECHO "cups: ${1}ed scheduler."
177                 fi
178                 ;;
179
180         stop)
181                 if test "$pid" != ""; then
182                         kill $pid
183                         $ECHO_OK
184                         $ECHO "cups: stopped scheduler."
185                 fi
186                 ;;
187
188         status)
189                 if test "$pid" != ""; then
190                         echo "cups: scheduler is running."
191                 else
192                         echo "cups: scheduler is not running."
193                 fi
194                 ;;
195
196         *)
197                 echo "Usage: cups {reload|restart|start|status|stop}"
198                 exit 1
199                 ;;
200 esac
201
202 #
203 # Exit with no errors.
204 #
205
206 exit 0
207
208
209 #
210 # End of "$Id: cups.sh.in 4493 2005-02-18 02:09:53Z mike $".
211 #