Hey Hongxu,
On 09/02/2018 10:52 PM, Hongxu Jia wrote:
On 2018年09月01日 08:14, Alejandro Enedino Hernandez Samaniego wrote:
Hey Hongxu,
On 08/24/2018 01:54 AM, Hongxu Jia wrote:
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.
Signed-off-by: Hongxu Jia <hongxu....@windriver.com>
---
meta/classes/terminal.bbclass | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/meta/classes/terminal.bbclass
b/meta/classes/terminal.bbclass
index a27e10c..73e765d 100644
--- a/meta/classes/terminal.bbclass
+++ b/meta/classes/terminal.bbclass
@@ -25,7 +25,8 @@ 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('#!/usr/bin/env %s\n' % d.getVar('SHELL'))
+ script.write('set -e\n')
This is causing a bug on several systems, I believe that it is
because the way our systems are set up,
basically, our running shell isn't necessarily $SHELL, so it is
causing the process to exit immediately,
anything thats using this class is affected, devshell, menuconfig, etc.
$ echo $SHELL
/bin/csh
$ echo $0
/bin/bash
The csh does not support `export', in you case, you should correct
var-SHELL to align with $0,
Such as:
$ usermod <username> -s $0
I absolutely agree, but as I was saying, because the way the system is
set up, it does not allow me to do so.
Thanks!
Alejandro
But the script should be more robust, it should
work well in this situation. I will try to fix it.
//Hongxu
Sadly we are unable to set $SHELL correctly.
I wonder if there is another way of doing this that wouldn't cause
this behavior.
Cheers,
Alejandro
bb.data.emit_func(cmd_func, script, envdata)
script.write(cmd_func)
script.write("\n")
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core