mbox series

[v3,00/10] bitbake-setup PyPI Packaging

Message ID 20260616-add-pypi-v7-v3-0-fe224e3ba878@windriver.com
Headers show
Series bitbake-setup PyPI Packaging | expand

Message

Rob Woolley June 16, 2026, 9:31 p.m. UTC
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 <rob.woolley@windriver.com>
---
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 <rob.woolley@windriver.com>