Re: [PATCH] lib/oe/terminal.py: use an absolute path to execute oe-gnome-terminal-phonehome

Andre McCurdy
2017-11-07T00:32:45Z

On Fri, Oct 13, 2017 at 4:26 AM, <liu.ming50@gmail.com> wrote:
> From: Ming Liu <liu.ming50@gmail.com>
>
> 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.

Ping.

A similar fix is also needed in pyro and morty (where Ubuntu 14.04 is
still an officially supported host).

Using an absolute path here seems like a reasonable thing to be doing
anyway, so unless there's an obvious problem with this change, I
suggest merging to master first and then backporting rather than
making the fix morty specific.

> Signed-off-by: Ming Liu <liu.ming50@gmail.com>
> ---
> 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 9eb19a2..94afe39 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:
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core