diff options
author | Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> | 2015-06-02 14:54:27 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-06-26 14:08:02 +0100 |
commit | ec79684a1eb594099d342a416ba3f5ad0b342a53 (patch) | |
tree | 2e417df5da0b7fbc22e5adb23b0815c8554dbc5d | |
parent | 72bf99d2d9a4a8030cec47b39aa18811752ca254 (diff) | |
download | openembedded-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.py | 6 |
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': |