]> code.ossystems Code Review - openembedded-core.git/commitdiff
sanity.bbclass: Warn people when TERMCMD is set to a non-installed program
authorJoshua Lock <josh@linux.intel.com>
Fri, 26 Nov 2010 16:43:05 +0000 (16:43 +0000)
committerRichard Purdie <rpurdie@linux.intel.com>
Mon, 6 Dec 2010 22:02:28 +0000 (22:02 +0000)
We default to gnome-terminal for TERMCMD (and TERMRUNCMD) so should check that
this program actually exists during sanity checking.

As a corollary document how to change these variables in the local.conf

Signed-off-by: Joshua Lock <josh@linux.intel.com>
meta/classes/sanity.bbclass
meta/conf/local.conf.sample

index 06aeddc3b0f2ad234e0711be8744efaef5d0e378..e1f37ac1f444fb3fcd8034e90182f66b3e9b38e8 100644 (file)
@@ -139,6 +139,12 @@ def check_sanity(e):
                missing = missing.rstrip(',')
                messages = messages + "Please install following missing utilities: %s\n" % missing
 
+       # Ensure we have the binary for TERMCMD, as when patch application fails the error is fairly intimidating
+       termcmd = data.getVar("TERMCMD", e.data, True)
+       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
+
        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"
 
index 9bff292980c01226b3a9ef8d6355466449fb28df..9c58e6bc0ca16ef17d2c53ee3fbb8dff8470be8c 100644 (file)
@@ -170,3 +170,10 @@ ENABLE_BINARY_LOCALE_GENERATION = "1"
 # out if that is desired
 NO32LIBS = "1"
 
+# If you do not use (or have installed) gnome-terminal you will need to
+# uncomment these variables and set them to the terminal you wish to use
+# when resolving patches which cannot be applied
+# Supported shell prefixes for *_TERMCMD and *_TERMCMDRUN ARE:
+# GNOME, SCREEN, XTERM and KONSOLE
+#TERMCMD = "${KONSOLE_TERMCMD}"
+#TERMCMDRUN = "${KONSOLE_TERMCMDRUN}"