Instrukcja instalacji.

1. Konta

Builder potrzebuje konta na swoje potrzeby. Konto powinno by wsplne
dla wszystkich builderw budujcych pakiety binarne na danych hocie,
co pozwala na lepsze wykorzystanie zasobw (hint: zmienna job_slots 
w konfiguracji). 

SRPMS builder powinien jednak sta na osobnym koncie.

Konta bdziemy nazywa bin_builder oraz srpms_builder.

2. Wymagania

oba:
  wysyanie poczty
  gpg
  scp i/lub rsync (wysyanie buildlogw i plikw na ftp)
  dostp do odpowiednich chrootw

srpms_builder:
  skrzynka pocztowa + procmail
  moliwo serwowania plikw po http
  poczenia cvs
  poczenia ftp lub http (distfiles)

bin_builder:
  poczenia http

dostp do chrootw przez sudo, wpisy sudoers:

srpms_builder ALL = NOPASSWD: \
  /usr/sbin/chroot /path/to/chroot *
  
bin_builder ALL = NOPASSWD: \
  /usr/sbin/chroot /path/to/chroot1 *, \
  /usr/sbin/chroot /path/to/chroot2 *

3. instalacja skryptw

Skrypty *musz* by w ~/pld-builder.new/, checkoutnite z CVS.

4. instalacja kolejek etc.

cd ~/pld-builder.new
./admin/fresh-queue.sh y

5. konfiguracje chrootw

poldek.conf:

source = local,pri=1 /spools/ready/
source = main-test,noauto,pri=2 ftp://ftp.pld-linux.org/dists/ac/test/athlon/
source = main-ready,pri=3 ftp://ftp.pld-linux.org/dists/ac/ready/athlon/
source = main-ug,pri=4 ftp://ftp.pld-linux.org/dists/ac/updates/general/athlon/
source = main-us,pri=5 ftp://ftp.pld-linux.org/dists/ac/updates/security/athlon/
source = main,pri=6 ftp://ftp.pld-linux.org/dists/ac/PLD/athlon/RPMS/
particle_install = no
greedy = yes
rpmdef = _excludedocs 1
cachedir = /spools/poldek/
keep_downloads = yes

Pakiety preinstalowane:

bin_builder:
  rpm-build poldek shadow net-tools which

srpms_builder:
  bin_builder+
  cvs wget rpm-perlprov rpm-php-pearprov rpm-pythonprov

oba: user builder

oba: ~builder/rpm/{SPECS,SOURCES,RPMS,SRPMS,BUILD}

srpms_builder dodatkowo musi mie SPECS i SOURCES checkoutnite z CVS,
w SPECS musi mie builder, additional-md5sums i mirrors.

oba: katalogi /spools/poldek/ /spools/ready/

Wszystko to robi automagicznie admin/install-chroot.sh

[[...]]


100. cron jobs

srpms_builder:
  src-builder.sh
  file-sender.sh

bin_builder:
  request-fetcher.sh
  load-balancer.sh
  file-sender.sh

Poza tym *bardzo* dobrym pomysem jest wywoywanie dla kadego buildera
tmpwatcha. Powinno to wyglda mniej wicej tak:
5 3 * * * sudo chroot $HOME/chroots/chroot-i686/ tmpwatch -m 200 /spools/ready/
(autentyczny przykad). Oczywicie trzeba taki wpis ustawi dla kadego
chroota znajdujcego si na koncie, a wewntrz musi by zainstalowany tmpwatch.
W przeciwnym przypadku trzeba to czyci rcznie.

101. procmail

srpms_builder:

:0
* ^X-New-PLD-Builder:
|~/pld-builder.new/bin/request-handler.sh

:0
!admin@somehere

bin_builder

:0
!admin@somwhere

102. httpd

Katalog ~/pld-builder.new/www/ z konta srpm_builder musi by dostpny po
http pod url podanym jako control_url w konfiguracji bin-builderw.
