terminal.bbclass: do not export PS1

With a complex PS1 setup, PS1 might not have all characters correctly escaped
when terminal.bbclass writes the export. This caused the run.do_terminal.PID to
terminate, making it impossible to use the devshell.

As the spawned shell will parse e.g. .bashrc (or whatever rc-file is being
used), PS1 will be reset in the devshell.

(From OE-Core master rev: a5e6926cd409140d16391c72316da00ffbfe5429)

(From OE-Core rev: a7d489f3341262b662e720170d64caf7092a956b)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Anders Darander 2014-01-10 15:59:01 +01:00 committed by Richard Purdie
parent 301ae75773
commit d3f96d104b
1 changed files with 4 additions and 0 deletions

View File

@ -64,6 +64,10 @@ def oe_terminal(command, title, d):
envdata.setVar(key, str(value))
envdata.setVarFlag(key, 'export', 1)
# A complex PS1 might need more escaping of chars.
# Lets not export PS1 instead.
envdata.delVar("PS1")
# Replace command with an executable wrapper script
command = emit_terminal_func(command, envdata, d)