diff options
Diffstat (limited to 'dev-python/carbon/files/carbon.initd')
-rw-r--r-- | dev-python/carbon/files/carbon.initd | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/dev-python/carbon/files/carbon.initd b/dev-python/carbon/files/carbon.initd new file mode 100644 index 000000000000..6fd12c60e785 --- /dev/null +++ b/dev-python/carbon/files/carbon.initd @@ -0,0 +1,52 @@ +#!/sbin/runscript +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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" ) + [ -f /etc/carbon/relay-rules.conf ] || eend "Missing relay-rules.conf" + ;; + "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}" +} |