conf: fix meta-virt version / config include

As was reported:

https://lists.yoctoproject.org/g/meta-virtualization/message/4173?p=,,,20,0,0,0::Created,,conf%2Flayer.conf+is+broken,20,2,0,61269733

The conditional include of the meta-virt versions and config was not
working properly due to parse time constraints.

This commit fixes that by following the example of the meta-cube layer
and instead using a user bbclass to load the .inc file after
distro/distro features have been resolved by bitbake.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
Bruce Ashfield 2019-12-06 13:51:57 -05:00
parent 8860257250
commit b4dfe90a5e
2 changed files with 12 additions and 1 deletions

View File

@ -0,0 +1,6 @@
# We need to load the meta-virt config components, only if "virtualization"
# is in the distro features. Since we don't know the distro flags during
# layer.conf load time, we delay using a special bbclass that simply includes
# the META_VIRT_CONFIG_PATH file.
include ${META_VIRT_CONFIG_PATH}

View File

@ -40,4 +40,9 @@ PREFERRED_PROVIDER_virtual/docker ?= "docker-ce"
# Setting SKIP_META_VIRT_SANITY_CHECK to "1" would skip the bbappend files check.
INHERIT += "sanity-meta-virt"
require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'meta-virt-default-versions.inc', '', d)}
# We need to load the meta-virt config components, only if "virtualization"
# is in the distro features. Since we don't know the distro flags during
# layer.conf load time, we delay using a special bbclass that simply includes
# the META_VIRT_CONFIG_PATH file.
META_VIRT_CONFIG_PATH = "${LAYERDIR}/conf/distro/include/meta-virt-default-versions.inc"
USER_CLASSES_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'meta-virt-cfg', '', d)}"