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ł _______________________________________________ pld-devel-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
