4 ms·
IIRC any package that uses Java isn't reproducible because system time and fixing it to epoch permamently causes issues in some application builds. * there're
by 0x457 2y ago
IIRC any package that uses Java isn't reproducible because system time and fixing it to epoch permamently causes issues in some application builds.
* there're maven and gradle plugins to make builds reproducible.
- yjftsjthsd-h 2y agoCan you force it to some time other than 0? Ex. I've seen some packages force timestamps to the git commit timestamp, which is nice but still fixed.
- Cyph0n 2y agoThis is an approach you can use when building Docker images in Nix flakes: https://github.com/aksiksi/ncdmv/blob/aa108a1c1e2c14a13dfbc0407f7f595ca205a4f6/flake.nix#L77 https://github.com/aksiksi/ncdmv/blob/aa108a1c1e2c14a13dfbc0...
- layer8 2y agoCan you elaborate on the root causes?
- arjvik 2y agoWhat issues? I'm not aware of any Java build process that checks timestamps.
- paulddraper 2y agoJARs are archives, and archives have timestamps. You can remove those with some extra work.
- gf000 2y agoJust add a post-process step that sets the output artifacts' timestamps (including its content)? Wouldn't that work?
- paulddraper 2y agoYes, just add that.
- throitallaway 2y agoIME Erlang was like this ~8 years ago (the last time I touched it) but things may have changed since then.
- arccy 2y agoThe standard usually isn't 0s since epoch: https://bugs.openjdk.org/browse/JDK-8264449 https://bugs.openjdk.org/browse/JDK-8264449 https://reproducible-builds.org/docs/source-date-epoch/ https://reproducible-builds.org/docs/source-date-epoch/