From 673999ac76a0cacb03dfaac7b35b45ccb574a633 Mon Sep 17 00:00:00 2001 From: Ming Liu Date: Mon, 20 Nov 2017 10:35:57 -0800 Subject: [PATCH] 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: 6dcafdc6754f9eda22dfe93609401d75e8626c05) Signed-off-by: Ming Liu Signed-off-by: Richard Purdie (cherry picked from commit 2117c148ef07d84bc605768e3b3671b0126b9337) Signed-off-by: Andre McCurdy Signed-off-by: Richard Purdie --- meta/lib/oe/terminal.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py index 89ddb4671a..2f18ec0287 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): import time pidfile = tempfile.NamedTemporaryFile(delete = False).name try: - sh_cmd = "oe-gnome-terminal-phonehome " + pidfile + " " + sh_cmd + sh_cmd = bb.utils.which(os.getenv('PATH'), "oe-gnome-terminal-phonehome") + " " + pidfile + " " + sh_cmd pipe = terminal(sh_cmd, title, env, d) output = pipe.communicate()[0] if output: