pld-builder.new: jak-to-dziala.txt, jak-wysylac-zlecenia.txt - utf8
glen
glen at pld-linux.org
Tue Nov 16 10:09:52 CET 2010
Author: glen Date: Tue Nov 16 09:09:52 2010 GMT
Module: pld-builder.new Tag: HEAD
---- Log message:
- utf8
---- Files affected:
pld-builder.new:
jak-to-dziala.txt (1.5 -> 1.6) , jak-wysylac-zlecenia.txt (1.6 -> 1.7)
---- Diffs:
================================================================
Index: pld-builder.new/jak-to-dziala.txt
diff -u pld-builder.new/jak-to-dziala.txt:1.5 pld-builder.new/jak-to-dziala.txt:1.6
--- pld-builder.new/jak-to-dziala.txt:1.5 Fri Jun 27 19:21:35 2008
+++ pld-builder.new/jak-to-dziala.txt Tue Nov 16 10:09:47 2010
@@ -1,34 +1,34 @@
-1. Developer wysy³a zlecenie, z u¿yciem client/make-request.sh, na adres
+1. Developer wysyÅa zlecenie, z użyciem client/make-request.sh, na adres
srpm buildera.
-2. Na koncie srpm buildera skrypt request_handler.py wo³any z procmaila obs³uguje
+2. Na koncie srpm buildera skrypt request_handler.py woÅany z procmaila obsÅuguje
zlecenie.
- a) sprawdza podpis gpg, wyci±ga wszystkie Good sinature from <...>
- je¶li brak -- wypad
- b) szuka w swoim acl.conf czy osoba z Good signature from mo¿e robiæ
+ a) sprawdza podpis gpg, wyciÄ
ga wszystkie Good sinature from <...>
+ jeÅli brak -- wypad
+ b) szuka w swoim acl.conf czy osoba z Good signature from może robiÄ
cokolwiek, w.p.p wypad
c) xml-parsuje zlecenie (request.py)
- i. je¶li jest to <notifcation ...>, sparawdza uprawnienie
- notify:<builder>, i je¶li OK, to zmienia odpowiednio
- kolejkê spool/req_queue. Je¶li wszystki buildery
- zakoñczy³y ju¿ budowanie danej grupy usuwane s± src rpmy
- z www/srpms/<group-id>/. Generuje stronê ze statystykami
+ i. jeÅli jest to <notifcation ...>, sparawdza uprawnienie
+ notify:<builder>, i jeÅli OK, to zmienia odpowiednio
+ kolejkÄ spool/req_queue. JeÅli wszystki buildery
+ zakoÅczyÅy już budowanie danej grupy usuwane sÄ
src rpmy
+ z www/srpms/<group-id>/. Generuje stronÄ ze statystykami
(www/queue.html).
- ii. je¶li jest to <group ...> to sprawdza czy u¿ytkownik,
- który wys³a³ zlecenie ma uprawnienia src:<nazwa-src-buildera>,
- oraz binary:<builder> dla ka¿dego buildera dla którego jest
- zlecenie. Je¶li OK, to wrzuca zlecenie do spool/queue
+ ii. jeÅli jest to <group ...> to sprawdza czy użytkownik,
+ który wysÅaÅ zlecenie ma uprawnienia src:<nazwa-src-buildera>,
+ oraz binary:<builder> dla każdego buildera dla którego jest
+ zlecenie. JeÅli OK, to wrzuca zlecenie do spool/queue
3. Na koncie srpm buildera z crona chodzi skrypt srpm_builder.py.
- a) Czyta spool/queue, je¶li s± tam jakie¶ zlecenia, sortuje wg. priorytetu
- (ni¿szy numer == wa¿niejsze zlecenie), a nastêpnie sortuje wg. czasu
- przybycia zlecenia (starsze == wa¿niejsze), wyci±ga je z kolejki i zapisuje
- kolejkê.
- b) Obs³uguje tylko <group ...>.
- c) Buduje w chroot wszystkie pakiety z grupy, kolejkuj±c pliki w spool/ftp/
- oraz spool/buildlogs/. Dodatkowo srpmy s± wrzucane do www/srpms/<group-id>/
- sk±d ci±gn± je bin-buildery.
- d) je¶li nie powiod³o siê budowanie ¿adnego pakietu to wypad
+ a) Czyta spool/queue, jeÅli sÄ
tam jakieÅ zlecenia, sortuje wg. priorytetu
+ (niższy numer == ważniejsze zlecenie), a nastÄpnie sortuje wg. czasu
+ przybycia zlecenia (starsze == ważniejsze), wyciÄ
ga je z kolejki i zapisuje
+ kolejkÄ.
+ b) ObsÅuguje tylko <group ...>.
+ c) Buduje w chroot wszystkie pakiety z grupy, kolejkujÄ
c pliki w spool/ftp/
+ oraz spool/buildlogs/. Dodatkowo srpmy sÄ
wrzucane do www/srpms/<group-id>/
+ skÄ
d ciÄ
gnÄ
je bin-buildery.
+ d) jeÅli nie powiodÅo siÄ budowanie żadnego pakietu to wypad
e) zleceniu nadawany jest numer
f) zlecenie jest wrzucane do spool/req_queue
g) kolejka jest podpisywana kluczem srpm buildera, gzipowana i wrzucana do
@@ -36,27 +36,27 @@
h) numer zapisywany jest w www/max_req_no
i) generowanie strony ze statystykami
-4. Na kontach srpm buildera i bin-builderów chodzi
- file_sender.py. Monitoruje on kolejki spool/{buildlogs,ftp}. S± w
+4. Na kontach srpm buildera i bin-builderów chodzi
+ file_sender.py. Monitoruje on kolejki spool/{buildlogs,ftp}. SÄ
w
nich pliki, jak:
faa1f592-437f-446d-b1e6-ac41976c5775
faa1f592-437f-446d-b1e6-ac41976c5775.info
faa1f592-437f-446d-b1e6-ac41976c5775.desc
- Plik .desc jest kontrolny dla file_sender.py. Zawiera email zlecaj±cego
- (do alarmowania), czas skolejkowania (pliki s± wysy³ane dok³adnie
- w kolejno¶ci wrzucania do kolejki), oraz cel (url), gdzie nale¿y
- przes³aæ plik.
+ Plik .desc jest kontrolny dla file_sender.py. Zawiera email zlecajÄ
cego
+ (do alarmowania), czas skolejkowania (pliki sÄ
wysyÅane dokÅadnie
+ w kolejnoÅci wrzucania do kolejki), oraz cel (url), gdzie należy
+ przesÅaÄ plik.
- Plik .info jest tylko dla buildlogów. Je¶li taki plik istnieje to jest
- przesy³any po przes³aniu w³a¶ciwego pliku (tego bez rozszerzenia). Jest
+ Plik .info jest tylko dla buildlogów. JeÅli taki plik istnieje to jest
+ przesyÅany po przesÅaniu wÅaÅciwego pliku (tego bez rozszerzenia). Jest
w nim zapisany status buildloga (OK|FAIL). helpers/buildlogs-mover.sh
- u¿ywa tych plików.
+ używa tych plików.
- Pliki .info i .desc koñcza siê lini±, zawieraj±c± s³owo END. Skrypty
- nic z nimi nie robi± je¶li nie ma tam tego s³owa (transmisja
- niedokoñczona).
+ Pliki .info i .desc koÅcza siÄ liniÄ
, zawierajÄ
cÄ
sÅowo END. Skrypty
+ nic z nimi nie robiÄ
jeÅli nie ma tam tego sÅowa (transmisja
+ niedokoÅczona).
URLe wspierane jako cel to:
@@ -64,45 +64,45 @@
scp://user@host/sciezka/plik
/absolutna/sciezka/do/pliku
- W pliki config/rsync-passwords s± has³a do rsync, w formacie:
+ W pliki config/rsync-passwords sÄ
hasÅa do rsync, w formacie:
- user at host has³o
+ user at host hasÅo
- scp dzia³a po kluczach (z ~/.ssh)
+ scp dziaÅa po kluczach (z ~/.ssh)
5. Na koncie bin-buildera chodzi skrypt request_fetcher.py.
- a) ¶ci±ga $control_url/max_req_no i porównuje ze spool/last_req_no.
- je¶li takie same to wypad.
- b) ¶ci±ga $control_url/queue.gz, dekompresuje, sprawdza podpis (w
- config/acl.conf dla podpisuj±cego u¿ytkownika musi byæ
+ a) ÅciÄ
ga $control_url/max_req_no i porównuje ze spool/last_req_no.
+ jeÅli takie same to wypad.
+ b) ÅciÄ
ga $control_url/queue.gz, dekompresuje, sprawdza podpis (w
+ config/acl.conf dla podpisujÄ
cego użytkownika musi byÄ
"sign_queue:all") [sidenote: konto bin buildera nie potrzebuje
- kluczy gpg innych ni¿ swój i srpm buildera, nie potrzebuje te¿
- acl.conf pe³nego, tylko srpm_builder z sign_queue:all]
+ kluczy gpg innych niż swój i srpm buildera, nie potrzebuje też
+ acl.conf peÅnego, tylko srpm_builder z sign_queue:all]
c) wrzuca zlecenia do spool/queue
- d) zapisuje najwiêkszy numer zlecenia wrzuconego w spool/last_req_no.
+ d) zapisuje najwiÄkszy numer zlecenia wrzuconego w spool/last_req_no.
6. Na koncie bin-buildera chodzi skrypt rpm_builder.py.
- a) sprawdzenie loadu, je¶li za wysoki to papa
- b) lockowanie build-slot-N, gdzie N < job_slots, je¶li sie nie da
+ a) sprawdzenie loadu, jeÅli za wysoki to papa
+ b) lockowanie build-slot-N, gdzie N < job_slots, jeÅli sie nie da
to papa
c) lockowanie building-rpm-for-<builder> (tylko jeden build w chroot
na raz)
- d) Czyta spool/queue, je¶li s± tam jakie¶ zlecenia, sortuje wg. priorytetu
- (ni¿szy numer == wa¿niejsze zlecenie), a nastêpnie sortuje wg. czasu
- przybycia zlecenia (starsze == wa¿niejsze), wyci±ga je z kolejki i zapisuje
- kolejkê.
- e) buduje pakiety, wrzuca pliki do spool/{buildlogs,ftp}. Je¶li nie ma flagi
- test-build to pakiety wrzuca te¿ do /spools/ready/ w chroot (i generuje
+ d) Czyta spool/queue, jeÅli sÄ
tam jakieÅ zlecenia, sortuje wg. priorytetu
+ (niższy numer == ważniejsze zlecenie), a nastÄpnie sortuje wg. czasu
+ przybycia zlecenia (starsze == ważniejsze), wyciÄ
ga je z kolejki i zapisuje
+ kolejkÄ.
+ e) buduje pakiety, wrzuca pliki do spool/{buildlogs,ftp}. JeÅli nie ma flagi
+ test-build to pakiety wrzuca też do /spools/ready/ w chroot (i generuje
tam idx poldka)
-Budowanie pakietów:
- 1. ¶ci±gniêcie srpm
+Budowanie pakietów:
+ 1. ÅciÄ
gniÄcie srpm
2. instalacja srpm
- 3. próba budowania (z --nobuild), wy³apanie "foo is needed by ...",
- instalacja wszystkich takich foo. UWAGA: to nie zawsze dzia³a, np. je¶li
- rpm wywali siê z braku pliku do %include. trzeba napisaæ osobny parser.
+ 3. próba budowania (z --nobuild), wyÅapanie "foo is needed by ...",
+ instalacja wszystkich takich foo. UWAGA: to nie zawsze dziaÅa, np. jeÅli
+ rpm wywali siÄ z braku pliku do %include. trzeba napisaÄ osobny parser.
4. budowanie
- 5. je¶li nie test-build to przerzucenie pakietów do /spools/ready/
- 6. je¶li upgrade, to próba upgrejdu, wywalenie wszystkich przeszkadzaj±cych
- pakietów, chyba, ¿e trzeba by wywaliæ poldka, lub rpm-build.
+ 5. jeÅli nie test-build to przerzucenie pakietów do /spools/ready/
+ 6. jeÅli upgrade, to próba upgrejdu, wywalenie wszystkich przeszkadzajÄ
cych
+ pakietów, chyba, że trzeba by wywaliÄ poldka, lub rpm-build.
7. upgrade
================================================================
Index: pld-builder.new/jak-wysylac-zlecenia.txt
diff -u pld-builder.new/jak-wysylac-zlecenia.txt:1.6 pld-builder.new/jak-wysylac-zlecenia.txt:1.7
--- pld-builder.new/jak-wysylac-zlecenia.txt:1.6 Tue Nov 16 09:07:50 2010
+++ pld-builder.new/jak-wysylac-zlecenia.txt Tue Nov 16 10:09:47 2010
@@ -1,6 +1,6 @@
-W katalogu client jest skrypt nazywaj±cy siê make-request.sh. Odpalamy go
-bez argumentów po czym zagl±damy do pliku ~/.requestrc. Najlepszy bêdzie
-przyk³ad wiêc poni¿ej ustawienia, które trzeba zmieniæ:
+W katalogu client jest skrypt nazywajÄ
cy siÄ make-request.sh. Odpalamy go
+bez argumentów po czym zaglÄ
damy do pliku ~/.requestrc. Najlepszy bÄdzie
+przykÅad wiÄc poniżej ustawienia, które trzeba zmieniÄ:
requester=mmazur
default_key=mmazur at kernel.pl
@@ -10,60 +10,60 @@
[mmazur at home mmazur]$ gpg --list-secret-keys|grep '@'
sec 1024D/A1490DA4 2003-08-14 Mariusz Mazur <mmazur at kernel.pl>
-Mam nadziejê, ¿e teraz jest jasne sk±d siê ten email bierze.
+Mam nadziejÄ, że teraz jest jasne skÄ
d siÄ ten email bierze.
-Na razie obowi±zuj±cymi ustawieniami s±:
+Na razie obowiÄ
zujÄ
cymi ustawieniami sÄ
:
build_mode=ready
f_upgrade=yes
-Po wyrównaniu ilo¶ci pakietów na ftpie z tym co jest w Ra przechodzimy na
+Po wyrównaniu iloÅci pakietów na ftpie z tym co jest w Ra przechodzimy na
ustawienia:
build_mode=test
f_upgrade=no
-Ale tym na razie nie trzeba siê martwiæ, bo gdy przyjdzie czas, to bêdê
-o tym tr±bi³.
+Ale tym na razie nie trzeba siÄ martwiÄ, bo gdy przyjdzie czas, to bÄdÄ
+o tym trÄ
biÅ.
-Teraz æwiczenia praktyczne:
+Teraz Äwiczenia praktyczne:
make-request.sh kernel.spec:LINUX_2_6
make-request.sh qt.spec kadu.spec
make-request.sh -b 'th-i* th-x86_64' nasm.spec
-Pierwszy przyk³ad to puszczenie zlecenia na pakiet kernel z brancha LINUX_2_6.
-Drugi to puszczenie w jednym zleceniu qt i kadu, przy czym je¶li budowanie
-qt siê wywróci, to automatyka nawet nie bêdzie próbowa³a budowaæ kadu.
-Ostatni przyk³ad to puszczenie nasma tylko i wy³±cznie na buildery x86
-(th-i* rozwija siê na to samo, co th-i?86). Zwracam uwagê, ¿e przy
-listowaniu tych buidlerów trzeba je wycytowaæ, ¿eby sz³y jako jeden
+Pierwszy przykÅad to puszczenie zlecenia na pakiet kernel z brancha LINUX_2_6.
+Drugi to puszczenie w jednym zleceniu qt i kadu, przy czym jeÅli budowanie
+qt siÄ wywróci, to automatyka nawet nie bÄdzie próbowaÅa budowaÄ kadu.
+Ostatni przykÅad to puszczenie nasma tylko i wyÅÄ
cznie na buildery x86
+(th-i* rozwija siÄ na to samo, co th-i?86). Zwracam uwagÄ, że przy
+listowaniu tych buidlerów trzeba je wycytowaÄ, żeby szÅy jako jeden
argument.
-Ka¿dy dostaje mailem informacje o zleceniach które wysy³a (przy czym maile
-z tymi informacjami przychodz± nie na adres w ~/.requestrc, ale na adres
-zdefiniowany w konfigach buildera, wiêc sugerowa³bym wybieranie aliasa
- at pld-linux.org, ¿eby móc to samemu zmieniaæ, bez konieczno¶ci interwencji
-kogo¶ z bezpo¶rednim dostêpem do odpowiedniego buildera). Je¶li chcesz byæ
-informowany o wszystkich zleceniach, to musisz siê zapisaæ na listê
-pld-logs-builder at pld-linux.org i/lub ¶ledziæ co siê dzieje na
+Każdy dostaje mailem informacje o zleceniach które wysyÅa (przy czym maile
+z tymi informacjami przychodzÄ
nie na adres w ~/.requestrc, ale na adres
+zdefiniowany w konfigach buildera, wiÄc sugerowaÅbym wybieranie aliasa
+ at pld-linux.org, żeby móc to samemu zmieniaÄ, bez koniecznoÅci interwencji
+kogoÅ z bezpoÅrednim dostÄpem do odpowiedniego buildera). JeÅli chcesz byÄ
+informowany o wszystkich zleceniach, to musisz siÄ zapisaÄ na listÄ
+pld-logs-builder at pld-linux.org i/lub ÅledziÄ co siÄ dzieje na
http://src.th.pld-linux.org/queue.html
-Poniewa¿ póki co domy¶lnie pakiety l±duj± w katalogu ready na ftpie i po
-zbudowaniu nowe wersje s± automatycznie upgrejdowane na builderze, wiêc
-przez pewien czas pewnie przydatne bêdzie poni¿sze wywo³anie:
+Ponieważ póki co domyÅlnie pakiety lÄ
dujÄ
w katalogu ready na ftpie i po
+zbudowaniu nowe wersje sÄ
automatycznie upgrejdowane na builderze, wiÄc
+przez pewien czas pewnie przydatne bÄdzie poniższe wywoÅanie:
make-request.sh -t nasm.spec
-Skutek bêdzie taki, ¿e pakiet siê zbuduje, ale nie zostanie automatycznie
-zupgrejdowany na builderach, a zamiast w ready wyl±duje w test (póki co
-cieciwa u¿ywa tego do budowania sobie w spokoju jajek 2.6).
+Skutek bÄdzie taki, że pakiet siÄ zbuduje, ale nie zostanie automatycznie
+zupgrejdowany na builderach, a zamiast w ready wylÄ
duje w test (póki co
+cieciwa używa tego do budowania sobie w spokoju jajek 2.6).
Zasady puszczania do Th:
-- Puszczamy zawsze z HEAD i bez bcondów. Odstêpstwa od tej zasady s±
- akceptowalne tylko i wy³±cznie w dobrze uzasadnionych przypadkach. HEAD ma
- na celu ³atwiejsz± orientacjê w zawarto¶ci ftpa. Natomiast brak bcondów jest
- wedle zasady "src.rpm ma siê budowaæ w ¶rodowisku, jakie jest dostêpne na
- ftpie (wyj±tek to oczywi¶cie java) i nie oczekujmy wiedzy tajemnej (jakiego
- bconda u¿yæ) od wszystkich, którzy chc± dany pakiet zbudowaæ".
+- Puszczamy zawsze z HEAD i bez bcondów. OdstÄpstwa od tej zasady sÄ
+ akceptowalne tylko i wyÅÄ
cznie w dobrze uzasadnionych przypadkach. HEAD ma
+ na celu ÅatwiejszÄ
orientacjÄ w zawartoÅci ftpa. Natomiast brak bcondów jest
+ wedle zasady "src.rpm ma siÄ budowaÄ w Årodowisku, jakie jest dostÄpne na
+ ftpie (wyjÄ
tek to oczywiÅcie java) i nie oczekujmy wiedzy tajemnej (jakiego
+ bconda użyÄ) od wszystkich, którzy chcÄ
dany pakiet zbudowaÄ".
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/jak-to-dziala.txt?r1=1.5&r2=1.6&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/pld-builder.new/jak-wysylac-zlecenia.txt?r1=1.6&r2=1.7&f=u
More information about the pld-cvs-commit
mailing list