diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-11-10 14:45:14 +1300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-11-23 11:02:26 +0000 |
commit | 66bf6978fc807ecc422fb6b6328f68bc3406cf15 (patch) | |
tree | 7f52bbcc977bd2a3b74e0d9acdc923152238f740 /scripts | |
parent | 826f3cdb474b5728b22f08d2342fc90235ca9e7d (diff) | |
download | openembedded-core-66bf6978fc807ecc422fb6b6328f68bc3406cf15.tar.gz openembedded-core-66bf6978fc807ecc422fb6b6328f68bc3406cf15.tar.bz2 openembedded-core-66bf6978fc807ecc422fb6b6328f68bc3406cf15.zip |
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 <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/lib/devtool/standard.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 4523048b38..1511641099 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): |