PLDWWW: michaloo/DevelopingPLDpl/BuilderScript

michaloo michaloo at pld-linux.org
Wed May 9 20:44:11 CEST 2007


Author: michaloo   Date: Wed May  9 18:44:11 2007 GMT
Module: PLDWWW   URL: http://pld-linux.org/michaloo/DevelopingPLDpl/BuilderScript
---- Log message:
initial version

---- Page affected: michaloo/DevelopingPLDpl/BuilderScript

---- Diffs:

================================================================
The comment on the change is:
initial version

New page:
= Skrypt builder =

== Użycie ==

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:

  * {{{-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":

{{{
$ ./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
}}}


More information about the pld-cvs-commit mailing list