Skip to main content

bbclient provides utility commands for bitbake.

Project description

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.

# 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.

# 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bbclient-0.8.0.tar.gz (29.8 kB view hashes)

Uploaded Source

Built Distribution

bbclient-0.8.0-py3-none-any.whl (47.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page