summaryrefslogtreecommitdiff
blob: 3c73041365d3de9d19e0ee9fecd8651c1ae6fb43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/sbin/openrc-run
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

command=${JOBQUEUE_PATH}
JOBQUEUE_USER=${JOBQUEUE_USER:-root}
JOBQUEUE_GROUP=${JOBQUEUE_GROUP:-root}
command_user="${JOBQUEUE_USER}:${JOBQUEUE_GROUP}"
pidfile="/var/run/bugzilla/${RC_SVCNAME}.pid"
command_args="-p ${pidfile} -n ${RC_SVCNAME} start"
if [ "${supervisor}" = "supervise-daemon" ]; then
	command_args="-f ${command_args}"
	pidfile="/var/run/bugzilla/${RC_SVCNAME}.supervise.pid"
fi

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_pre() {
	checkconfig || return 1

	piddir="${pidfile%/*}"
	if [ ! -d "${piddir}" ]; then
		checkpath -q -d -o "${command_user}" -m 0770 "${piddir}" || {
			eend 1
			return 1
		}
	fi
}

stop_pre() {
	checkconfig || return 1
}