On Fri, 17 Jan 2025 at 15:11, Alexander Kanavin via lists.openembedded.org <[email protected]> wrote: > - tighten the terminology: 'build' and 'configuration' are each used to refer > to > several distinct things, and should be replaced by specific, unambiguous terms
So here's the hopefully sensible :) proposal. Note that each section below cross-references definitions in other sections, so the full picture will not form until the end :) - 'top directory' means the place under which bitbake-setup reads and writes everything. It makes a promise to not touch anything outside of that, unless otherwise directed to by entries in settings (currently there is one such setting for fetcher downloads for layers and config registries). Top directory can be selected by a command line option, or otherwise assumed to be ~/bitbake-builds/ - 'settings' means bitbake-setup operational parameters that are global to all builds under a top directory. E.g. the location of configuration registry, or where the bitbake fetcher should place the downloads (DL_DIR setting). Settings are stored in a .conf file in ini format just under the top directory. - ' build' means a tree structure set up by 'bitbake-setup init', consisting of, at least, a layers checkout, and a set of bitbake builds. It maps 1:1 to the json data it was constructed from, which is called 'configuration'. Configuration files are either standalone files, or are obtained from git repositories called 'config registries', in which case they can be listed with 'bitbake-setup list'. There can be multiple 'builds' under a top directory. Here's an example configuration that showcases this: https://github.com/kanavin/bitbake-setup-configurations/blob/main/poky-alex.conf.json - 'bitbake-setup status' will tell if a configuration is in sync with the build. 'bitbake-setup update' will bring them in sync if needed. - 'bitbake build' means a particular sub-tree inside a build that bitbake itself operates on, e.g. what is specified in BBPATH/BUILDDIR by oe-init-build-env. conf/* in that tree is 'bitbake configuration'. Bitbake configurations are constructed from templates and fragments, with existing mechanisms provided by oe-core. I structured the configuration file format such that other mechanisms to set up a bitbake build can be added; there was a mention of ability to specify local.conf content and a set of layers directly in a configuration. I think that scales poorly compared to templates and fragments, but I made sure alternative ways to configure a bitbake build are possible to specify in a configuration :) Finally, this is how bitbake-setup already works; I just need to go over the code, and make adjustments to variable/function names and printouts to ensure there's no ambiguity or confusion. Cheers, Alex
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#2098): https://lists.openembedded.org/g/openembedded-architecture/message/2098 Mute This Topic: https://lists.openembedded.org/mt/110775384/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-architecture/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
