diff options
author | Ming Liu <liu.ming50@gmail.com> | 2017-10-13 13:26:16 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-11-08 22:24:02 +0000 |
commit | c6987478313b12cbd174c816bc07cf27f727f091 (patch) | |
tree | c8ba5a2917b7c5c70bae33617acefa5dfeb2659d /meta/lib/oe/terminal.py | |
parent | 2e1eb9ab12802d52465e6ae636c3f6a40ffb098c (diff) | |
download | poky-c6987478313b12cbd174c816bc07cf27f727f091.tar.gz |
lib/oe/terminal.py: use an absolute path to execute oe-gnome-terminal-phonehome
A flaw was found on my Ubuntu 14.04.5 LTS, on which that gnome-terminal is
the default terminal, when I run any of the tasks:
bitbake busybox -c menuconfig/devshell/devpyshell
bitbake virtual/kernel -c menuconfig/devshell/devpyshell
I got a error as follows:
"Failed to execute child process "oe-gnome-terminal-phonehome" (No such file or directory)"
Seems the environment of the process calling Popen is not passed to the
child process, this behaviour is a known issue in Python bug tracker:
http://bugs.python.org/issue8557
It could be fixed by using an absolute path instead per test.
(From OE-Core rev: 2117c148ef07d84bc605768e3b3671b0126b9337)
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe/terminal.py')
-rw-r--r-- | meta/lib/oe/terminal.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py index 9eb19a2619..94afe394ed 100644 --- a/meta/lib/oe/terminal.py +++ b/meta/lib/oe/terminal.py | |||
@@ -224,7 +224,7 @@ def spawn(name, sh_cmd, title=None, env=None, d=None): | |||
224 | import time | 224 | import time |
225 | pidfile = tempfile.NamedTemporaryFile(delete = False).name | 225 | pidfile = tempfile.NamedTemporaryFile(delete = False).name |
226 | try: | 226 | try: |
227 | sh_cmd = "oe-gnome-terminal-phonehome " + pidfile + " " + sh_cmd | 227 | sh_cmd = bb.utils.which(os.getenv('PATH'), "oe-gnome-terminal-phonehome") + " " + pidfile + " " + sh_cmd |
228 | pipe = terminal(sh_cmd, title, env, d) | 228 | pipe = terminal(sh_cmd, title, env, d) |
229 | output = pipe.communicate()[0] | 229 | output = pipe.communicate()[0] |
230 | if output: | 230 | if output: |