]> TLD Linux GIT Repositories - TLD.git/blob - pld-builder.new/etc/pld-builder.init
8672b25ba704f16517bed8e77dcbf8b7462ad5cc
[TLD.git] / pld-builder.new / etc / pld-builder.init
1 #!/bin/sh
2 #
3 # pld-builder   perform adminstrator's tasks for PLD Linux Builder
4 #
5 # chkconfig:    345 99 01
6 #
7 # description:  perform adminstrator's tasks for PLD Linux Builder
8 #
9 # $Id$
10
11 # Source function library
12 . /etc/rc.d/init.d/functions
13
14 # Defaults
15 CHROOTS=
16
17 # Get service config - may override defaults
18 [ -f /etc/sysconfig/pld-builder ] && . /etc/sysconfig/pld-builder
19
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                 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
33         done
34 }
35
36 umount_chroots() {
37         local ret
38         for CHROOT in $CHROOTS; do
39                 show "chroot: %s umount /proc" "$CHROOT"
40                 umount $CHROOT/proc
41                 [ $? -eq 0 ] && ok || fail
42         done
43 }
44
45 chroots_status() {
46         local ret
47         for CHROOT in $CHROOTS; do
48                 show "chroot: %s is /proc mounted?" "$CHROOT"
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
57         done
58 }
59
60 start() {
61         # Check if the service is already running?
62         if [ -f /var/lock/subsys/pld-builder ]; then
63                 msg_already_running "PLD Linux Builder"
64                 return
65         fi
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
76 }
77
78 stop() {
79         if [ ! -f /var/lock/subsys/pld-builder ]; then
80                 msg_not_running "PLD Linux Builder"
81                 return
82         fi
83
84         # Stop daemons.
85         msg_stopping "PLD Linux Builder"
86         busy; echo
87         umount_chroots
88         rm -f /var/lock/subsys/pld-builder >/dev/null 2>&1
89         RETVAL=0
90 }
91
92 condrestart() {
93         if [ ! -f /var/lock/subsys/pld-builder ]; then
94                 msg_not_running "PLD Linux Builder"
95                 RETVAL=$1
96                 return
97         fi
98
99         stop
100         start
101 }
102
103 # See how we were called.
104 case "$1" in
105   start)
106         start
107         ;;
108   stop)
109         stop
110         ;;
111   restart)
112         stop
113         start
114         ;;
115   try-restart)
116         condrestart 0
117         ;;
118   force-reload)
119         condrestart 7
120         ;;
121   status)
122         chroots_status
123         RETVAL=$?
124         ;;
125   *)
126         msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
127         exit 3
128         ;;
129 esac
130 exit $RETVAL