#!/bin/sh

# chkconfig: 345 20 80
# description: Start/Stop firebird database server
#
# This file belongs in /etc/init.d where it will be run
# on system startup and shutdown to start the background
# Firebird/interbase database server daemon 


# This init script contains functions specific for debian
# init scripts.

# Source function library.
#. /etc/init.d/functions


FIREBIRD=/usr/lib/firebird2

# these are defaults
ISC_USER=SYSDBA
ISC_PASSWORD=masterkey

DBAPasswordFile=/etc/firebird2/SYSDBA.password

# read actual password from SYSDBA.password if it exists

[ -e "$DBAPasswordFile" ] && source "$DBAPasswordFile"

FBRunUser=firebird
FB_OPTS="-start -forever"
# WARNING: in a real-world installation, you should not put the 
# SYSDBA password in a publicly-readable file. 
# Eventually this file should not need to contain any passwords.
# as root user alone should be sufficient privledge to stop/start 
# the server. 


export FIREBIRD 
export ISC_USER
export ISC_PASSWORD


# Check the file is there and is executable.
MANAGER=$FIREBIRD/bin/fbmgr.bin
[ -x $MANAGER ] || exit 0

# See how we were called.
case "$1" in
  start)
	echo -n "Starting Firebird server: "
	start-stop-daemon --start --quiet --oknodo --chuid $FBRunUser --exec $MANAGER -- $FB_OPTS
	RETVAL=$?
	;;
  stop)
	echo -n "Stopping Firebird server: "
#	start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/firebird.pid
	$MANAGER -shut
	RETVAL=$?
	;;
  restart|reload)
	$0 stop
	$0 start
	RETVAL=$?
	;;
  shutdown)
  	echo -n "Forcibly killing Firebird server..."
	killall fbguard
	killall fbserver
	echo "done."
	RETVAL=0
	;;
  force-reload)
	echo -n "Forcibly relad Firebird server..."
	$0 shutdown
	$0 start
	RETVAL=$?
	;;
  *)
	echo "Usage: firebird {start|stop|shutdown|restart|reload|force-reload}"
	exit 1
esac

exit $RETVAL

