Jak to w th będzie ( dłuuuuugie )
Jakub Bogusz
qboosh w pld-linux.org
Pon, 7 Mar 2005, 21:38:43 CET
On Sun, Mar 06, 2005 at 11:28:47PM +0100, Mariusz Mazur wrote:
> Po pierwsze, nie ma żadnego problemu z przechowywaniem w 'test' najnowszego
> snapshota jakiegoś oprogramowania, z równoczesnym trzymaniem wersji stabilnej,
> która to wersja stabilna zostanie przeniesiona do 'main' bez ruszania
> snapshota. Nowa automatyka radzi sobie z taką sytuacją bez mrugnięcia okiem.
> Oczywiście oznacza to, że upgrejdowanie na ślepo z drzewka testowego nie
> będzie najszczęśliwszym pomysłem, ale aktualizacja do konkretnej wersji nie
> jest żadnym problemem przy użyciu poldka.
Jednego pakietu tak, wymaganych przez niego innych pakietów (bez ścisłej
zależności od wersji) już nie - albo mamy loterię, albo
choose_equivalents_manually i wnerwiający quiz z kilkunastoma+ pytaniami.
> Po drugie, nie oznacza to zlikwidowania testowych zleceń, ale różnica jest
> taka, że testowe zlecenia będą służyły tylko i wyłącznie do sprawdzania, czy
> dany pakiet się poprawnie buduje. Ja testowych zleceń używam tylko do
> inkrementalnego sprawdzania, czy moja poprawka działa na danej architekturze
> (commit, zlecenie, commit, zlecenie...) i zapewne nie będą one służyły do
> niczego innego. Katalog z paczkami zbudowanymi w wyniku takich zleceń jest po
> pierwsze ukryty (katalog '.test-builds'), a po drugie nie są w nim generowane
> indeksy poldkowe. Same zaś paczki są automatycznie usuwane po kilkudziesięciu
> godzinach.
Nie wiem jak z serwerem na ftp.* - ale np. pure-ftpd nie pozwala wejść
do katalogów .[!.]*, więc nawet nie ma jak zobaczyć, co się zbudowało ;>
> Na pierwszy rzut oka wygląda to tak, jakbym tylko pozmieniał nazwy katalogów w
> porównaniu do Ac ('ready' teraz nazywa się 'test', a 'test' -- '.test-builds')
> i wyłączył generowanie indeksów dla tego ostatniego (żeby ludziom utrudniać
> życie). Żeby zrozumieć na czym rzeczywiście polega ta zmiana, trzeba sobie
> najpierw uzmysłowić skąd się wziął obecny podział. Otóż, tworząc nową
> automatykę builderową, malekith założył, że paczki gotowe do przeniesienia
> będą trafiały do 'ready', a paczki testowe ('na śmietnik') do 'test'.
No niekoniecznie. test zostało śmietnikiem nieco później, przy
wyłączeniu tagowania przy budowaniu.
Przedtem IIRC zdarzało się przenoszenie z test do ready.
> Jest też problem aktualizacji pakietów na builderach. Z doświadczenia wiem, że
> puszczanie zleceń z domyślnie ustawioną flagą 'upgrade' nie jest
> najszczęśliwszym pomysłem i szybko prowadzi do bałaganu. Na pewno sensowne
> jest ustawienie automatycznej aktualizacji pakietów do tych, które zostają
> przenoszone do 'main'. Pytanie, co zrobić z pakietami, które do zbudowania
> wymagają nowszej wersji jakiejś biblioteki i nie można ich przenieść do 'main'
> (tym samym aktualizując na builderach), gdyż psułoby to zależności w 'main'.
> Teoretycznie kilka osób zawsze będzie miało możliwość ręcznej aktualizacji
> pakietów na builderach (przy pomocy odpowiedniego zlecenia), ale wtedy na te
> osoby spada odpowiedzialność za pilnowanie, czy wszystko jest w porządku. Nie
> dysponuję danymi, jak często taka funkcjonalność jest potrzebna,
Co najmniej kilka razy w miesiącu dla grup > kilka pakietów.
Pary albo trójki pakietów częściej (np. jakieś dclib+już-nie-dcgui, albo
sip+PyQt+PyKDE).
Grupy po kilkadziesiąt pakietów raz na parę miesięcy.
> więc możliwe,
> że coś takiego może w praktyce działać. Jednak zaimplementowanie w w/w
> interfejsie do obsługi ftpa odpowiedniej funkcjonalności, dzięki której
> deweloperzy będą mogli słać zlecenia upgrejdu określonych paczek (a interfejs,
> jak zwykle, będzie mógł wykonać kilka automatycznych testów, dzięki którym
> będzie można łatwo zapobiegać desynchronizacji builderów), nie powinno być
> specjalnie trudne. A będzie miało to tę zaletę, że wszystkie zlecenia
> aktualizacji będą łatwo obserwowalne dzięki odpowiedniej liście mailingowej.
> Jednak najbardziej ambitnym pomysłem jest integracja zarządzania zawartością
> serwera ftp z systemem śledzenia błędów. Podstawowa funkcjonalność polegałaby
> na tym, że otworzenie błędu dla danego pakietu blokowałoby możliwość
> przeniesienia tego pakietu do 'main'. Żeby paczkę przenieść, należałoby
> najpierw błąd zamknąć.
I zgłaszając błąd typu "nie działa pr0n patch" można zablokować
uaktualnienie security ;>
> Błąd byłby też zamykany w przypadku usunięcia pakietu z
> ftpa. Miałoby wtedy sens otwieranie błędów security, gdyż byłyby one
> automatycznie zamykane przy pojawieniu się nowszego pakietu (przy czym
> niekoniecznie zgodnie z prawdą -- pojawienie się nowego pakietu jeszcze nie
> znaczy, że ktoś w nim poprawił błąd, ale jest go dosyć bezpieczne założenie).
> Ciekawych pomysłów na zapewnienie jakiegoś sensownego kanału, dzięki któremu
> zainteresowani mogliby być informowani o błędach klasy security, można by
> pewnie zaproponować jeszcze kilka.
[...]
> sklonuje, niektórych ludzi wręcz szkoda przeznaczać do zajęć nietechnicznych
> (a i pewnie nie mieliby na to czasu), a świeża krew w PLD i owszem, jest,
> ale... no cóż -- jest jednak trochę zbyt świeża.
I to jest teraz spory problem.
--
Jakub Bogusz http://cyber.cs.net.pl/~qboosh/
Więcej informacji o liście dyskusyjnej pld-devel-pl