On Sat, 18 Sep 2021 15:15:10 GMT, Kevin Rushforth <k...@openjdk.org> wrote:

>> John Neffenger has updated the pull request with a new target base due to a 
>> merge or a rebase. The pull request now contains seven commits:
>> 
>>  - Make build of SDK ZIP bundle reproducible
>>  - Merge branch 'master' into allow-reproducible-builds
>>  - Merge branch 'master' into allow-reproducible-builds
>>  - Include WebKit shared library for Windows
>>    
>>    Enable reproducible builds of the native WebKit shared library for
>>    Windows (jfxwebkit.dll) when SOURCE_DATE_EPOCH is defined.
>>  - Include media shared libraries for Windows
>>    
>>    Enable reproducible builds of the native media shared libraries for
>>    Windows when SOURCE_DATE_EPOCH is defined. The libraries are:
>>    
>>      fxplugins.dll
>>      glib-lite.dll
>>      gstreamer-lite.dll
>>      jfxmedia.dll
>>  - Enable reproducible builds with SOURCE_DATE_EPOCH
>>  - 8238650: Allow to override buildDate with SOURCE_DATE_EPOCH
>
> Here are couple more observations, and then I'll need to put this on the back 
> burner for a bit:
> 
> 1. I did a CI build yesterday and again today on all three platforms and 
> compared the sdk between the two builds for each platform. On all three 
> platforms the results are the same: All files were identical except the 
> native jfxwebkit library. So there is something in the WebKit build that is 
> affected by an external input (perhaps the system date or similar).
> 2. On Mac, at least, there are several differences in the dylib files between 
> a build on my local system and on our CI system. I was using the same devkit 
> and boot JDK on both, and both were the same version of macOS (10.15.7). 
> Likely some difference in the software installed on the two systems matters.

@kevinrushforth Thank you, Kevin, for your review comments back in September. 
Your comment about the time zone was extremely helpful and indirectly helped 
with [openjdk/jdk#6481][1] as well. I think I have addressed all of your 
concerns now.

My more recent commits simply add the following line in preparation for 
creating reproducible JMOD archives: `// args("--date", buildTimestamp)`. That 
line needs to be commented out until JavaFX starts building with JDK 19.

I ran another round of 30 builds, 10 on each platform, with no surprises. The 
only non-reproducible artifacts are the JMOD archives and the native WebKit 
shared library, as before. See my GitHub repository [jgneff/jfxbuild][2] for 
the build environment and shell scripts that I use to build and test JavaFX on 
Linux, macOS, and Windows.

[1]: https://github.com/openjdk/jdk/pull/6481
[2]: https://github.com/jgneff/jfxbuild

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

PR: https://git.openjdk.java.net/jfx/pull/446

Reply via email to