Alexey Torkhov 214dc02
diff -ur cyphesis-0.5.17.old/cyphesis.init cyphesis-0.5.17/cyphesis.init
Alexey Torkhov 214dc02
--- cyphesis-0.5.17.old/cyphesis.init	2006-09-27 01:33:12.000000000 +0400
Alexey Torkhov 214dc02
+++ cyphesis-0.5.17/cyphesis.init	2008-11-08 00:03:57.000000000 +0300
Alexey Torkhov 214dc02
@@ -18,34 +18,36 @@
Alexey Torkhov 214dc02
         CYPHESISUSER=cyphesis
Alexey Torkhov 214dc02
 fi
Alexey Torkhov 214dc02
 
Alexey Torkhov 96f2e20
+CYPHESISPARAMS="--cyphesis:unixport=/var/run/cyphesis/cyphesis.sock --cyphesis:pythonport=/var/run/cyphesis/cypython.sock"
Alexey Torkhov 214dc02
+
Alexey Torkhov 214dc02
 POSTGRESUSER=postgres
Alexey Torkhov 214dc02
 
Alexey Torkhov 214dc02
 start() {
Alexey Torkhov 214dc02
         # Start the daemon.
Alexey Torkhov 214dc02
 
Alexey Torkhov 214dc02
         # Make sure postgres superuser exists
Alexey Torkhov 214dc02
-        if ! su $POSTGRESUSER -c true >/dev/null 2>&1; then
Alexey Torkhov 214dc02
+        if ! runuser $POSTGRESUSER -c true >/dev/null 2>&1; then
Alexey Torkhov 214dc02
             echo
Alexey Torkhov 214dc02
             echo $"Could not check for running PostgreSQL database."
Alexey Torkhov 214dc02
             return 1
Alexey Torkhov 214dc02
         fi
Alexey Torkhov 214dc02
 
Alexey Torkhov 214dc02
         # Make sure postgres is running
Alexey Torkhov 214dc02
-        if ! su $POSTGRESUSER -c "psql -c \"\" template1" >/dev/null 2>&1; then
Alexey Torkhov 214dc02
+        if ! runuser $POSTGRESUSER -c "psql -c \"\" template1" >/dev/null 2>&1; then
Alexey Torkhov 214dc02
             echo $"PostgreSQL server is not running."
Alexey Torkhov 214dc02
             return 1
Alexey Torkhov 214dc02
         fi
Alexey Torkhov 214dc02
 
Alexey Torkhov 214dc02
         # Make sure the user we are going to run as exists
Alexey Torkhov 214dc02
-        if ! su $CYPHESISUSER -c true >/dev/null 2>&1; then
Alexey Torkhov 214dc02
+        if ! runuser $CYPHESISUSER -c true >/dev/null 2>&1; then
Alexey Torkhov 214dc02
             echo $"Cannot find user $CYPHESISUSER to run cyphesis service."
Alexey Torkhov 214dc02
             return 1
Alexey Torkhov 214dc02
         fi
Alexey Torkhov 214dc02
 
Alexey Torkhov 214dc02
         # Make sure the user has a postgres account
Alexey Torkhov 214dc02
-        if ! su $CYPHESISUSER -c "psql -c \"\" template1" >/dev/null 2>&1; then
Alexey Torkhov 214dc02
+        if ! runuser $CYPHESISUSER -c "psql -c \"\" template1" >/dev/null 2>&1; then
Alexey Torkhov 214dc02
             echo -n $"Creating PostgreSQL account: "
Alexey Torkhov 214dc02
-            su $POSTGRESUSER -c "createuser -A -d -q -R $CYPHESISUSER" >/dev/null 2>&1
Alexey Torkhov 214dc02
+            runuser $POSTGRESUSER -c "createuser -A -d -q -R $CYPHESISUSER" >/dev/null 2>&1
Alexey Torkhov 214dc02
             RETVAL=$?
Alexey Torkhov 214dc02
             if [ $RETVAL -eq 0 ]; then
Alexey Torkhov 214dc02
                 echo_success
Alexey Torkhov 214dc02
@@ -58,10 +60,10 @@
Alexey Torkhov 214dc02
         fi
Alexey Torkhov 214dc02
 
Alexey Torkhov 214dc02
         # Make sure the database exists
Alexey Torkhov 214dc02
-        if ! su $CYPHESISUSER -c "psql -c \"\" cyphesis" >/dev/null 2>&1; then
Alexey Torkhov 214dc02
+        if ! runuser $CYPHESISUSER -c "psql -c \"\" cyphesis" >/dev/null 2>&1; then
Alexey Torkhov 214dc02
             # Create the database
Alexey Torkhov 214dc02
             echo -n $"Creating PostgreSQL database: "
Alexey Torkhov 214dc02
-            su $CYPHESISUSER -c "createdb -q cyphesis" >/dev/null 2>&1
Alexey Torkhov 214dc02
+            runuser $CYPHESISUSER -c "createdb -q cyphesis" >/dev/null 2>&1
Alexey Torkhov 214dc02
             RETVAL=$?
Alexey Torkhov 214dc02
             if [ $RETVAL -eq 0 ]; then
Alexey Torkhov 214dc02
                 echo_success
Alexey Torkhov 214dc02
@@ -73,7 +75,7 @@
Alexey Torkhov 214dc02
             echo
Alexey Torkhov 214dc02
             # Populate it with rules
Alexey Torkhov 214dc02
             echo -n $"Loading database with rules: "
Alexey Torkhov 214dc02
-            su $CYPHESISUSER -c "cyloadrules" >/dev/null 2>&1
Alexey Torkhov 214dc02
+            runuser $CYPHESISUSER -c "cyloadrules $CYPHESISPARAMS" >/dev/null 2>&1
Alexey Torkhov 214dc02
             RETVAL=$?
Alexey Torkhov 214dc02
             if [ $RETVAL -eq 0 ]; then
Alexey Torkhov 214dc02
                 echo_success
Alexey Torkhov 214dc02
@@ -88,7 +90,7 @@
Alexey Torkhov 214dc02
         echo -n $"Starting cyphesis: "
Alexey Torkhov 214dc02
 
Alexey Torkhov 214dc02
         # Run the server, in self daemonising mode
Alexey Torkhov 214dc02
-        su $CYPHESISUSER -c "/usr/bin/cyphesis --cyphesis:daemon=true" >/dev/null 2>&1
Alexey Torkhov 214dc02
+        runuser $CYPHESISUSER -c "/usr/bin/cyphesis --cyphesis:daemon=true $CYPHESISPARAMS" >/dev/null 2>&1
Alexey Torkhov 214dc02
         RETVAL=$?
Alexey Torkhov 214dc02
         if [ $RETVAL -eq 0 ]; then
Alexey Torkhov 214dc02
             echo_success
Alexey Torkhov 214dc02
@@ -96,8 +98,24 @@
Alexey Torkhov 214dc02
         else
Alexey Torkhov 214dc02
             echo_failure
Alexey Torkhov 214dc02
             echo
Alexey Torkhov 214dc02
+            return $RETVAL
Alexey Torkhov 214dc02
         fi
Alexey Torkhov 214dc02
         echo
Alexey Torkhov 214dc02
+
Alexey Torkhov 214dc02
+        if [ "$POPULATE_WORLD" == "1" ] ; then
Alexey Torkhov 214dc02
+            echo -n $"Populating cyphesis world: "
Alexey Torkhov 214dc02
+
Alexey Torkhov 214dc02
+            # Populate the world with game data
Alexey Torkhov 214dc02
+            runuser $CYPHESISUSER -c "/usr/bin/cyclient $CYPHESISPARAMS" >/dev/null 2>&1
Alexey Torkhov 214dc02
+            RETVAL=$?
Alexey Torkhov 214dc02
+            if [ $RETVAL -eq 0 ]; then
Alexey Torkhov 214dc02
+                echo_success
Alexey Torkhov 214dc02
+            else
Alexey Torkhov 214dc02
+                echo_failure
Alexey Torkhov 214dc02
+            fi
Alexey Torkhov 214dc02
+            echo
Alexey Torkhov 214dc02
+        fi
Alexey Torkhov 214dc02
+
Alexey Torkhov 214dc02
         return $RETVAL
Alexey Torkhov 214dc02
 }
Alexey Torkhov 214dc02
 
Alexey Torkhov 214dc02
@@ -107,7 +125,10 @@
Alexey Torkhov 214dc02
         killproc cyphesis
Alexey Torkhov 214dc02
         RETVAL=$?
Alexey Torkhov 214dc02
         echo
Alexey Torkhov 214dc02
-        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/cyphesis
Alexey Torkhov 214dc02
+        if [ $RETVAL -eq 0 ] ; then
Alexey Torkhov 214dc02
+            rm -f /var/lock/subsys/cyphesis
Alexey Torkhov 214dc02
+        fi
Alexey Torkhov 214dc02
+
Alexey Torkhov 214dc02
         return $RETVAL
Alexey Torkhov 214dc02
 }
Alexey Torkhov 214dc02