From c077f4aab2fc956408d4ad45c4e2e2ea6e480624 Mon Sep 17 00:00:00 2001 From: Stephano Cetola Date: Mon, 14 Nov 2016 18:30:11 -0800 Subject: devshell: list commands when throwing NoSupportedTerminals When attempting to run devshell, if no terminal is available, the error being thrown was not very specific. This adds a list of commands that failed, informing the user of what they can install to fix the error. [ YOCTO #10472] Signed-off-by: Stephano Cetola Signed-off-by: Ross Burton --- meta/classes/terminal.bbclass | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'meta/classes/terminal.bbclass') diff --git a/meta/classes/terminal.bbclass b/meta/classes/terminal.bbclass index a94f755a40..cd8d124507 100644 --- a/meta/classes/terminal.bbclass +++ b/meta/classes/terminal.bbclass @@ -88,8 +88,12 @@ def oe_terminal(command, title, d): try: oe.terminal.spawn_preferred(command, title, None, d) - except oe.terminal.NoSupportedTerminals: - bb.fatal('No valid terminal found, unable to open devshell') + except oe.terminal.NoSupportedTerminals as nosup: + nosup.terms.remove("false") + cmds = '\n\t'.join(nosup.terms).replace("{command}", + "do_terminal").replace("{title}", title) + bb.fatal('No valid terminal found, unable to open devshell.\n' + + 'Tried the following commands:\n\t%s' % cmds) except oe.terminal.ExecutionError as exc: bb.fatal('Unable to spawn terminal %s: %s' % (terminal, exc)) -- cgit 1.2.3-korg