对于构建脚本,我需要使用某个版本的源包。为了不必包含大型源档案,脚本只存储它们的校验和 (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 存档开头附近的时间戳存在细微差别。
这几个字节使每次下载的校验和都不同,因此脚本无法再确保下载的源存档的完整性。
我该如何规避这个问题?