]> git.pld-linux.org Git - projects/pld-builder.new.git/blob - etc/pld-builder.init
- ignore /var/lock/subsys remove readonly fs errors (after fsck wants to reboot system)
[projects/pld-builder.new.git] / 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
10 # Source function library
11 . /etc/rc.d/init.d/functions
12
13 # Defaults
14 CHROOTS=
15
16 # Get service config - may override defaults
17 [ -f /etc/sysconfig/pld-builder ] && . /etc/sysconfig/pld-builder
18
19 mount_chroots() {
20         # mount /proc in chroots
21         local ret
22         for CHROOT in $CHROOTS; do
23                 show "chroot: %s mount /proc" "$CHROOT"
24                 ret=$(chroot $CHROOT mount /proc > /dev/null 2>&1; echo $?)
25                 [ $ret -eq 0 ] && ok || fail
26         done
27 }
28
29 umount_chroots() {
30         local ret
31         for CHROOT in $CHROOTS; do
32                 show "chroot: %s umount /proc" "$CHROOT"
33                 ret=$(chroot $CHROOT umount /proc > /dev/null 2>&1; echo $?)
34                 [ $ret -eq 0 ] && ok || fail
35         done
36 }
37
38 chroots_status() {
39         local ret
40         for CHROOT in $CHROOTS; do
41                 show "chroot: %s is /proc mounted?" "$CHROOT"
42                 ret=$(chroot $CHROOT mount 2> /dev/null | grep -q 'none.*/proc'; echo $?)
43                 [ $ret -eq 0 ] && ok || fail
44         done
45 }
46
47 start() {
48         # Check if the service is already running?
49         if [ -f /var/lock/subsys/pld-builder ]; then
50                 msg_already_running "PLD Linux Builder"
51                 return
52         fi
53
54         if [ -z "$CHROOTS" ]; then
55                 # no chroots configured. return and be silent
56                 return
57         fi
58         msg_starting "PLD Linux Builder"
59         busy; echo
60         mount_chroots
61         RETVAL=$?
62         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pld-builder
63 }
64
65 stop() {
66         if [ ! -f /var/lock/subsys/pld-builder ]; then
67                 msg_not_running "PLD Linux Builder"
68                 return
69         fi
70
71         # Stop daemons.
72         msg_stopping "PLD Linux Builder"
73         busy; echo
74         umount_chroots
75         rm -f /var/lock/subsys/pld-builder >/dev/null 2>&1
76         RETVAL=0
77 }
78
79 condrestart() {
80         if [ -f /var/lock/subsys/pld-builder ]; then
81                 stop
82                 start
83         else
84                 msg_not_running "PLD Linux Builder"
85                 RETVAL=$1
86         fi
87 }
88
89 # See how we were called.
90 case "$1" in
91   start)
92         start
93         ;;
94   stop)
95         stop
96         ;;
97   restart)
98         stop
99         start
100         ;;
101   try-restart)
102         condrestart 0
103         ;;
104   force-reload)
105         condrestart 7
106         ;;
107   status)
108         chroots_status
109         RETVAL=$?
110         ;;
111   *)
112         msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
113         exit 3
114         ;;
115 esac
116 exit $RETVAL
This page took 0.1295 seconds and 3 git commands to generate.