]> git.pld-linux.org Git - projects/pld-builder.new.git/blob - etc/pld-builder.sysconfig
- unify msg_not_running usage
[projects/pld-builder.new.git] / etc / pld-builder.sysconfig
1 #!/bin/sh without shebang autoindentation doesn't work (vim-7.0-0.c02.1.3)
2 # -*- mode: sh -*-
3
4 # comment next line to configure your setup
5 : <<'#END'
6
7 CHROOTS=/mnt/hda9/adm/builders/pld/{ac/{athlon,i586},actw/{athlon,i586},th/{athlon,i486}}
8 FTPDIRS=/mnt/hda9/adm/builders/pld/ftp/ftp/{{ac,actw}/{ready,test}/{SRPMS,athlon,i586},th/{ready,test}/{SRPMS,athlon,i486}}
9
10 NICE="nice -n 19"
11
12 bin_builder_tmpwatch_cron_jobs ()
13 {
14         local hour=0
15         for CHROOT in $CHROOTS; do
16                 [ $hour -gt 23 ] && hour=0
17                 echo "0 $hour * * * sudo chroot $CHROOT $NICE tmpwatch -m 240 /spool/poldek"
18                 hour=$(( $hour + 1 ))
19         done
20 }
21
22 ftp_update_indexes_cron_jobs ()
23 {
24         local minute=0
25         for FTPDIR in $FTPDIRS; do
26                 [ $minute -gt 59 ] && minute=0
27                 echo "$minute * * * * /bin/sh -c \"umask 022 ; $NICE /usr/bin/poldek --mkidx -s $FTPDIR\""
28                 minute=$(( $minute + 1 ))
29         done
30 }
31
32 pld_builder_start ()
33 {
34         # mount /proc in chroots
35         local RET
36         echo
37         for CHROOT in $CHROOTS; do
38                 show "chroot: %s mount /proc" "$CHROOT"
39                 RET=$(chroot $CHROOT mount /proc > /dev/null 2>&1 ; echo $?)
40         [ $RET -eq 0 ] && ok || fail
41         done
42
43         # set up crontab for srpms_builder
44         show "setting up crontab for srpms_builder"
45         crontab -u srpms_builder - <<- EOF && ok || fail
46         SHELL=/bin/sh
47         MAIL=srpms_builder
48
49         * * * * * $NICE /usr/share/pld-builder/bin/src-builder.sh
50         * * * * * $NICE /usr/share/pld-builder/bin/file-sender.sh
51 EOF
52
53         # set up crontab for bin_builder
54         show "setting up crontab for bin_builder"
55         crontab -u bin_builder - <<-EOF && ok || fail
56         SHELL=/bin/sh
57         MAIL=bin_builder
58
59         * * * * * $NICE /usr/share/pld-builder/bin/request-fetcher.sh
60         * * * * * $NICE /usr/share/pld-builder/bin/load-balancer.sh
61         * * * * * $NICE /usr/share/pld-builder/bin/file-sender.sh
62 EOF
63
64         # set up crontab for ftpac
65         show "setting up crontab for ftp"
66         crontab -u ftpac - <<-EOF && ok || fail
67         SHELL=/bin/sh
68         MAIL=ftpac
69
70         $(bin_builder_tmpwatch_cron_jobs)
71         $(ftp_update_indexes_cron_jobs)
72 EOF
73 }
74
75 pld_builder_stop ()
76 {
77         local RET
78         echo
79         for CHROOT in $CHROOTS; do
80                 show "chroot: %s umount /proc" "$CHROOT"
81                 RET=$(chroot $CHROOT umount /proc > /dev/null 2>&1; echo $?)
82                 [ $RET -eq 0 ] && ok || fail
83         done
84
85         for u in srpms_builder bin_builder ftpac; do
86                 show "removing crontab for %s" "$u"
87                 crontab -u $u -r > /dev/null 2>&1 && ok || fail
88         done
89 }
90
91 pld_builder_status ()
92 {
93         local RET
94         echo
95         for CHROOT in $CHROOTS; do
96                 show "chroot: %s is /proc mounted?" "$CHROOT"
97                 RET=$( (chroot $CHROOT mount -v 2> /dev/null) | grep -q 'none.*/proc' ; echo $? )
98                 [ $RET -eq 0 ] && ok || fail
99         done
100 }
101
102 #END
103 # vi:syntax=sh:ts=4:sw=4
This page took 0.35996 seconds and 3 git commands to generate.