bitbake: buildinfohelper: only record image files for tasks which make images
If a target is built which is classified as an "image" target (e.g. "core-image-minimal"), Toaster reads the list of files in the image (from the files-in-image.txt file). However, Toaster continues to do this for builds which don't produce images, if the recipe providing the target is an image recipe. This can result in a list of files in the image being attached to a target which didn't produce an image (e.g. rootfs). When associating files with an image, ensure that only targets with a task which produces an image have "files in the image" associated with them. [YOCTO #9784] (Bitbake rev: 44375d0c2a88e0070b8067c9285b89c54eaf3152) 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>
This commit is contained in:
parent
00c2c0be5e
commit
150e5588a0
|
@ -875,6 +875,11 @@ class BuildInfoHelper(object):
|
|||
Keeps in memory all data that needs matching before writing it to the database
|
||||
"""
|
||||
|
||||
# tasks which produce image files; note we include '', as we set
|
||||
# the task for a target to '' (i.e. 'build') if no target is
|
||||
# explicitly defined
|
||||
IMAGE_GENERATING_TASKS = ['', 'build', 'image', 'populate_sdk_ext']
|
||||
|
||||
# pylint: disable=protected-access
|
||||
# the code will look into the protected variables of the event; no easy way around this
|
||||
# pylint: disable=bad-continuation
|
||||
|
@ -1235,11 +1240,16 @@ class BuildInfoHelper(object):
|
|||
logger.warning("KeyError in save_target_package_information"
|
||||
"%s ", e)
|
||||
|
||||
try:
|
||||
self.orm_wrapper.save_target_file_information(self.internal_state['build'], target, filedata)
|
||||
except KeyError as e:
|
||||
logger.warning("KeyError in save_target_file_information"
|
||||
"%s ", e)
|
||||
# only try to find files in the image if the task for this
|
||||
# target is one which produces image files; otherwise, the old
|
||||
# list of files in the files-in-image.txt file will be
|
||||
# appended to the target even if it didn't produce any images
|
||||
if target.task in BuildInfoHelper.IMAGE_GENERATING_TASKS:
|
||||
try:
|
||||
self.orm_wrapper.save_target_file_information(self.internal_state['build'], target, filedata)
|
||||
except KeyError as e:
|
||||
logger.warning("KeyError in save_target_file_information"
|
||||
"%s ", e)
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue