]>
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" | |
540fce9b ER |
25 | mount -t proc -o gid=17 none $CHROOT/proc |
26 | ret=$? | |
27 | if [ $ret -eq 0 ]; then | |
28 | ok | |
29 | else | |
30 | fail | |
31 | RETVAL=$ret | |
32 | fi | |
48c471c7 ER |
33 | done |
34 | } | |
35 | ||
36 | umount_chroots() { | |
37 | local ret | |
38 | for CHROOT in $CHROOTS; do | |
39 | show "chroot: %s umount /proc" "$CHROOT" | |
540fce9b ER |
40 | umount $CHROOT/proc |
41 | [ $? -eq 0 ] && ok || fail | |
48c471c7 ER |
42 | done |
43 | } | |
44 | ||
45 | chroots_status() { | |
46 | local ret | |
47 | for CHROOT in $CHROOTS; do | |
48 | show "chroot: %s is /proc mounted?" "$CHROOT" | |
540fce9b ER |
49 | test -f $CHROOT/proc/mounts |
50 | ret=$? | |
51 | if [ $ret -eq 0 ]; then | |
52 | ok | |
53 | else | |
54 | fail | |
55 | RETVAL=$ret | |
56 | fi | |
48c471c7 ER |
57 | done |
58 | } | |
59 | ||
27cbcdc8 | 60 | start() { |
b5ffea2c | 61 | # Check if the service is already running? |
4eafd13a | 62 | if [ -f /var/lock/subsys/pld-builder ]; then |
48c471c7 | 63 | msg_already_running "PLD Linux Builder" |
4eafd13a | 64 | return |
b5ffea2c | 65 | fi |
4eafd13a ER |
66 | |
67 | if [ -z "$CHROOTS" ]; then | |
68 | # no chroots configured. return and be silent | |
69 | return | |
70 | fi | |
71 | msg_starting "PLD Linux Builder" | |
72 | busy; echo | |
73 | mount_chroots | |
74 | RETVAL=$? | |
75 | [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pld-builder | |
27cbcdc8 ER |
76 | } |
77 | ||
78 | stop() { | |
4eafd13a | 79 | if [ ! -f /var/lock/subsys/pld-builder ]; then |
48c471c7 | 80 | msg_not_running "PLD Linux Builder" |
4eafd13a | 81 | return |
b5ffea2c | 82 | fi |
4eafd13a ER |
83 | |
84 | # Stop daemons. | |
85 | msg_stopping "PLD Linux Builder" | |
86 | busy; echo | |
87 | umount_chroots | |
97313070 | 88 | rm -f /var/lock/subsys/pld-builder >/dev/null 2>&1 |
4eafd13a | 89 | RETVAL=0 |
27cbcdc8 ER |
90 | } |
91 | ||
110fdbea | 92 | condrestart() { |
5ba2c474 | 93 | if [ ! -f /var/lock/subsys/pld-builder ]; then |
48c471c7 | 94 | msg_not_running "PLD Linux Builder" |
110fdbea | 95 | RETVAL=$1 |
5ba2c474 | 96 | return |
110fdbea | 97 | fi |
5ba2c474 ER |
98 | |
99 | stop | |
100 | start | |
110fdbea ER |
101 | } |
102 | ||
27cbcdc8 ER |
103 | # See how we were called. |
104 | case "$1" in | |
105 | start) | |
106 | start | |
107 | ;; | |
108 | stop) | |
109 | stop | |
b5ffea2c | 110 | ;; |
111 | restart) | |
27cbcdc8 ER |
112 | stop |
113 | start | |
b5ffea2c | 114 | ;; |
110fdbea ER |
115 | try-restart) |
116 | condrestart 0 | |
b5ffea2c | 117 | ;; |
4eafd13a ER |
118 | force-reload) |
119 | condrestart 7 | |
b5ffea2c | 120 | ;; |
121 | status) | |
48c471c7 | 122 | chroots_status |
b5ffea2c | 123 | RETVAL=$? |
124 | ;; | |
125 | *) | |
4eafd13a | 126 | msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}" |
b5ffea2c | 127 | exit 3 |
128 | ;; | |
129 | esac | |
b5ffea2c | 130 | exit $RETVAL |