nowe skrypty builderów
Andrzej Krzysztofowicz
ankry w green.mif.pg.gda.pl
Śro, 11 Cze 2003, 11:03:05 CEST
> RFC do dwóch spraw:
>
> 1. Tak sobie myślę, nad czymś takim, że ze zleceniem budowania można
> można by wysyłać zlecenie upgrejdu.
>
> Jeśli upgrejd danego pakietu zepsułoby zależności, to to co się
> zepsuło jest wyinstalowywane. Np. budujemy nowe gcc, próbujemy
> upgrejdować a tu się o libtoola pluje, to wywalamy libtoola.
>
> Oczywiście dodatkowo byłoby instalowanie brakujących BR.
>
> Przy wyinstlowywaniu byłyby zabezpieczenia, żeby nie wyinstalować
> poldeka i rpm-build.
>
> O ile nie jest to dobre do sprawdzania czy BR są kompletne, to na
> pewno nadaje się na buildery produkcyjne, bo właśnie to co opisałem
> robi się ręcznie. No, chyba, że posiłkujemy się --nodeps.
Przychodzi mi do glowy taka sytuacja:
- zainstalowales nowe gcc, wyinstalowales libtoola, chcesz przebudowac
libtoola, a on ma np. BR: libtool... Co zrobi automatyka ?
- dopuszczasz w automatyce polecenie zainstalowania konkretnej wersji
pakietu (ver-rel) ?
> 2. Grupy zleceń. Zrobiłem coś takiego jak grupa zleceń. Działa to tak,
> że pakiety z grupy są budowane po kolei, na raz. Jeśli budowanie
> któregoś się wywali to przerywamy budowanie grupy.
>
> Miało to w zamyśle służyć do obsługi sytuacji: zmienia się biblioteka
> foo, to szukamy wszystkiech pakietów które od niej zależą, podbijamy
> release i puszczamy jako grupę.
>
> Tylko, że to jest głupie, bo jeśli budeje się biblioteka, i 10
> pakietów a 1 nie, to się wszystko wywala i pliki idą w /dev/null.
>
> Grupa powinna być grafem acyklicznym a nie listą tak jak jest
> teraz. Znaczy przy każdym pakiecie z grupy powinno być napisane od
> których pakietów z grupy zależy i na tej podstawie powinna być
> podejmowana decyzja o budowaniu. No i oczywiście wywalenie budowania
> jednego pliku nie powinno powodować przekierowania wyników reszty
> grupy do /dev/null.
>
> Mówię z sensem?
Z sensem.
Tylko, ze takie "grupy" beda mialy zazwyczaj wewnetrzne zaleznosci typu
przebuduj A, zainstaluj A, przebuduj B, przebuduj C, zainstaluj C,
przebuduj D, zainstaluj B i D, przebuduj E, ...
(nowe B jest w konflikcie ze stara wersja D, a D wymaga B i C)
Masz koncepcje jak to opisac ?
Dodam, ze tego typu zaleznosci dotychczas byly najczesciej wylapywane
dopiero po poslaniu na buildery... (w nowej wersji zostala dodana zaleznosc,
ktora umknela upgrejdujacemu i wyszla przy "autoreqdep")
--
=======================================================================
Andrzej M. Krzysztofowicz ankry w mif.pg.gda.pl
phone (48)(58) 347 14 61
Faculty of Applied Phys. & Math., Gdansk University of Technology
Więcej informacji o liście dyskusyjnej pld-devel-pl