https://github.com/angrymane/bbclient
provides utility commands for bitbake
https://github.com/angrymane/bbclient
bitbake yocto
Last synced: 11 months ago
JSON representation
provides utility commands for bitbake
- Host: GitHub
- URL: https://github.com/angrymane/bbclient
- Owner: AngryMane
- License: mit
- Created: 2022-07-22T05:08:38.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-09T03:09:12.000Z (over 2 years ago)
- Last Synced: 2025-03-15T20:33:27.228Z (11 months ago)
- Topics: bitbake, yocto
- Language: Python
- Homepage:
- Size: 3.18 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BBClient
BBClient provides command interface for bitbake server.
The typical use case is as follows. You can do it via shell or python easily.
* Get recipe variable value
* Get layer info
* Get image recipes
* Get all the packages
* Start a task of packages
For example, see below.
*Please note that before using bbclient in shell, you have to initialize env by oe-init-build-env*.
```bash
# Please note that before using bbclient in shell, you have to initialize env by oe-init-build-env.
$ source oe-init-build-env
$ bbclient find_best_provider gcc
[null, null, null, "/PATH/TO/POKY/meta/recipes-devtools/gcc/gcc_12.1.bb"]
```
You can do the same with python.
```python
# get recipe file path for specified package
ret: List[str] = client.find_best_provider("gcc")
target_recipe_file_path: str = ret[3]
# parse the recipe file
data_store_index: int = client.parse_recipe_file(target_recipe_file_path)
# get variable in the recipe file
ret: Any = client.data_store_connector_cmd(data_store_index, "getVar", "PN")
```
## System Requirements
* python: 3.7 or later
* yocto: dunfell or kirkstone or main
Please note that this command(and also bitbake) doesn't support dunfell with python3.10.
This is because `collections.Iterable` has not been removed, so dunfell with python3.10 will cause exception.
## Installation
```
pip3 install bbclient
```
## Document
> **Note**
> For using with shell, we have not documented yet. Please see `$bbclient --help`.
* [specification](https://angrymane.github.io/bbclient/bbclient.html)
* [use case](https://angrymane.github.io/bbclient/usecase.html)