From 048c901fc32a1fd9a6c4b6f68f618101dfdf94ad Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Fri, 29 Apr 2016 19:46:09 +0200 Subject: linux-yocto-rt, core-image-rt*: Explicitly skip when PREFERRED_PROVIDER_virtual/kernel isn't set to linux-yocto-rt * just like linux-yocto-dev is doing * fixes following errors in world builds: ERROR: Nothing PROVIDES 'linux-yocto-rt' (but /home/jenkins/oe/world/shr-core/openembedded-core/meta/recipes-rt/images/core-image-rt-sdk.bb DEPENDS on or otherwise requires it) ERROR: linux-yocto-rt was skipped: PREFERRED_PROVIDER_virtual/kernel set to linux-yocto, not linux-yocto-rt ERROR: linux-yocto-rt was skipped: PREFERRED_PROVIDER_virtual/kernel set to linux-yocto, not linux-yocto-rt ERROR: Required build target 'core-image-rt-sdk' has no buildable providers. Missing or unbuildable dependency chain was: ['core-image-rt-sdk', 'linux-yocto-rt'] ERROR: Nothing PROVIDES 'linux-yocto-rt' (but /home/jenkins/oe/world/shr-core/openembedded-core/meta/recipes-rt/images/core-image-rt.bb DEPENDS on or otherwise requires it) ERROR: linux-yocto-rt was skipped: PREFERRED_PROVIDER_virtual/kernel set to linux-yocto, not linux-yocto-rt ERROR: linux-yocto-rt was skipped: PREFERRED_PROVIDER_virtual/kernel set to linux-yocto, not linux-yocto-rt ERROR: Required build target 'core-image-rt' has no buildable providers. Missing or unbuildable dependency chain was: ['core-image-rt', 'linux-yocto-rt'] Signed-off-by: Martin Jansa Signed-off-by: Ross Burton --- meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb | 9 +++++++++ meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb | 9 +++++++++ meta/recipes-rt/images/core-image-rt-sdk.bb | 8 ++++++++ meta/recipes-rt/images/core-image-rt.bb | 8 ++++++++ 4 files changed, 34 insertions(+) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb index e6bbee81f4..090f8f3310 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.1.bb @@ -2,6 +2,15 @@ KBRANCH ?= "standard/preempt-rt/base" require recipes-kernel/linux/linux-yocto.inc +# Skip processing of this recipe if it is not explicitly specified as the +# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying +# to build multiple virtual/kernel providers, e.g. as dependency of +# core-image-rt-sdk, core-image-rt. +python () { + if d.getVar("PREFERRED_PROVIDER_virtual/kernel", True) != "linux-yocto-rt": + raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") +} + SRCREV_machine ?= "51cca91a1f74dab225598282019f0d694abdc4a0" SRCREV_meta ?= "2bdebd11f1a0bc00071ec1467289a7feb5418dde" diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb index feef29f0f9..005c08893e 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_4.4.bb @@ -2,6 +2,15 @@ KBRANCH ?= "standard/preempt-rt" require recipes-kernel/linux/linux-yocto.inc +# Skip processing of this recipe if it is not explicitly specified as the +# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying +# to build multiple virtual/kernel providers, e.g. as dependency of +# core-image-rt-sdk, core-image-rt. +python () { + if d.getVar("PREFERRED_PROVIDER_virtual/kernel", True) != "linux-yocto-rt": + raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") +} + SRCREV_machine ?= "7ef3fe56827bd9c20021e3a52bc36ebd4c6b2ce3" SRCREV_meta ?= "d6ee402d461048cf1afd10375fee5769c06d21d6" diff --git a/meta/recipes-rt/images/core-image-rt-sdk.bb b/meta/recipes-rt/images/core-image-rt-sdk.bb index db7d581832..7ddf671bca 100644 --- a/meta/recipes-rt/images/core-image-rt-sdk.bb +++ b/meta/recipes-rt/images/core-image-rt-sdk.bb @@ -1,5 +1,13 @@ require recipes-core/images/core-image-minimal.bb +# Skip processing of this recipe if linux-yocto-rt is not explicitly specified as the +# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying +# to build multiple virtual/kernel providers. +python () { + if d.getVar("PREFERRED_PROVIDER_virtual/kernel", True) != "linux-yocto-rt": + raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") +} + DESCRIPTION = "Small image capable of booting a device with a test suite and \ tools for real-time use. It includes the full meta-toolchain, development \ headers and libraries to form a standalone SDK." diff --git a/meta/recipes-rt/images/core-image-rt.bb b/meta/recipes-rt/images/core-image-rt.bb index cab6f8b749..9c86f25335 100644 --- a/meta/recipes-rt/images/core-image-rt.bb +++ b/meta/recipes-rt/images/core-image-rt.bb @@ -1,5 +1,13 @@ require recipes-core/images/core-image-minimal.bb +# Skip processing of this recipe if linux-yocto-rt is not explicitly specified as the +# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying +# to build multiple virtual/kernel providers. +python () { + if d.getVar("PREFERRED_PROVIDER_virtual/kernel", True) != "linux-yocto-rt": + raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") +} + DESCRIPTION = "A small image just capable of allowing a device to boot plus a \ real-time test suite and tools appropriate for real-time use." DEPENDS = "linux-yocto-rt" -- cgit 1.2.3-korg