libdlna
Paweł Zuzelski
z w xatka.net
Pią, 25 Cze 2010, 11:15:15 CEST
On Fri, 25 Jun 2010, Daniel Dawid Majewski wrote:
> W odpowiedzi na wiadomość z dnia 24.06.2010 23:49, od Bartłomiej Zimoń:
> > Ps. --short-circuit bardzo pomaga przy pracy z rpm-ami bo pozwala
> > wykonywac sekcje z pliku spec krokowo, a przy tym w razie bledu
> > kompilacji po poprawieniu problemu mozesz wywolac samo %build
> > jeszcze.
> Możesz opisać to przystępniej (Po czym poznać że czeka na następny krok
> ? Co trzeba wcisnąć aby przejść do następnego kroku lub wykonać krok
> poprzedni ?), albo czy widziałeś gdzieś dokładny opis
> tej opcji ?
cd rpm/packages/moj_zajefajny_pakiet
../builder -bb *spec
(JEB, wywaliło się na etapie rozpakowywania źródeł)
vim *spec
#poprawiam speca
A teraz chcę przetestować tylko %prep:
../builder -bp *spec
(mieli, mieli, hura! rozpakowało się)
No to teraz chcę zobaczyć, czy się buduje, ale że źródła mają 2TB,
to nie chcę ich jeszcze raz rozpakowywać:
../builder -bc --short-circuit *spec
A teraz komentarz jak to działa:
opcje -bX oznaczają stadium budowania:
-bp - %prep
-bc - %build (nie mylić z -bb)
-bi - %install
-bb - %files
Normalnie jak wykonujemy ../builder -bX, to builder wykona wszystkie
stadia aż do X, czyli -bi wykona %prep, %build, %install. Opcja
--short-circuit oznacza, żeby wykonał TYLKO X. czyli
-bc --short-circuit oznacza wykonaj %build już przygotowanych
źródłach. Zauważ, że dzięki temu, jak masz aplikację która się
dłuuuugo buduje, na przykład kernel, możesz zrobić tak:
../builder -bb *spec
(zbudowało się)
zmieniasz jedną opcję w konfigu kernela, w związku z tym nie chcesz
przebudowywać całości, to robisz:
../builder -bc --short-circuit *spec
Make powinien dobudować tylko to co się zmieniło, jak to make.
Następnie trzeba wykonać jeszcze
-bi --short-circuit i -bb --short-circuit. W związku z tym, że to
częste połączenie opcji, mamy osobny skrypt który to robi:
../repackage.sh
Dobra, nie wiem, czy akurat kernel.spec nie jest zbyt
przekombinowany, żeby tak zadziałało, ale ogólnie taka jest koncepcja.
Kilka dodatkowych uwag:
Jeżeli repackage.sh lub compile.sh wykonamy bez argumentów, to to
jest tak, jakbyśmy wykonali go dla *spec, czyli dla pierwszego speca
w aktualnym katalogu.
builder -bp nie wymaga zainstalowanych BRów, dlatego kopiowanie
plików należących do innych pakietów powinno się odbywać w %build
(patrz paragraf 9 devel-hints).
--
Pozdrawiam,
Paweł
Więcej informacji o liście dyskusyjnej pld-devel-pl