On Thu, 2018-01-18 at 14:28 +0100, Magnus Ihse Bursie wrote:
> Currently, we require all developers who modify the configure script to 
> run autoconf locally, to update the generated-configure.sh script, which 
> is then checked in. This is the only instance of checked in "compiled" 
> code in OpenJDK, and this has brought along several problems:
> 
> * Only a specific version of autoconf, 2.69, can be used, to avoid large 
> code changes in the generated file. Unfortunately, Ubuntu ships a 
> version of autoconf that claims to be 2.69 but is actually heavily 
> patched. This requires all Ubuntu users to compiler their own autoconf 
> from source.
> 
> * The Oracle JDK closed sources has a closed version that needs to be 
> updated. In practice, this has meant that all non-Oracle developers, 
> need an Oracle sponsor for patches modifying the configure script.
> 
> * If the configure script is not properly updated, the build will fail. 
> The same happens on the Oracle side if the closed version is not in sync 
> with the open version. It is easy to miss re-generating the script after 
> the last fix of a typo in the comments in an .m4 file...
> 
> * Merging between two changes containing configure modifications is 
> almost impossible. In practice, the entire generated-configure.sh needs 
> to be thrown away and regenerated.
> 
> The entire benefit of having the file in the repo is to save first-time 
> developers the hassle of installing autoconf. On most platforms, this is 
> a no-brainer (like "apt install autoconf"), and the requirement is 
> similar to other open source projects using autoconf and "./configure". 
> It's just not worth it.
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8195689
> WebRev: 
> http://cr.openjdk.java.net/~ihse/JDK-8195689-remove-generated-configure/webrev.01

Very cool! +1

Note: I haven't really reviewed the patch. This change in approach is
very welcome, though.

Thanks,
Severin

Reply via email to