[2/2] sanity.bbclass: add a sanity check for KDE 4.x konsole in TERMCMD

Submitted by Paul Eggleton on Sept. 16, 2011, 5:08 p.m.

Details

Message ID 59d019bf5d9aa00d5c803f7417f99151ae827c60.1316192786.git.paul.eggleton@linux.intel.com
State New, archived
Headers show

Commit Message

Paul Eggleton Sept. 16, 2011, 5:08 p.m.
If the user has specified konsole in TERMCMD and it is version 2.x from
KDE 4.x, raise an error as this version will not work for patch
resolution purposes (it forks into the background and returns
immediately).

Addresses [YOCTO #1294]

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 meta/classes/sanity.bbclass |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

Patch hide | download patch | download mbox

diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 93008cc..faacd70 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -333,6 +333,12 @@  def check_sanity(e):
         term = termcmd.split()[0]
         if not check_app_exists(term, e.data):
             messages = messages + "The console for use in patch error resolution is not available, please install %s or set TERMCMD and TERMCMDRUN (as documented in local.conf).\n" % term
+        elif "konsole" in term:
+            import oe.terminal
+            vernum = oe.terminal.check_konsole_version(term)
+            if vernum:
+                if vernum.split('.')[0] == '2':
+                    messages = messages +  'Konsole from KDE 4.x will not work as TERMCMD/TERMCMDRUN, please specify a different terminal or set PATCHRESOLVE = "noop" to disable interactive patch resolution.\n'
 
     if os.path.basename(os.readlink('/bin/sh')) == 'dash':
         messages = messages + "Using dash as /bin/sh causes various subtle build problems, please use bash instead (e.g. 'dpkg-reconfigure dash' on an Ubuntu system.\n"

Comments

Joshua Lock Sept. 16, 2011, 5:28 p.m.
On Fri, 2011-09-16 at 18:08 +0100, Paul Eggleton wrote:
> If the user has specified konsole in TERMCMD and it is version 2.x from
> KDE 4.x, raise an error as this version will not work for patch
> resolution purposes (it forks into the background and returns
> immediately).
> 
> Addresses [YOCTO #1294]
> 
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>

Signed-off-by: Joshua Lock <josh@linux.intel.com>

> ---
>  meta/classes/sanity.bbclass |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
> index 93008cc..faacd70 100644
> --- a/meta/classes/sanity.bbclass
> +++ b/meta/classes/sanity.bbclass
> @@ -333,6 +333,12 @@ def check_sanity(e):
>          term = termcmd.split()[0]
>          if not check_app_exists(term, e.data):
>              messages = messages + "The console for use in patch error resolution is not available, please install %s or set TERMCMD and TERMCMDRUN (as documented in local.conf).\n" % term
> +        elif "konsole" in term:
> +            import oe.terminal
> +            vernum = oe.terminal.check_konsole_version(term)
> +            if vernum:
> +                if vernum.split('.')[0] == '2':
> +                    messages = messages +  'Konsole from KDE 4.x will not work as TERMCMD/TERMCMDRUN, please specify a different terminal or set PATCHRESOLVE = "noop" to disable interactive patch resolution.\n'
>  
>      if os.path.basename(os.readlink('/bin/sh')) == 'dash':
>          messages = messages + "Using dash as /bin/sh causes various subtle build problems, please use bash instead (e.g. 'dpkg-reconfigure dash' on an Ubuntu system.\n"