terminal: Use original PATH for terminals

Now that we filter out PATH to only the utilities we rely upon, the devshel
terminal was broken since it can no longer find the terminals. Even if
we fix that, the user couldn't access any of their commands within
devshell which somewhat defeats its purpose.

Add the original PATH back to the environment to restore that behaviour
since this is more in line with user expectations and it wouldn't be possible
(or desireable) to whitelist all the commands a user might want to use from
the shell.

(From OE-Core rev: 67d7ea2db8bce766daf3419feae3cd8045af5114)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2017-03-13 09:26:54 +00:00
parent b3d13e058a
commit 8406db9e11
1 changed files with 5 additions and 0 deletions

View File

@ -66,6 +66,11 @@ def oe_terminal(command, title, d):
envdata.setVar(key, str(value))
envdata.setVarFlag(key, 'export', '1')
# Use original PATH as a fallback
path = d.getVar('PATH') + ":" + origbbenv.getVar('PATH')
os.environ['PATH'] = path
envdata.setVar('PATH', path)
# A complex PS1 might need more escaping of chars.
# Lets not export PS1 instead.
envdata.delVar("PS1")