#!/bin/bash

. /etc/sysconfig/boinc

PIDFILE="/var/run/boinc.pid"
PROGRAM="/usr/bin/boinc_client"
ARGS="-dir ${BOINC_HOME}"
RUNLEVEL=3
NEEDS="+network +remote_fs"

. /etc/init.d/smgl_init

function start()
{
   if [ -f ${PIDFILE} ]; then
     echo "Boinc is already running"
     exit 1
   fi

   if ! [ -d ${BOINC_LOGDIR} ]; then
     mkdir -p ${BOINC_LOGDIR}
     chown boinc:boinc ${BOINC_LOGDIR}
   fi

   if ! [ -d ${BOINC_HOME} ]; then
     mkdir -p ${BOINC_HOME}
     chown boinc:boinc ${BOINC_HOME}
   fi

  if [ -z ${BOINC_URL} ]; then
    echo "Setup BOINC_URL in /etc/sysconfig/boinc..."
    exit 1
  fi

  if [ -z ${BOINC_KEY} ]; then
    echo "Setup BOINC_KEY in /etc/sysconfig/boinc..."
    exit 1
  fi

  echo "Starting boinc..."
  cd ${BOINC_HOME}
  ${PROGRAM} ${ARGS} -attach_project ${BOINC_URL} ${BOINC_KEY} ${BOINC_PARMS} >> ${BOINC_LOG} 2>>${BOINC_ERROR} &
  pidof ${PROGRAM} > ${PIDFILE}
}

function stop() {
  echo "Stopping boinc..."
  kill $(pidof ${PROGRAM}) 2>/dev/null
  rm -f ${PIDFILE} 2>/dev/null
}

function restart() {
  stop     &&
  sleep 2  &&
  start
}
