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

Martin Buchholz martinrb at google.com
Wed Nov 26 16:42:51 UTC 2014

Looks good to me too.

I appreciate the high bar for build correctness.

I would test with both make 3.81 and 4.x

On Wed, Nov 26, 2014 at 6:56 AM, Erik Joelsson <erik.joelsson at oracle.com> wrote:
> Hello,
> 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/
> /Erik

More information about the build-dev mailing list