[OE-core] [PATCH] terminal.bbclass: use var-SHELL as the shebang of wrapper script

Hongxu Jia hongxu.jia at windriver.com
Wed Sep 5 02:16:39 UTC 2018


On 2018年09月05日 09:59, Andre McCurdy wrote:
> On Tue, Sep 4, 2018 at 6:02 PM, Hongxu Jia <hongxu.jia at windriver.com> wrote:
>> On 2018年09月05日 03:14, Andre McCurdy wrote:
>>> Maybe I'm missing something, but what's the advantage of using SHELL
>>> to run this little wrapper script rather than hardcoding /bin/sh ?
>>>
>>> Task shell scripts created by bitbake use hardcoded /bin/sh (see
>>> bitbake/lib/bb/build.py -> shell_trap_code())
>> Keep align with the devshell as the comments mentioned above
> Yeah, I've read the comments. I still don't really understand why.
>
>> The devshell.bbclass set var-SHELL to var-DEVSHELL, and terminal.bbclass
>> initial var-SHELL with `bash'. Keep sync with it, use var-SHELL rather
>> than hardcoded `/bin/sh' as the shebang of wrapper script.
>>
>> On Ubuntu host, default shell is dash (/bin/sh -> dash), even though
>> we assign var-SHELL with `/bin/bash', the wrapper script is still
>> dashism.
> What exactly is a dashism?

In another word, it does not support bashism.

Here is a case which `export -f' is bashism although

devshell using bash, but /bin/sh -> dash

[case]

function foobar { echo foobar; };
  export -f foobar
bitbake -c devshell virtual/kernel

[case]


BTW, I've sent anther patch to fix it `[OE-core] [PATCH] 
devshell.bbclass/terminal.bbclass: add a shell check at devshell'

//Hongxu





More information about the Openembedded-core mailing list