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