From c7cc57c42f4234ebfd739c9e8fca79aa34749fd1 Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Mon, 3 Sep 2018 10:02:06 +0200 Subject: [PATCH] build: Run bitbake in caller shell if available When kas is invoked in a shell, pass this property to bitbake, enabling its fancy UI mode. Signed-off-by: Jan Kiszka --- kas/build.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/kas/build.py b/kas/build.py index 78e6a60..0f372e3 100644 --- a/kas/build.py +++ b/kas/build.py @@ -23,7 +23,10 @@ The build plugin for kas. """ +import logging import os +import subprocess +import sys from .context import create_global_context from .config import Config from .libkas import find_program, run_cmd, kasplugin @@ -119,6 +122,10 @@ class BuildCommand(Command): """ # Start bitbake build of image bitbake = find_program(ctx.environ['PATH'], 'bitbake') - run_cmd(([bitbake, '-k', '-c', ctx.config.get_bitbake_task()] - + ctx.config.get_bitbake_targets()), - cwd=ctx.build_dir) + cmd = ([bitbake, '-k', '-c', ctx.config.get_bitbake_task()] + + ctx.config.get_bitbake_targets()) + if sys.stdout.isatty(): + logging.info('%s$ %s', ctx.build_dir, ' '.join(cmd)) + subprocess.call(cmd, env=ctx.environ, cwd=ctx.build_dir) + else: + run_cmd(cmd, cwd=ctx.build_dir)