[Intel-gfx] [RFC i-g-t] Deciding on #!/bin/bash or #!/bin/sh

Morton, Derek J derek.j.morton at intel.com
Fri Oct 9 07:44:00 PDT 2015


Hi Joonas,

On android /bin does not exist. It is /system/bin/sh (there is no /system/bin/bash) so the script needs to be executed specifying the shell to override the shebang anyway. e.g. '/system/bin/sh script.sh'

Currently the script type tests are not run on android as the build system does not copy them to the target file system. However I was planning on trying to fix that at some point.

So the android vote would be for #!/bin/sh as using bash would preclude ever being able to run the scripts on android.

//Derek

-----Original Message-----
From: Intel-gfx [mailto:intel-gfx-bounces at lists.freedesktop.org] On Behalf Of Joonas Lahtinen
Sent: Friday, October 9, 2015 3:04 PM
To: Intel graphics driver community testing & development
Cc: chs at netbsd.org; Wood, Thomas; riastradh at netbsd.org
Subject: [Intel-gfx] [RFC i-g-t] Deciding on #!/bin/bash or #!/bin/sh

Currently the shell scripts (+ a couple of 'execl') in intel-gpu-tools are are using a mix of #!/bin/bash (13) or #!/bin/sh shebangs (6). Also
5 of the #!/bin/bash scripts do source a #!/bin/sh script.

I think we should have it unified, either drop Bash dependency completely or convert all scripts (and execl) to use it.

Most of the scripts are not using any features at all that they would require a #!/bin/bash shebang or could not be trivially converted to be #!/bin/sh compliant. Most have actually been written with #!/bin/bash shebang but still with constructs like 'if [ "x${FOO}" = "x" ]' which basically are used for compatability with ancient shells. Explained at
http://stackoverflow.com/a/6853353 .

I'd say the bash shebang is there just because author wrote it by habit. 

In favor of #!/bin/bash there is the point made by Damien (CC'd) that it'll rule out the incoming bug reports that are due to alternative shell environments. 

In favor of #!/bin/sh NetBSD people (CC'd) informed they'll be glad to see bash requirement go.

How about Android, does it make a difference there?

My view on this is that converting everything to #!/bin/sh allows using BusyBox shell which makes the minimal testing build less complex. So I'm in favor of converting to #!/bin/sh.

Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation

_______________________________________________
Intel-gfx mailing list
Intel-gfx at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list