RFR: 8276400: openjdk image Jars, Zips and Jmods built from the same source are not reproducible
Andrew Leonard
aleonard at openjdk.java.net
Thu Nov 4 21:16:31 UTC 2021
This PR enables reproducible Jars, Jmods and openjdk image zip files (eg.src.zip).
It provides support for SOURCE_DATE_EPOCH for Jar, Jmod and underlying ZipOutputStream's.
It fixes the following keys issues relating to reproducibility:
- Jar and ZipOutputStream are not SOURCE_DATE_EPOCH aware
- Jar and ZipOutputStream now detect SOURCE_DATE_EPOCH environment setting
- Jar and Jmod file content ordering was non-determinsitic
- Fixes to Jar and Jmod main's to ensure sorted classes content ordering
- openjdk image zip file generation used "zip" which is non-determinsitic
- New openjdk build tool "GenerateZip" which produces the final determinsitic zip files as part of the build and also detects SOURCE_DATE_EPOCH
Signed-off-by: Andrew Leonard <anleonar at redhat.com>
-------------
Commit messages:
- 8276400: openjdk image Jars, Zips and Jmods built from the same source are not reproducible
Changes: https://git.openjdk.java.net/jdk/pull/6268/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6268&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8276400
Stats: 818 lines in 11 files changed: 797 ins; 3 del; 18 mod
Patch: https://git.openjdk.java.net/jdk/pull/6268.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/6268/head:pull/6268
PR: https://git.openjdk.java.net/jdk/pull/6268
More information about the build-dev
mailing list