diff options
author | Jason Wessel <jason.wessel@windriver.com> | 2012-09-17 17:43:51 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-09-24 15:35:30 +0100 |
commit | 86cf6daff907aed4d14e55b91d2033e6cb0b3925 (patch) | |
tree | c8e22c458bfa980c31b026615af110759a718089 /meta/lib/oe/terminal.py | |
parent | 6e0713a3e7765bafebd48e33b943f83ac17720ea (diff) | |
download | poky-86cf6daff907aed4d14e55b91d2033e6cb0b3925.tar.gz |
terminal: Send LogExecTTY event to spawn screen
Bitbake has the ability to request to run a command
and if it is not possible fall back to emitting a
log message. This can be used to start a screen
client automatically on the controling tty if
the UI has an interactive tty.
(From OE-Core rev: 39193bdce698b6339c3d7643eb3c1fcd2246fd56)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe/terminal.py')
-rw-r--r-- | meta/lib/oe/terminal.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py index 352a28239a..71d8a43410 100644 --- a/meta/lib/oe/terminal.py +++ b/meta/lib/oe/terminal.py | |||
@@ -96,9 +96,14 @@ class Screen(Terminal): | |||
96 | def __init__(self, sh_cmd, title=None, env=None, d=None): | 96 | def __init__(self, sh_cmd, title=None, env=None, d=None): |
97 | s_id = "devshell_%i" % os.getpid() | 97 | s_id = "devshell_%i" % os.getpid() |
98 | self.command = "screen -D -m -t \"{title}\" -S %s {command}" % s_id | 98 | self.command = "screen -D -m -t \"{title}\" -S %s {command}" % s_id |
99 | Terminal.__init__(self, sh_cmd, title, env) | 99 | Terminal.__init__(self, sh_cmd, title, env, d) |
100 | logger.warn('Screen started. Please connect in another terminal with ' | 100 | msg = 'Screen started. Please connect in another terminal with ' \ |
101 | '"screen -r devshell %s"' % s_id) | 101 | '"screen -r %s"' % s_id |
102 | if (d): | ||
103 | bb.event.fire(bb.event.LogExecTTY(msg, "screen -r %s" % s_id, | ||
104 | 0.5, 10), d) | ||
105 | else: | ||
106 | logger.warn(msg) | ||
102 | 107 | ||
103 | 108 | ||
104 | def prioritized(): | 109 | def prioritized(): |