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-06-28 02:30]
qwiat
pl:developingpld:builderscript [2009-10-01 00:11] (current)
qwiat small update
Line 3: Line 3:
  
 ====== Skrypt builder ====== ====== Skrypt builder ======
-Skrypt jest dostarczany razem z pakietem //​rpm-build-tools//,​ poza tym znajduje się dodatkowo w katalogu //​~/​rpm/​packages//​ - przy operacji [[:​pl:​DevelopingPLD:​PreparingWorkingEnvironment|przygotowania środowiska.]] ​+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ć. ​ ''​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ć. ​
Line 29: Line 29:
   * ''​-bb''​ aby zbudować tylko pakiet binarny (pomija tworzenie pakietu źródłowego RPM)    * ''​-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) ​   * ''​-bc''​ aby posprzątać po udanym budowaniu pakietu (usuwa scieżkę, w której był budowany pakiet) ​
 +  * ''​-g''​ pobranie pakietu, bez budowania ​
   * ''​-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) ​   * ''​-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'' ​   * ''​-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ł ​   * ''​-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)  +  * ''​--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ą argumentu ''​--show-bconds'' ​ 
-  * ''​-R'' ​aby zebrać zależne wymagania pakietu, zaleca się instalację ''​rpm-getdeps''​ dla lepszego rezultatu ​+  * ''​-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. ​   * ''​--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 ===== ===== Przykłady =====
-Aby zbudować normalny ​(binarnypakiet ​//​foo//: ​+Typowe budowanie ​(binarnegopakietu ​//​foo// ​z HEAD CVS-u:  
 + 
 + 
 + 
 +<​file>​$ builder -bb foo 
 +</​file>​ 
 +j.w. tyle, że z automatycznym zainstalowaniem koniecznych pakietów (z [[:​BuildRequires|BuildRequires]])
  
  
  
-<​file>​$ builder -bb -bc -R foo+<​file>​$ builder -bb -R foo
 </​file>​ </​file>​
 Aby wykonać pełną budowę pakietu, który aktualnie rozwijany jest w gałęzi //​DEVEL//: ​ Aby wykonać pełną budowę pakietu, który aktualnie rozwijany jest w gałęzi //​DEVEL//: ​
pl/developingpld/builderscript.1246149027.txt.gz · Last modified: 2009-06-28 02:30 by qwiat