#!/bin/bash # # bitten Continuous integration build slave # # Author: Tim Niemueller <tim@niemueller.de> # # chkconfig: - 97 03 # # description: This is a daemon which periodically checks for new \ # builds at the bitten master and if available executes \ # these builds. # processname: bitten-slave # config: /etc/bitten-slave.conf # pidfile: /var/run/bitten-slave.pid # ### BEGIN INIT INFO # Provides: bitten-slave # Required-Start: $syslog $local_fs # Required-Stop: $syslog $local_fs # Default-Stop: 0 1 6 # Short-Description: Bitten build slave # Description: Daemon which executes build as provided by bitten master. ### END INIT INFO # source function library . /etc/rc.d/init.d/functions # Source sysconfig file . /etc/sysconfig/bitten-slave RETVAL=0 if [ -z "$BITTEN_SLAVE_URLS" ]; then echo -n "Configure Bitten URLs in /etc/sysconfig/bitten-slave" failure 1 echo exit 1 fi ARGS="-f /etc/bitten-slave.conf --work-dir=$BITTEN_SLAVE_WORKDIR $BITTEN_SLAVE_ARGS $BITTEN_SLAVE_URLS" if [ -n "$BITTEN_SLAVE_USER" ]; then DAEMON_ARGS="--user $BITTEN_SLAVE_USER" fi #echo ARGS: $ARGS #echo DAEMON_ARGS: $DAEMON_ARGS start() { if [ -e /var/lock/subsys/bitten-slave ]; then if [ -n "$(pidofproc bitten-slave)" ]; then echo "Bitten slave is already running" return fi fi echo -n $"Starting bitten slave: " if [ ! -d $BITTEN_SLAVE_WORKDIR ]; then mkdir -p $BITTEN_SLAVE_WORKDIR if [ -n "$BITTEN_SLAVE_USER" ]; then chown -R $BITTEN_SLAVE_USER $BITTEN_SLAVE_WORKDIR fi fi if [ ! -f $BITTEN_SLAVE_LOG ]; then touch $BITTEN_SLAVE_LOG fi chown $BITTEN_SLAVE_USER $BITTEN_SLAVE_LOG daemon $DAEMON_ARGS "bitten-slave $ARGS >>$BITTEN_SLAVE_LOG 2>&1 &" RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/bitten-slave } stop() { echo -n $"Stopping bitten-slave: " killproc bitten-slave echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/bitten-slave } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart|force-reload|reload) restart ;; condrestart|try-restart) [ -f /var/lock/subsys/bitten-slave ] && restart ;; status) status bitten-slave RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}" exit 1 esac exit $RETVAL