diff options
Diffstat (limited to 'dev-python/carbon/files/carbon.initd2')
-rw-r--r-- | dev-python/carbon/files/carbon.initd2 | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/dev-python/carbon/files/carbon.initd2 b/dev-python/carbon/files/carbon.initd2 new file mode 100644 index 000000000000..ff1509747ef1 --- /dev/null +++ b/dev-python/carbon/files/carbon.initd2 @@ -0,0 +1,53 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +export GRAPHITE_CONF_DIR=/etc/carbon +export GRAPHITE_STORAGE_DIR=/var/lib/carbon + +INSTANCE=${SVCNAME#*.} +if [ "${INSTANCE}" = "${SVCNAME}" ]; then + INSTANCE="a" +fi + +PIDFILE="/var/run/${SVCNAME}.pid" +PROGRAMNAME=${SVCNAME%%.*} + +CARBON_CONFIG=${CARBON_CONFIG:-/etc/carbon/carbon.conf} + +depend() { + use net +} + + +start_pre() { + if [ ! -f ${CARBON_CONFIG} ] ; then + eend "Missing ${CARBON_CONFIG}" + fi + case "${PROGRAMNAME}" in + "carbon-relay" ) + if `grep -q "^RELAY_METHOD = rules$" ${CARBON_CONFIG}`; then + [ -f /etc/carbon/relay-rules.conf ] || eend "Missing relay-rules.conf" + fi + ;; + "carbon-aggregator" ) + [ -f /etc/carbon/aggregation-rules.conf ] || eend "Missing missing aggregation-rules.conf" + ;; + esac +} + +start() { + ebegin "Starting ${PROGRAMNAME} instance ${INSTANCE}" + start-stop-daemon --start --exec /usr/bin/${PROGRAMNAME}.py \ + --pidfile ${PIDFILE} \ + -- --pidfile ${PIDFILE} --instance ${INSTANCE} \ + --logdir /var/log/carbon/ --config ${CARBON_CONFIG} start >/dev/null + eend $? "Failed to start ${SVCNAME}" +} + +stop() { + ebegin "Stopping ${PROGRAMNAME} instance ${INSTANCE}" + start-stop-daemon --stop \ + --pidfile ${PIDFILE} + eend $? "Failed to stop ${SVCNAME}" +} |