xref: /openbmc/openbmc/poky/bitbake/README (revision 39653566)
1Bitbake
2=======
3
4BitBake is a generic task execution engine that allows shell and Python tasks to be run
5efficiently and in parallel while working within complex inter-task dependency constraints.
6One of BitBake's main users, OpenEmbedded, takes this core and builds embedded Linux software
7stacks using a task-oriented approach.
8
9For information about Bitbake, see the OpenEmbedded website:
10    https://www.openembedded.org/
11
12Bitbake plain documentation can be found under the doc directory or its integrated
13html version at the Yocto Project website:
14    https://docs.yoctoproject.org
15
16Bitbake requires Python version 3.8 or newer.
17
18Contributing
19------------
20
21Please refer to our contributor guide here: https://docs.yoctoproject.org/contributor-guide/
22for full details on how to submit changes.
23
24As a quick guide, patches should be sent to bitbake-devel@lists.openembedded.org
25The git command to do that would be:
26
27    git send-email -M -1 --to bitbake-devel@lists.openembedded.org
28
29If you're sending a patch related to the BitBake manual, make sure you copy
30the Yocto Project documentation mailing list:
31
32    git send-email -M -1 --to bitbake-devel@lists.openembedded.org --cc docs@lists.yoctoproject.org
33
34Mailing list:
35
36    https://lists.openembedded.org/g/bitbake-devel
37
38Source code:
39
40    https://git.openembedded.org/bitbake/
41
42Testing
43-------
44
45Bitbake has a testsuite located in lib/bb/tests/ whichs aim to try and prevent regressions.
46You can run this with "bitbake-selftest". In particular the fetcher is well covered since
47it has so many corner cases. The datastore has many tests too. Testing with the testsuite is
48recommended before submitting patches, particularly to the fetcher and datastore. We also
49appreciate new test cases and may require them for more obscure issues.
50
51To run the tests "zstd" and "git" must be installed.
52
53The assumption is made that this testsuite is run from an initialized OpenEmbedded build
54environment (i.e. `source oe-init-build-env` is used). If this is not the case, run the
55testsuite as follows:
56
57    export PATH=$(pwd)/bin:$PATH
58    bin/bitbake-selftest
59
60The testsuite can alternatively be executed using pytest, e.g. obtained from PyPI (in this
61case, the PATH is configured automatically):
62
63    pytest
64