Working LSB startup script.
[guacd.git] / init.d / guacd.in
1 #!/bin/sh
2
3 # ***** BEGIN LICENSE BLOCK *****
4 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 #
6 # The contents of this file are subject to the Mozilla Public License Version
7 # 1.1 (the "License"); you may not use this file except in compliance with
8 # the License. You may obtain a copy of the License at
9 # http://www.mozilla.org/MPL/
10 #
11 # Software distributed under the License is distributed on an "AS IS" basis,
12 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 # for the specific language governing rights and limitations under the
14 # License.
15 #
16 # The Original Code is guacd.
17 #
18 # The Initial Developer of the Original Code is
19 # Michael Jumper.
20 # Portions created by the Initial Developer are Copyright (C) 2010
21 # the Initial Developer. All Rights Reserved.
22 #
23 # Contributor(s):
24 #
25 # Alternatively, the contents of this file may be used under the terms of
26 # either the GNU General Public License Version 2 or later (the "GPL"), or
27 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28 # in which case the provisions of the GPL or the LGPL are applicable instead
29 # of those above. If you wish to allow use of your version of this file only
30 # under the terms of either the GPL or the LGPL, and not to allow others to
31 # use your version of this file under the terms of the MPL, indicate your
32 # decision by deleting the provisions above and replace them with the notice
33 # and other provisions required by the GPL or the LGPL. If you do not delete
34 # the provisions above, a recipient may use your version of this file under
35 # the terms of any one of the MPL, the GPL or the LGPL.
36 #
37 # ***** END LICENSE BLOCK *****
38
39 # guacd
40 #
41 # chkconfig:   - 20 80
42 # description: Guacamole proxy daemon
43
44 ### BEGIN INIT INFO
45 # Provides:          guacd
46 # Required-Start:    $network $syslog 
47 # Required-Stop:     $network $syslog
48 # Short-Description: Guacamole proxy daemon
49 # Description: The Guacamole proxy daemon, required to translate remote desktop protocols into the text-based Guacamole protocol used by the JavaScript application.
50 ### END INIT INFO
51
52 # Source function library.
53 . /lib/lsb/init-functions
54
55 prog="guacd"
56 exec="@sbindir@/$prog"
57 pidfile="/var/run/$prog.pid"
58
59 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
60
61 start() {
62     [ -x $exec ] || exit 5
63     echo -n "Starting $prog: "
64     start_daemon -p "$pidfile" $exec -p "$pidfile" 
65     retval=$?
66
67     case "$retval" in
68         0)
69             echo "SUCCESS"
70             ;;
71         *)
72             echo "FAIL"
73             ;;
74     esac
75
76     return $retval
77 }
78
79 stop() {
80     echo -n "Stopping $prog: "
81     killproc -p "$pidfile" $prog
82     retval=$?
83
84     case "$retval" in
85         0)
86             echo "SUCCESS"
87             ;;
88         *)
89             echo "FAIL"
90             ;;
91     esac
92
93     return $retval
94 }
95
96 restart() {
97     stop
98     start
99 }
100
101 force_reload() {
102     restart
103 }
104
105 status() {
106     
107     PID=`pidofproc -p "$pidfile" $prog`
108     retval=$?
109
110     case "$retval" in
111         0)
112             echo "$prog is running with PID=$PID."
113             ;;
114         *)
115             echo "$prog is not running."
116             ;;
117     esac
118
119
120 }
121
122
123 case "$1" in
124     start|stop|status|restart|force-reload)
125         $1
126         ;;
127     *)
128         echo "Usage: $0 {start|stop|status|restart|force-reload}"
129         exit 2
130 esac
131 exit $?
132