From f8a450a39d49474d300f19c6ed39a8b1eda53cc3 Mon Sep 17 00:00:00 2001 From: Peter Kjellerstedt Date: Mon, 25 Apr 2022 23:05:19 +0200 Subject: [PATCH] terminal.py: Restore error output from Terminal In bitbake commit 1ecc1d94 (process: Do not mix stderr with stdout), bb.process.Popen() was changed to no longer combine stdout and stderr by default. However, the Terminal class was not updated to reflect this and subsequently only output stdout in case of failures. (From OE-Core rev: f8f8e2e159a5ac03f619e6d0882011445e6a2545) Signed-off-by: Peter Kjellerstedt Signed-off-by: Luca Ceresoli Signed-off-by: Richard Purdie (cherry picked from commit 116d0bb07ba044cf8847bf3d5c3996ad7e58b7ae) Signed-off-by: Steve Sakoman Signed-off-by: Richard Purdie --- meta/lib/oe/terminal.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py index 53186c4a3e..de8dcebf94 100644 --- a/meta/lib/oe/terminal.py +++ b/meta/lib/oe/terminal.py @@ -30,9 +30,10 @@ class Registry(oe.classutils.ClassRegistry): class Terminal(Popen, metaclass=Registry): def __init__(self, sh_cmd, title=None, env=None, d=None): + from subprocess import STDOUT fmt_sh_cmd = self.format_command(sh_cmd, title) try: - Popen.__init__(self, fmt_sh_cmd, env=env) + Popen.__init__(self, fmt_sh_cmd, env=env, stderr=STDOUT) except OSError as exc: import errno if exc.errno == errno.ENOENT: