Created attachment 5098 [details] Patch to publish the base type resolution When a new task requires a dependance to a image type, we are supposed to write: mytask[depends] = 'myimage:do_image_tar' If we require a conversion type (eg tar.gz or tar.gz.lzo), there is nothing to help. That's quite unconfortable for a user and complexifies automation. A first step would be to provide the _image_base_type function from image.bbclass. This would let anyone resolve types (patch provided). Then, oe might be able to resolve something like mytask[depends] = 'myimage:do_image_tar_gz_loz'
Created attachment 5099 [details] Patch to publish the base type resolution
Actually forget about the first step and the patch as it wouldn't be available from an other recipe :/
Created attachment 5101 [details] add tasks for conversion types This is a patch to create tasks for conversion commands For example, if IMAGE_FSTYPES contains "tar.gz.lzo", the new tasks depends are created: do_image_complete -> do_image_tar_gz_lzo do_image_complete -> do_image_tar_gz do_image_tar_gz_lzo -> do_image_tar_gz_lzo do_image_tar_gz -> do_image_tar
Bug review: The automatic image conversion is quite complicated so we're not surprised that there are corner cases. Likely a full expansion of all combinations is not sensible since tasks are somewhat slow in bitbake. This may have to wait to early in 5.3 since we're weeks away from feature freeze.
Wouldn't it be better to depend on myimage:do_image_complete, which is the "the images you requested have all been built" task?
Louis, See Ross' question, please.
(In reply to Ross Burton from comment #5) > Wouldn't it be better to depend on myimage:do_image_complete, which is the > "the images you requested have all been built" task? When the new task is from another recipe it would indeed. But if the task is somehow in the same recipe we can't. Let's take a dummy example and suppose the wic has to include a tar.gz.lzo. Today we have to add: do_image_wic[depends] = '${PN}:do_image_tar' It's quite easy for a human, but a bit tricky for a machine.
Ross to look at this.