/bin/sh was used to interpret the init script of the new terminal, below issue occurs when SHELL="/bin/bash" and /bin/sh is linked to /bin/dash: function foobar { echo foobar; }; export -f foobar bitbake -c devshell virtual/kernel Then the devshell fails to be started because "export -f xxx" is wrong for dash.
So start the new terminal using SHELL to interpret the init srcipt, which can solve the issue caused by the difference between SHELL and /bin/sh. Signed-off-by: Li Zhou <li.z...@windriver.com> --- meta/classes/terminal.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/terminal.bbclass b/meta/classes/terminal.bbclass index a27e10c..c8e1b2f 100644 --- a/meta/classes/terminal.bbclass +++ b/meta/classes/terminal.bbclass @@ -25,7 +25,7 @@ def emit_terminal_func(command, envdata, d): bb.utils.mkdirhier(os.path.dirname(runfile)) with open(runfile, 'w') as script: - script.write('#!/bin/sh -e\n') + script.write('#!%s -e\n' % (d.getVar('SHELL'))) bb.data.emit_func(cmd_func, script, envdata) script.write(cmd_func) script.write("\n") -- 1.9.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core