#!/bin/bash
#
#    /etc/rc.d/init.d/droonga-http-server
#
#    <A HTTP Protocol Adapter for Droonga>
# chkconfig: 2345 20 80

# TODO: we have to migrate to systemd based management in near future...
SYSTEMCTL_SKIP_REDIRECT=yes

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

NAME=droonga-http-server
USER=$NAME
GROUP=droonga
DAEMON=/usr/bin/$NAME
export DROONGA_BASE_DIR=/home/$NAME/droonga
cd $DROONGA_BASE_DIR
PIDFILE=/run/$NAME/$NAME.pid
DAEMON_ARGS="--daemon --pid-file=$PIDFILE"

# This directory is required to write PID file by non-root user.
pid_dir=/run/$NAME
mkdir -p $pid_dir
chown -R $USER:$GROUP $pid_dir

[ -x $DAEMON ] || exit 0

start() {
  echo -n "Starting $NAME: "
  daemon --user $USER --pidfile $PIDFILE $DAEMON $DAEMON_ARGS
  RET_CODE=$?
  touch /var/lock/subsys/$NAME
  return $RET_CODE
}

stop() {
  echo -n "Shutting down $NAME: "
  killproc -p $PIDFILE $DAEMON
  RET_CODE=$?
  rm -f /var/lock/subsys/$NAME
  return $RET_CODE
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  status)
    # Note: "-p" option is required to detect the status correctly!
    #       (otherwise it fails by too long $NAME - maybe.)
    status -p $PIDFILE $NAME
    ;;
  restart)
    stop
    start
    ;;
  *)
    echo "Usage: $NAME {start|stop|status|reload|restart[|probe]"
    exit 1
    ;;
esac
exit $?
