[PATCH v3 00/10] bitbake-setup PyPI Packaging
Rob Woolley <[email protected]> Tue, 16 Jun 2026 14:31:20 -0700
| Newsgroups | org.openembedded.lists.bitbake-devel |
|---|---|
| Message-ID | <[email protected]> |
This is an update to the previous series to rebase on master. It is also available at: https://github.com/robwoolley/bitbake/tree/add-pypi-v7 This is a work-in-progress and I am sharing it so others can try it out. Not included in this series is the work I started to vendorize bundled third-party libraries with the vendoring module. This was recommended by Ross: https://lists.openembedded.org/g/bitbake-devel/message/19419 I will send an updated series again when I have resolved issues related to upgrading the vendorized modules. Here are the steps of the test procedure I used before sending this series: ``` python3 -m venv venv source venv/bin/activate pip install build BB_SKIP_PYPI_TESTS=no bin/bitbake-selftest -v bb.tests.setup.PyPIPackagingTest contrib/pypi/package-bitbake-setup.py -v cd packaging_workspace/ pip install -e . which bitbake-setup bitbake-setup --version bitbake-setup list pip uninstall bitbake-setup python3 -m build pip install dist/bitbake_setup-2.19.0-py3-none-any.whl which bitbake-setup bitbake-setup --version cd $(mktemp -d) bitbake-setup init . /tmp/tmp.cHLz5edo1w/bitbake-builds/oe-nodistro-master/build/init-build-env which bitbake cd /tmp/tmp.cHLz5edo1w/bitbake-builds/oe-nodistro-master/layers/bitbake git remote add bitbake-setup-pypi /ala-lpggp31/rwoolley/bitbake-setup/bitbake git remote update bitbake-setup-pypi git checkout --track bitbake-setup-pypi/add-pypi-v7 cd $BUILDDIR bitbake quilt-native bitbake core-image-minimal bitbake-selftest ``` Signed-off-by: Rob Woolley <[email protected]> --- Rob Woolley (10): bitbake-setup: Resolve unused loop control variables bitbake-setup: Fix ambiguous variable names bitbake-setup: Add checks for version information bitbake-setup: Add version option bitbake-setup: Add version check and catch exceptions bitbake: Add checks for importing bb module pypi: Add PyPI packaging for bitbake-setup pypi: Add packaging documentation for developers gitignore: Ignore temporary staging directory lib: Vendorize bundled third-party libraries under bb._vendor .gitignore | 1 + bin/bitbake | 24 +- bin/bitbake-selftest | 2 + bin/bitbake-setup | 77 +++++-- contrib/pypi/BUILD.md | 50 ++++ contrib/pypi/LICENSE | 9 + contrib/pypi/README.md | 42 ++++ contrib/pypi/package-bitbake-setup.py | 79 +++++++ contrib/pypi/pyproject.toml | 92 ++++++++ lib/bb/_vendor/__init__.py | 18 ++ lib/{ => bb/_vendor}/bs4/AUTHORS | 0 lib/{ => bb/_vendor}/bs4/CHANGELOG | 0 lib/{ => bb/_vendor}/bs4/LICENSE | 0 lib/{ => bb/_vendor}/bs4/__init__.py | 0 lib/{ => bb/_vendor}/bs4/builder/__init__.py | 2 +- lib/{ => bb/_vendor}/bs4/builder/_html5lib.py | 12 +- lib/{ => bb/_vendor}/bs4/builder/_htmlparser.py | 6 +- lib/{ => bb/_vendor}/bs4/builder/_lxml.py | 6 +- lib/{ => bb/_vendor}/bs4/css.py | 2 +- lib/{ => bb/_vendor}/bs4/dammit.py | 0 lib/{ => bb/_vendor}/bs4/diagnose.py | 9 +- lib/{ => bb/_vendor}/bs4/element.py | 6 +- lib/{ => bb/_vendor}/bs4/formatter.py | 2 +- lib/{ => bb/_vendor}/ply/__init__.py | 0 lib/{ => bb/_vendor}/ply/lex.py | 0 lib/{ => bb/_vendor}/ply/yacc.py | 6 +- lib/{ => bb/_vendor}/progressbar/LICENSE.txt | 0 lib/{ => bb/_vendor}/progressbar/__init__.py | 0 lib/{ => bb/_vendor}/progressbar/compat.py | 0 lib/{ => bb/_vendor}/progressbar/progressbar.py | 0 lib/{ => bb/_vendor}/progressbar/widgets.py | 0 lib/{ => bb/_vendor}/simplediff/LICENSE | 0 lib/{ => bb/_vendor}/simplediff/__init__.py | 0 lib/bb/fetch2/wget.py | 4 +- lib/bb/pysh/pyshlex.py | 2 +- lib/bb/pysh/pyshyacc.py | 2 +- lib/bb/siggen.py | 2 +- lib/bb/tests/setup.py | 289 +++++++++++++++++++++++- lib/bb/ui/knotty.py | 2 +- lib/toaster/tests/views/test_views.py | 2 +- 40 files changed, 679 insertions(+), 69 deletions(-) --- base-commit: 7e6466f48191c1e4ab9b91705deb237eff2c7f01 change-id: 20260616-add-pypi-v7-03e00d4d09b6 Best regards, -- Rob Woolley <[email protected]>