<div dir="ltr">Hi,<div><br></div><div>Some people have insisted for a long time that the dynamically generated /archive/ tarballs at github cannot be trusted for long-term stability, as they are generated using git-archive.  Others said that git-archive takes measures to ensure the files are identical, and basic testing does indeed show that.  Personally I was on the fence: a dynamically generated tarball that is cached *could* change, but the git-archive generates the same file list and the tools are stable.</div><div><br></div><div>Then the tarball for one of Erlang&#39;s repositories changed, and was noticed by the checksum in the recipe (thanks Gunnar Andersson for reporting this).  The extracted contents are identical, but the tarball itself has changed.  I&#39;m presuming this is due to the old tarball expiring in their cache, and a newly generated tarball using a later version of tar.</div><div><br></div><div>So we now have documented evidence that this can and does happen, and it&#39;s quite frustrating when this happens.  So, I suggest that use of <a href="http://github.com">github.com</a> /archive/ URLs be considered a bad practise for the primary SRC_URI tarball.</div><div><br></div><div>I&#39;m working my way through the recipes in oe-core that use /archive/ and replacing them with either maintainer-generated tarballs or git clones, but there are a number of recipes in meta-oe which could do with fixing:</div><div><br></div><div><div>$ git grep -l -E github\\.com/.*/archive/</div><div>meta-initramfs/recipes-devtools/grubby/<a href="http://grubby_8.40.bb">grubby_8.40.bb</a></div><div>meta-multimedia/recipes-support/gst-instruments/<a href="http://gst-instruments_0.2.3.bb">gst-instruments_0.2.3.bb</a></div><div>meta-multimedia/recipes-support/libsrtp/<a href="http://libsrtp_1.5.2.bb">libsrtp_1.5.2.bb</a></div><div>meta-networking/recipes-support/geoip/<a href="http://geoip-perl_1.50.bb">geoip-perl_1.50.bb</a></div><div>meta-oe/recipes-connectivity/libuv/<a href="http://libuv_1.11.0.bb">libuv_1.11.0.bb</a></div><div>meta-oe/recipes-connectivity/libwebsockets/<a href="http://libwebsockets_2.1.0.bb">libwebsockets_2.1.0.bb</a></div><div>meta-oe/recipes-devtools/protobuf/<a href="http://protobuf-c_1.2.1.bb">protobuf-c_1.2.1.bb</a></div><div>meta-oe/recipes-devtools/python/<a href="http://python-cpuset_1.5.7.bb">python-cpuset_1.5.7.bb</a></div><div>meta-oe/recipes-extended/boinc/<a href="http://boinc-client_7.6.33.bb">boinc-client_7.6.33.bb</a></div><div>meta-oe/recipes-graphics/libvncserver/<a href="http://libvncserver_0.9.11.bb">libvncserver_0.9.11.bb</a></div><div>meta-oe/recipes-graphics/openjpeg/<a href="http://openjpeg_2.1.1.bb">openjpeg_2.1.1.bb</a></div><div>meta-oe/recipes-kernel/crash/<a href="http://crash_7.1.9.bb">crash_7.1.9.bb</a></div><div>meta-oe/recipes-multimedia/mplayer/<a href="http://mpv_0.24.0.bb">mpv_0.24.0.bb</a></div><div>meta-oe/recipes-support/hunspell/<a href="http://hunspell_1.6.1.bb">hunspell_1.6.1.bb</a></div><div>meta-oe/recipes-support/lm_sensors/<a href="http://lmsensors_3.4.0.bb">lmsensors_3.4.0.bb</a></div><div>meta-oe/recipes-test/gtest/<a href="http://gtest_1.8.0.bb">gtest_1.8.0.bb</a></div><div>meta-perl/recipes-perl/libmodule/<a href="http://libmodule-pluggable-perl_5.2.bb">libmodule-pluggable-perl_5.2.bb</a></div><div>meta-perl/recipes-perl/libmodule/<a href="http://libmodule-runtime-perl_0.015.bb">libmodule-runtime-perl_0.015.bb</a></div></div><div><br></div><div>Ross</div></div>