Package: octave-pkg-dev Version: 1.1.3 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: timestamps
Hi! While working on Debian's “reproducible builds” effort [1], we have noticed that none of the octave-* packages build reproducibly. Octave, by default, writes a timestamp to (at least) the doc-cache file output by the "pkg install" action. The attached patch prevents this. It will, however, change the output of all calls to the save function. I do not know if this will be a problem, or if this matters in practice. Possible alternative fixes: * Don't ship the doc-cache? Octave recommend shipping it. #37542 [2] * Call save_header_format_string at a narrower scope, to ensure it only changes the doc-cache. install.m -> generate_lookfor_cache.m -> doc_cache_create.m. * Make it possible for packages to opt-in to this fix (environment variable, perhaps?) Regards, Chris [1]: https://wiki.debian.org/ReproducibleBuilds [2]: https://savannah.gnu.org/bugs/?37542
--- a/octave-pkg.mk 2015-02-15 10:50:58.851375767 +0000 +++ b/octave-pkg.mk 2015-02-15 10:53:58.556258122 +0000 @@ -92,6 +92,8 @@ [pwd(),'/$(debpkg)/$(bpath)']); \ pkg ('local_list', [pwd(),'/$(local_list)']); \ pkg ('global_list', [pwd(),'/$(global_list)']); \ + save_header_format_string( \ + '# Generated by Octave during Debian package build'); \ if (exist ('PKG_ADD.bak') == 2), \ movefile ('PKG_ADD.bak', 'PKG_ADD'); \ endif; \