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

Peter Kjellerstedt peter.kjellerstedt at axis.com
Sun Nov 25 01:11:55 UTC 2018

The $SHELL environment variable is used for the user's preferred
interactive shell. This shall not be used when executing shell scripts
that expect POSIX shell syntax as there is no guarantee that it is a
POSIX compatible shell.

This reverts commit 27e2ede65f1193e49f9483b08a55495d88740a65.

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com>

In my case, $SHELL is set to /bin/zsh, with the result that devshell
fails to start. If there is some problem with devshell related to
/bin/sh being linked to dash rather than bash (which the original
commit indicates), then that should be adressed instead.

Hongxu: Do you have any additional information related to why you made
the change in the first place?

 meta/classes/terminal.bbclass | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/meta/classes/terminal.bbclass b/meta/classes/terminal.bbclass
index 73e765d57a..a27e10c6ec 100644
--- a/meta/classes/terminal.bbclass
+++ b/meta/classes/terminal.bbclass
@@ -25,8 +25,7 @@ def emit_terminal_func(command, envdata, d):
     with open(runfile, 'w') as script:
-        script.write('#!/usr/bin/env %s\n' % d.getVar('SHELL'))
-        script.write('set -e\n')
+        script.write('#!/bin/sh -e\n')
         bb.data.emit_func(cmd_func, script, envdata)

More information about the Openembedded-core mailing list