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

  • [Openembedded-architecture] T... Alexander Kanavin via lists.openembedded.org

Reply via email to