RFR: 8276400: openjdk image Jars, Zips and Jmods built from the same source are not reproducible

Andrew Leonard aleonard at openjdk.java.net
Fri Nov 5 12:43:10 UTC 2021


On Fri, 5 Nov 2021 11:19:16 GMT, Lance Andersen <lancea at openjdk.org> wrote:

>> 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>
>
> test/jdk/java/util/zip/TestZipSourceDateEpoch.sh line 1:
> 
>> 1: #!/bin/sh
> 
> Unless there is a specific reason to use a shell script, it would be better to convert this to java.  We have been trying to reduce the usage of shell scripts

I had copied an existing example, I obviously chose a bad example! I can re-write with ProcessBuilder... cheers

-------------

PR: https://git.openjdk.java.net/jdk/pull/6268


More information about the compiler-dev mailing list