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

login
register
mail settings
Submitter Paul Eggleton
Date Sept. 16, 2011, 5:08 p.m.
Message ID <59d019bf5d9aa00d5c803f7417f99151ae827c60.1316192786.git.paul.eggleton@linux.intel.com>
Download mbox | patch
Permalink /patch/11599/
State New, archived
Headers show

Comments

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(-)
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"

Patch

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"