fix layout of status output
[opensuse:build-service.git] / dist / obsservice
1 #! /bin/sh
2 # Copyright (c) 2007, Novell Inc.
3 #
4 # Author: adrian@suse.de
5 #
6 # /etc/init.d/obsservice
7 #   and its symbolic  link
8 # /usr/sbin/rcobsservice
9 #
10 ### BEGIN INIT INFO
11 # Provides:          obsservice
12 # Required-Start:    $time $syslog
13 # Required-Stop:     $null
14 # Should-Start:      obssrcserver
15 # Should-Stop:       $none
16 # Default-Start:     3 5
17 # Default-Stop:      0 1 2 4 6
18 # Description:       openSUSE build service source service server
19 ### END INIT INFO
20
21 . /etc/rc.status
22
23 . /etc/sysconfig/obs-server
24
25 # Determine the base and follow a runlevel link name.
26 base=${0##*/}
27 link=${base#*[SK][0-9][0-9]}
28
29 if [ -z "$OBS_RUN_DIR" ]; then
30         OBS_RUN_DIR="/srv/obs/run"
31 fi
32
33 if [ -z "$OBS_LOG_DIR" ]; then
34         OBS_LOG_DIR="/srv/obs/log"
35 fi
36
37 if [ -n "$OBS_BACKENDCODE_DIR" ]; then
38         obsdir="$OBS_BACKENDCODE_DIR"
39 else
40         obsdir=/usr/lib/obs/server/
41 fi
42 rundir="$OBS_RUN_DIR"
43 logdir="$OBS_LOG_DIR"
44 workdir="/var/tmp/obs_service"
45
46 rc_reset
47 case "$1" in
48         start)
49                 echo -n "Initializing obsservice"
50                 mkdir -p "$rundir" "$logdir" "$workdir"
51                 chown obsrun:obsrun "$logdir" "$rundir" "$workdir"
52                 startproc -l "$logdir"/src_service.log "$obsdir"/bs_service --root "$workdir"
53                 rc_status -v
54         ;;
55         stop)
56                 echo -n "Shutting down obsservice"
57                 killproc "$obsdir"/bs_service 
58                 rc_status -v
59         ;;
60         restart)
61                 ## If first returns OK call the second, if first or
62                 ## second command fails, set echo return value.
63                 $0 status
64                 if test $? = 0; then
65                         touch "$rundir"/bs_service.restart
66                 else
67                         $0 stop 
68                         $0 start
69                 fi
70                 rc_status
71         ;;
72         try-restart)
73                 $0 status
74                 if test $? = 0; then
75                         $0 restart
76                 else
77                         rc_reset        # Not running is not a failure.
78                 fi
79                 # Remember status and be quiet
80                 rc_status
81         ;;
82         reload)
83                 $0 status
84                 if test $? = 0; then
85                         touch "$rundir"/bs_service.restart
86                 fi
87                 rc_status
88         ;;
89         status)
90                 echo -n "Checking for obsservice  and running processes: "
91                 "$obsdir"/bs_serverstatus "$OBS_RUN_DIR"/bs_service.status
92                 checkproc "$obsdir"/bs_service
93                 rc_status -v
94         ;;
95         *)
96                 echo "Usage: $0 {start|stop|status|try-restart|restart|reload}"
97                 exit 1
98         ;;
99 esac
100 rc_exit