Development Instructions

Requirements

  • Python >= 3.9
  • pip >= 19 (for installation)

Testing

To lint the bitbake-setup pypi packaging, run the ruff tool.

ruff check bin/bitbake-setup packaging-pypi/bitbake-setup

The steps to build and test the bitbake-setup pypi packaging have been automated with the bitbake-selftest tool. This tool automatically creates a Python virtual environment for you.

Run the bitbake-selftest

BB_SKIP_PYPI_TESTS=no bin/bitbake-selftest -v bb.tests.setup.PyPIPackagingTest

Packaging

Create the development sandbox

To create the development sandbox run:

packaging-pypi/bitbake-setup/package-bitbake-setup.py
cd packaging-workspace

Updating the vendored modules

You may use the Python vendoring module to update the vendored modules. Its configuration can be found in the pyproject.toml under the tool.vendoring section.

This information includes:

  • the destination directory where the vendored modules are stored (e.g. lib/bb/_vendor)
  • the module names and versions to vendor are found in the requirements file vendor.txt
  • the namespace to place the modules in (eg. bb._vendor)
  • the patches to apply to the pristine source code (eg. vendor/patches)

To run the tool you may install it from pypi and run it from the top-level directory.

python3 -m pip install vendoring
vendoring sync .

Building the package

To install the development tools manually run:

python3 -m pip install -e '.[dev]'

To build a wheel (.whl) then use:

python3 -m build

This produces a wheel (.whl) file in the dist directory. This may be installed using pip.

Installing the package

python3 -m pip install dist/bitbake_setup-*-py3-none-any.whl