summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Wessel <jason.wessel@windriver.com>2012-09-17 22:43:51 (GMT)
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-24 14:35:30 (GMT)
commit86cf6daff907aed4d14e55b91d2033e6cb0b3925 (patch)
treec8e22c458bfa980c31b026615af110759a718089
parent6e0713a3e7765bafebd48e33b943f83ac17720ea (diff)
downloadpoky-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>
-rw-r--r--meta/lib/oe/terminal.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py
index 352a282..71d8a43 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
104def prioritized(): 109def prioritized():