[OE-core] [PATCH 2/2 [RFC]] image.bbclass: Unconditional includes of populate_sdk_ext fails
Paul Eggleton
paul.eggleton at linux.intel.com
Tue Jan 12 02:54:10 UTC 2016
On Mon, 11 Jan 2016 15:12:05 Mark Hatle wrote:
> populate_sdk_ext requires uninative support, which is only available on
> glibc based SDKMACHINES. For instance, when using mingw32 a dependency
> error will occur:
>
> NOTE: Runtime target 'nativesdk-glibc' is unbuildable, removing...
> ERROR: Required build target 'core-image-minimal' has no buildable
> providers. Missing or unbuildable dependency chain was:
> ['core-image-minimal', 'uninative-tarball', 'nativesdk-glibc']
>
> This is dues to populate_sdk_ext.bbclass having:
> do_populate_sdk_ext[depends] += "buildtools-tarball:do_populate_sdk
> uninative-tarball:do_populate_sdk" addtask populate_sdk_ext
>
> Since bitbake can't determine for dependency resolution if the task is going
> to be run yet, it blows up and says it simply can't be resolved.
>
> Workaround this problem by making the inherit conditional on the SDK_OS
> containing 'linux'.
>
> Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
> ---
> meta/classes/image.bbclass | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index e3769b4..d37995a 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -1,6 +1,9 @@
> inherit rootfs_${IMAGE_PKGTYPE}
>
> -inherit populate_sdk_ext
> +# Only Linux SDKs support populate_sdk_ext, fall back to populate_sdk
> +# in the non-Linux SDK_OS case, such as mingw32
> +SDKEXTCLASS ?= "${@['populate_sdk', 'populate_sdk_ext']['linux' in
> d.getVar("SDK_OS", True)]}" +inherit ${SDKEXTCLASS}
>
> TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}"
> TOOLCHAIN_TARGET_TASK_ATTEMPTONLY += "${PACKAGE_INSTALL_ATTEMPTONLY}"
Looks OK to me, FWIW.
Acked-by: Paul Eggleton <paul.eggleton at linux.intel.com>
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
More information about the Openembedded-core
mailing list