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