summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>2015-06-02 14:54:27 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-06-26 14:08:02 +0100
commitec79684a1eb594099d342a416ba3f5ad0b342a53 (patch)
tree2e417df5da0b7fbc22e5adb23b0815c8554dbc5d
parent72bf99d2d9a4a8030cec47b39aa18811752ca254 (diff)
downloadopenembedded-core-ec79684a1eb594099d342a416ba3f5ad0b342a53.tar.gz
openembedded-core-ec79684a1eb594099d342a416ba3f5ad0b342a53.tar.bz2
openembedded-core-ec79684a1eb594099d342a416ba3f5ad0b342a53.zip
terminal.py: Allow devshell/menuconfig on recent gnome-terminal
Recent versions of gnome-terminal does not support non-UTF8 charset: https://bugzilla.gnome.org/show_bug.cgi?id=732127 as a result, devshell and menuconfig tasks silently hang (error found on trace log of 'strace -f -v -s 8192 -e write=2 bitbake -c devshell quilt-native': "Non UTF-8 locale (ANSI_X3.4-1968) is not supported!"). As a workaround, clearing the LC_ALL environment variable so it uses the locale. Once fixed on the gnome-terminal project, this should be removed. Tested on gnome-terminal versions: GNOME Terminal 3.4.1.1 GNOME Terminal 3.14.2 (Default on Ubuntu 15.04) [YOCTO #7791] Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/lib/oe/terminal.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/meta/lib/oe/terminal.py b/meta/lib/oe/terminal.py
index 4f5c611615..52a891388a 100644
--- a/meta/lib/oe/terminal.py
+++ b/meta/lib/oe/terminal.py
@@ -57,6 +57,12 @@ class Gnome(XTerminal):
priority = 2
def __init__(self, sh_cmd, title=None, env=None, d=None):
+ # Recent versions of gnome-terminal does not support non-UTF8 charset:
+ # https://bugzilla.gnome.org/show_bug.cgi?id=732127; as a workaround,
+ # clearing the LC_ALL environment variable so it uses the locale.
+ # Once fixed on the gnome-terminal project, this should be removed.
+ if os.getenv('LC_ALL'): os.putenv('LC_ALL','')
+
# Check version
vernum = check_terminal_version("gnome-terminal")
if vernum and LooseVersion(vernum) >= '3.10':