Re: [PATCH] scripts: dev-needs.sh: Enforce bash usage

From: Saravana Kannan
Date: Wed Nov 09 2022 - 17:58:57 EST


On Wed, Nov 9, 2022 at 9:04 AM Steffen Kothe <steffen.kothe@xxxxxxxxx> wrote:
>
> Calling the script from a system which does not invoke bash
> by default causes a return with a syntax error like:
>
> ./dev-needs.sh: 6: Syntax error: "(" unexpected
>
> /bin/sh invokes on most distributions a symbolic link to a
> default shell like dash (Debian) or bash (Ubuntu).
>
> Since the script depends on bash syntax, enforce the same by
> default to prevent syntax errors caused by wrong shell type usage.

I wrote this so that it can run on an Android target that runs toybox.
Sadly toybox doesn't like have /bin/bash. This will break my use case.
So I'll have to Nak this.

I'm open to other ideas though as I'd like to this to work in as many
cases as possible. Should we just add a wrapper that has /bin/bash and
then sources this file?

Also looks like multiple #! lines aren't supported by bash, so we
can't add multiple lines either.

-Saravana

>
> Signed-off-by: Steffen Kothe <steffen.kothe@xxxxxxxxx>
> ---
> scripts/dev-needs.sh | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/dev-needs.sh b/scripts/dev-needs.sh
> index 454cc304fb448..46537859727bc 100755
> --- a/scripts/dev-needs.sh
> +++ b/scripts/dev-needs.sh
> @@ -1,4 +1,4 @@
> -#! /bin/sh
> +#! /bin/bash
> # SPDX-License-Identifier: GPL-2.0
> # Copyright (c) 2020, Google LLC. All rights reserved.
> # Author: Saravana Kannan <saravanak@xxxxxxxxxx>
> --
> 2.30.2
>
>