[meta-freescale] Fw: [yocto] dynamic-layers?

Takashi Matsuzawa tmatsuzawa at xevo.com
Thu May 25 07:12:57 PDT 2017


Sorry for the cross-post - but is this working as expected with you?

________________________________
From: Takashi Matsuzawa
Sent: Thursday, May 25, 2017 3:26 PM
To: yocto at yoctoproject.org
Cc: Nicolas Dechesne
Subject: Re: [yocto] dynamic-layers?


Hello.


I further did some debugging and BBFOLE_COLLECTION when used in the following 'for' expansion contains only subset of what is avilable finally in BBFILE_COLLECTION (as appears in '-e' log).


>BBFILES += "${@'  '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bbappend' % layer \
>               for layer in BBFILE_COLLECTIONS.split())}"

I am confused if this is a normal behavior.

________________________________
From: Takashi Matsuzawa
Sent: Thursday, May 25, 2017 10:03 AM
To: Nicolas Dechesne
Cc: yocto at yoctoproject.org
Subject: Re: [yocto] dynamic-layers?


Hello.

>e.g. if you have meta-qt5 in BBLAYERS in <build>/conf/bblayers.conf, then the recipes from "dynamic-layers/qt5-layer" are used as well.

Thanks now I can see how it is expected to work.
My issue here now is that some dynamyc-layers/<layer> not being added to BBFILES list.

I tried '-e' switch with my build tree and here is what I can see.
I think this is caused by BBFILE_COLLECTIONS evaluation timing? - but I am still looking into to find the cause.

1) .conf files read

I think these are the conf files recognized by the build sytem.
I cansee meta-qt5 there.

#
# INCLUDE HISTORY:
#
# /home/xxx/build-root/build/conf/bblayers.conf
# /home/xxx/build-root/meta-freescale/conf/layer.conf
# /home/xxx/build-root/meta-freescale-3rdparty/conf/layer.conf
# /home/xxx/build-root/meta-freescale-distro/conf/layer.conf
# /home/xxx/build-root/meta-agl/meta-netboot/conf/layer.conf
# /home/xxx/build-root/meta-intel-iot-security/meta-security-smack/conf/layer.conf
# /home/xxx/build-root/meta-intel-iot-security/meta-security-framework/conf/layer.conf
# /home/xxx/build-root/meta-agl/meta-app-framework/conf/layer.conf
# /home/xxx/build-root/meta-qt5/conf/layer.conf
...

2) BBFILE_COLLECTIONS

And I can see 'qt5-layer' is being added to BBFILE_COLLECTIONS, so it 'qt5-layer' folder in every dynamic-layers should be picked into BBFILE list.

BBFILE_COLLECTIONS=" freescale-layer fsl-arm-extra fsl-demos
meta-netboot security-smack security-framework app-framework qt5-layer
agl-demo openembedded-layer multimedia-layer efl-layer
networking-layer meta-python ivi-common agl agl-distro aglbsp core
yocto"

3) BBFILES

But I cannot find it in BBFILES list.
Only the first 4 layers (freescale-layer/fsl-arm-extra/fsl-demos/meta-netboot) in BBFILE_COLLECTIONS are used in wildecard parameter.

BBFILES="/home/xxx/build-root/meta-freescale/recipes-*/*/*.bb
/home/xxx/build-root/meta-freescale/recipes-*/*/*.bbappend
/home/xxx/build-root/meta-freescale/dynamic-layers/freescale-layer/recipes*/*/*.bbappend
/home/xxx/build-root/meta-freescale/dynamic-layers/fsl-arm-extra/recipes*/*/*.bbappend
/home/xxx/build-root/meta-freescale/dynamic-layers/fsl-demos/recipes*/*/*.bbappend
/home/xxx/build-root/meta-freescale/dynamic-layers/meta-netboot/recipes*/*/*.bbappend
/home/xxx/build-root/meta-freescale/dynamic-layers/freescale-layer/recipes*/*/*.bb
/home/xxx/build-root/meta-freescale/dynamic-layers/fsl-arm-extra/recipes*/*/*.bb
/home/xxx/build-root/meta-freescale/dynamic-layers/fsl-demos/recipes*/*/*.bb
/home/xxx/build-root/meta-freescale/dynamic-layers/meta-netboot/recipes*/*/*.bb
/home/xxx/build-root/meta-freescale-3rdparty/recipes-*/*/*.bb
/home/xxx/build-root/meta-freescale-3rdparty/recipes-*/*/*.bbappend
...


________________________________
From: Nicolas Dechesne <nicolas.dechesne at linaro.org>
Sent: Wednesday, May 24, 2017 11:19 PM
To: Takashi Matsuzawa
Cc: yocto at yoctoproject.org
Subject: Re: [yocto] dynamic-layers?

On Wed, May 24, 2017 at 12:30 PM, Takashi Matsuzawa <tmatsuzawa at xevo.com> wrote:
> Hello, Yocto.
> I am a bit confused with dynamic-layers included in some of the recent
> layers in various BSPs.
>
> e.g.
>
> https://github.com/Freescale/meta-freescale/blob/master/conf/layer.conf

>
>># The .bbappend and .bb files are included if the respective layer
>># collection is available.
>>BBFILES += "${@'
>> '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bbappend' % layer \
>>               for layer in BBFILE_COLLECTIONS.split())}"
>>BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' %
>> layer \
>>               for layer in BBFILE_COLLECTIONS.split())}"
>
> In meta-freescale/dynamic-layers, there are browser-layer, efi-layer, etc.
> for conditional inclusion.
> And I think they are included only their names (browser-layer, etc.) are
> BBFILE_COLLECIONS.
>
> Question here is, who will be adding 'browser-layer' to BBFILE_COLLECTIONS
> when I want to include browser-layer in my build.
>
> Is it something to be done in my local.conf or customized distro conf file?

what that means is that recipe from the dynamic-layers/<layer> will be
parsed/added *only if* <layer> is already added in your build
environment. e.g. if you have meta-qt5 in BBLAYERS in
<build>/conf/bblayers.conf, then the recipes from
"dynamic-layers/qt5-layer" are used as well.

This is mostly to allow a BSP layer to be used with as many
combinations of layers as possible.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-freescale/attachments/20170525/83cd456e/attachment.html>


More information about the meta-freescale mailing list