User Tools

Site Tools


pl:developingpld:builderscript

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pl:developingpld:builderscript [2009-07-01 22:17]
qwiat
pl:developingpld:builderscript [2009-10-01 00:11]
qwiat small update
Line 1: Line 1:
-/* page was renamed from michaloo/​DevelopingPLDpl/​BuilderScript */ 
- 
- 
-====== Skrypt builder ====== 
-Skrypt jest dostarczany razem z pakietem //​rpm-build-tools//,​ poza tym jest zapisywany dodatkowo w katalogu //​~/​rpm/​packages//​ - przy operacji [[:​pl:​DevelopingPLD:​PreparingWorkingEnvironment|przygotowania środowiska.]] ​ 
- 
-''​builder''​ automatycznie kompletuje wszystkie pliki (włączając w to plik ''​spec''​) potrzebne do zbudowania danego pakietu (jeżeli licencja na to pozwala, w innym wypadku musisz ręcznie ściągnąć konieczne pliki i zapisać je w //​~/​rpm/​packages/​foo//​). Kiedy wszystkie zależności są spełnione, ''​builder''​ uruchamia program ''​rpmbuild'',​ który inicjuje proces budowy. ''​rpmbuild''​ zaczyna od znalezienia ewentualnych niespełnionych zależności potrzebnych do zakończenia procesu. Jeżeli jakieś znajdzie, ''​builder''​ zakończy działanie wypisując listę wszystkich potrzebnych pakietów. Możesz użyć programu ''​poldek''​ aby je ściągnąć i zainstalować. ​ 
- 
- 
- 
-===== Użycie ===== 
-Teraz możesz wykonać ''/​usr/​bin/​builder'',​ aby zobaczyć listę możliwych parametrów: ​ 
- 
- 
- 
-<​file>​$ builder 
-</​file>​ 
-Ogólna składnia wygląda tak:  
- 
- 
- 
-<​file>​$ builder [opcje] pakiet[.spec] 
-</​file>​ 
-Rozszerzenie ''​.spec''​ jest opcjonalne, skrypt doda je w razie potrzeby. ​ 
- 
-Najczęściej używane opcje: ​ 
- 
- 
-  * ''​-bb''​ aby zbudować tylko pakiet binarny (pomija tworzenie pakietu źródłowego RPM)  
-  * ''​-bc''​ aby posprzątać po udanym budowaniu pakietu (usuwa scieżkę, w której był budowany pakiet) ​ 
-  * ''​-r GAŁĄŹ''​ aby użyć źródeł z konkretnej gałęzi czy wersji danego pakietu (lista dostępnych odgałęzień widoczna jest na początku procesu budowania) ​ 
-  * ''​-U''​ aby skompletować wszystkie źródła i uaktualnić ich hashe MD5 w pliku ''​spec'' ​ 
-  * ''​-5''​ aby uaktualnić hashe MD5 używając lokalnych źródeł ​ 
-  * ''​--with OPCJA''​ lub ''​--without OPCJA''​ aby zbudować pakiet z niestandardowymi opcjami (dostępne opcje są wypisane na początku procesu budowania). Listę dostępnych opcji uzyskujemy za pomocą opcji ''​--show-bconds'' ​ 
-  * ''​-R''​ automatycznie instaluje pakiety, które są konieczne do budowania, zaleca się instalację ''​rpm-getdeps''​ dla lepszego rezultatu ​ 
-  * ''​--target ARCH''​ pozwala budować pakiety dla innej architektury,​ niż architektura systemu. ​ 
-Pełny zestaw opcji jest dostępny po uruchomieniu programu bez argumentów. ​ 
- 
- 
- 
-===== Przykłady ===== 
-Typowe budowanie (binarnego) pakietu //​foo//: ​ 
- 
- 
- 
-<​file>​$ builder -bb foo 
-</​file>​ 
-Budowanie z automatycznym zainstalowaniem koniecznych pakietów: ​ 
- 
- 
- 
-<​file>​$ builder -bb -R foo 
-</​file>​ 
-Aby wykonać pełną budowę pakietu, który aktualnie rozwijany jest w gałęzi //​DEVEL//: ​ 
- 
- 
- 
-<​file>​$ builder -bc -r DEVEL foo 
-</​file>​ 
-Aby zaktualizować hashe MD5 w powyższym pliku ''​spec'': ​ 
- 
- 
- 
-<​file>​$ builder -r DEVEL -U foo 
-</​file>​ 
-Instalacja dla wybranej architektury: ​ 
- 
- 
- 
-<​file>​$ builder --target i486 foo 
-</​file>​ 
-Budowanie pakietu foo z ustawieniem opcji "​something"​ i wyłączeniem "​bar": ​ 
- 
- 
- 
-<​file>​$ builder --with something --without bar foo 
-</​file>​ 
- 
- 
-===== Zbudowane pakiety ===== 
-Gdy proces budowy zostanie zakończony,​ wszystkie binarne pliki RPM będą natychmiast dostępne w //​~/​rpm/​RPMS//,​ a pakiety RPM ze źródłami (jeżeli takowe miały powstać) zostaną zapisane //​~/​rpm/​SRPMS//​. Pakiety zapisane w //​~/​rpm/​RPMS//​ są łatwo dostępne w poldku dzięki źródłu //​home//: ​ 
- 
-<​file>​$ poldek -n home 
-</​file>​ 
- 
- 
-===== Uwagi ===== 
-Wszystkie pakiety PLD są przygotowane do zbudowania w środowisku normalnego użytkownika (bez specjalnych przywilejów) i z powodu ewentualnego zagrożenia bezpieczeństwa nigdy nie powinieneś używać konta root do budowy tych pakietów. Miej na uwadze, że niewłaściwie działający skrypt ma pełne prawo do zapisu w twoim systemie plików i może coś uszkodzić. Jest to szczególnie istotne przy pracy z własnymi plikami ''​spec'',​ ponieważ niewielki błąd może cię kosztować godziny czy dni pracy. ​ 
- 
  
pl/developingpld/builderscript.txt · Last modified: 2009-10-01 00:11 by qwiat