]> git.pld-linux.org Git - packages/Zope.git/blob - Zope.init
- PLD-specific paths for Zope instance components
[packages/Zope.git] / Zope.init
1 #!/bin/sh
2 # zope
3 #
4 # chkconfig: 345 90 10
5 # description: Starts and stops the Zope instances
6 # processname: z2.py
7 # config: /etc/sysconfig/zope
8 #
9 # probe: true
10 #
11
12
13 # Source function library.
14 . /etc/rc.d/init.d/functions
15
16 # Source networking configuration.
17 . /etc/sysconfig/network
18
19 # Check that networking is up.
20 if is_yes "${NETWORKING}"; then
21         if [ ! -f /var/lock/subsys/network ]; then
22                 msg_network_down Zope
23                 exit 1
24         fi
25 else
26         exit 0
27 fi
28
29 # Zope settings.
30 . /etc/sysconfig/zope
31
32
33 # functions
34
35 unset_vars()
36 {
37     unset INSTANCE_NAME INSTANCE_HOME INST_HOME CGIBIN_BASE LOG_FILE
38     unset ZOPE_BASE ZOPE_USER NUMBER_OF_THREADS ZOPE_HOME
39     unset IP_ADDRESS HTTP_PORT FTP_PORT WEBDAV_PORT WATCHDOG
40     unset IPC_PORT LOC DEBUG_MODE DETAILED_LOG_FILE
41
42     # by default disable any access
43     HTTP_PORT="-"
44     ICP_PORT="-"
45     FTP_PORT="-"
46     WEBDAV_PORT="-"
47 }
48
49 start_instance()
50 {
51     msg_starting "$z_name"
52
53     INST_HOME="$INSTANCE_HOME"
54     ZOPE_HOME="$INSTANCE_HOME"
55
56     export INSTANCE_NAME INSTANCE_HOME INST_HOME CGIBIN_BASE LOG_FILE
57     export ZOPE_BASE ZOPE_USER NUMBER_OF_THREADS ZOPE_HOME
58     export IP_ADDRESS HTTP_PORT FTP_PORT WEBDAV_PORT WATCHDOG
59     export IPC_PORT LOC DEBUG_MODE DETAILED_LOG_FILE
60
61     daemon zope-start
62     RETVAL=$?
63     [ $RETVAL -eq 0 ] && touch /var/lock/subsys/zope
64     sleep 5
65 }
66
67 start_instances()
68 {
69     for i in /etc/zope/instances/*
70     do
71         unset_vars
72         INSTANCE_NAME=`basename $i`
73         echo "$INSTANCE_NAME" | egrep -q "rpmsave|rpmorig" && continue
74         . $i
75         PIDFILE=$INSTANCE_HOME/var/Z2.pid
76         if [ "x$INSTANCE_NAME" = "xmain" ]; then
77             z_name="Zope"
78         else
79             z_name="Zope ($INSTANCE_NAME)"
80         fi
81         if [ -f $PIDFILE ]; then
82             if ps -p `cat $PIDFILE` >/dev/null; then
83                     RETVAL=$?
84                     msg_already_running "$z_name"
85                     continue
86             else
87                 rm -f $PIDFILE
88             fi
89         fi
90         start_instance
91     done
92 }
93
94 stop_instances()
95 {
96     for i in /etc/zope/instances/*
97     do
98         unset_vars
99         . $i
100         PIDFILE=$INSTANCE_HOME/var/Z2.pid
101         INSTANCE_NAME=`basename $i`
102         if [ "x$INSTANCE_NAME" = "xmain" ]; then
103             z_name="Zope"
104         else
105             z_name="Zope ($INSTANCE_NAME)"
106         fi
107         
108         if [ -f $PIDFILE ]; then
109             msg_stopping "$z_name"
110             busy
111             kill `cat $PIDFILE` 2>/dev/null
112             RET=$?
113             sleep 1
114             if [ $RET -eq 0 ]; then
115                 ok
116             else
117                 sleep 5
118                 kill -9 `cat $PIDFILE` 2>/dev/null
119                 RET=$?
120                 [ $RET -eq 0 ] && ok || died
121             fi
122             rm -f $PIDFILE
123         else
124             msg_not_running "$z_name"
125         fi
126     done
127 }
128
129 stat_instances()
130 {
131     for i in /etc/zope/instances/*
132     do
133         unset_vars
134         . $i
135         PIDFILE=$INSTANCE_HOME/var/Z2.pid
136         INSTANCE_NAME=`basename $i`
137         if [ "x$INSTANCE_NAME" = "xmain" ]; then
138             z_name="Zope"
139         else
140             z_name="Zope ($INSTANCE_NAME)"
141         fi
142         if [ -f $PIDFILE ]; then
143             if ps -p `cat $PIDFILE` >/dev/null; then
144                 RETVAL=$?
145                 nls "%s (pid %s) is running..." "$z_name" "`cat $PIDFILE`"
146             else
147                 nls "%s dead but pid file exists" "$z_name"
148                 RETVAL=1
149             fi
150         else
151             nls "%s is stopped" "$z_name"
152             RETVAL=2
153         fi
154     done
155 }
156
157 # See how we were called.
158 case "$1" in
159   start)
160                 start_instances
161         ;;
162   stop)
163                 stop_instances
164         ;;
165   status)
166                 stat_instances
167         ;;
168   restart|force-reload)
169         $0 stop
170         $0 start
171         exit $?
172         ;;
173   *)
174         msg_usage "$0 {start|stop|restart|force-reload|status}"
175         exit 3
176         ;;
177 esac
178
179 exit $RETVAL
This page took 0.035709 seconds and 3 git commands to generate.