builder a distfiles
Radoslaw Zielinski
radek w karnet.pl
Czw, 19 Cze 2003, 21:36:11 CEST
Andrzej Krzysztofowicz <ankry w green.mif.pg.gda.pl> [19-06-2003 00:22]:
> Sygnalizowalem juz problemy przy uzywaniu distfiles i plikach o zmieniajacej
> sie zawartosci bez zmiany nazwy pliku, ale jakos nikt sie tym nie
> zainteresowal. Opisze wiec krotko o co chodzi.
[...]
Właśnie się na to naciąłem przy zshguide.pdf.
> Komentarze? Inne propozycje?
Bardziej skomplikowane rozwiązanie: builder mógłby pamiętać, jaki plik
ściągał.
Przykładowo: w $TMPDIR lub ~/.builder/ tworzymy katalog builder_sources,
w którym przed rozpoczęciem ściągania umieszczamy symlink w postaci
$(plik)_$(md5) -> %_sourcedir/$(plik). Po zakończeniu ściągania,
dowiązanie usuwamy. Przy kolejnym uruchomieniu buildera, jeśli plik
w %_sourcedir istnieje, sprawdzamy, czy jego suma kontrolna zgadza
się z tą ze speca. Jeśli nie, to sprawdzamy, czy w builder_sources
jest dowiązanie z interesującą nas sumą -- jeśli tak (czyli ściąganie
zostało przerwane), używamy -c, jeśli nie (plik został zmieniony) --
kasujemy i ściągamy ponownie.
Pseudokod^H^H^Hperl:
chdir %_sourcedir
if (-e $plik) {
if (md5sum($plik) eq $suma_ze_speca) {
# jest OK
}
# tu przydałoby się sprawdzać, czy symlink rzeczywiście wskazuje
# tam, gdzie ma wskazywać -- ktoś mógł przedefiniować _sourcedir
elsif (-e ~/.builder/builder_sources/${plik}_$suma_ze_speca) {
wget -c $URL/$plik
}
else {
rm $plik
wget $URL/$plik
}
}
else {
wget $URL/$plik
}
--
Radosław Zieliński <radek w karnet.pl>
[ GPG key: http://radek.karnet.pl/ ]
-------------- następna część ---------
Załącznik, który nie był tekstem został usunięty...
Name: nie znany
Type: application/pgp-signature
Size: 189 bytes
Desc: nie znany
Url : /mailman/pipermail/pld-devel-pl/attachments/20040626/49e16a9b/attachment.bin
Więcej informacji o liście dyskusyjnej pld-devel-pl