[PATCH v5 3/9] pypi: Add packaging documentation for developers
Rob Woolley <[email protected]> Wed, 8 Jul 2026 19:03:35 -0700
| Newsgroups | org.openembedded.lists.bitbake-devel |
|---|---|
| Message-ID | <[email protected]> |
Signed-off-by: Rob Woolley <[email protected]> --- packaging-pypi/bitbake-setup/BUILD.md | 67 +++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/packaging-pypi/bitbake-setup/BUILD.md b/packaging-pypi/bitbake-setup/BUILD.md new file mode 100644 index 000000000..adb8d1839 --- /dev/null +++ b/packaging-pypi/bitbake-setup/BUILD.md @@ -0,0 +1,67 @@ +# Development Instructions + +## Requirements + +- Python >= 3.9 +- pip >= 19 (for installation) + +## Testing + +To lint the `bitbake-setup` pypi packaging, run the ruff tool. +```bash +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 +```bash +BB_SKIP_PYPI_TESTS=no bin/bitbake-selftest -v bb.tests.setup.PyPIPackagingTest +``` + +## Packaging + +### Create the development sandbox + +To create the development sandbox run: +```bash +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. + +```bash +python3 -m pip install vendoring +vendoring sync . +``` + +### Building the package + +To install the development tools manually run: +```bash +python3 -m pip install -e '.[dev]' +``` + +To build a wheel (.whl) then use: +```bash +python3 -m build +``` + +This produces a wheel (.whl) file in the dist directory. This may be installed using pip. + +### Installing the package + +```bash +python3 -m pip install dist/bitbake_setup-*-py3-none-any.whl +``` -- 2.49.0