From: Yann E. MORIN Date: Tue, 18 Mar 2014 23:33:49 +0000 (+0100) Subject: support: properly check bash is available X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=38b81eb17253c2590d42243524eed556e80ff58f;p=buildroot.git support: properly check bash is available The current check is broken, as it only checks if the user's login shell is bash, not what the system shell is. Mimick the sequence found in the top-level Makefile to search for bash, except for the fallback case, where we explicitly check that 'sh' is bash, by checking if it sets $BASH, so we know the fallback case, in the top-level Makefile, to use 'sh' will indeed use bash. Remove superfluous semi-colons ';' at the end of lines, they are not needed in a shell script (this is not C!) Signed-off-by: "Yann E. MORIN" Cc: Thomas Petazzoni Cc: Peter Korsgaard Cc: Andrew Barnes Signed-off-by: Thomas Petazzoni --- diff --git a/support/dependencies/dependencies.sh b/support/dependencies/dependencies.sh index a8261b3b06..0566814f85 100755 --- a/support/dependencies/dependencies.sh +++ b/support/dependencies/dependencies.sh @@ -139,11 +139,15 @@ if [ ! -z "$CXXCOMPILER" ] ; then fi # Check bash -if ! $SHELL --version 2>&1 | grep -q '^GNU bash'; then +# We only check bash is available, setting SHELL appropriately is done +# in the top-level Makefile, and we mimick the same sequence here +if [ -n "${BASH}" ]; then : +elif [ -x /bin/bash ]; then : +elif [ -z "$( sh -c 'echo $BASH' )" ]; then echo - echo "You must install 'bash' on your build machine"; - exit 1; -fi; + echo "You must install 'bash' on your build machine" + exit 1 +fi # Check that a few mandatory programs are installed missing_progs="no"