]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
bitbake: process: stop bb.process.communicate mixing bytes and str return types
authorMike Crowe <mac@mcrowe.com>
Fri, 24 Feb 2017 16:20:04 +0000 (16:20 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 1 Mar 2017 11:16:07 +0000 (11:16 +0000)
Python3 regards b"" as False so it is not being converted to a string by
d0f904d407f57998419bd9c305ce53e5eaa36b24. This confusingly causes three
different potential types for each member of the returned tuple.

Let's just assume that everything that's not None is a bytes object and
convert it to a string.

(Bitbake rev: 0cf5589b7fb3582a6caca5014c4d8152347df545)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/process.py

index c62d7bca4f21dfcecb931fe909040c0216ca0e5c..a4a559982c98d71c50b6a6e8a77198d09ef5c650 100644 (file)
@@ -162,9 +162,9 @@ def run(cmd, input=None, log=None, extrafiles=None, **options):
         stdout, stderr = _logged_communicate(pipe, log, input, extrafiles)
     else:
         stdout, stderr = pipe.communicate(input)
-        if stdout:
+        if not stdout is None:
             stdout = stdout.decode("utf-8")
-        if stderr:
+        if not stderr is None:
             stderr = stderr.decode("utf-8")
 
     if pipe.returncode != 0: