Subversion Repositories DevTools

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
848 dpurdie 1
#!/bin/sh
3924 dpurdie 2
### BEGIN INIT INFO
3
# Provides:          JatsBuildDaemon
4123 dpurdie 4
# Required-Start:    $all
3924 dpurdie 5
# Required-Stop:
6
# Default-Start:     2 3 4 5
7
# Default-Stop:      0 1 6
8
# X-Interactive:     true
9
# Short-Description: Jats Build Deamon
10
# Description:       The Jats Build Daemon provides automated build services
11
### END INIT INFO
12
 
850 mhunt 13
#set -x
848 dpurdie 14
#
914 dpurdie 15
# Start, stop buildtool
848 dpurdie 16
#
17
# Note: This must be a 'sh' compatible script
18
#       Solaris8 uses sh to source the script. It is not run at startup
19
#
20
# Note: This file should be installed into /etc/init.d
914 dpurdie 21
#
22
# Note: Use /etc/init.d/buildtool setup
23
#        to perform additional setup of adding files to setup sequence
24
#
3840 dpurdie 25
#set -x
26
BUILDUSR=buildadm
848 dpurdie 27
 
3840 dpurdie 28
 
848 dpurdie 29
pid=0
30
#pid null if not running, pid if running
31
check_running() {
32
        pid=`ps -fe|grep java|grep abtdD.jar|awk '{print $2}'`
33
}
34
 
914 dpurdie 35
#
36
# Start daemons.
37
#
848 dpurdie 38
start() {
914 dpurdie 39
    check_running
40
    if [ "$pid" ]; then
848 dpurdie 41
          echo 'running'
914 dpurdie 42
    else
848 dpurdie 43
          echo 'starting'
3840 dpurdie 44
          SU="/bin/sh -c"
45
          [ "$USER" != "$BUILDUSR" ] && SU="su - ${BUILDUSR} -c "
46
          $SU '. /etc/profile;unset GBE_PLATFORM;jats -NoExportVars eprog /home/buildadm/buildtool/abtlaunch 2>/tmp/buildtool 1>&2' &
914 dpurdie 47
    fi
848 dpurdie 48
}
49
 
914 dpurdie 50
#
51
# Stop daemons.
52
#
848 dpurdie 53
stop() {
914 dpurdie 54
    check_running
55
    echo "check_running returned $pid"
848 dpurdie 56
 
914 dpurdie 57
    if [ "$pid" ]; then
850 mhunt 58
        for kpid in $pid ; do
59
            echo "killing $kpid"
60
            kill -9 $kpid 2>/dev/null 1>&2
61
        done
914 dpurdie 62
    else
63
        echo 'not running'
64
    fi
848 dpurdie 65
}
66
 
914 dpurdie 67
#
68
#   Status the daemons
69
#
848 dpurdie 70
status() {
914 dpurdie 71
    check_running
848 dpurdie 72
 
914 dpurdie 73
    if [ "$pid" ]; then
74
          echo 'buildtool running'
75
    else
76
          echo 'buildtool not running'
77
    fi
848 dpurdie 78
}
79
 
914 dpurdie 80
#
81
#   Setup init levels
82
#   Linux and Solaris are different
83
#
84
setup() {
85
    if [ ! -f /etc/init.d/buildtool ] ; then
86
        echo "Error: /etc/init.d/buildtool does not exist"
87
        exit 1
88
    fi
89
 
4123 dpurdie 90
    mtype=`uname`
91
    if [ -x /usr/sbin/update-rc.d ] ; then mtype=Ubuntu; fi
3924 dpurdie 92
 
4123 dpurdie 93
    case "$mtype" in
94
    Ubuntu)
95
        /usr/sbin/update-rc.d -f buildtool remove
96
        /usr/sbin/update-rc.d buildtool defaults
97
        ;;
3924 dpurdie 98
 
4123 dpurdie 99
    Linux)
100
        for ii in 2 3 4 5; do
101
            file=/etc/rc.d/rc$ii.d/S80buildtool
102
            [ -f $file ] || ln -s /etc/init.d/buildtool $file
103
        done
914 dpurdie 104
 
4123 dpurdie 105
        for ii in 0 1 6 ; do 
106
            file=/etc/rc.d/rc$ii.d/K30buildtool
107
            [ -f $file ] || ln -s /etc/init.d/buildtool $file
108
        done
109
        ;;
914 dpurdie 110
 
4123 dpurdie 111
    SunOS)
112
        for ii in 2 3; do
113
            file=/etc/rc$ii.d/S80buildtool
114
            [ -f $file ] || ln -s /etc/init.d/buildtool $file
115
        done
914 dpurdie 116
 
4123 dpurdie 117
        for ii in 0 1 S ; do 
118
            file=/etc/rc$ii.d/K30buildtool
119
            [ -f $file ] || ln -s /etc/init.d/buildtool $file
120
        done
121
        ;;
914 dpurdie 122
 
4123 dpurdie 123
    *)
124
        echo "$0 setup - Unknown machine type: $mtype"
125
        exit 1
126
        ;;
127
    esac        
914 dpurdie 128
}
129
 
130
#
131
#   Determine user command
132
#
848 dpurdie 133
case "$1" in
4123 dpurdie 134
  start)    start
914 dpurdie 135
            ;;
136
  stop)     stop
137
            ;;
138
  status)   status
139
            RETVAL=$?
140
            ;;  
141
  restart)  stop
142
            start
143
            ;;
144
  setup)    setup
145
            ;;   
146
  *)        echo "Usage: $0 {start|stop|restart|status|setup}"
147
            exit 1
148
            ;;
848 dpurdie 149
esac
150
 
151
exit $RETVAL
914 dpurdie 152