This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
pl:developingpld:builderscript [2007-09-08 23:46] qwiat ujednolicenie nazewnictwa |
pl:developingpld:builderscript [2009-10-01 00:11] qwiat small update |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | /* page was renamed from michaloo/DevelopingPLDpl/BuilderScript */ | ||
- | |||
- | |||
- | ====== Skrypt builder ====== | ||
- | |||
- | |||
- | ===== Użycie ===== | ||
- | Jako że skrypt znajduje się w podkatalogu //rpm/SPECS//, na początku musisz zmienić aktualną ścieżkę: | ||
- | |||
- | |||
- | |||
- | <file>$ cd | ||
- | $ cd rpm/SPECS | ||
- | </file> | ||
- | Teraz możesz wykonać ''./builder'' (pamiętaj o kropce i ukośniku na początku) 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) | ||
- | * ''-R'' aby zebrać zależne wymagania pakietu, zaleca się instalację ''rpm-getdeps'' dla lepszego rezultatu | ||
- | ''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/SOURCES//). 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ć. | ||
- | |||
- | 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//. | ||
- | |||
- | **Uwaga:** 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. | ||
- | |||
- | |||
- | |||
- | ===== Przykłady ===== | ||
- | Aby zbudować normalny (binarny) pakiet //foo//: | ||
- | |||
- | |||
- | |||
- | <file>$ ./builder -bb -bc -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> | ||