TL;DR we have platform independent repeatable release builds

And now for the longer version:

Nearly all of the plumbing is in place for this. I have one more commit to add to handle repeatable signing of the Windows installer but I am holding that back as we need a couple of other things to fall into place first.

1. We need BND 6.3.0. This is because 6.3.0 contains a fix to a repeatability issue in the manifest generation. The 6.3.0 release is in progress. It is current at RC1 and a final release is expected in a couple of weeks.

2. We need JSign 4.1. I found a couple of minor issues in JSign earlier today. I've hacked around them locally to test the repeatable build but we need a proper release. ebourg is working on proper fixes to replace my hacks. On past experience, I expect he'll have a release out before BND does.

Once all of the above is in place our release builds will be repeatable on Windows and Linux provided that:
- The same version of Ant is used
- The same JDK (vendor and version) is used

The reason for the ANT and JDK version requirements is that the version numbers get placed in the manifests.

I have tested this with building on Linux and then repeating the build (using the generated signatures for the installer files) on Windows. The results are bit for bit identical.

The release process will need a small change. Essentially, the release manager will make the usual version changes, call 'ant release' once to generate the detached signature files and then tag with the version updates and the signature files. Then the release manager calls 'ant release' again to create the actual release.

At this point anyone can take the tag and generate the same release binaries from the tag.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to