]> code.ossystems Code Review - openembedded-core.git/commitdiff
lib/oe/terminal: fix regressions
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Wed, 25 Feb 2015 11:22:24 +0000 (11:22 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 26 Feb 2015 07:46:31 +0000 (07:46 +0000)
Fix up some issues introduced by OE-Core commit
818c94f5b9882c2028ef9f056714a0a3c9045551:

* If we want to support versions with more than two parts, versions with
  only one part, or versions with non-integer parts, then we have to
  stay with strings. We can use distutils.version.LooseVersion() to help
  with comparisons.
* We don't want a warning when launching gnome-terminal 3.10+ and
  logger.warn() doesn't take a first integer parameter anyway
  (logger.debug() does).
* Also clean up tabs.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/terminal.py

index 01c0ccc334923dede463383e6920a638fe816a44..fdfdde2f9116a495f452429c6753e772e20e0731 100644 (file)
@@ -2,6 +2,7 @@ import logging
 import oe.classutils
 import shlex
 from bb.process import Popen, ExecutionError
+from distutils.version import LooseVersion
 
 logger = logging.getLogger('BitBake.OE.Terminal')
 
@@ -57,9 +58,9 @@ class Gnome(XTerminal):
 
     def __init__(self, sh_cmd, title=None, env=None, d=None):
         # Check version
-        (major, minor) = check_terminal_version("gnome-terminal")
-        if major >= 3 and minor >= 10:
-            logger.warn(1, 'Gnome-Terminal >3.10 does not support --disable-factory')
+        vernum = check_terminal_version("gnome-terminal")
+        if vernum and LooseVersion(vernum) >= '3.10':
+            logger.debug(1, 'Gnome-Terminal 3.10 or later does not support --disable-factory')
             self.command = 'gnome-terminal -t "{title}" -x {command}'
         XTerminal.__init__(self, sh_cmd, title, env, d)
 
@@ -81,8 +82,8 @@ class Konsole(XTerminal):
 
     def __init__(self, sh_cmd, title=None, env=None, d=None):
         # Check version
-        (major, minor) = check_terminal_version("konsole")
-        if major == 2:
+        vernum = check_terminal_version("konsole")
+        if vernum and LooseVersion(vernum) >= '2.0.0':
             logger.debug(1, 'Konsole from KDE 4.x will not work as devshell, skipping')
             raise UnsupportedTerminal(self.name)
         XTerminal.__init__(self, sh_cmd, title, env, d)
@@ -239,17 +240,12 @@ def check_terminal_version(terminalName):
         else:
             raise
     vernum = None
-    major = int(0)
-    minor = int(0)
     for ver in ver_info:
         if ver.startswith('Konsole'):
             vernum = ver.split(' ')[-1]
-       if ver.startswith('GNOME Terminal'):
+        if ver.startswith('GNOME Terminal'):
             vernum = ver.split(' ')[-1]
-    if vernum:
-       major = int(vernum.split('.')[0])
-       minor = int(vernum.split('.')[1])
-    return major, minor
+    return vernum
 
 def distro_name():
     try: