diff options
author | Ross Burton <ross.burton@intel.com> | 2016-07-15 11:25:42 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-19 08:46:46 +0100 |
commit | 42d727743fa599e0a3c5ad2c29a1e6ede1a918bb (patch) | |
tree | 77df2281ee1b03cd11e397ffec3599f7a028001b /lib/bb/build.py | |
parent | 6576a9a95486c28a01d4211b4a33cc3e2c55a7cc (diff) | |
download | bitbake-contrib-42d727743fa599e0a3c5ad2c29a1e6ede1a918bb.tar.gz |
lib/bb/build.py: decode the command as UTF-8
The messaging FIFO is UTF-8, so decode the command as UTF-8 as well as the value
as otherwise "bberror" != b("bberror") and none of the messages from shell
functions are ever displayed.
Also add an else to the command parser so unhandled commands are noticed.
[ YOCTO #9947 ]
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/build.py')
-rw-r--r-- | lib/bb/build.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/bb/build.py b/lib/bb/build.py index 4fb2a77cf..04979acbd 100644 --- a/lib/bb/build.py +++ b/lib/bb/build.py @@ -377,8 +377,11 @@ exit $ret def readfifo(data): lines = data.split(b'\0') for line in lines: + # Just skip empty commands + if not line: + continue splitval = line.split(b' ', 1) - cmd = splitval[0] + cmd = splitval[0].decode("utf-8") if len(splitval) > 1: value = splitval[1].decode("utf-8") else: @@ -402,7 +405,8 @@ exit $ret level = int(splitval[0]) value = splitval[1] bb.debug(level, value) - + else: + bb.warn("Unrecognised command '%s' on FIFO" % cmd) tempdir = d.getVar('T', True) fifopath = os.path.join(tempdir, 'fifo.%s' % os.getpid()) if os.path.exists(fifopath): |