From: Paul Eggleton Date: Tue, 13 Dec 2016 07:07:02 +0000 (+1300) Subject: knotty: fix --observe-only option X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2c5a8661430edebff67ab4a108995033d182b5d6;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git knotty: fix --observe-only option If we're in observe-only mode then we cannot run commands that would affect the server's state, including getSetVariable, so prevent that from being called in observe-only mode. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py index 3390eb73acc..521c262e45a 100644 --- a/lib/bb/ui/knotty.py +++ b/lib/bb/ui/knotty.py @@ -312,7 +312,7 @@ class TerminalFilter(object): fd = sys.stdin.fileno() self.termios.tcsetattr(fd, self.termios.TCSADRAIN, self.stdinbackup) -def _log_settings_from_server(server): +def _log_settings_from_server(server, observe_only): # Get values of variables which control our output includelogs, error = server.runCommand(["getVariable", "BBINCLUDELOGS"]) if error: @@ -322,7 +322,11 @@ def _log_settings_from_server(server): if error: logger.error("Unable to get the value of BBINCLUDELOGS_LINES variable: %s" % error) raise BaseException(error) - consolelogfile, error = server.runCommand(["getSetVariable", "BB_CONSOLELOG"]) + if observe_only: + cmd = 'getVariable' + else: + cmd = 'getSetVariable' + consolelogfile, error = server.runCommand([cmd, "BB_CONSOLELOG"]) if error: logger.error("Unable to get the value of BB_CONSOLELOG variable: %s" % error) raise BaseException(error) @@ -340,7 +344,7 @@ _evt_list = [ "bb.runqueue.runQueueExitWait", "bb.event.LogExecTTY", "logging.Lo def main(server, eventHandler, params, tf = TerminalFilter): - includelogs, loglines, consolelogfile = _log_settings_from_server(server) + includelogs, loglines, consolelogfile = _log_settings_from_server(server, params.observe_only) if sys.stdin.isatty() and sys.stdout.isatty(): log_exec_tty = True