> -----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]] -=-=-=-=-=-=-=-=-=-=-=-
