]> git.pld-linux.org Git - packages/Zope.git/blobdiff - Zope.init
- BR: python-modules, rpm-pythonprov
[packages/Zope.git] / Zope.init
index c783a346c034ef76d04bc480eef4b984b41588dd..c24d99930426d5b563049b163b896ad67d7ed73f 100644 (file)
--- a/Zope.init
+++ b/Zope.init
@@ -27,143 +27,101 @@ else
 fi
 
 # Zope settings.
-. /etc/sysconfig/zope
+INSTANCES="main"
+[ -f /etc/sysconfig/zope ] && . /etc/sysconfig/zope
 
 
-# functions
-
-unset_vars()
-{
-    unset INSTANCE_NAME INSTANCE_HOME INST_HOME CGIBIN_BASE LOG_FILE
-    unset ZOPE_BASE ZOPE_USER NUMBER_OF_THREADS ZOPE_HOME
-    unset IP_ADDRESS HTTP_PORT FTP_PORT WEBDAV_PORT WATCHDOG
-    unset IPC_PORT LOC DEBUG_MODE DETAILED_LOG_FILE
-
-    # by default disable any access
-    HTTP_PORT="-"
-    ICP_PORT="-"
-    FTP_PORT="-"
-    WEBDAV_PORT="-"
-}
-
-start_instance()
-{
-    msg_starting "$z_name"
-
-    INST_HOME="$INSTANCE_HOME"
-    ZOPE_HOME="$INSTANCE_HOME"
-
-    export INSTANCE_NAME INSTANCE_HOME INST_HOME CGIBIN_BASE LOG_FILE
-    export ZOPE_BASE ZOPE_USER NUMBER_OF_THREADS ZOPE_HOME
-    export IP_ADDRESS HTTP_PORT FTP_PORT WATCHDOG
-    export IPC_PORT LOC DEBUG_MODE DETAILED_LOG_FILE
-
-    daemon zope-start
-    RETVAL=$?
-    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/zope
-    sleep 5
-}
-
 start_instances()
 {
-    for i in /etc/zope/instances/*
+    RETVAL=1
+    for INSTANCE_NAME in $INSTANCES
     do
-       unset_vars
-       INSTANCE_NAME=`basename $i`
-       echo "$INSTANCE_NAME" | egrep -q "rpmsave|rpmorig" && continue
-       . $i
-       PIDFILE=$INSTANCE_HOME/var/Z2.pid
-       if [ "x$INSTANCE_NAME" = "xmain" ]; then
-           z_name="Zope"
-       else
-           z_name="Zope ($INSTANCE_NAME)"
+       INSTANCE_HOME="/var/lib/zope/$INSTANCE_NAME"
+
+       if [ -f /var/lock/subsys/"zope-$INSTANCE_NAME" ]; then
+               msg_already_running "Zope instance $INSTANCE_NAME"
+               continue
        fi
-       if [ -f $PIDFILE ]; then
-           if ps -p `cat $PIDFILE` >/dev/null; then
-                   RETVAL=$?
-                   msg_already_running "$z_name"
-                   continue
-           else
-               rm -f $PIDFILE
-           fi
+
+       run_cmd "Starting Zope instance $INSTANCE_NAME" "$INSTANCE_HOME"/bin/zopectl start
+       RET=$?
+       if [ $RET -eq 0 ]; then
+               touch /var/lock/subsys/"zope-$INSTANCE_NAME"
+               RETVAL=0
        fi
-       start_instance
     done
+    return $RETVAL
 }
 
 stop_instances()
 {
-    for i in /etc/zope/instances/*
+    RETVAL=1
+    for INSTANCE_NAME in $INSTANCES
     do
-       unset_vars
-       . $i
-       PIDFILE=$INSTANCE_HOME/var/Z2.pid
-       INSTANCE_NAME=`basename $i`
-       if [ "x$INSTANCE_NAME" = "xmain" ]; then
-           z_name="Zope"
-       else
-           z_name="Zope ($INSTANCE_NAME)"
+       INSTANCE_HOME="/var/lib/zope/$INSTANCE_NAME"
+
+       if [ ! -f /var/lock/subsys/"zope-$INSTANCE_NAME" ]; then
+               msg_not_running "Zope instance $INSTANCE_NAME"
+               continue
        fi
-       
-       if [ -f $PIDFILE ]; then
-           msg_stopping "$z_name"
-           busy
-           kill `cat $PIDFILE` 2>/dev/null
-           RET=$?
-           sleep 1
-           if [ $RET -eq 0 ]; then
-               ok
-           else
-               sleep 5
-               kill -9 `cat $PIDFILE` 2>/dev/null
-               RET=$?
-               [ $RET -eq 0 ] && ok || died
-           fi
-           rm -f $PIDFILE
-       else
-           msg_not_running "$z_name"
+
+       run_cmd "Stopping Zope instance $INSTANCE_NAME" "$INSTANCE_HOME"/bin/zopectl stop
+       RET=$?
+       if [ $RET -eq 0 ]; then
+               RETVAL=0
        fi
+       rm -f /var/lock/subsys/"zope-$INSTANCE_NAME"
     done
+    return $RETVAL
 }
 
 stat_instances()
 {
-    for i in /etc/zope/instances/*
+    for INSTANCE_NAME in $INSTANCES
     do
-       unset_vars
-       . $i
+       INSTANCE_HOME=/var/lib/zope/$INSTANCE_NAME
        PIDFILE=$INSTANCE_HOME/var/Z2.pid
-       INSTANCE_NAME=`basename $i`
-       if [ "x$INSTANCE_NAME" = "xmain" ]; then
-           z_name="Zope"
-       else
-           z_name="Zope ($INSTANCE_NAME)"
-       fi
-       if [ -f $PIDFILE ]; then
-           if ps -p `cat $PIDFILE` >/dev/null; then
-               RETVAL=$?
-               nls "%s (pid %s) is running..." "$z_name" "`cat $PIDFILE`"
-           else
-               nls "%s dead but pid file exists" "$z_name"
-               RETVAL=1
-           fi
-       else
-           nls "%s is stopped" "$z_name"
-           RETVAL=2
-       fi
+       $INSTANCE_HOME/bin/zopectl status
     done
 }
 
 # See how we were called.
 case "$1" in
   start)
+               msg_starting "Zope"
+               started
                start_instances
+               RETVAL=$?
+               if [ "$RETVAL" = 0 ] ; then
+                       msg_starting "Zope"
+                       ok
+                       touch /var/lock/subsys/zope
+               else
+                       msg_starting "Zope"
+                       fail
+               fi
        ;;
   stop)
+       if [ -f /var/lock/subsys/zope ]; then
+               msg_stopping "Zope"
+               started
                stop_instances
+               RETVAL=$?
+               if [ "$RETVAL" = 0 ] ; then
+                       msg_stopping "Zope"
+                       ok
+               else
+                       msg_stopping "Zope"
+                       fail
+               fi
+               rm -f /var/lock/subsys/zope >/dev/null 2>&1
+        else
+               msg_not_running "Zope"
+                exit 1
+        fi
        ;;
   status)
-               stat_instances
+       stat_instances
        ;;
   restart|force-reload)
        $0 stop
This page took 0.060159 seconds and 4 git commands to generate.