diff options
Diffstat (limited to 'www-apps/bugzilla/files/bugzilla-queue.initd')
-rw-r--r-- | www-apps/bugzilla/files/bugzilla-queue.initd | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/www-apps/bugzilla/files/bugzilla-queue.initd b/www-apps/bugzilla/files/bugzilla-queue.initd new file mode 100644 index 000000000000..f4038abd8d59 --- /dev/null +++ b/www-apps/bugzilla/files/bugzilla-queue.initd @@ -0,0 +1,39 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +PIDFILE="/var/run/bugzilla/${SVCNAME}.pid" +JOBQUEUE_USER=${JOBQUEUE_USER:-root} +JOBQUEUE_GROUP=${JOBQUEUE_GROUP:-root} + +checkconfig() { + [[ -z "${JOBQUEUE_USER}" || -z "$(getent passwd ${JOBQUEUE_USER})" ]] && { eerror "JOBQUEUE_USER not set or doesn't exist"; return 1; } + [[ -z "${JOBQUEUE_GROUP}" || -z "$(getent group ${JOBQUEUE_GROUP})" ]] && { eerror "JOBQUEUE_GROUP not set or doesn't exist"; return 1; } + [[ -z "${JOBQUEUE_PATH}" && ! -x "${JOBQUEUE_PATH}" ]] && { eerror "JOBQUEUE_PATH not set or not executable"; return 1; } + return 0 +} + +start() { + ebegin "Starting ${SVCNAME}" + checkconfig || return 1 + + piddir="${PIDFILE%/*}" + if [ ! -d "${piddir}" ]; then + checkpath -q -d -o $JOBQUEUE_USER:$JOBQUEUE_GROUP -m 0770 "${piddir}" || { + eend 1 + return 1 + } + fi + + start-stop-daemon --start --pidfile $PIDFILE --user $JOBQUEUE_USER --group $JOBQUEUE_GROUP \ + --exec $JOBQUEUE_PATH -- -p $PIDFILE -n $SVCNAME start 1>/dev/null + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + checkconfig || return 1 + start-stop-daemon --pidfile $PIDFILE --stop --exec $JOBQUEUE_PATH -- -p $PIDFILE -n $SVCNAME stop + eend $? +} |