This is an old revision of the document!
Skrypt builder
Użycie
Zanim zaczniesz upewnij się, że twoje środowisko budowania jest przygotowane.
Jako że skrypt znajduje się w podkatalogu rpm/SPECS, na początku musisz zmienić aktualną ścieżkę:
$ cd $ cd rpm/SPECS
Teraz możesz wykonać ./builder (pamiętaj o kropce i ukośniku na początku) aby zobaczyć listę możliwych parametrów:
$ ./builder
Ogólna składnia wygląda tak:
$ ./builder [opcje] pakiet[.spec]
Rozszerzenie .spec jest opcjonalne, skrypt doda je w razie potrzeby.
Najczęściej używane opcje:
-bbaby zbudować tylko pakiet binarny (pomija tworzenie pakietu źródłowego RPM)-bcaby 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)-Uaby skompletować wszystkie źródła i uaktualnić ich hashe MD5 w plikuspec-5aby uaktualnić hashe MD5 używając lokalnych źródeł–with OPCJAlub–without OPCJAaby zbudować pakiet z niestandardowymi opcjami (dostępne opcje są wypisane na początku procesu budowania)-Raby zebrać zależne wymagania pakietu, zaleca się instalacjęrpm-getdepsdla 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:
$ ./builder -bb -bc -R foo
Aby wykonać pełną budowę pakietu, który aktualnie rozwijany jest w gałęzi DEVEL:
$ ./builder -bc -r DEVEL foo
Aby zaktualizować hashe MD5 w powyższym pliku spec:
$ ./builder -r DEVEL -U foo