]>
Commit | Line | Data |
---|---|---|
b5ffea2c | 1 | #!/bin/sh |
2 | # | |
48c471c7 | 3 | # pld-builder perform adminstrator's tasks for PLD Linux Builder |
b5ffea2c | 4 | # |
5 | # chkconfig: 345 99 01 | |
6 | # | |
48c471c7 | 7 | # description: perform adminstrator's tasks for PLD Linux Builder |
5ba2c474 ER |
8 | # |
9 | # $Id$ | |
b5ffea2c | 10 | |
11 | # Source function library | |
12 | . /etc/rc.d/init.d/functions | |
13 | ||
48c471c7 ER |
14 | # Defaults |
15 | CHROOTS= | |
b5ffea2c | 16 | |
17 | # Get service config - may override defaults | |
18 | [ -f /etc/sysconfig/pld-builder ] && . /etc/sysconfig/pld-builder | |
19 | ||
48c471c7 ER |
20 | mount_chroots() { |
21 | # mount /proc in chroots | |
22 | local ret | |
23 | for CHROOT in $CHROOTS; do | |
24 | show "chroot: %s mount /proc" "$CHROOT" | |
25 | ret=$(chroot $CHROOT mount /proc > /dev/null 2>&1; echo $?) | |
26 | [ $ret -eq 0 ] && ok || fail | |
27 | done | |
28 | } | |
29 | ||
30 | umount_chroots() { | |
31 | local ret | |
32 | for CHROOT in $CHROOTS; do | |
33 | show "chroot: %s umount /proc" "$CHROOT" | |
34 | ret=$(chroot $CHROOT umount /proc > /dev/null 2>&1; echo $?) | |
35 | [ $ret -eq 0 ] && ok || fail | |
36 | done | |
37 | } | |
38 | ||
39 | chroots_status() { | |
40 | local ret | |
41 | for CHROOT in $CHROOTS; do | |
42 | show "chroot: %s is /proc mounted?" "$CHROOT" | |
19947f06 | 43 | ret=$(chroot $CHROOT mount 2> /dev/null | grep -q 'none.*/proc'; echo $?) |
48c471c7 ER |
44 | [ $ret -eq 0 ] && ok || fail |
45 | done | |
46 | } | |
47 | ||
27cbcdc8 | 48 | start() { |
b5ffea2c | 49 | # Check if the service is already running? |
4eafd13a | 50 | if [ -f /var/lock/subsys/pld-builder ]; then |
48c471c7 | 51 | msg_already_running "PLD Linux Builder" |
4eafd13a | 52 | return |
b5ffea2c | 53 | fi |
4eafd13a ER |
54 | |
55 | if [ -z "$CHROOTS" ]; then | |
56 | # no chroots configured. return and be silent | |
57 | return | |
58 | fi | |
59 | msg_starting "PLD Linux Builder" | |
60 | busy; echo | |
61 | mount_chroots | |
62 | RETVAL=$? | |
63 | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pld-builder | |
27cbcdc8 ER |
64 | } |
65 | ||
66 | stop() { | |
4eafd13a | 67 | if [ ! -f /var/lock/subsys/pld-builder ]; then |
48c471c7 | 68 | msg_not_running "PLD Linux Builder" |
4eafd13a | 69 | return |
b5ffea2c | 70 | fi |
4eafd13a ER |
71 | |
72 | # Stop daemons. | |
73 | msg_stopping "PLD Linux Builder" | |
74 | busy; echo | |
75 | umount_chroots | |
97313070 | 76 | rm -f /var/lock/subsys/pld-builder >/dev/null 2>&1 |
4eafd13a | 77 | RETVAL=0 |
27cbcdc8 ER |
78 | } |
79 | ||
110fdbea | 80 | condrestart() { |
5ba2c474 | 81 | if [ ! -f /var/lock/subsys/pld-builder ]; then |
48c471c7 | 82 | msg_not_running "PLD Linux Builder" |
110fdbea | 83 | RETVAL=$1 |
5ba2c474 | 84 | return |
110fdbea | 85 | fi |
5ba2c474 ER |
86 | |
87 | stop | |
88 | start | |
110fdbea ER |
89 | } |
90 | ||
27cbcdc8 ER |
91 | # See how we were called. |
92 | case "$1" in | |
93 | start) | |
94 | start | |
95 | ;; | |
96 | stop) | |
97 | stop | |
b5ffea2c | 98 | ;; |
99 | restart) | |
27cbcdc8 ER |
100 | stop |
101 | start | |
b5ffea2c | 102 | ;; |
110fdbea ER |
103 | try-restart) |
104 | condrestart 0 | |
b5ffea2c | 105 | ;; |
4eafd13a ER |
106 | force-reload) |
107 | condrestart 7 | |
b5ffea2c | 108 | ;; |
109 | status) | |
48c471c7 | 110 | chroots_status |
b5ffea2c | 111 | RETVAL=$? |
112 | ;; | |
113 | *) | |
4eafd13a | 114 | msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}" |
b5ffea2c | 115 | exit 3 |
116 | ;; | |
117 | esac | |
b5ffea2c | 118 | exit $RETVAL |