terminal.bbclass: Use BB_ORIGENV to restore user environmental variables
(From OE-Core rev: 131643695d7ba9d0c32bf8e192e7e3942f50f318) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
bc2b60c021
commit
fef84540e3
|
@ -4,7 +4,7 @@ OE_TERMINAL[choices] = 'auto none \
|
|||
${@" ".join(o.name \
|
||||
for o in oe.terminal.prioritized())}'
|
||||
|
||||
OE_TERMINAL_EXPORTS += 'XAUTHORITY SHELL DBUS_SESSION_BUS_ADDRESS DISPLAY EXTRA_OEMAKE SCREENDIR'
|
||||
OE_TERMINAL_EXPORTS += 'EXTRA_OEMAKE'
|
||||
OE_TERMINAL_EXPORTS[type] = 'list'
|
||||
|
||||
XAUTHORITY ?= "${HOME}/.Xauthority"
|
||||
|
@ -26,6 +26,17 @@ def oe_terminal(command, title, d):
|
|||
os.environ[export] = str(value)
|
||||
env[export] = str(value)
|
||||
|
||||
# Add in all variables from the user's original environment which
|
||||
# haven't subsequntly been set/changed
|
||||
origbbenv = d.getVar("BB_ORIGENV", False) or {}
|
||||
for key in origbbenv:
|
||||
if key in env:
|
||||
continue
|
||||
value = origbbenv.getVar(key, True)
|
||||
if value is not None:
|
||||
os.environ[key] = str(value)
|
||||
env[key] = str(value)
|
||||
|
||||
terminal = oe.data.typed_value('OE_TERMINAL', d).lower()
|
||||
if terminal == 'none':
|
||||
bb.fatal('Devshell usage disabled with OE_TERMINAL')
|
||||
|
|
Loading…
Reference in New Issue