diff options
author | Elliot Smith <elliot.smith@intel.com> | 2016-07-12 15:54:28 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-19 09:03:32 +0100 |
commit | 843f7ae4108ad862b02ae84eef4f8cf7f6a3c950 (patch) | |
tree | 12d2a3a6d5a856810e50e9c049b3e0894a69b668 | |
parent | ac339ece209b7c6b4fbe9a55233599f3cd112fbe (diff) | |
download | poky-843f7ae4108ad862b02ae84eef4f8cf7f6a3c950.tar.gz |
toaster.bbclass: only scan files-in-image.txt if it exists
We can reach the method in toaster.bbclass which tries to read from
the files-in-image.txt file via a build which doesn't create that
file (e.g. "bitbake core-image-minimal -c rootfs"). This causes
the build to fail with an exception.
Check that this file exists before trying to read from it.
[YOCTO #9784]
(From OE-Core rev: 8b369cdd73ab17cdf834a591b97b25840caeb740)
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: bavery <brian.avery@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/toaster.bbclass | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/meta/classes/toaster.bbclass b/meta/classes/toaster.bbclass index 90ea563809..972efb94e4 100644 --- a/meta/classes/toaster.bbclass +++ b/meta/classes/toaster.bbclass | |||
@@ -288,15 +288,22 @@ python toaster_buildhistory_dump() { | |||
288 | images[target][dependsname] = {'size': 0, 'depends' : []} | 288 | images[target][dependsname] = {'size': 0, 'depends' : []} |
289 | images[target][pname]['depends'].append((dependsname, deptype)) | 289 | images[target][pname]['depends'].append((dependsname, deptype)) |
290 | 290 | ||
291 | with open("%s/files-in-image.txt" % installed_img_path, "r") as fin: | 291 | # files-in-image.txt is only generated if an image file is created, |
292 | for line in fin: | 292 | # so the file entries ('syms', 'dirs', 'files') for a target will be |
293 | lc = [ x for x in line.strip().split(" ") if len(x) > 0 ] | 293 | # empty for rootfs builds and other "image" tasks which don't |
294 | if lc[0].startswith("l"): | 294 | # produce image files |
295 | files[target]['syms'].append(lc) | 295 | # (e.g. "bitbake core-image-minimal -c populate_sdk") |
296 | elif lc[0].startswith("d"): | 296 | files_in_image_path = "%s/files-in-image.txt" % installed_img_path |
297 | files[target]['dirs'].append(lc) | 297 | if os.path.exists(files_in_image_path): |
298 | else: | 298 | with open(files_in_image_path, "r") as fin: |
299 | files[target]['files'].append(lc) | 299 | for line in fin: |
300 | lc = [ x for x in line.strip().split(" ") if len(x) > 0 ] | ||
301 | if lc[0].startswith("l"): | ||
302 | files[target]['syms'].append(lc) | ||
303 | elif lc[0].startswith("d"): | ||
304 | files[target]['dirs'].append(lc) | ||
305 | else: | ||
306 | files[target]['files'].append(lc) | ||
300 | 307 | ||
301 | for pname in images[target]: | 308 | for pname in images[target]: |
302 | if not pname in allpkgs: | 309 | if not pname in allpkgs: |