On 2018年09月05日 10:41, Andre McCurdy wrote:
On Tue, Sep 4, 2018 at 7:16 PM, Hongxu Jia <[email protected]> wrote:
On 2018年09月05日 09:59, Andre McCurdy wrote:
On Tue, Sep 4, 2018 at 6:02 PM, Hongxu Jia <[email protected]>
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'
OK, but run.do_terminal.xxx is a trivial wrapper which (apart from
exporting environment variables) just contains something like:
do_terminal() {
exec pseudo /bin/bash
}
do_terminal
I'm not sure what the problem is running that with /bin/sh, regardless
of whether /bin/sh points to bash or dash?
Isn't clear? In above case, even though `exec pseudo /bin/bash',
since /bin/sh points to dash, the devshell started failed
[snip]
bitbake -c devshell virtual/kernel
Trying to run: screen -r devshell_23640
Cannot open your terminal '/dev/pts/39' - please check.
[snip]
Since `export -f' is bashism, use dash to load wrapper script failed
//Hongxu
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core