RFR: 8288001: SOURCE_DATE_EPOCH should not be set by default

Magnus Ihse Bursie ihse at openjdk.java.net
Wed Jun 8 09:53:27 UTC 2022


On Wed, 8 Jun 2022 07:47:24 GMT, KIRIYAMA Takuya <duke at openjdk.java.net> wrote:

> At default configuration, SOURCE_DATE_EPOCH is exported as environment variable in SetupReproducibleBuild. Then, gcc is affected of SOURCE_DATE_EPOCH environment variable. This value is used only to set SOURCE_DATE_ISO_8601 (except below), so I removed "export" for SOURCE_DATE_EPOCH in SetupReproducibleBuild. And, at building ct.sym, SOURCE_DATE_EPOCH environment variable is needed. So I added setting routine if SOURCE_DATE_EPOCH is not set.
> 
> This fix works fine. With default configuration shows -Xinternalversion output same as Windows, and with --with-source-date configuration shows -Xinternalversion output specified timestamp. Would you please review this fix?

No no no. The current design is very much intentional. We must export `SOURCE_DATE_EPOCH` for gcc to be able to see it.

I wonder just like Severin: *why* do you think this is a problem?

Also, the long term goal is to *only* make reproducible builds. The sole reason it is possible to do `--disable-reproducible-builds` is out of an abundance of caution, if the changes needed for full reproducibility had unintended negative consequences.

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

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



More information about the build-dev mailing list