texlive: create reproducible .fmt files#196435
Conversation
|
@GrahamcOfBorg build tests.texlive |
|
@GrahamcOfBorg build tests.texlive |
|
@GrahamcOfBorg build tests.texlive |
|
(I assume you retargeted this PR to master to see if the tests.texlive do succeed there, and if they do we'll retarget back to staging because of the rebuild count? Makes sense to me! 🤞 ) |
|
|
|
Hmm, ofborg is reporting 2501-5000 for linux though 🤔 Interesting to see the tests fail when targeting master as well, though - they seem to pass for me locally. Looking into it, but if you can provide any hints I'm all ears :) |
|
The |
Without these changes, building this package twice does not produce the bit-by-bit identical result each time, making it harder to detect CI breaches. You can read more about this at https://reproducible-builds.org/ . Fixing bit-by-bit reproducibility also has additional advantages, such as avoiding hard-to-reproduce bugs, making content-addressed storage more effective and reducing rebuilds in such systems. Based on the work done in Debian and documented at https://salsa.debian.org/live-team/live-build/-/blob/master/examples/hooks/reproducible/0139-reproducible-texlive-binaries-fmt-files.hook.chroot Fixes NixOS#192736
Argh, hashes not getting invalidated when the input URL changes strikes again... fixing @GrahamcOfBorg build tests.texlive |
| if [[ -d share/texmf-var/web2c/luahbtex ]] | ||
| then | ||
| cd share/texmf-var/web2c/luahbtex | ||
| faketime $(date --utc -d@$SOURCE_DATE_EPOCH --iso-8601=seconds) luahbtex -ini -jobname=lualatex -progname=lualatex lualatex.ini |
There was a problem hiding this comment.
Your link does not mention luahbtex, and the engines are supposed to be completely different. I assume you found an additional issue with it?
There was a problem hiding this comment.
correct, though I didn't manage to investigate it sufficiently to write up a useful upstream report yet.
|
This PR broke |
Ouch, sorry about that. I can reproduce, though it's not obvious to me yet how this change would cause that problem. I'll dig in further, but possibly I won't get to it properly before Tuesday. If that holds up other things then feel free to revert I guess :( |
|
@raboof Should we revert for now? It might be worth exploring where the date is used in the source code. I've tried looking into that previously without success, but if we can patch it, it should be a simpler change, possibly even upstreamable. |
I'm not familiar enough with the staging process to judge how urgent it is to resolve this problem. If it's urgent then, as said, revert - but if it can wait until tomorrow I would prefer to "roll forward".
For the order of the hyphenation exception strings, this patch has already been proposed upstream, but they seem to be discussing other ways to fix it. For the date in the |
|
The current batch is only waiting for the openssl critical security update, to be released tomorrow (2022-11-01, 13:00-17:00 UTC). I'll revert around that point if not resolved by then. |
Follow-up on NixOS#196435, fixing NixOS#196435 (comment) Needed to make NixOS#198236 pass
|
Fixed in #198892 - though I'm not sure if that is supposed to target |
Follow-up on #196435, fixing #196435 (comment) Needed to make #198236 pass
Description of changes
Without these changes, building this package twice does not produce the bit-by-bit identical result each time, making it harder to detect CI breaches. You can read more about this at https://reproducible-builds.org/ .
Fixing bit-by-bit reproducibility also has additional advantages, such as avoiding hard-to-reproduce bugs, making content-addressed storage more effective and reducing rebuilds in such systems.
Based on the work done in Debian and documented at https://salsa.debian.org/live-team/live-build/-/blob/master/examples/hooks/reproducible/0139-reproducible-texlive-binaries-fmt-files.hook.chroot
Fixes #192736
Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)nixos/doc/manual/md-to-db.shto update generated release notes