builder a distfiles
Radoslaw Zielinski
radek at karnet.pl
Thu Jun 19 21:36:11 CEST 2003
Andrzej Krzysztofowicz <ankry at 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 at karnet.pl>
[ GPG key: http://radek.karnet.pl/ ]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: </mailman/pipermail/pld-devel-pl/attachments/20030619/49e16a9b/attachment.sig>
More information about the pld-devel-pl
mailing list