On Thu, Jun 14, 2018 at 05:51:25PM +0800, Gavin Hu wrote:
> On CentOS, the ninja executable has a different name:
> ninja-build, this patch is to fix the missing command error
> on CentOS as follows:
> ./devtools/test-meson-builds.sh: line 24: ninja: command not found
> 
> Fixes: a55277a788 ("devtools: add test script for meson builds")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Gavin Hu <gavin...@arm.com>
> Reviewed-by: Phil Yang <phil.y...@arm.com>
> Reviewed-by: Song Zhu <song....@arm.com>
> ---
>  devtools/test-meson-builds.sh | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
> index 6bce3df7f..4afac76dd 100755
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> @@ -21,7 +21,11 @@ build () # <directory> <meson options>
>               $MESON $options $srcdir $builddir
>       fi
>       echo "ninja -C $builddir"
> -     ninja -C $builddir
> +     if [ "$(lsb_release -d | grep -c 'CentOS')" != "0" ] ; then
> +             ninja-build -C $builddir
> +     else
> +             ninja -C $builddir
> +     fi
>  }

Rather than tying this to CentOS explicitly, would it be better at the
start of the script to test e.g "which ninja" and "which ninja-build" and
use that to work out the command to use. It's possible to have ninja
installed directly from tarball on CentOS as "ninja" (as I have in my test
VM), and the binary might be called ninja-build on other systems too e.g.
RHEL, perhaps.

/Bruce

Reply via email to