RFR: 8282567: Improve source-date handling in build system
Magnus Ihse Bursie
ihse at openjdk.java.net
Wed Mar 2 17:00:26 UTC 2022
On Wed, 2 Mar 2022 16:52:12 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:
> When doing reproducible builds, controlling the build time is imperative. To make this as easy as possible, some changes are needed in the build system.
>
> * If source-date is set to anything other than "updated" (meaning that it should be determined at build time), then the default value of --with-hotspot-build-time should be the same time.
>
> * If the industry standard SOURCE_DATE_EPOCH is set when running configure, the default value for --with-source-date should be picked up from this variable. (If the command line option is given, it will override the environment variable however.)
>
> * Finally the code can be made a bit clearer that we can set and export SOURCE_DATE_EPOCH to SOURCE_DATE in spec.gmk, unless we're using the "updated" (determined at build time) value.
To clarify, the end effect of these changes is that building OpenJDK will basically be compliant with the method of just setting SOURCE_DATE_EPOCH. (The caveat is that it must be set at configure time, not build time.) So
$ export SOURCE_DATE_EPOCH=123
$ bash configure
$ make
will cause the build to default to building in reproducible mode, with the date given by SOURCE_DATE_EPOCH.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7660
More information about the build-dev
mailing list