summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliot Smith <elliot.smith@intel.com>2016-07-12 15:54:28 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-19 09:03:28 +0100
commit8b369cdd73ab17cdf834a591b97b25840caeb740 (patch)
treedaa45d27cbdcac238658f40cd7268eff741a5195
parent67ebb5406c0fcdd1b28bf446249aa6fe34a741a8 (diff)
downloadopenembedded-core-8b369cdd73ab17cdf834a591b97b25840caeb740.tar.gz
openembedded-core-8b369cdd73ab17cdf834a591b97b25840caeb740.tar.bz2
openembedded-core-8b369cdd73ab17cdf834a591b97b25840caeb740.zip
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] 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.bbclass25
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() {
images[target][dependsname] = {'size': 0, 'depends' : []}
images[target][pname]['depends'].append((dependsname, deptype))
- with open("%s/files-in-image.txt" % installed_img_path, "r") as fin:
- for line in fin:
- lc = [ x for x in line.strip().split(" ") if len(x) > 0 ]
- if lc[0].startswith("l"):
- files[target]['syms'].append(lc)
- elif lc[0].startswith("d"):
- files[target]['dirs'].append(lc)
- else:
- files[target]['files'].append(lc)
+ # files-in-image.txt is only generated if an image file is created,
+ # so the file entries ('syms', 'dirs', 'files') for a target will be
+ # empty for rootfs builds and other "image" tasks which don't
+ # produce image files
+ # (e.g. "bitbake core-image-minimal -c populate_sdk")
+ files_in_image_path = "%s/files-in-image.txt" % installed_img_path
+ if os.path.exists(files_in_image_path):
+ with open(files_in_image_path, "r") as fin:
+ for line in fin:
+ lc = [ x for x in line.strip().split(" ") if len(x) > 0 ]
+ if lc[0].startswith("l"):
+ files[target]['syms'].append(lc)
+ elif lc[0].startswith("d"):
+ files[target]['dirs'].append(lc)
+ else:
+ files[target]['files'].append(lc)
for pname in images[target]:
if not pname in allpkgs: