diff options
Diffstat (limited to 'bitbake/lib/bb/ui/knotty.py')
| -rw-r--r-- | bitbake/lib/bb/ui/knotty.py | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py index 6ac3d85b1e..b99a121729 100644 --- a/bitbake/lib/bb/ui/knotty.py +++ b/bitbake/lib/bb/ui/knotty.py | |||
| @@ -217,9 +217,19 @@ class TerminalFilter(object): | |||
| 217 | def main(server, eventHandler, tf = TerminalFilter): | 217 | def main(server, eventHandler, tf = TerminalFilter): |
| 218 | 218 | ||
| 219 | # Get values of variables which control our output | 219 | # Get values of variables which control our output |
| 220 | includelogs = server.runCommand(["getVariable", "BBINCLUDELOGS"]) | 220 | includelogs, error = server.runCommand(["getVariable", "BBINCLUDELOGS"]) |
| 221 | loglines = server.runCommand(["getVariable", "BBINCLUDELOGS_LINES"]) | 221 | if error: |
| 222 | consolelogfile = server.runCommand(["getVariable", "BB_CONSOLELOG"]) | 222 | logger.error("Unable to get the value of BBINCLUDELOGS variable: %s" % error) |
| 223 | return 1 | ||
| 224 | loglines, error = server.runCommand(["getVariable", "BBINCLUDELOGS_LINES"]) | ||
| 225 | if error: | ||
| 226 | logger.error("Unable to get the value of BBINCLUDELOGS_LINES variable: %s" % error) | ||
| 227 | return 1 | ||
| 228 | consolelogfile, error = server.runCommand(["getVariable", "BB_CONSOLELOG"]) | ||
| 229 | if error: | ||
| 230 | logger.error("Unable to get the value of BB_CONSOLELOG variable: %s" % error) | ||
| 231 | return 1 | ||
| 232 | |||
| 223 | if sys.stdin.isatty() and sys.stdout.isatty(): | 233 | if sys.stdin.isatty() and sys.stdout.isatty(): |
| 224 | log_exec_tty = True | 234 | log_exec_tty = True |
| 225 | else: | 235 | else: |
| @@ -240,19 +250,22 @@ def main(server, eventHandler, tf = TerminalFilter): | |||
| 240 | logger.addHandler(consolelog) | 250 | logger.addHandler(consolelog) |
| 241 | 251 | ||
| 242 | try: | 252 | try: |
| 243 | cmdline = server.runCommand(["getCmdLineAction"]) | 253 | cmdline, error = server.runCommand(["getCmdLineAction"]) |
| 244 | if not cmdline: | 254 | if error: |
| 255 | logger.error("Unable to get bitbake commandline arguments: %s" % error) | ||
| 256 | return 1 | ||
| 257 | elif not cmdline: | ||
| 245 | print("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.") | 258 | print("Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.") |
| 246 | return 1 | 259 | return 1 |
| 247 | elif not cmdline['action']: | 260 | ret, error = server.runCommand(cmdline) |
| 248 | print(cmdline['msg']) | 261 | if error: |
| 262 | logger.error("Command '%s' failed: %s" % (cmdline, error)) | ||
| 249 | return 1 | 263 | return 1 |
| 250 | ret = server.runCommand(cmdline['action']) | 264 | elif ret != True: |
| 251 | if ret != True: | 265 | logger.error("Command '%s' failed: returned %s" % (cmdline, ret)) |
| 252 | print("Couldn't get default commandline! %s" % ret) | ||
| 253 | return 1 | 266 | return 1 |
| 254 | except xmlrpclib.Fault as x: | 267 | except xmlrpclib.Fault as x: |
| 255 | print("XMLRPC Fault getting commandline:\n %s" % x) | 268 | logger.error("XMLRPC Fault getting commandline:\n %s" % x) |
| 256 | return 1 | 269 | return 1 |
| 257 | 270 | ||
| 258 | parseprogress = None | 271 | parseprogress = None |
| @@ -447,14 +460,19 @@ def main(server, eventHandler, tf = TerminalFilter): | |||
| 447 | if ioerror.args[0] == 4: | 460 | if ioerror.args[0] == 4: |
| 448 | pass | 461 | pass |
| 449 | except KeyboardInterrupt: | 462 | except KeyboardInterrupt: |
| 463 | import time | ||
| 450 | termfilter.clearFooter() | 464 | termfilter.clearFooter() |
| 451 | if main.shutdown == 1: | 465 | if main.shutdown == 1: |
| 452 | print("\nSecond Keyboard Interrupt, stopping...\n") | 466 | print("\nSecond Keyboard Interrupt, stopping...\n") |
| 453 | server.runCommand(["stateStop"]) | 467 | _, error = server.runCommand(["stateStop"]) |
| 468 | if error: | ||
| 469 | logger.error("Unable to cleanly stop: %s" % error) | ||
| 454 | if main.shutdown == 0: | 470 | if main.shutdown == 0: |
| 455 | interrupted = True | ||
| 456 | print("\nKeyboard Interrupt, closing down...\n") | 471 | print("\nKeyboard Interrupt, closing down...\n") |
| 457 | server.runCommand(["stateShutdown"]) | 472 | interrupted = True |
| 473 | _, error = server.runCommand(["stateShutdown"]) | ||
| 474 | if error: | ||
| 475 | logger.error("Unable to cleanly shutdown: %s" % error) | ||
| 458 | main.shutdown = main.shutdown + 1 | 476 | main.shutdown = main.shutdown + 1 |
| 459 | pass | 477 | pass |
| 460 | 478 | ||
