| Bitbake | |
| ======= | |
| BitBake is a generic task execution engine that allows shell and Python tasks to be run | |
| efficiently and in parallel while working within complex inter-task dependency constraints. | |
| One of BitBake's main users, OpenEmbedded, takes this core and builds embedded Linux software | |
| stacks using a task-oriented approach. | |
| For information about Bitbake, see the OpenEmbedded website: | |
| https://www.openembedded.org/ | |
| Bitbake plain documentation can be found under the doc directory or its integrated | |
| html version at the Yocto Project website: | |
| https://docs.yoctoproject.org | |
| Bitbake requires Python version 3.9 or newer. | |
| Contributing | |
| ------------ | |
| Please refer to our contributor guide here: https://docs.yoctoproject.org/contributor-guide/ | |
| for full details on how to submit changes. | |
| As a quick guide, patches should be sent to bitbake-devel@lists.openembedded.org | |
| The git command to do that would be: | |
| git send-email -M -1 --to bitbake-devel@lists.openembedded.org | |
| If you're sending a patch related to the BitBake manual, make sure you copy | |
| the Yocto Project documentation mailing list: | |
| git send-email -M -1 --to bitbake-devel@lists.openembedded.org --cc docs@lists.yoctoproject.org | |
| Mailing list: | |
| https://lists.openembedded.org/g/bitbake-devel | |
| Source code: | |
| https://git.openembedded.org/bitbake/ | |
| Testing | |
| ------- | |
| Bitbake has a testsuite located in lib/bb/tests/ whichs aim to try and prevent regressions. | |
| You can run this with "bitbake-selftest". In particular the fetcher is well covered since | |
| it has so many corner cases. The datastore has many tests too. Testing with the testsuite is | |
| recommended before submitting patches, particularly to the fetcher and datastore. We also | |
| appreciate new test cases and may require them for more obscure issues. | |
| To run the tests "zstd" and "git" must be installed. | |
| The assumption is made that this testsuite is run from an initialized OpenEmbedded build | |
| environment (i.e. `source oe-init-build-env` is used). If this is not the case, run the | |
| testsuite as follows: | |
| export PATH=$(pwd)/bin:$PATH | |
| bin/bitbake-selftest | |
| The testsuite can alternatively be executed using pytest, e.g. obtained from PyPI (in this | |
| case, the PATH is configured automatically): | |
| pytest |