RFR: JDK-8241616: Timestamps on ct.sym entries lead to non-reproducible builds

Alan Bateman Alan.Bateman at oracle.com
Thu Apr 30 10:41:30 UTC 2020



On 30/04/2020 08:03, Jan Lahoda wrote:
> Hi,
>
> The building of lib/ct.sym is not reproducible, due to timestamps of 
> files inside the file (which is basically a zip file).
>
> The proposed solution is to use a constant timestamp for the files 
> inside the ct.sym file. To simplify the construction, the 
> CreateSymbols tool does not produce files on the filesystem anymore, 
> but rather constructs the ct.sym directly.
>
> Proposed webrev: http://cr.openjdk.java.net/~jlahoda/8241616/webrev.00/
> JBS: https://bugs.openjdk.java.net/browse/JDK-8241616
1587656816359 = 2020-04-23T15:46:56.359Z. Is there anything significant 
with this timestamp? Magnus might have suggestions but maybe it would be 
saner to pick up the value of DEFAULT_VERSION_DATE.

There is some curious code that generates the timestamp with:
    Long.toString(FileTime.from(Instant.now()).toMillis())
Could this use Instant.now().toEpochMilli() instead?

-Alan





More information about the build-dev mailing list