#!/bin/bash # # bugzilla-push This starts, stops, and restarts the Bugzilla push # daemon, which manages syncronising bugzilla.mozilla.org and # third party bugzilla installs. # # chkconfig: 345 85 15 # description: Bugzilla push daemon # ### BEGIN INIT INFO # Provides: bugzilla-push # Required-Start: $local_fs $syslog MTA mysqld # Required-Stop: $local_fs $syslog MTA mysqld # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: Start and stop the Bugzilla push daemon. # Description: The Bugzilla push daemon (bugzilla-pushd.pl) # # # ### END INIT INFO NAME=`basename $0` ################# # Configuration # ################# # This should be the path to your Bugzilla BUGZILLA=/vagrant # Who owns the Bugzilla directory and files? USER=vagrant PERL5LIB="$BUGZILLA:$BUGZILLA/lib:$BUGZILLA/local/lib/perl5" export PERL5LIB export MOJO_MODE if [[ x$PORT == x ]]; then PORT=80 export PORT fi # If you want to pass any options to the daemon (like -d for debugging) # specify it here. OPTIONS="" # You can also override the configuration by creating a # /etc/sysconfig/bugzilla-queue file so that you don't # have to edit this script. if [ -r /etc/sysconfig/$NAME ]; then . /etc/sysconfig/$NAME fi ########## # Script # ########## RETVAL=0 BIN="$BUGZILLA/local/bin/hypnotoad" PIDFILE="$BUGZILLA/hypnotoad.pid" # Source function library. . /etc/rc.d/init.d/functions usage () { echo "Usage: service $NAME {start|stop|status|restart|condrestart}" RETVAL=1 } start () { if [[ -f $PIDFILE ]]; then checkpid "$(cat $PIDFILE)" && return 0 fi echo -n "Starting $NAME: " daemon --pidfile=$PIDFILE --user=$USER "cd $BUGZILLA && $BIN bugzilla.pl >/dev/null" ret=$? [ $ret -eq "0" ] && touch /var/lock/subsys/$NAME echo return $ret } stop () { cd $BUGZILLA && $BIN bugzilla.pl --stop rm -f /var/lock/subsys/$NAME } restart () { stop start } condrestart () { [ -e /var/lock/subsys/$NAME ] && restart || return 0 } status () { if [[ -f $PIDFILE ]] && checkpid "$(cat $PIDFILE)"; then echo hypnotoad is amazing return 0 else echo hypnotoad is not running return 1 fi } case "$1" in start) start; RETVAL=$? ;; stop) stop; RETVAL=$? ;; status) status; RETVAL=$?;; restart) restart; RETVAL=$? ;; condrestart) condrestart; RETVAL=$? ;; *) usage ; RETVAL=2 ;; esac exit $RETVAL