From: Paul Eggleton Date: Thu, 10 Nov 2016 01:45:14 +0000 (+1300) Subject: devtool: update-recipe: check output before treating it as a string X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~23581 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=66bf6978fc807ecc422fb6b6328f68bc3406cf15;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git devtool: update-recipe: check output before treating it as a string As of the move to Python 3 and the fixes we applied at that time, bb.process.run() will return a byte array of length 0 rather than an empty string if the output is empty. That may be a bug that we should fix, but for now it's easiest to just check the result here before treating it as a string. This fixes running "devtool update-recipe" or "devtool finish" on a recipe which has no source tree, for example initramfs-framework. Fixes [YOCTO #10563]. Signed-off-by: Paul Eggleton Signed-off-by: Ross Burton --- diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 4523048b385..1511641099d 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -332,10 +332,11 @@ def _git_ls_tree(repodir, treeish='HEAD', recursive=False): cmd.append('-r') out, _ = bb.process.run(cmd, cwd=repodir) ret = {} - for line in out.split('\0'): - if line: - split = line.split(None, 4) - ret[split[3]] = split[0:3] + if out: + for line in out.split('\0'): + if line: + split = line.split(None, 4) + ret[split[3]] = split[0:3] return ret def _git_exclude_path(srctree, path):