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