SOURCES: pld-builder.init, pld-builder.sysconfig - minimize: handle only /p...
glen
glen at pld-linux.org
Wed Oct 29 00:44:41 CET 2008
Author: glen Date: Tue Oct 28 23:44:41 2008 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- minimize: handle only /proc mounting
---- Files affected:
SOURCES:
pld-builder.init (1.7 -> 1.8) , pld-builder.sysconfig (1.8 -> 1.9)
---- Diffs:
================================================================
Index: SOURCES/pld-builder.init
diff -u SOURCES/pld-builder.init:1.7 SOURCES/pld-builder.init:1.8
--- SOURCES/pld-builder.init:1.7 Wed Jun 25 23:09:35 2008
+++ SOURCES/pld-builder.init Wed Oct 29 00:44:35 2008
@@ -1,73 +1,89 @@
#!/bin/sh
#
-# pld-builder perform adminstrator's tasks for pld-builder
+# pld-builder perform adminstrator's tasks for PLD Linux Builder
#
# chkconfig: 345 99 01
#
-# description: perform adminstrator's tasks for pld-builder
+# description: perform adminstrator's tasks for PLD Linux Builder
# Source function library
. /etc/rc.d/init.d/functions
-# define shell functions listed below on your own in /etc/sysconfig/pld-builder
-pld_builder_start () ok
-pld_builder_reload () ok
-pld_builder_restart () ok
-pld_builder_status () :
-pld_builder_stop () ok
+# Defaults
+CHROOTS=
# Get service config - may override defaults
[ -f /etc/sysconfig/pld-builder ] && . /etc/sysconfig/pld-builder
+mount_chroots() {
+ # mount /proc in chroots
+ local ret
+ for CHROOT in $CHROOTS; do
+ show "chroot: %s mount /proc" "$CHROOT"
+ ret=$(chroot $CHROOT mount /proc > /dev/null 2>&1; echo $?)
+ [ $ret -eq 0 ] && ok || fail
+ done
+}
+
+umount_chroots() {
+ local ret
+ for CHROOT in $CHROOTS; do
+ show "chroot: %s umount /proc" "$CHROOT"
+ ret=$(chroot $CHROOT umount /proc > /dev/null 2>&1; echo $?)
+ [ $ret -eq 0 ] && ok || fail
+ done
+}
+
+chroots_status() {
+ local ret
+ for CHROOT in $CHROOTS; do
+ show "chroot: %s is /proc mounted?" "$CHROOT"
+ ret=$(chroot $CHROOT mount -v 2> /dev/null | grep -q 'none.*/proc'; echo $?)
+ [ $ret -eq 0 ] && ok || fail
+ done
+}
+
start() {
# Check if the service is already running?
if [ ! -f /var/lock/subsys/pld-builder ]; then
- msg_starting pld-builder
- busy
- pld_builder_start
- RETVAL=0
+ if [ -z "$CHROOTS" ]; then
+ # no chroots configured. return and be silent
+ return
+ fi
+ msg_starting "PLD Linux Builder"
+ busy; echo
+ mount_chroots
+ RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/pld-builder
else
- msg_already_running pld-builder
+ msg_already_running "PLD Linux Builder"
fi
}
stop() {
if [ -f /var/lock/subsys/pld-builder ]; then
# Stop daemons.
- msg_stopping pld-builder
- busy
- pld_builder_stop
+ msg_stopping "PLD Linux Builder"
+ busy; echo
+ umount_chroots
RETVAL=0
rm -f /var/lock/subsys/pld-builder
else
- msg_not_running pld-builder
+ msg_not_running "PLD Linux Builder"
fi
}
-
condrestart() {
if [ -f /var/lock/subsys/pld-builder ]; then
stop
start
else
- msg_not_running pld-builder
+ msg_not_running "PLD Linux Builder"
RETVAL=$1
fi
}
-reload() {
- if [ -f /var/lock/subsys/pld-builder ]; then
- msg_reloading pld-builder
- pld_builder_reload
- RETVAL=$?
- else
- msg_not_running pld-builder
- RETVAL=7
- fi
-}
-
# See how we were called.
case "$1" in
start)
@@ -79,7 +95,6 @@
restart)
stop
start
- exit $?
;;
try-restart)
condrestart 0
@@ -88,7 +103,7 @@
reload
;;
status)
- pld_builder_status
+ chroots_status
RETVAL=$?
;;
*)
================================================================
Index: SOURCES/pld-builder.sysconfig
diff -u SOURCES/pld-builder.sysconfig:1.8 SOURCES/pld-builder.sysconfig:1.9
--- SOURCES/pld-builder.sysconfig:1.8 Sat Jul 19 16:36:43 2008
+++ SOURCES/pld-builder.sysconfig Wed Oct 29 00:44:35 2008
@@ -1,107 +1,3 @@
-#!/bin/sh without shebang autoindentation doesn't work (vim-7.0-0.c02.1.3)
-# -*- mode: sh -*-
+# define chroots whose /proc to mount on startup
-# comment next line to configure your setup
-: <<'#END'
-
-CHROOTS=/mnt/hda9/adm/builders/pld/{ac/{athlon,i586},actw/{athlon,i586},th/{athlon,i486}}
-FTPDIRS=/mnt/hda9/adm/builders/pld/ftp/ftp/{{ac,actw}/{ready,test}/{SRPMS,athlon,i586},th/{ready,test}/{SRPMS,athlon,i486}}
-
-NICE="nice -n 19"
-
-bin_builder_tmpwatch_cron_jobs () {
- local hour=0
- for CHROOT in $CHROOTS; do
- [ $hour -gt 23 ] && hour=0
- echo "0 $hour * * * sudo chroot $CHROOT $NICE tmpwatch -m 240 /spool/poldek"
- hour=$(( $hour + 1 ))
- done
-}
-
-ftp_update_indexes_cron_jobs () {
- local minute=0
- for FTPDIR in $FTPDIRS; do
- [ $minute -gt 59 ] && minute=0
- echo "$minute * * * * /bin/sh -c \"umask 022; $NICE /usr/bin/poldek --mkidx -s $FTPDIR\""
- minute=$(( $minute + 1 ))
- done
-}
-
-pld_builder_start () {
- # mount /proc in chroots
- local RET
- echo
- for CHROOT in $CHROOTS; do
- show "chroot: %s mount /proc" "$CHROOT"
- RET=$(chroot $CHROOT mount /proc > /dev/null 2>&1 ; echo $?)
- [ $RET -eq 0 ] && ok || fail
- done
-
- # set up crontab for srpms_builder
- show "setting up crontab for srpms_builder"
- crontab -u srpms_builder - <<- EOF && ok || fail
- #### WARNING: This file is autogenerated.
- #### WARNING: Do not make changes here.
- #### WARNING: Make them to /etc/sysconfig/pld-builder instead.
- SHELL=/bin/sh
- MAILTO=srpms_builder
-
- * * * * * exec $NICE /usr/share/pld-builder/bin/src-builder.sh
- * * * * * exec $NICE /usr/share/pld-builder/bin/file-sender.sh
-EOF
-
- # set up crontab for bin_builder
- show "setting up crontab for bin_builder"
- crontab -u bin_builder - <<-EOF && ok || fail
- #### WARNING: This file is autogenerated.
- #### WARNING: Do not make changes here.
- #### WARNING: Make them to /etc/sysconfig/pld-builder instead.
- SHELL=/bin/sh
- MAILTO=bin_builder
-
- * * * * * exec $NICE /usr/share/pld-builder/bin/request-fetcher.sh
- * * * * * exec $NICE /usr/share/pld-builder/bin/load-balancer.sh
- * * * * * exec $NICE /usr/share/pld-builder/bin/file-sender.sh
-
- $(bin_builder_tmpwatch_cron_jobs)
-EOF
-
- # set up crontab for ftpac
- show "setting up crontab for ftp"
- crontab -u ftpac - <<-EOF && ok || fail
- #### WARNING: This file is autogenerated.
- #### WARNING: Do not make changes here.
- #### WARNING: Make them to /etc/sysconfig/pld-builder instead.
- SHELL=/bin/sh
- MAILTO=ftpac
-
- $(ftp_update_indexes_cron_jobs)
-EOF
-}
-
-pld_builder_stop () {
- local RET
- echo
- for CHROOT in $CHROOTS; do
- show "chroot: %s umount /proc" "$CHROOT"
- RET=$(chroot $CHROOT umount /proc > /dev/null 2>&1; echo $?)
- [ $RET -eq 0 ] && ok || fail
- done
-
- for u in srpms_builder bin_builder ftpac; do
- show "removing crontab for %s" "$u"
- crontab -u $u -r > /dev/null 2>&1 && ok || fail
- done
-}
-
-pld_builder_status () {
- local RET
- echo
- for CHROOT in $CHROOTS; do
- show "chroot: %s is /proc mounted?" "$CHROOT"
- RET=$(chroot $CHROOT mount -v 2> /dev/null | grep -q 'none.*/proc'; echo $?)
- [ $RET -eq 0 ] && ok || fail
- done
-}
-
-#END
+#CHROOTS=/mnt/hda9/adm/builders/pld/{ac/{athlon,i586},actw/{athlon,i586},th/{athlon,i486}}
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/pld-builder.init?r1=1.7&r2=1.8&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/pld-builder.sysconfig?r1=1.8&r2=1.9&f=u
More information about the pld-cvs-commit
mailing list