RFR: JDK-8065576: Enable pipefail in the shell used by make to better detect build errors

Tim Bell tim.bell at oracle.com
Wed Nov 26 16:01:20 UTC 2014


Erik:

> Please review this build reliability fix. In JDK-8065138, we would 
> have caught the error much faster if the build had failed instead of 
> silently generating bad output. To avoid this in the future, this 
> patch activates pipefail and errexit in the shell, when available. 
> This means that long command lines, consisting of multiple commands, 
> chained together either by pipes or ';', will fail the build 
> regardless of which of the sub commands that failed. Currently, all 
> but the last command would be ignored.
>
> Since these features my not always be available in all versions of 
> bash, I added a check to configure for each of them and only enable 
> them if they are available. I also had to fix some instances where we 
> have 'grep' and 'find' returning non zero without it being an error.
>
> Thanks to Martin who suggested this in the first place.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8065576
> Webrev: http://cr.openjdk.java.net/~erikj/8065576/webrev.root.01

Looks good to me.

Tim




More information about the build-dev mailing list