summaryrefslogtreecommitdiffstats
path: root/vagrant_support/hypnotoad
blob: 5e8dc910e43c2c9869e33181ea16600d540dc872 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#!/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