summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/terminal.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oe/terminal.py')
-rw-r--r--meta/lib/oe/terminal.py20
1 files changed, 8 insertions, 12 deletions
diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py
index 01c0ccc334..fdfdde2f91 100644
--- a/meta/lib/oe/terminal.py
+++ b/meta/lib/oe/terminal.py
@@ -2,6 +2,7 @@ import logging
2import oe.classutils 2import oe.classutils
3import shlex 3import shlex
4from bb.process import Popen, ExecutionError 4from bb.process import Popen, ExecutionError
5from distutils.version import LooseVersion
5 6
6logger = logging.getLogger('BitBake.OE.Terminal') 7logger = logging.getLogger('BitBake.OE.Terminal')
7 8
@@ -57,9 +58,9 @@ class Gnome(XTerminal):
57 58
58 def __init__(self, sh_cmd, title=None, env=None, d=None): 59 def __init__(self, sh_cmd, title=None, env=None, d=None):
59 # Check version 60 # Check version
60 (major, minor) = check_terminal_version("gnome-terminal") 61 vernum = check_terminal_version("gnome-terminal")
61 if major >= 3 and minor >= 10: 62 if vernum and LooseVersion(vernum) >= '3.10':
62 logger.warn(1, 'Gnome-Terminal >3.10 does not support --disable-factory') 63 logger.debug(1, 'Gnome-Terminal 3.10 or later does not support --disable-factory')
63 self.command = 'gnome-terminal -t "{title}" -x {command}' 64 self.command = 'gnome-terminal -t "{title}" -x {command}'
64 XTerminal.__init__(self, sh_cmd, title, env, d) 65 XTerminal.__init__(self, sh_cmd, title, env, d)
65 66
@@ -81,8 +82,8 @@ class Konsole(XTerminal):
81 82
82 def __init__(self, sh_cmd, title=None, env=None, d=None): 83 def __init__(self, sh_cmd, title=None, env=None, d=None):
83 # Check version 84 # Check version
84 (major, minor) = check_terminal_version("konsole") 85 vernum = check_terminal_version("konsole")
85 if major == 2: 86 if vernum and LooseVersion(vernum) >= '2.0.0':
86 logger.debug(1, 'Konsole from KDE 4.x will not work as devshell, skipping') 87 logger.debug(1, 'Konsole from KDE 4.x will not work as devshell, skipping')
87 raise UnsupportedTerminal(self.name) 88 raise UnsupportedTerminal(self.name)
88 XTerminal.__init__(self, sh_cmd, title, env, d) 89 XTerminal.__init__(self, sh_cmd, title, env, d)
@@ -239,17 +240,12 @@ def check_terminal_version(terminalName):
239 else: 240 else:
240 raise 241 raise
241 vernum = None 242 vernum = None
242 major = int(0)
243 minor = int(0)
244 for ver in ver_info: 243 for ver in ver_info:
245 if ver.startswith('Konsole'): 244 if ver.startswith('Konsole'):
246 vernum = ver.split(' ')[-1] 245 vernum = ver.split(' ')[-1]
247 if ver.startswith('GNOME Terminal'): 246 if ver.startswith('GNOME Terminal'):
248 vernum = ver.split(' ')[-1] 247 vernum = ver.split(' ')[-1]
249 if vernum: 248 return vernum
250 major = int(vernum.split('.')[0])
251 minor = int(vernum.split('.')[1])
252 return major, minor
253 249
254def distro_name(): 250def distro_name():
255 try: 251 try: