diff --git a/builds/install/arch-specific/linux/misc/firebird.init.d.mandrake.in b/builds/install/arch-specific/linux/misc/firebird.init.d.mandrake.in index 4a024d1e3e..41b84f2eef 100644 --- a/builds/install/arch-specific/linux/misc/firebird.init.d.mandrake.in +++ b/builds/install/arch-specific/linux/misc/firebird.init.d.mandrake.in @@ -7,49 +7,61 @@ # on system startup and shutdown to start the background # Firebird/interbase database server daemon - -# This init script contains functions specific for redhat -# and mandrake init scripts. - -# Source function library. +# Source function library - RedHat or Mandriva specific +# functions actually used: checkpid success failure . /etc/rc.d/init.d/functions - +# To run more instances of firebird: +# Copy @prefix@ somewhere +# Copy this script under a new name +# Change at least INSTANCE and FIREBIRD below +# Edit the copied firebird.conf to change at least RemoteServicePort +# Optionally run chkconfig to autostart the new service +INSTANCE=default FIREBIRD=@prefix@ + +# No changes needed below for multiple instances FBRunUser=firebird -pidfile=/var/run/firebird/`basename $0`.pid - -export FIREBIRD +pidfile=/var/run/firebird/$INSTANCE.pid +FULLNAME="Firebird server [$INSTANCE]" +LD_LIBRARY_PATH=$FIREBIRD/lib +export FIREBIRD LD_LIBRARY_PATH # Check the file is there and is executable. -[ -x $FIREBIRD/bin/fbmgr ] || exit 1 - - +[ -x $FIREBIRD/bin/fbmgr.bin ] || exit 1 # See how we were called. case "$1" in start) - echo -n "Starting Firebird server: " + echo -n "Starting $FULLNAME " - daemon --user $FBRunUser $FIREBIRD/bin/fbmgr -pidfile $pidfile -start -forever + runuser -s /bin/bash $FBRunUser -c "$FIREBIRD/bin/fbmgr.bin -pidfile $pidfile -start -forever" RETVAL=$? + [ $RETVAL -eq 0 ] && success || failure echo ;; stop) - echo -n "Stopping Firebird server: " + echo -n "Stopping $FULLNAME " if [ -f $pidfile ] then kill `cat $pidfile` fi RETVAL=$? -# echo -# [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/identd + [ $RETVAL -eq 0 ] && success || failure + echo ;; status) - status fbserver - RETVAL=$? + if [ -f $pidfile ] + then + pid=`cat $pidfile` + checkpid $pid + RETVAL=$? + [ $RETVAL -eq 0 ] && echo "$FULLNAME is running (pid $pid)" || echo "$FULLNAME is dead but pid file exists" + else + echo "$FULLNAME is stopped" + fi ;; restart|reload) $0 stop