diff options
author | Alejandro Enedino Hernandez Samaniego <alejandro.enedino.hernandez-samaniego@xilinx.com> | 2018-07-25 09:05:51 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-08-01 10:06:46 +0100 |
commit | f71bfe833c657244d2fd07b3b71e86081d7d1c04 (patch) | |
tree | b3c8067ca18315fad64f29332471ea440daee881 /meta/classes | |
parent | 51a09ba2729a840a9f2f87b68c7f50a3e6ac0d04 (diff) | |
download | openembedded-core-f71bfe833c657244d2fd07b3b71e86081d7d1c04.tar.gz openembedded-core-f71bfe833c657244d2fd07b3b71e86081d7d1c04.tar.bz2 openembedded-core-f71bfe833c657244d2fd07b3b71e86081d7d1c04.zip |
multiconfig: Enable multiconfig dependencies on oe-core
This patch enables multiconfig dependencies (mcdepends) to be used on
recipes using the following format:
task[mcdepends] = "multiconfig:FROM-MC:TO-MC:PN:task-to-depend-on"
For the sake of simplicity consider the following example:
Assuming we have set up multiconfig builds, one for qemux86 and one for
qemuarm, named x86 and arm respectively.
Adding the following line to an image recipe (core-image-sato):
do_image[mcdepends] = "multiconfig:x86:arm:core-image-minimal:do_rootfs"
Would state that core-image-sato:do_image from x86 will depend on
core-image-minimal:do_rootfs from arm so it can be executed.
This patch makes modifications to bitbake.conf to enable mcdepends, and
to sstatesig and staging.bbclass to avoid conflicts between packages from
different multiconfigs.
[YOCTO #10681]
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/staging.bbclass | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index 41df883495..27b012ecbd 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -256,7 +256,7 @@ python extend_recipe_sysroot() { workdir = d.getVar("WORKDIR") #bb.warn(str(taskdepdata)) pn = d.getVar("PN") - + mc = d.getVar("BB_CURRENT_MC") stagingdir = d.getVar("STAGING_DIR") sharedmanifests = d.getVar("COMPONENTS_DIR") + "/manifests" recipesysroot = d.getVar("RECIPE_SYSROOT") @@ -443,7 +443,13 @@ python extend_recipe_sysroot() { msg_exists = [] msg_adding = [] + for dep in configuredeps: + if mc != 'default': + # We should not care about other multiconfigs + depmc = dep.split(':')[1] + if depmc != mc: + continue c = setscenedeps[dep][0] if c not in installed: continue |