devtools/test-meson-builds: fix support for plain bourne shell

Message ID 20190419120449.29883-1-bruce.richardson@intel.com
State Accepted, archived
Headers show
Series
  • devtools/test-meson-builds: fix support for plain bourne shell
Related show

Checks

Context Check Description
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS
ci/checkpatch success coding style OK

Commit Message

Bruce Richardson April 19, 2019, 12:04 p.m.
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 <bruce.richardson@intel.com>
---
This patch is a replacement for the previous patch: "fix support for
FreeBSD" [1], which was an incorrect/incomplete fix.

[1]http://patches.dpdk.org/patch/52468/
---
 devtools/test-meson-builds.sh | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

Comments

Luca Boccassi April 19, 2019, 12:42 p.m. | #1
On Fri, 2019-04-19 at 13:04 +0100, Bruce Richardson wrote:
> 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 <
> bruce.richardson@intel.com
> >
> ---
> This patch is a replacement for the previous patch: "fix support for
> FreeBSD" [1], which was an incorrect/incomplete fix.
> 
> [1]
> http://patches.dpdk.org/patch/52468/
> 
> ---
>  devtools/test-meson-builds.sh | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)

Acked-by: Luca Boccassi <bluca@debian.org>
Thomas Monjalon April 19, 2019, 9:18 p.m. | #2
19/04/2019 14:42, Luca Boccassi:
> On Fri, 2019-04-19 at 13:04 +0100, Bruce Richardson wrote:
> > 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 <
> > bruce.richardson@intel.com
> > >
> > ---
> > This patch is a replacement for the previous patch: "fix support for
> > FreeBSD" [1], which was an incorrect/incomplete fix.
> > 
> > [1]
> > http://patches.dpdk.org/patch/52468/
> > 
> > ---
> >  devtools/test-meson-builds.sh | 9 ++++++++-
> >  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> Acked-by: Luca Boccassi <bluca@debian.org>

Looks good.
Applied, thanks

Patch

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 0ea79f461..630a1a6fe 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