]> git.pld-linux.org Git - projects/pld-builder.new.git/blame - doc/user-manual.txt
re-add updated crash and dahdi kernel packages
[projects/pld-builder.new.git] / doc / user-manual.txt
CommitLineData
a6dc2ede
ER
1Installation instructions.
2
31. Accounts
4
5Builder needs account for it's needs. Account should be shared for all builders,
6which build binary packages on specified host. This allows for better
7resources managment (hint: variable job_slots in configuration).
8
9However, SRPMS builder should use different account.
10
11We will call accounts: bin_builder and srpms_builder.
12
132. Requirements
14
15Both:
16 sending mail
17 gpg
18 scp or/and rsync (sending buildlogs and files to ftp)
19 access to chroots
20
21srpms_builder:
22 mail box + procmail
23 posibillity to serve files via http
24 cvs connections
25 ftp or http connections (distfiles)
26
27bin_builder:
28 http connections
29
30access to chroots via sudo (sudoers):
31
32srpms_builder ALL = NOPASSWD: \
33 /usr/sbin/chroot /path/to/chroot *
34
35bin_builder ALL = NOPASSWD: \
36 /usr/sbin/chroot /path/to/chroot1 *, \
37 /usr/sbin/chroot /path/to/chroot2 *
38
393. Scripts installations
40
fd8aef53 41Scripts *have* to be in ~/pld-builder.new/, checked out from CVS.
a6dc2ede 42
c7469f55 434. Installation of queues
a6dc2ede
ER
44
45cd ~/pld-builder.new
46./admin/fresh-queue.sh y
47
485. Chroots setup
49poldek.conf:
50
51source = local,pri=1 /spools/ready/
c4bb8d09
AM
52source = main-test,noauto,pri=2 ftp://ftp.pld-linux.org/dists/th/test/i686/RPMS/
53source = main-ready,pri=3 ftp://ftp.pld-linux.org/dists/th/ready/i686/RPMS/
54source = main-ug,pri=4 ftp://ftp.pld-linux.org/dists/th/updates/i686/RPMS/
55source = main,pri=5 ftp://ftp.pld-linux.org/dists/th/PLD/i686/RPMS/
a6dc2ede
ER
56particle_install = no
57greedy = yes
58rpmdef = _excludedocs 1
59cachedir = /spools/poldek/
60keep_downloads = yes
61
62Preinstalled packages:
63
64bin_builder:
65 rpm-build poldek shadow net-tools which
66
67srpms_builder:
68 bin_builder+
69 cvs wget rpm-perlprov rpm-php-pearprov rpm-pythonprov
70
71both: user builder
72
73both: ~builder/rpm/{SPECS,SOURCES,RPMS,SRPMS,BUILD}
74
75srpms_build: additionally has to have SPECS and SOURCES checkouted from CVS
76in SPECS it has to have builder, additional-md5sum and mirrors
77
78both: folders /spools/poldek/ /spools/ready/
79
80Wszystko to robi automagicznie admin/install-chroot.sh
81All that stuff can be done automaticly with admin/install-chroot.sh.
82
83[[...]]
84
85
86100. cron jobs
87
88srpms_builder:
89 src-builder.sh
90 file-sender.sh
91
92bin_builder:
93 request-fetcher.sh
94 load-balancer.sh
95 file-sender.sh
96
97*Very* good idea is to execute tmpwatch for each builder.:
985 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
100inside account. Tmpwatch have to be installed inside. In other case, You have to clean it
101manually.
102
103Example 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
10730 3 * * * $HOME/pld-builder.new/bin/maintainer.sh
108
109Example for source builder:
110* * * * * $HOME/pld-builder.new/bin/src-builder.sh
111* * * * * $HOME/pld-builder.new/bin/file-sender.sh
11230 3 * * * $HOME/pld-builder.new/bin/maintainer.sh
113
114101. procmail
115
116srpms_builder:
117
118:0
119* ^X-New-PLD-Builder:
120|~/pld-builder.new/bin/request-handler.sh
121
122:0
123!admin@somehere
124
125bin_builder
126
127:0
128!admin@somwhere
129
130102. httpd
131
fd8aef53 132Directory ~/pld-builder.new/www/, in srpm_builder account, have to be accessibble
a6dc2ede
ER
133via http (control_url in bin_builder configuration)
134
135103. src builder
136
137Automat can send informaction (notify) between bin-builders and src-builders
138via e-mail or via http (POST METHOD).
139
140To use HTTP POST, one should run (src_builder side):
141./request_handler_server.py
142On other side (bin-builders):
143notify_url = http://some-server.pl:1234/
144
This page took 0.620782 seconds and 4 git commands to generate.