Для скрипта сборки мне нужно работать с исходными пакетами определенной версии. Чтобы не включать большие исходные архивы, сценарии просто сохраняют свои контрольные суммы (SHA1) и загружают их автоматически. Это работает очень хорошо для официальных релизов, таких как
http://download.videolan.org/pub/videolan/libdca/0.0.5/libdca-0.0.5.tar.bz2
Однако некоторые пакеты не предоставляют официальный выпуск, поэтому я загружаю хорошо протестированную версию из системы контроля версий. Например, Gitweb предоставляет удобную функцию «снимка» для загрузки архива TarGZ:
http://git.videolan.org/?p=libbluray.git;a=snapshot;h=cf9ee593f;sf=tgz
К сожалению, этот URL возвращает немного разные файлы при каждом запросе. Хотя он всегда возвращает один и тот же tar-архив, который всегда сжимается с помощью gzip одним и тем же способом, существует небольшая разница в отметке времени в начале архива gzip.
Эти несколько байтов отличают контрольную сумму при каждой загрузке, поэтому сценарий больше не может гарантировать целостность загруженного исходного архива.
Как я могу обойти эту проблему?