[OE-core] [PATCH] image.bbclass: run wicenv task only for wic images

Richard Purdie richard.purdie at linuxfoundation.org
Mon Mar 21 21:11:41 UTC 2016


On Mon, 2016-03-21 at 18:36 +0200, Ed Bartosh wrote:
> Currently do_wicenv task is run for all images. However, its
> result is used only to produce wic image. It's better to
> run this task only for wic images. If another rootfs is
> required to produce wic image, dependency to its do_wicenv
> must be added to the wic image recipy.
> 
> Stopped running do_wicenv for all images. Added explicit
> dependency to this task in wic-image-minimal recipe.
> 
> [YOCTO #9095]
> 
> Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
> ---
>  meta-selftest/recipes-test/images/wic-image-minimal.bb | 2 +-
>  meta/classes/image.bbclass                             | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/meta-selftest/recipes-test/images/wic-image-minimal.bb
> b/meta-selftest/recipes-test/images/wic-image-minimal.bb
> index 9c50ddb..e98f60f 100644
> --- a/meta-selftest/recipes-test/images/wic-image-minimal.bb
> +++ b/meta-selftest/recipes-test/images/wic-image-minimal.bb
> @@ -11,7 +11,7 @@ DEPENDS = "syslinux syslinux-native parted-native
> dosfstools-native mtools-nativ
>  
>  # core-image-minimal is referenced in .wks, so we need its rootfs
>  # to be ready before our rootfs
> -do_rootfs[depends] += "core-image-minimal:do_rootfs_wicenv"
> +do_rootfs[depends] += "core-image-minimal:do_rootfs core-image
> -minimal:do_rootfs_wicenv"
>  
>  IMAGE_ROOTFS_EXTRA_SPACE = "2000"
>  
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 3ab432e..63a0fb6 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -275,7 +275,7 @@ python do_rootfs_wicenv () {
>              if value:
>                  envf.write('%s="%s"\n' % (var, value.strip()))
>  }
> -addtask do_rootfs_wicenv after do_image before do_image_wic
> do_image_complete
> +addtask do_rootfs_wicenv after do_rootfs before do_image_wic
>  do_rootfs_wicenv[vardeps] += "${WICVARS}"
>  do_rootfs_wicenv[prefuncs] = 'set_image_size'
>  
I think I tried do_rootfs here originally and there was a race of some
sort so this needs to be do_image. You can check the commit logs for
the exact reason (prelink can cause the image size to change during
do_image and we need the image size?).

Cheers,

Richard



More information about the Openembedded-core mailing list