[OE-core] [PATCH] populate_sdk_base/image: Fix races for variable mappings
Mark Hatle
mark.hatle at windriver.com
Tue Mar 5 01:52:19 UTC 2013
On 3/4/13 11:43 AM, Richard Purdie wrote:
> When using the -c populate_sdk option, images are not generated quite as
> they should be under certain circumstances. For example the dropbear
> feature may not get replaced with openssh, leading to both being installed
> with an appropriate rootfs failure.
>
> This patch moves the remapping logic to later points in the code, ensuring
> there is no conflict. The result is slightly simpler too as an added bonus.
>
> [YOCTO #3749]
Just an FYI, I verified this corrects the reported issue with the
core-image-sato-sdk as indicated in the defect.
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
> ---
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 19564d8..68bd342 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -117,6 +117,10 @@ python () {
>
> d.setVar('IMAGE_FEATURES', ' '.join(list(remain_features)))
>
> + if d.getVar('BB_WORKERCONTEXT', True) is not None:
> + runtime_mapping_rename("PACKAGE_INSTALL", d)
> + runtime_mapping_rename("PACKAGE_INSTALL_ATTEMPTONLY", d)
> +
> # Ensure we have the vendor list for complementary package handling
> ml_vendor_list = ""
> multilibs = d.getVar('MULTILIBS', True) or ""
> @@ -129,19 +133,6 @@ python () {
> d.setVar('MULTILIB_VENDORS', ml_vendor_list)
> }
>
> -python image_handler () {
> - if not isinstance(e, bb.event.RecipeParsed):
> - return
> -
> - # If we don't do this we try and run the mapping hooks while parsing which is slow
> - # bitbake should really provide something to let us know this...
> - if e.data.getVar('BB_WORKERCONTEXT', True) is not None:
> - runtime_mapping_rename("PACKAGE_INSTALL", e.data)
> - runtime_mapping_rename("PACKAGE_INSTALL_ATTEMPTONLY", e.data)
> -
> -}
> -addhandler image_handler
> -
> #
> # Get a list of files containing device tables to create.
> # * IMAGE_DEVICE_TABLE is the old name to an absolute path to a device table file
> diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
> index 88de1e4..7af2d2e 100644
> --- a/meta/classes/populate_sdk_base.bbclass
> +++ b/meta/classes/populate_sdk_base.bbclass
> @@ -29,14 +29,9 @@ EXCLUDE_FROM_WORLD = "1"
>
> SDK_PACKAGING_FUNC ?= "create_shar"
>
> -python () {
> - # If we don't do this we try and run the mapping hooks while parsing which is slow
> - # bitbake should really provide something to let us know this...
> - if bb.data.getVar('BB_WORKERCONTEXT', d, True) is not None:
> - runtime_mapping_rename("TOOLCHAIN_TARGET_TASK", d)
> -}
> -
> fakeroot python do_populate_sdk() {
> + runtime_mapping_rename("TOOLCHAIN_TARGET_TASK", d)
> +
> bb.build.exec_func("populate_sdk_image", d)
>
> # Handle multilibs in the SDK environment, siteconfig, etc files...
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
More information about the Openembedded-core
mailing list