Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

adds debian packaging for 0.9.11-pre1

  • Loading branch information...
commit 2983c6bdabcee8d44a0644b2b5ae3afbaea2bc47 1 parent 0e6f937
Lars Fronius authored
View
7 debian/carbon.carbon-aggregator.default
@@ -0,0 +1,7 @@
+# If NO_START is set, the init script will not start or restart
+# (but stop will still work). Uncomment this if you are
+# starting via some other means or if you don't want slapd normally
+# started at boot.
+# If you want to set up carbon, please check
+# /usr/share/doc/carbon/examples/conf/ for example configurations
+NO_START=1
View
286 debian/carbon.carbon-aggregator.init
@@ -0,0 +1,286 @@
+#! /bin/bash
+### BEGIN INIT INFO
+# Provides: carbon-aggregator
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Carbon-aggregator initscript
+# Description: This file should be used to construct scripts to be
+# placed in /etc/init.d.
+### END INIT INFO
+
+# Author: Lars Fronius <lars@jimdo.com>
+#
+
+# Do NOT "set -e"
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="Description of the carbon-aggregator"
+NAME=carbon-aggregator
+DAEMON=/usr/bin/$NAME
+DAEMON_ARGS=""
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+# and status_of_proc is working.
+. /lib/lsb/init-functions
+
+getport () {
+CARBON=$(echo ${NAME} | cut -d '-' -f 2)
+python << EOF
+import ConfigParser
+config = ConfigParser.ConfigParser()
+try:
+ config.read("/etc/carbon/carbon.conf")
+ print config.get("$CARBON","$1")
+except Error:
+ print ''
+EOF
+}
+
+getpiddir () {
+CARBON=$(echo ${NAME} | cut -d '-' -f 2)
+python << EOF
+import ConfigParser
+config = ConfigParser.ConfigParser()
+config.read("/etc/carbon/carbon.conf")
+print config.get("$CARBON","PID_DIR");
+EOF
+}
+
+check_for_no_start() {
+ if [ -n "$NO_START" ]; then
+ echo "Not starting $NAME: NO_START set in /etc/default/$NAME" >&2
+ exit 0
+ fi
+ for CONFIG in "/etc/carbon/carbon.conf" "/etc/carbon/storage-schemas.conf" "/etc/carbon/aggregation-rules.conf"; do
+ if ! [ -f $CONFIG ]; then
+ log_progress_msg "$CONFIG is missing, won't start!"
+ exit 0
+ fi
+ done
+}
+
+check_if_running() {
+ # Return
+ # 0 if running
+ # 1 if stopped
+ # 2 if partially running
+ # 3 if undefined
+ local running=0
+ local counter=0
+ for PORT in $CARBON_PICKLE_RECEIVER_PORT $CARBON_LINE_RECEIVER_PORT; do
+ fuser -n tcp $PORT > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ ((running++))
+ elif [ "$1" = "verbose" ]; then
+ log_progress_msg "Port $PORT has not been assigned, which it should according to /etc/carbon/carbon.conf"
+ fi
+ ((counter++))
+ done
+ if [ -f $CARBON_PID_DIR$NAME.pid ]; then
+ ((running++))
+ elif [ "$1" = "verbose" ]; then
+ log_progress_msg "Pid-File $CARBON_PID_DIR$NAME.pid is not created, which it should according to /etc/carbon/carbon.conf"
+ fi
+ ((counter++))
+ if [ $counter -eq $running ]; then
+ return 0
+ elif [[ $running -gt 0 && $running -ne $counter ]]; then
+ return 2
+ elif [ $running -eq 0 ]; then
+ return 1
+ else
+ return 3
+ fi
+}
+
+CARBON_PID_DIR=$(getpiddir)
+CARBON_PICKLE_RECEIVER_PORT=$(getport "PICKLE_RECEIVER_PORT")
+CARBON_LINE_RECEIVER_PORT=$(getport "LINE_RECEIVER_PORT")
+#
+# Function that starts the daemon/carbon-aggregator
+#
+do_start()
+{
+ check_for_no_start
+ if ! [ -d $CARBON_PID_DIR ]; then
+ log_progress_msg "Creating $CARBON_PID_DIR"
+ mkdir $CARBON_PID_DIR && chown carbon: $CARBON_PID_DIR
+ fi
+ # Return
+ # 0 if daemon has been started
+ # 1 if daemon was already running
+ # 2 if daemon could not be started
+ $DAEMON $DAEMON_ARGS --pidfile=$CARBON_PID_DIR$NAME.pid start > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ log_begin_msg "Starting $NAME ..."
+ local tries=10;
+ local counter=0;
+ local carbon_running=1;
+ while [ $tries -gt $counter ]; do
+ log_progress_msg "."
+ if [ $counter -eq 9 ]; then
+ check_if_running verbose
+ else
+ check_if_running
+ fi
+ if [ $? -eq 0 ]; then
+ counter=$tries;
+ carbon_running=$?
+ else
+ ((counter++))
+ fi
+ sleep 1
+ done
+ else
+ description=$(check_if_running verbose)
+ carbon_running=$?
+ if [ $carbon_running -eq 0 ]; then
+ log_progress_msg "$NAME is already running!"
+ log_progress_msg "$description"
+ elif [ $carbon_running -eq 1 ]; then
+ log_progress_msg "$NAME is stopped!"
+ elif [ $carbon_running -eq 2 ]; then
+ log_progress_msg "$NAME is partially running!"
+ log_progress_msg "$description"
+ elif [ $carbon_running -eq 3 ]; then
+ log_progress_msg "$NAME is in undefined state!"
+ fi
+ fi
+ return $carbon_running
+}
+
+#
+# Function that stops the daemon/carbon-aggregator
+#
+do_stop()
+{
+ check_for_no_start
+ # Return
+ # 0 if daemon if stopped
+ # 1 if daemon could not be stopped
+ # 2 if daemon partially stopped
+ # other if a failure occurred
+ check_if_running
+ carbon_running=$?
+ if [ $carbon_running -eq 0 ] || [ $carbon_running -eq 2 ]; then
+ $DAEMON --pidfile=$CARBON_PID_DIR$NAME.pid stop > /dev/null 2>&1
+ log_begin_msg "Waiting for service to come down ..."
+ local tries=10;
+ local counter=0;
+ local carbon_running=0;
+ while [ $tries -gt $counter ]; do
+ log_progress_msg "."
+ if [ $counter -eq 9 ]; then
+ check_if_running verbose
+ else
+ check_if_running
+ fi
+ if [ $? -eq 1 ]; then
+ counter=$tries;
+ carbon_running=$?
+ else
+ ((counter++))
+ fi
+ sleep 1
+ done
+ else
+ description=$(check_if_running verbose)
+ carbon_running=$?
+ if [ $carbon_running -eq 0 ]; then
+ log_progress_msg "$NAME could not be stopped!"
+ log_progress_msg "$description"
+ elif [ $carbon_running -eq 1 ]; then
+ log_progress_msg "$NAME is stopped!"
+ elif [ $carbon_running -eq 2 ]; then
+ log_progress_msg "$NAME is partially running!"
+ log_progress_msg "$description"
+ elif [ $carbon_running -eq 3 ]; then
+ log_progress_msg "$NAME is in undefined state!"
+ fi
+ fi
+ if [[ $carbon_running -eq 1 ]]; then
+ return=0;
+ elif [[ $carbon_running -eq 0 ]]; then
+ return=1;
+ elif [ $carbon_running -eq 2 ]; then
+ return=2;
+ elif [ $carbon_running -eq 3 ]; then
+ return=3;
+ else
+ return=3;
+ fi
+ return $return
+}
+
+case "$1" in
+ start)
+ [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ *) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ esac
+ ;;
+ stop)
+ [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ esac
+ ;;
+ status)
+ $DAEMON $DAEMON_ARGS --pidfile=$CARBON_PID_DIR$NAME.pid status && exit 0 || exit $?
+ ;;
+ #reload|force-reload)
+ #
+ # If do_reload() is not implemented then leave this commented out
+ # and leave 'force-reload' as an alias for 'restart'.
+ #
+ #log_daemon_msg "Reloading $DESC" "$NAME"
+ #do_reload
+ #log_end_msg $?
+ #;;
+ restart|force-reload)
+ #
+ # If the "reload" option is implemented then remove the
+ # 'force-reload' alias
+ #
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+ ;;
+esac
+
+:
View
7 debian/carbon.carbon-cache.default
@@ -0,0 +1,7 @@
+# If NO_START is set, the init script will not start or restart
+# (but stop will still work). Uncomment this if you are
+# starting via some other means or if you don't want slapd normally
+# started at boot.
+# If you want to set up carbon, please check
+# /usr/share/doc/carbon/examples/conf/ for example configurations
+NO_START=1
View
284 debian/carbon.carbon-cache.init
@@ -0,0 +1,284 @@
+#! /bin/bash
+### BEGIN INIT INFO
+# Provides: carbon-cache
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Carbon-Cache initscript
+# Description: This file should be used to construct scripts to be
+# placed in /etc/init.d.
+### END INIT INFO
+
+# Author: Lars Fronius <lars@jimdo.com>
+#
+
+# Do NOT "set -e"
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="Description of the carbon-cache"
+NAME=carbon-cache
+DAEMON=/usr/bin/$NAME
+DAEMON_ARGS=""
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+# and status_of_proc is working.
+. /lib/lsb/init-functions
+
+getport () {
+CARBON=$(echo ${NAME} | cut -d '-' -f 2)
+python << EOF
+import ConfigParser
+config = ConfigParser.ConfigParser()
+config.read("/etc/carbon/carbon.conf")
+print config.get("$CARBON","$1");
+EOF
+}
+
+getpiddir () {
+CARBON=$(echo ${NAME} | cut -d '-' -f 2)
+python << EOF
+import ConfigParser
+config = ConfigParser.ConfigParser()
+config.read("/etc/carbon/carbon.conf")
+print config.get("$CARBON","PID_DIR");
+EOF
+}
+
+check_for_no_start() {
+ if [ -n "$NO_START" ]; then
+ echo "Not starting $NAME: NO_START set in /etc/default/$NAME" >&2
+ exit 0
+ fi
+ for CONFIG in "/etc/carbon/carbon.conf" "/etc/carbon/storage-schemas.conf"; do
+ if ! [ -f $CONFIG ]; then
+ log_progress_msg "$CONFIG is missing, won't start!"
+ exit 0
+ fi
+ done
+}
+
+check_if_running() {
+ # Return
+ # 0 if running
+ # 1 if stopped
+ # 2 if partially running
+ # 3 if undefined
+ local running=0
+ local counter=0
+ for PORT in $CARBON_CACHE_QUERY_PORT $CARBON_PICKLE_RECEIVER_PORT $CARBON_LINE_RECEIVER_PORT; do
+ fuser -n tcp $PORT > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ ((running++))
+ elif [ "$1" = "verbose" ]; then
+ log_progress_msg "Port $PORT has not been assigned, which it should according to /etc/carbon/carbon.conf"
+ fi
+ ((counter++))
+ done
+ if [ -f $CARBON_PID_DIR$NAME.pid ]; then
+ ((running++))
+ elif [ "$1" = "verbose" ]; then
+ log_progress_msg "Pid-File $CARBON_PID_DIR$NAME.pid is not created, which it should according to /etc/carbon/carbon.conf"
+ fi
+ ((counter++))
+ if [ $counter -eq $running ]; then
+ return 0
+ elif [[ $running -gt 0 && $running -ne $counter ]]; then
+ return 2
+ elif [ $running -eq 0 ]; then
+ return 1
+ else
+ return 3
+ fi
+}
+
+CARBON_PID_DIR=$(getpiddir)
+CARBON_CACHE_QUERY_PORT=$(getport "CACHE_QUERY_PORT")
+CARBON_PICKLE_RECEIVER_PORT=$(getport "PICKLE_RECEIVER_PORT")
+CARBON_LINE_RECEIVER_PORT=$(getport "LINE_RECEIVER_PORT")
+#
+# Function that starts the daemon/carbon-cache
+#
+do_start()
+{
+ check_for_no_start
+ if ! [ -d $CARBON_PID_DIR ]; then
+ log_progress_msg "Creating $CARBON_PID_DIR"
+ mkdir $CARBON_PID_DIR && chown carbon: $CARBON_PID_DIR
+ fi
+ # Return
+ # 0 if daemon has been started
+ # 1 if daemon was already running
+ # 2 if daemon could not be started
+ $DAEMON $DAEMON_ARGS --pidfile=$CARBON_PID_DIR$NAME.pid start > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ log_begin_msg "Starting $NAME ..."
+ local tries=10;
+ local counter=0;
+ local carbon_running=1;
+ while [ $tries -gt $counter ]; do
+ log_progress_msg "."
+ if [ $counter -eq 9 ]; then
+ check_if_running verbose
+ else
+ check_if_running
+ fi
+ if [ $? -eq 0 ]; then
+ counter=$tries;
+ carbon_running=$?
+ else
+ ((counter++))
+ fi
+ sleep 1
+ done
+ else
+ description=$(check_if_running verbose)
+ carbon_running=$?
+ if [ $carbon_running -eq 0 ]; then
+ log_progress_msg "$NAME is already running!"
+ log_progress_msg "$description"
+ elif [ $carbon_running -eq 1 ]; then
+ log_progress_msg "$NAME is stopped!"
+ elif [ $carbon_running -eq 2 ]; then
+ log_progress_msg "$NAME is partially running!"
+ log_progress_msg "$description"
+ elif [ $carbon_running -eq 3 ]; then
+ log_progress_msg "$NAME is in undefined state!"
+ fi
+ fi
+ return $carbon_running
+}
+
+#
+# Function that stops the daemon/carbon-cache
+#
+do_stop()
+{
+ check_for_no_start
+ # Return
+ # 0 if daemon if stopped
+ # 1 if daemon could not be stopped
+ # 2 if daemon partially stopped
+ # other if a failure occurred
+ check_if_running
+ carbon_running=$?
+ if [ $carbon_running -eq 0 ] || [ $carbon_running -eq 2 ]; then
+ $DAEMON --pidfile=$CARBON_PID_DIR$NAME.pid stop > /dev/null 2>&1
+ log_begin_msg "Waiting for service to come down ..."
+ local tries=10;
+ local counter=0;
+ local carbon_running=0;
+ while [ $tries -gt $counter ]; do
+ log_progress_msg "."
+ if [ $counter -eq 9 ]; then
+ check_if_running verbose
+ else
+ check_if_running
+ fi
+ if [ $? -eq 1 ]; then
+ counter=$tries;
+ carbon_running=$?
+ else
+ ((counter++))
+ fi
+ sleep 1
+ done
+ else
+ description=$(check_if_running verbose)
+ carbon_running=$?
+ if [ $carbon_running -eq 0 ]; then
+ log_progress_msg "$NAME could not be stopped!"
+ log_progress_msg "$description"
+ elif [ $carbon_running -eq 1 ]; then
+ log_progress_msg "$NAME is stopped!"
+ elif [ $carbon_running -eq 2 ]; then
+ log_progress_msg "$NAME is partially running!"
+ log_progress_msg "$description"
+ elif [ $carbon_running -eq 3 ]; then
+ log_progress_msg "$NAME is in undefined state!"
+ fi
+ fi
+ if [[ $carbon_running -eq 1 ]]; then
+ return=0;
+ elif [[ $carbon_running -eq 0 ]]; then
+ return=1;
+ elif [ $carbon_running -eq 2 ]; then
+ return=2;
+ elif [ $carbon_running -eq 3 ]; then
+ return=3;
+ else
+ return=3;
+ fi
+ return $return
+}
+
+case "$1" in
+ start)
+ [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ *) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ esac
+ ;;
+ stop)
+ [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ esac
+ ;;
+ status)
+ $DAEMON $DAEMON_ARGS --pidfile=$CARBON_PID_DIR$NAME.pid status && exit 0 || exit $?
+ ;;
+ #reload|force-reload)
+ #
+ # If do_reload() is not implemented then leave this commented out
+ # and leave 'force-reload' as an alias for 'restart'.
+ #
+ #log_daemon_msg "Reloading $DESC" "$NAME"
+ #do_reload
+ #log_end_msg $?
+ #;;
+ restart|force-reload)
+ #
+ # If the "reload" option is implemented then remove the
+ # 'force-reload' alias
+ #
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+ ;;
+esac
+
+:
View
7 debian/carbon.carbon-relay.default
@@ -0,0 +1,7 @@
+# If NO_START is set, the init script will not start or restart
+# (but stop will still work). Uncomment this if you are
+# starting via some other means or if you don't want slapd normally
+# started at boot.
+# If you want to set up carbon, please check
+# /usr/share/doc/carbon/examples/conf/ for example configurations
+NO_START=1
View
283 debian/carbon.carbon-relay.init
@@ -0,0 +1,283 @@
+#! /bin/bash
+### BEGIN INIT INFO
+# Provides: carbon-relay
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Carbon-relay initscript
+# Description: This file should be used to construct scripts to be
+# placed in /etc/init.d.
+### END INIT INFO
+
+# Author: Lars Fronius <lars@jimdo.com>
+#
+
+# Do NOT "set -e"
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="Description of the carbon-relay"
+NAME=carbon-relay
+DAEMON=/usr/bin/$NAME
+DAEMON_ARGS=""
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -x "$DAEMON" ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
+# and status_of_proc is working.
+. /lib/lsb/init-functions
+
+getport () {
+CARBON=$(echo ${NAME} | cut -d '-' -f 2)
+python << EOF
+import ConfigParser
+config = ConfigParser.ConfigParser()
+config.read("/etc/carbon/carbon.conf")
+print config.get("$CARBON","$1");
+EOF
+}
+
+getpiddir () {
+CARBON=$(echo ${NAME} | cut -d '-' -f 2)
+python << EOF
+import ConfigParser
+config = ConfigParser.ConfigParser()
+config.read("/etc/carbon/carbon.conf")
+print config.get("$CARBON","PID_DIR");
+EOF
+}
+
+check_for_no_start() {
+ if [ -n "$NO_START" ]; then
+ echo "Not starting $NAME: NO_START set in /etc/default/$NAME" >&2
+ exit 0
+ fi
+ for CONFIG in "/etc/carbon/carbon.conf" "/etc/carbon/storage-schemas.conf" "/etc/carbon/relay-rules.conf"; do
+ if ! [ -f $CONFIG ]; then
+ log_progress_msg "$CONFIG is missing, won't start!"
+ exit 0
+ fi
+ done
+}
+
+check_if_running() {
+ # Return
+ # 0 if running
+ # 1 if stopped
+ # 2 if partially running
+ # 3 if undefined
+ local running=0
+ local counter=0
+ for PORT in $CARBON_PICKLE_RECEIVER_PORT $CARBON_LINE_RECEIVER_PORT; do
+ fuser -n tcp $PORT > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ ((running++))
+ elif [ "$1" = "verbose" ]; then
+ log_progress_msg "Port $PORT has not been assigned, which it should according to /etc/carbon/carbon.conf"
+ fi
+ ((counter++))
+ done
+ if [ -f $CARBON_PID_DIR$NAME.pid ]; then
+ ((running++))
+ elif [ "$1" = "verbose" ]; then
+ log_progress_msg "Pid-File $CARBON_PID_DIR$NAME.pid is not created, which it should according to /etc/carbon/carbon.conf"
+ fi
+ ((counter++))
+ if [ $counter -eq $running ]; then
+ return 0
+ elif [[ $running -gt 0 && $running -ne $counter ]]; then
+ return 2
+ elif [ $running -eq 0 ]; then
+ return 1
+ else
+ return 3
+ fi
+}
+
+CARBON_PID_DIR=$(getpiddir)
+CARBON_PICKLE_RECEIVER_PORT=$(getport "PICKLE_RECEIVER_PORT")
+CARBON_LINE_RECEIVER_PORT=$(getport "LINE_RECEIVER_PORT")
+#
+# Function that starts the daemon/carbon-relay
+#
+do_start()
+{
+ check_for_no_start
+ # Return
+ # 0 if daemon has been started
+ # 1 if daemon was already running
+ # 2 if daemon could not be started
+ if ! [ -d $CARBON_PID_DIR ]; then
+ log_progress_msg "Creating $CARBON_PID_DIR"
+ mkdir $CARBON_PID_DIR && chown carbon: $CARBON_PID_DIR
+ fi
+ $DAEMON $DAEMON_ARGS --pidfile=$CARBON_PID_DIR$NAME.pid start > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ log_begin_msg "Starting $NAME ..."
+ local tries=10;
+ local counter=0;
+ local carbon_running=1;
+ while [ $tries -gt $counter ]; do
+ log_progress_msg "."
+ if [ $counter -eq 9 ]; then
+ check_if_running verbose
+ else
+ check_if_running
+ fi
+ if [ $? -eq 0 ]; then
+ counter=$tries;
+ carbon_running=$?
+ else
+ ((counter++))
+ fi
+ sleep 1
+ done
+ else
+ description=$(check_if_running verbose)
+ carbon_running=$?
+ if [ $carbon_running -eq 0 ]; then
+ log_progress_msg "$NAME is already running!"
+ log_progress_msg "$description"
+ elif [ $carbon_running -eq 1 ]; then
+ log_progress_msg "$NAME is stopped!"
+ elif [ $carbon_running -eq 2 ]; then
+ log_progress_msg "$NAME is partially running!"
+ log_progress_msg "$description"
+ elif [ $carbon_running -eq 3 ]; then
+ log_progress_msg "$NAME is in undefined state!"
+ fi
+ fi
+ return $carbon_running
+}
+
+#
+# Function that stops the daemon/carbon-relay
+#
+do_stop()
+{
+ check_for_no_start
+ # Return
+ # 0 if daemon if stopped
+ # 1 if daemon could not be stopped
+ # 2 if daemon partially stopped
+ # other if a failure occurred
+ check_if_running
+ carbon_running=$?
+ if [ $carbon_running -eq 0 ] || [ $carbon_running -eq 2 ]; then
+ $DAEMON --pidfile=$CARBON_PID_DIR$NAME.pid stop > /dev/null 2>&1
+ log_begin_msg "Waiting for service to come down ..."
+ local tries=10;
+ local counter=0;
+ local carbon_running=0;
+ while [ $tries -gt $counter ]; do
+ log_progress_msg "."
+ if [ $counter -eq 9 ]; then
+ check_if_running verbose
+ else
+ check_if_running
+ fi
+ if [ $? -eq 1 ]; then
+ counter=$tries;
+ carbon_running=$?
+ else
+ ((counter++))
+ fi
+ sleep 1
+ done
+ else
+ description=$(check_if_running verbose)
+ carbon_running=$?
+ if [ $carbon_running -eq 0 ]; then
+ log_progress_msg "$NAME could not be stopped!"
+ log_progress_msg "$description"
+ elif [ $carbon_running -eq 1 ]; then
+ log_progress_msg "$NAME is stopped!"
+ elif [ $carbon_running -eq 2 ]; then
+ log_progress_msg "$NAME is partially running!"
+ log_progress_msg "$description"
+ elif [ $carbon_running -eq 3 ]; then
+ log_progress_msg "$NAME is in undefined state!"
+ fi
+ fi
+ if [[ $carbon_running -eq 1 ]]; then
+ return=0;
+ elif [[ $carbon_running -eq 0 ]]; then
+ return=1;
+ elif [ $carbon_running -eq 2 ]; then
+ return=2;
+ elif [ $carbon_running -eq 3 ]; then
+ return=3;
+ else
+ return=3;
+ fi
+ return $return
+}
+
+case "$1" in
+ start)
+ [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ *) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ esac
+ ;;
+ stop)
+ [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+ 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+ esac
+ ;;
+ status)
+ $DAEMON $DAEMON_ARGS --pidfile=$CARBON_PID_DIR$NAME.pid status && exit 0 || exit $?
+ ;;
+ #reload|force-reload)
+ #
+ # If do_reload() is not implemented then leave this commented out
+ # and leave 'force-reload' as an alias for 'restart'.
+ #
+ #log_daemon_msg "Reloading $DESC" "$NAME"
+ #do_reload
+ #log_end_msg $?
+ #;;
+ restart|force-reload)
+ #
+ # If the "reload" option is implemented then remove the
+ # 'force-reload' alias
+ #
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+ ;;
+ *)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+ ;;
+esac
+
+:
View
5 debian/carbon.dirs
@@ -0,0 +1,5 @@
+/etc/carbon
+/var/lib/carbon
+/var/lib/carbon/whisper
+/var/lib/carbon/lists
+/var/log/carbon
View
1  debian/carbon.examples
@@ -0,0 +1 @@
+conf
View
7 debian/carbon.logrotate
@@ -0,0 +1,7 @@
+/var/log/carbon/*/*.log {
+ daily
+ rotate 5
+ missingok
+ copytruncate
+ compress
+}
View
18 debian/carbon.postinst
@@ -1,18 +0,0 @@
-#!/bin/bash
-
-# Configure init scripts
-INIT_SCRIPTS="carbon-cache carbon-relay carbon-aggregator";
-for s in $INIT_SCRIPTS; do
- /bin/chmod +x /etc/init.d/${s};
- /usr/sbin/update-rc.d ${s} defaults
-done;
-
-GRAPHITE_PATH=/opt/graphite
-CONFFILES="carbon.conf relay-rules.conf storage-schemas.conf storage-aggregation.conf"
-for i in $CONFFILES; do
- if [ ! -e ${GRAPHITE_PATH}/conf/$i ]; then
- /bin/echo "No pre-existing $i - creating from example."
- /bin/cp ${GRAPHITE_PATH}/conf/$i.example ${GRAPHITE_PATH}/conf/$i;
- fi;
-done;
-
View
1  debian/carbon.triggers
@@ -0,0 +1 @@
+activate twisted-plugins-cache
View
42 debian/changelog
@@ -0,0 +1,42 @@
+carbon (0.9.11-pre1+nmu1) unstable; urgency=low
+
+ * Update to 0.9.11-pre1
+
+ -- Lars Fronius <lars@jimdo.com> Fri, 08 Mar 2013 10:38:45 +0100
+
+carbon (0.9.10+nmu1) unstable; urgency=low
+
+ * Update to new graphite release
+
+ -- Lars Fronius <lars@jimdo.com> Tue, 12 Jun 2012 18:30:42 +0100
+
+carbon (0.9.9+nmu4) unstable; urgency=low
+
+ * Disables automatic logrotation, that twisted does
+
+ -- Lars Fronius <lars@jimdo.com> Wed, 07 Mar 2012 15:04:02 +0100
+
+carbon (0.9.9+nmu3) unstable; urgency=low
+
+ * Fixes logrotation
+
+ -- Lars Fronius <lars@jimdo.com> Mon, 05 Mar 2012 11:33:17 +0100
+
+carbon (0.9.9+nmu2) unstable; urgency=low
+
+ * Fixes restart in init
+
+ -- Lars Fronius <lars@jimdo.com> Wed, 25 Jan 2012 21:44:55 +0100
+
+carbon (0.9.9+nmu1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * init scripts, patches to use /etc/carbon
+
+ -- Lars Fronius <lars@jimdo.com> Tue, 20 Dec 2011 17:36:02 +0100
+
+carbon (0.9.6) unstable; urgency=low
+
+ * Initial release
+
+ -- Arthur Gautier <arthur.gautier@savoirfairelinux.com> Mon, 15 Feb 2010 11:15:22 -0500
View
1  debian/compat
@@ -0,0 +1 @@
+7
View
15 debian/control
@@ -0,0 +1,15 @@
+Source: carbon
+Section: utils
+Priority: optional
+Maintainer: Lars Fronius <lars@jimdo.com>
+Build-Depends: debhelper (>= 7), python-all-dev, python-setuptools (>= 0.6b3-1~), quilt (>= 0.46-7~)
+Standards-Version: 3.8.4
+Homepage: http://graphite.wikidot.com
+Vcs-Svn: http://bazaar.launchpad.net/~graphite-dev/graphite/main/
+Vcs-Browser: https://code.launchpad.net/graphite
+
+Package: carbon
+Architecture: all
+Depends: ${python:Depends}, python-twisted (>= 10.1), python-whisper (>= 0.9.10), psmisc, adduser
+XB-Python-Version: ${python:Versions}
+Description: Backend data caching and persistence daemon for Graphite
View
202 debian/copyright
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
View
13 debian/patches/deal-with-usr-conf.diff
@@ -0,0 +1,13 @@
+--- a/lib/carbon/conf.py
++++ b/lib/carbon/conf.py
+@@ -461,9 +463,7 @@
+
+ # Default config directory to root-relative, unless overriden by the
+ # 'GRAPHITE_CONF_DIR' environment variable.
+- settings.setdefault("CONF_DIR",
+- os.environ.get("GRAPHITE_CONF_DIR",
+- join(graphite_root, "conf")))
++ settings.setdefault("CONF_DIR", "/etc/carbon/")
+ if options["config"] is None:
+ options["config"] = join(settings["CONF_DIR"], "carbon.conf")
+ else:
View
9 debian/patches/install-path.diff
@@ -0,0 +1,9 @@
+Index: graphite-packaging/setup.cfg
+===================================================================
+--- graphite-packaging.orig/setup.cfg 2010-09-13 19:03:25.060909545 +0300
++++ graphite-packaging/setup.cfg 2010-09-13 19:03:32.904912564 +0300
+@@ -1,3 +1 @@
+-[install]
+-prefix = /opt/graphite
+-install-lib = %(prefix)s/lib
++
View
2  debian/patches/series
@@ -0,0 +1,2 @@
+install-path.diff
+deal-with-usr-conf.diff
View
51 debian/postinst
@@ -0,0 +1,51 @@
+#!/bin/bash -e
+
+#DEBHELPER#
+
+read_defaults() {
+ echo $(python << EOF
+import ConfigParser
+config = ConfigParser.ConfigParser()
+config.read("/etc/carbon/carbon.conf")
+print config.get("DEFAULT","$1");
+EOF
+)
+}
+
+create_new_user() {
+# creating group if he isn't already there
+ if [ -z "`getent group $CARBON_USER`" ]; then
+ addgroup --quiet --system $CARBON_USER
+ fi
+# creating carbon user if he isn't already there
+ if [ -z "`getent passwd $CARBON_USER`" ]; then
+ echo -n " Creating new user $CARBON_USER... " >&2
+ adduser --quiet --system --no-create-home --home /var/lib/carbon --shell /bin/false \
+ --ingroup $USER --disabled-password --disabled-login \
+ --gecos "Carbon Server Account" $CARBON_USER
+ echo "done." >&2
+ fi
+}
+
+update_permissions() {
+ dir="$1"
+ if [ -d "$dir" ]; then
+ [ -z "$CARBON_USER" ] || chown -R "$CARBON_USER" "$dir"
+ [ -z "$CARBON_USER" ] || chgrp -R "$CARBON_USER" "$dir"
+ fi
+}
+
+CARBON_USER=$(read_defaults USER)
+STORAGE_DIR=$(read_defaults STORAGE_DIR)
+CONF_DIR=$(read_defaults CONF_DIR)
+LOG_DIR=$(read_defaults LOG_DIR)
+PID_DIR=$(read_defaults PID_DIR)
+
+if [ -n $CARBON_USER ]; then
+ create_new_user
+ for DIR in $STORAGE_DIR $CONF_DIR $LOG_DIR $PID_DIR; do
+ if [ -n $DIR ]; then
+ update_permissions $DIR
+ fi
+ done
+fi
View
32 debian/prerm
@@ -0,0 +1,32 @@
+#!/bin/bash -e
+
+#DEBHELPER#
+
+read_defaults() {
+ echo $(python << EOF
+import ConfigParser
+config = ConfigParser.ConfigParser()
+config.read("/etc/carbon/carbon.conf")
+print config.get("DEFAULT","$1");
+EOF
+)
+}
+
+delete_user() {
+# deleted group if it is there
+ if [ -n "`getent group $CARBON_USER`" ]; then
+ delgroup --quiet --system $CARBON_USER
+ fi
+# delete user if it is there
+ if [ -n "`getent passwd $CARBON_USER`" ]; then
+ echo -n " Deleting user $CARBON_USER... " >&2
+ deluser --quiet --system $CARBON_USER
+ echo "done." >&2
+ fi
+}
+
+CARBON_USER=$(read_defaults USER)
+
+if [ -n $CARBON_USER ]; then
+ delete_user
+fi
View
1  debian/pycompat
@@ -0,0 +1 @@
+2
View
21 debian/rules
@@ -0,0 +1,21 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+%:
+ dh --with python2,quilt $@
+
+override_dh_installinit:
+ dh_installinit --name carbon-cache
+ dh_installinit --name carbon-relay
+ dh_installinit --name carbon-aggregator
+
+override_dh_installdeb:
+ dh_installdeb
+ cp debian/carbon/usr/conf/carbon.conf.example debian/carbon/etc/carbon/carbon.conf
+ cp debian/carbon/usr/conf/storage-schemas.conf.example debian/carbon/etc/carbon/storage-schemas.conf
+ rm -rf $(DESTDIR)debian/carbon/usr/conf
+ rm -rf $(DESTDIR)debian/carbon/usr/storage
+
+override_dh_install:
+ rename 's/\.py//' debian/carbon/usr/bin/*.py
+ dh_install
View
1  debian/substvars
@@ -0,0 +1 @@
+misc:Depends=
View
2  debian/watch
@@ -0,0 +1,2 @@
+version=3
+http://githubredir.debian.net/github/Jimdo/carbon (.*).tar.gz
Please sign in to comment.
Something went wrong with that request. Please try again.