> -----Original Message-----
> From: [email protected] <openembedded-
> [email protected]> On Behalf Of Alexander Kanavin via
> lists.openembedded.org
> Sent: den 5 februari 2025 13:05
> To: openembedded-architecture <openembedded-
> [email protected]>
> Subject: [Openembedded-architecture] layer layout: poky vs individual repo 
> checkouts
> 
> Hello all,
> 
> I'm putting together a plan for taking bitbake-setup into
> 'production', and there is one particular issue I want to discuss in
> detail, specifically the layer list in the default poky template:
> 
> https://git.yoctoproject.org/meta-yocto/tree/meta-poky/conf/templates/default/bblayers.conf.sample
> 
> BBLAYERS ?= " \
>   ##OEROOT##/meta \
>   ##OEROOT##/meta-poky \
>   ##OEROOT##/meta-yocto-bsp \
>   "
> This assumes that the template is used with the 'integrated' poky
> checkout, where content of meta-yocto is 'overlaid' on content of
> openembedded-core, and the layers are all in the same top level poky
> repository directory.
> 
> This doesn't work when oe-core and meta-yocto are cloned separately,
> where it would have to be like this assuming the separate repo clones
> are in the same top level directory:
> 
> BBLAYERS ?= " \
>   ##OEROOT##/meta \
>   ##OEROOT##/../meta-yocto/meta-poky \
>   ##OEROOT##/../meta-yocto/meta-yocto-bsp \
>   "
> 
> I've put together a 'next generation' poky config for bitbake-setup,
> where the components that poky is made of are cloned separately. It
> has to use the default oe-core template because the poky one wouldn't
> work as shown above due to the layer locations:
> https://github.com/kanavin/bitbake-setup-configurations/blob/main/poky-
> ng.conf.json
> 
> So here are the possible options to handle this:
> 
> 1. Declare that meta-yocto is not meant to be cloned and used
> separately at all, and if one wants poky, one must clone the
> integrated poky repo.
> 
> 2. Add a custom tweak to bblayers.conf when it makes its way from
> meta-yocto into poky that would strip the ../meta-yocto/ part in
> BBLAYERS.
> 
> Maybe you have other ideas? I can't think of anything else that is not
> brittle or extremely disruptive or confusing.
> 
> Thanks,
> Alex

One way you could solve it would be to add support for bitbake-setup 
to create symbolic links into the repositories it fetches. E.g., 
while fetching meta-yocto it would also be instructed to create the 
meta-poky -> meta-yocto/meta-poky link. Then the current 
bblayers.conf.sample file would continue to work as is.

We use the above solution in our repo manifests, where we fetch the 
individual repositories into sub-directories, and then repo creates 
links at the top level to the actual layer directories so that the 
final layout of the top directory resembles poky. E.g., here is the 
layout from one of my build trees (where we use the poky repository 
as basis, but it could just as well have been its individual 
repositories):

.templateconf
bitbake -> poky/bitbake
meta -> poky/meta
meta-filesystems -> openembedded/meta-filesystems
meta-multimedia -> openembedded/meta-multimedia
meta-networking -> openembedded/meta-networking
meta-oe -> openembedded/meta-oe
meta-poky -> poky/meta-poky
meta-python -> openembedded/meta-python
meta-webserver -> openembedded/meta-webserver
oe-init-build-env -> poky/oe-init-build-env
openembedded
poky
scripts -> poky/scripts

In this case, "poky" and "openembedded" are the actual repositories 
that repo fetched, and then it created the symbolic links into them.

//Peter

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#2128): 
https://lists.openembedded.org/g/openembedded-architecture/message/2128
Mute This Topic: https://lists.openembedded.org/mt/111010762/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-architecture/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to