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
4
# Required-Start:    $local_fs $remote_fs
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
 
3924 dpurdie 90
    if [ "$USER" = "root" ] ; then
91
 
92
        mtype=`uname`
93
        if [ -x /usr/sbin/update-rc.d ] ; then mtype=Ubuntu; fi
94
 
95
        case "$mtype" in
96
        Ubuntu)
97
            /usr/sbin/update-rc.d -f buildtool remove
98
            /usr/sbin/update-rc.d buildtool defaults
99
            ;;
100
 
101
        Linux)
102
            for ii in 2 3 4 5; do
103
                file=/etc/rc.d/rc$ii.d/S80buildtool
104
                [ -f $file ] || ln -s /etc/init.d/buildtool $file
105
            done
914 dpurdie 106
 
3924 dpurdie 107
            for ii in 0 1 6 ; do 
108
                file=/etc/rc.d/rc$ii.d/K30buildtool
109
                [ -f $file ] || ln -s /etc/init.d/buildtool $file
110
            done
111
            ;;
914 dpurdie 112
 
3924 dpurdie 113
        SunOS)
114
            for ii in 2 3; do
115
                file=/etc/rc$ii.d/S80buildtool
116
                [ -f $file ] || ln -s /etc/init.d/buildtool $file
117
            done
914 dpurdie 118
 
3924 dpurdie 119
            for ii in 0 1 S ; do 
120
                file=/etc/rc$ii.d/K30buildtool
121
                [ -f $file ] || ln -s /etc/init.d/buildtool $file
122
            done
123
            ;;
914 dpurdie 124
 
3924 dpurdie 125
        *)
126
            echo "$0 setup - Unknown machine type: $mtype"
127
            exit 1
128
            ;;
129
        esac        
130
    fi    
914 dpurdie 131
}
132
 
133
#
134
#   Determine user command
135
#
848 dpurdie 136
case "$1" in
914 dpurdie 137
  start)    setup
138
            start
139
            ;;
140
  stop)     stop
141
            ;;
142
  status)   status
143
            RETVAL=$?
144
            ;;  
145
  restart)  stop
146
            start
147
            ;;
148
  setup)    setup
149
            ;;   
150
  *)        echo "Usage: $0 {start|stop|restart|status|setup}"
151
            exit 1
152
            ;;
848 dpurdie 153
esac
154
 
155
exit $RETVAL
914 dpurdie 156