summaryrefslogtreecommitdiff
path: root/poky/meta/lib/oe/terminal.py
diff options
context:
space:
mode:
authorjmbills <jason.m.bills@intel.com>2021-08-03 01:45:08 +0300
committerGitHub <noreply@github.com>2021-08-03 01:45:08 +0300
commit10ad77d5bc86709d8ff7f95e7040e39f1c153903 (patch)
tree307cedb87f4c0a329740c55ac364ed489d1d8fc2 /poky/meta/lib/oe/terminal.py
parentc6b1c6ba7a01b7987d65d61c262c44c320193108 (diff)
parent67327ddc580cb9a85219a534844832a1682780d4 (diff)
downloadopenbmc-10ad77d5bc86709d8ff7f95e7040e39f1c153903.tar.xz
Merge pull request #69 from Intel-BMC/update2021-0.631-0.63
Update
Diffstat (limited to 'poky/meta/lib/oe/terminal.py')
-rw-r--r--poky/meta/lib/oe/terminal.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/poky/meta/lib/oe/terminal.py b/poky/meta/lib/oe/terminal.py
index 61c2687ef..59aa80de6 100644
--- a/poky/meta/lib/oe/terminal.py
+++ b/poky/meta/lib/oe/terminal.py
@@ -163,7 +163,12 @@ class Tmux(Terminal):
# devshells, if it's already there, add a new window to it.
window_name = 'devshell-%i' % os.getpid()
- self.command = 'tmux new -c "{{cwd}}" -d -s {0} -n {0} "{{command}}"'.format(window_name)
+ self.command = 'tmux new -c "{{cwd}}" -d -s {0} -n {0} "{{command}}"'
+ if not check_tmux_version('1.9'):
+ # `tmux new-session -c` was added in 1.9;
+ # older versions fail with that flag
+ self.command = 'tmux new -d -s {0} -n {0} "{{command}}"'
+ self.command = self.command.format(window_name)
Terminal.__init__(self, sh_cmd, title, env, d)
attach_cmd = 'tmux att -t {0}'.format(window_name)
@@ -253,13 +258,18 @@ def spawn(name, sh_cmd, title=None, env=None, d=None):
except OSError:
return
+def check_tmux_version(desired):
+ vernum = check_terminal_version("tmux")
+ if vernum and LooseVersion(vernum) < desired:
+ return False
+ return vernum
+
def check_tmux_pane_size(tmux):
import subprocess as sub
# On older tmux versions (<1.9), return false. The reason
# is that there is no easy way to get the height of the active panel
# on current window without nested formats (available from version 1.9)
- vernum = check_terminal_version("tmux")
- if vernum and LooseVersion(vernum) < '1.9':
+ if not check_tmux_version('1.9'):
return False
try:
p = sub.Popen('%s list-panes -F "#{?pane_active,#{pane_height},}"' % tmux,