mbox series

[v4,00/11] bitbake-setup PyPI Packaging

Message ID 20260624-add-pypi-v8-v4-0-ff499f1fd5a5@windriver.com
Headers show
Series bitbake-setup PyPI Packaging | expand

Message

Rob Woolley June 24, 2026, 5:20 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/b4/add-pypi-v8

This version of the series integrates the vendoring module to update
beautifulsoup4, ply, progressbar, simplediff, and typing_extensions.

I also included Richard's latest commit to add version variables to the
bitbake scripts and dropped the mechanism that I proposed.

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/b4/add-pypi-v8

cd $BUILDDIR

bitbake quilt-native

bitbake core-image-minimal

bitbake-selftest
```

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
---
Richard Purdie (1):
      bin/*: Add/improve __version__ processing

Rob Woolley (10):
      bitbake-setup: Add version option
      pypi: Add PyPI packaging for bitbake-setup
      pypi: Add packaging documentation for developers
      gitignore: Ignore temporary staging directory
      Add pyproject.toml and vendor.txt for vendoring
      Add vendor patches
      Update vendorized modules
      vendor.txt: Add typing_extensions for bs4
      Update typing_extensions with vendoring
      bitbake-setup: Add exception for E402 for bb.__version__

 .gitignore                                         |    1 +
 bin/bitbake                                        |    2 +-
 bin/bitbake-diffsigs                               |    7 +
 bin/bitbake-getvar                                 |    6 +
 bin/bitbake-hashclient                             |    8 +
 bin/bitbake-hashserv                               |    7 +-
 bin/bitbake-layers                                 |    6 +
 bin/bitbake-prserv                                 |    8 +-
 bin/bitbake-selftest                               |    7 +
 bin/bitbake-server                                 |    6 +
 bin/bitbake-setup                                  |    7 +
 bin/bitbake-worker                                 |    6 +
 bin/toaster                                        |    2 +
 bin/toaster-eventreplay                            |    7 +
 contrib/pypi/BUILD.md                              |   50 +
 contrib/pypi/LICENSE                               |   23 +
 contrib/pypi/README.md                             |   42 +
 contrib/pypi/package-bitbake-setup.py              |   79 +
 contrib/pypi/pyproject.toml                        |   92 +
 lib/bb/_vendor/__init__.py                         |   18 -
 .../{bs4/LICENSE => beautifulsoup4.LICENSE}        |    0
 lib/bb/_vendor/bs4/AUTHORS                         |   49 -
 lib/bb/_vendor/bs4/CHANGELOG                       | 1839 ---------
 lib/bb/_vendor/bs4/__init__.py                     |  856 ++--
 lib/bb/_vendor/bs4/_deprecation.py                 |   80 +
 lib/bb/_vendor/bs4/_typing.py                      |  205 +
 lib/bb/_vendor/bs4/_warnings.py                    |   98 +
 lib/bb/_vendor/bs4/builder/__init__.py             |  828 ++--
 lib/bb/_vendor/bs4/builder/_html5lib.py            |  592 +--
 lib/bb/_vendor/bs4/builder/_htmlparser.py          |  426 +-
 lib/bb/_vendor/bs4/builder/_lxml.py                |  387 +-
 lib/bb/_vendor/bs4/css.py                          |  268 +-
 lib/bb/_vendor/bs4/dammit.py                       | 1622 +++++---
 lib/bb/_vendor/bs4/diagnose.py                     |  169 +-
 lib/bb/_vendor/bs4/element.py                      | 3494 ++++++++++------
 lib/bb/_vendor/bs4/exceptions.py                   |   28 +
 lib/bb/_vendor/bs4/filter.py                       |  764 ++++
 lib/bb/_vendor/bs4/formatter.py                    |  211 +-
 lib/bb/_vendor/bs4/py.typed                        |    0
 lib/bb/_vendor/ply.pyi                             |    1 +
 lib/bb/_vendor/ply/__init__.py                     |    1 +
 lib/bb/_vendor/ply/cpp.py                          |  918 +++++
 lib/bb/_vendor/ply/ctokens.py                      |  133 +
 lib/bb/_vendor/ply/lex.py                          |  845 ++--
 lib/bb/_vendor/ply/yacc.py                         | 2231 +++++-----
 lib/bb/_vendor/ply/ygen.py                         |   74 +
 lib/bb/_vendor/progressbar.pyi                     |    1 +
 lib/bb/_vendor/progressbar/__init__.py             |    4 +-
 lib/bb/_vendor/progressbar/progressbar.py          |   21 +-
 lib/bb/_vendor/progressbar/widgets.py              |   14 +-
 lib/bb/_vendor/simplediff.pyi                      |    1 +
 lib/bb/_vendor/simplediff/__init__.py              |    2 +-
 lib/bb/_vendor/typing_extensions.LICENSE           |  279 ++
 lib/bb/_vendor/typing_extensions.py                | 4317 ++++++++++++++++++++
 lib/bb/_vendor/typing_extensions.pyi               |    1 +
 lib/bb/main.py                                     |    2 +-
 lib/bb/tests/setup.py                              |  289 +-
 lib/hashserv/__init__.py                           |    2 +
 lib/prserv/__init__.py                             |    2 +-
 pyproject.toml                                     |   19 +
 vendor.txt                                         |    5 +
 vendor/licenses/ply/LICENSE                        |   32 +
 .../bs4-0010-lib-bs4-Avoid-soupsieve-warning.patch |   40 +
 vendor/patches/bs4-remove-double-imports.patch     |   23 +
 ...lib-implement-basic-task-progress-support.patch |  126 +
 ...-initial-pass-of-SPDX-license-headers-to-.patch |   80 +
 ...gressbar-accept-value-over-initial-maxval.patch |   55 +
 ...-Add-self._fd_console-to-use-for-self._ha.patch |   54 +
 ...ar-Make-bars-show-correctly-with-maxval-0.patch |   32 +
 ...-knotty-Allow-mixing-log-messages-and-pro.patch |   32 +
 70 files changed, 15318 insertions(+), 6618 deletions(-)
---
base-commit: 733161c76bd2ac777555d3eac113ff54b4c63ae2
change-id: 20260619-add-pypi-v8-89df7be8c5c2

Best regards,
--  
Rob Woolley <rob.woolley@windriver.com>