[OE-core] [PATCH v4 7/7] image_types_wic: schedule prepare_wic_build correctly

Wold, Saul saul.wold at intel.com
Fri May 19 22:55:46 UTC 2017


On Wed, 2017-05-17 at 13:47 +0000, Ed Bartosh wrote:
> Scheduled prepare_wic_build only if wic build enabled.
> Added dependencies to kernel and efi bootloader deploy
> tasks only if EFI is enabled.
> 
> This should fix build failure on machines without
> EFI functionality.
> 
> Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
> ---
>  meta/classes/image_types_wic.bbclass | 27 ++++++++++++++----------
> ---
>  1 file changed, 14 insertions(+), 13 deletions(-)
> 
> diff --git a/meta/classes/image_types_wic.bbclass
> b/meta/classes/image_types_wic.bbclass
> index d8430e49ac..3b73261d5e 100644
> --- a/meta/classes/image_types_wic.bbclass
> +++ b/meta/classes/image_types_wic.bbclass
> @@ -69,6 +69,11 @@ python () {
>                  # file in process_wks_template as well, so just put
> it in
>                  # a variable and let the metadata deal with the
> deps.
>                  d.setVar('_WKS_TEMPLATE', body)
> +
> +        bb.build.addtask('do_prepare_wic_build', 'do_image_wic',
> None, d)
> +        if d.getVar('EFI_CLASS'):
> +            d.appendVarFlag('do_prepare_wic_build', 'depends',
> +                            '%s%s:do_deploy 
> virtual/kernel:do_deploy' % (d.getVar('MLPREFIX'),
> d.getVar('EFI_CLASS')))

Ed, 
Have you tested this with any layers?  I tied recently with meta-
intel and tripped over an issue with the rmc-boot not having an actual
target for the EFI_CLASS to have a deploy task caused a failure.

Sau!

>  }
>  
>  #
> @@ -139,19 +144,15 @@ python do_prepare_wic_build() {
>          with open(wks_file, 'w') as f:
>              f.write(template_body)
>  
> -    if d.getVar('USING_WIC'):
> -        # Generate parition UUID
> -        from uuid import uuid4
> -        partuuid = str(uuid4())
> -        d.setVar("ROOTFS_PARTUUID", partuuid)
> +    # Generate parition UUID
> +    from uuid import uuid4
> +    partuuid = str(uuid4())
> +    d.setVar("ROOTFS_PARTUUID", partuuid)
>  
> -        if d.getVar("EFI_CLASS"):
> -            populate_bootfs(partuuid)
> +    if d.getVar("EFI_CLASS"):
> +        populate_bootfs(partuuid)
>  
> -        template = d.getVar("_WKS_TEMPLATE")
> -        if template:
> -            write_wks_template(template, d.getVar('WKS_FULL_PATH'))
> +    template = d.getVar("_WKS_TEMPLATE")
> +    if template:
> +        write_wks_template(template, d.getVar('WKS_FULL_PATH'))
>  }
> -
> -addtask do_prepare_wic_build before do_image_wic
> -do_prepare_wic_build[depends] =
> "${MLPREFIX}${EFI_PROVIDER}:do_deploy virtual/kernel:do_deploy"
> -- 
> 2.12.0
> 


More information about the Openembedded-core mailing list