classes/terminal: fix pseudo exiting when launching devshell
PATCH 1/1 classes/terminal: fix pseudo exiting when launching devshell
In dylan, since the entire bitbake process is run under pseudo, LD_PRELOAD is set when we collect BB_ORIGENV and thus when we construct the devshell environment from the latter, LD_PRELOAD is included. However, for a fakeroot task we explicitly run the devshell under pseudo (e.g. "pseudo /bin/bash"), and if LD_PRELOAD is set to preload libpseudo.so when pseudo is run, it seems to exit immediately without error. Since LD_PRELOAD shouldn't be exported anyway, exclude this from the environment so it doesn't prevent running the shell.
--- meta/classes/terminal.bbclass | 4 ++++ 1 file changed, 4 insertions(+)
meta/classes/terminal.bbclass +4 -0
@@ -62,6 +62,10 @@ def oe_terminal(command, title, d): envdata.setVar(key, str(value)) envdata.setVarFlag(key, 'export', 1) + # LD_PRELOAD of pseudo will cause problems if this is a fakeroot task + # and we shouldn't be exporting it anyway + envdata.delVar('LD_PRELOAD') + # Replace command with an executable wrapper script command = emit_terminal_func(command, envdata, d)
Signature · 1 line
1.8.1.2
Quoted 11 lines · Paul Eggleton
In dylan, since the entire bitbake process is run under pseudo,
LD_PRELOADis set when we collectBB_ORIGENVand thus when we construct the devshell environment from the latter,LD_PRELOADis included. However, for a fakeroot task we explicitly run the devshell under pseudo (e.g. "pseudo/bin/bash"), and ifLD_PRELOADis set to preload libpseudo.so when pseudo is run, it seems to exit immediately without error. SinceLD_PRELOADshouldn't be exported anyway, exclude this from the environment so it doesn't prevent running the shell.Signed-off-by Paul Eggleton <[email protected]>
thanks for fixing quickly. I have tested with gnome-terminal and screen, and it works fine.