From faa726824dfb5bc0141919bb16c0d0069a3da69e Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 15 Jul 2016 11:25:42 +0100 Subject: bitbake: 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 ] (Bitbake rev: 42d727743fa599e0a3c5ad2c29a1e6ede1a918bb) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- bitbake/lib/bb/build.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py index 4fb2a77cfd..04979acbd3 100644 --- a/bitbake/lib/bb/build.py +++ b/bitbake/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): -- cgit v1.2.3-54-g00ecf