chroot developerski

Tomasz Trojanowski tomek w uninet.com.pl
Nie, 18 Mar 2007, 23:53:10 CET


On Fri, 2007-03-16 at 12:07 +0100, Cezary Krzyzanowski wrote:

> Ze wczorajszej rozmowy z Undefem wynikło, że przydało by się do
> developerki PLD i dla builderów taki system, który budowałby paczki
> zupełnie z gruntu na czystym systemie, co pozwoliło by znaleźć wszystkie
> BR-y.
> 
> Dziś uruchomiłem sobie taki systemik i rzeczywiście - pierwsza z brzegu
> paczka okazuje się mieć znacznie więcej BR-ów, niż zadeklarowane w
> nagłówku.
> 
> Moje pytanko jest następujące. Potrzebuję pomysłu na czyszczenie takiego
> chroota do gruntu i potem doinstalowywania nowych zależności.

Jakiś czas temu zrobiłem sobie taki builder. Nie chciałem jednak w nim
uzywać "rpm -e" w celu usuwania zainstalowanych pakietów. W związku z
tym builder działał tak, że miał tarballa z minimalnym chrootem. Kiedy
przychodziło zlecenie testowego builda, tarball był rozpakowywany, w
chroocie uruchamiane było "poldek --update; poldek --upgrade-dist", i
ponownie pakowany, na koniec zlecenie było budowane, a po zbudowaniu
chroot usuwany.

Takie rozwiązanie ma jednak dwie istotne wady. Po pierwsze taki minimaly
tarball, co prawda powoli, ale rośnie. Druga wada jest istotniejsza,
builder na pewnym etapie musi mieć uprawnienia roota do rozpakowania
takiego tarballa.

Od jakiegoś czasu myśle o napisaniu, małego demona (pracującego z
uprawnieniami roota), który na żądanie (przesłane z buildera np. po
sockecie) przygotowuje taki minimalny chroot - bo przecież nie jest to
specjalnie skompilowane żeby wynikły jakieś problemy podczas jego
tworzenia.

> Oczywiście można robić ./builder -R -bb paczka i w
> pliku .paczka.spec-INSTALLED_PACKAGES są doinstalowane pakiety i można
> po prostu sudo rpm -e je, ale to zabija łącze, jak próbuję zbudować coś
> z powiedzmy KDE, czy GTK i na nowo trzeba doinstalować połowę xorg i
> kde/gtk/gnome.
> 
> Potrzebuję więc pomysłu na cachowanie tych już ściągniętych rpm-ów i
> utrzymywanie tego cache'a w rozsądnych rozmiarach (np. poldek --fetch
> daje pewne możliwości, ale katalog cache byłby potem zawalony paroma
> wersjami tego samego pakietu).

Nad tym nie myslalem, ponieważ mój builder pracowal na maszynie na
której był równiez FTP z pakietami. Dlatego nic poza Squidem nie
przychodzi mi w tym momencie do głowy.

Pozdrawiam
    Tomek




Więcej informacji o liście dyskusyjnej pld-devel-pl