1 Installation instructions.
5 Builder needs account for it's needs. Account should be shared for all builders,
6 which build binary packages on specified host. This allows for better
7 resources managment (hint: variable job_slots in configuration).
9 However, SRPMS builder should use different account.
11 We will call accounts: bin_builder and srpms_builder.
18 scp or/and rsync (sending buildlogs and files to ftp)
23 posibillity to serve files via http
25 ftp or http connections (distfiles)
30 access to chroots via sudo (sudoers):
32 srpms_builder ALL = NOPASSWD: \
33 /usr/sbin/chroot /path/to/chroot *
35 bin_builder ALL = NOPASSWD: \
36 /usr/sbin/chroot /path/to/chroot1 *, \
37 /usr/sbin/chroot /path/to/chroot2 *
39 3. Scripts installations
41 Scripts *have* to be in ~/pld-builder.new/, checked out from CVS.
43 4. Installation of queues
46 ./admin/fresh-queue.sh y
51 source = local,pri=1 /spools/ready/
52 source = main-test,noauto,pri=2 ftp://ftp.pld-linux.org/dists/th/test/i686/RPMS/
53 source = main-ready,pri=3 ftp://ftp.pld-linux.org/dists/th/ready/i686/RPMS/
54 source = main-ug,pri=4 ftp://ftp.pld-linux.org/dists/th/updates/i686/RPMS/
55 source = main,pri=5 ftp://ftp.pld-linux.org/dists/th/PLD/i686/RPMS/
58 rpmdef = _excludedocs 1
59 cachedir = /spools/poldek/
62 Preinstalled packages:
65 rpm-build poldek shadow net-tools which
69 cvs wget rpm-perlprov rpm-php-pearprov rpm-pythonprov
73 both: ~builder/rpm/{SPECS,SOURCES,RPMS,SRPMS,BUILD}
75 srpms_build: additionally has to have SPECS and SOURCES checkouted from CVS
76 in SPECS it has to have builder, additional-md5sum and mirrors
78 both: folders /spools/poldek/ /spools/ready/
80 Wszystko to robi automagicznie admin/install-chroot.sh
81 All that stuff can be done automaticly with admin/install-chroot.sh.
97 *Very* good idea is to execute tmpwatch for each builder.:
98 5 3 * * * sudo chroot $HOME/chroots/chroot-i686/ tmpwatch -m 200 /spools/ready/
99 (autentic example). Of course, example cron item above should be placed for each chroot
100 inside account. Tmpwatch have to be installed inside. In other case, You have to clean it
103 Example for bin builder:
104 * * * * * $HOME/pld-builder.new/bin/request-fetcher.sh
105 * * * * * $HOME/pld-builder.new/bin/load-balancer.sh
106 * * * * * $HOME/pld-builder.new/bin/file-sender.sh
107 30 3 * * * $HOME/pld-builder.new/bin/maintainer.sh
109 Example for source builder:
110 * * * * * $HOME/pld-builder.new/bin/src-builder.sh
111 * * * * * $HOME/pld-builder.new/bin/file-sender.sh
112 30 3 * * * $HOME/pld-builder.new/bin/maintainer.sh
119 * ^X-New-PLD-Builder:
120 |~/pld-builder.new/bin/request-handler.sh
132 Directory ~/pld-builder.new/www/, in srpm_builder account, have to be accessibble
133 via http (control_url in bin_builder configuration)
137 Automat can send informaction (notify) between bin-builders and src-builders
138 via e-mail or via http (POST METHOD).
140 To use HTTP POST, one should run (src_builder side):
141 ./request_handler_server.py
142 On other side (bin-builders):
143 notify_url = http://some-server.pl:1234/