[PATCH v4 00/11] bitbake-setup PyPI Packaging
Rob Woolley <[email protected]> Wed, 24 Jun 2026 10:20:00 -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/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 <[email protected]> --- 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 <[email protected]>