From e5f7bd199d2206a4c07e9d0efbcbc4039744b896 Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Fri, 19 Apr 2019 13:04:49 +0100 Subject: [PATCH] devtools: fix meson build test for plain bourne shell The pipefail option is not supported in /bin/sh, just in bash/ksh and similar shells - which means it's there by default on most Linux distros but not on e.g. FreeBSD. Therefore we check for it's presence before setting the option, and if it's missing, we upgrade verbosity level if needed to ensure we never hide any build failures. Signed-off-by: Bruce Richardson Acked-by: Luca Boccassi --- devtools/test-meson-builds.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh index 0ea79f461f..630a1a6fec 100755 --- a/devtools/test-meson-builds.sh +++ b/devtools/test-meson-builds.sh @@ -7,7 +7,9 @@ # * if a build-directory already exists we assume it was properly configured # Run ninja after configuration is done. -set -o pipefail +# set pipefail option if possible +PIPEFAIL="" +set -o | grep -q pipefail && set -o pipefail && PIPEFAIL=1 srcdir=$(dirname $(readlink -f $0))/.. MESON=${MESON:-meson} @@ -51,6 +53,11 @@ if [ "$1" = "-vv" ] ; then elif [ "$1" = "-v" ] ; then TEST_MESON_BUILD_VERBOSE=1 fi +# we can't use plain verbose when we don't have pipefail option so up-level +if [ -z "$PIPEFAIL" -a -n "$TEST_MESON_BUILD_VERBOSE" ] ; then + echo "# Missing pipefail shell option, changing VERBOSE to VERY_VERBOSE" + TEST_MESON_BUILD_VERY_VERBOSE=1 +fi # shared and static linked builds with gcc and clang for c in gcc clang ; do -- 2.20.1