Hi Luigi, hi all luatex devs, here at Debian we got a bug report about reproducability of luatex format dumps. It contains a patch to make the hyphenation exception list sorted. (I attach the patch) Could you please take a look whether this is still relevant for the latest release of luatex. Thanks Norbert On Fri, 08 Apr 2022, Roland Clobus wrote:
Hello maintainers of texlive-binaries,
While working on the “reproducible builds” effort [1], I have noticed that the live image for Cinnamon in bookworm is no longer reproducible [2].
The attached patch ensures that the output of the function 'exception_strings' always uses the same order of the hyphenation exceptions. I've written the solution in C, perhaps someone more versed in lua could rewrite it more elegantly. (The lua manual says for the 'next' function: 'The order in which the indices are enumerated is not specified' [3])
With the attached patch applied, I'm able (with the help of FORCE_SOURCE_DATE=1 and SOURCE_DATE_EPOCH) to reproducibly rebuild the .fmt files, as created by 'fmtutil --sys --all'.
Small test case to reproduce: export FORCE_SOURCE_DATE=1 export SOURCE_DATE_EPOCH=$(date +%s) for i in `seq 1 10`; do luahbtex -ini -jobname=luahbtex -progname=luabhtex luatex.ini > /dev/null; md5sum luahbtex.*; done
With kind regards, Roland Clobus
[1]: https://wiki.debian.org/ReproducibleBuilds [2]: https://jenkins.debian.net/view/live/job/reproducible_debian_live_build_cinn... [3]: http://www.lua.org/manual/5.4/manual.html#pdf-next
-- PREINING Norbert https://www.preining.info Mercari Inc. + IFMGA Guide + TU Wien + TeX Live GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13