Re: [bitbake-devel] [PATCH v4 00/11] bitbake-setup PyPI Packaging

Paul Barker <[email protected]> Mon, 29 Jun 2026 10:06:14 +0100
Newsgroups org.openembedded.lists.bitbake-devel
Message-ID <[email protected]>
--=-13GVg1Nk9BYYruQ1WNxE
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2026-06-24 at 10:20 -0700, Rob Woolley via
lists.openembedded.org wrote:
> 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
>=20
> This version of the series integrates the vendoring module to update
> beautifulsoup4, ply, progressbar, simplediff, and typing_extensions.
>=20
> I also included Richard's latest commit to add version variables to the
> bitbake scripts and dropped the mechanism that I proposed.

Hi Rob,

Patches 1-5 and 11 look good to me.

For patches 6-10 which improve vendoring of upstream packages, I think
we need to document things clearly. I've also made a couple of review
comments on some of these patches.

Looking at the Python vendoring module [1]:

    Should I use it?

    This tool has no stability promises -- it has only one intended
    user: pip. There may be unannounced changes to this codebase at any
    time, as long as the intended user (i.e. the pip project) is
    prepared for those changes.

    As a general rule of thumb, if the project is going to be a PyPI
    package, it should not use this tool.

    Many downstream redistributors have policies against this kind of
    bundling of dependencies, which means that they'll patch your
    software to debundle it. This can cause various kinds of issues, due
    to violations of assumptions being made about where the dependencies
    are available/which versions are being used. These issues result in
    difficult-to-debug errors, which are fairly difficult to communicate
    with end users.

    pip is a very special case with a thorough rationale [2] for
    vendoring/bundling dependencies with itself.

We need to write down why we're using vendoring despite this warning,
with a rationale (similar to how pip documents this).

We also need to document who's going to run `vendoring sync` and how
often. Do we automate this or rely on running it manually?

[1]: https://pypi.org/project/vendoring/
[2]: https://pip.pypa.io/en/latest/development/vendoring-policy/#rationale

Best regards,

--=20
Paul Barker


--=-13GVg1Nk9BYYruQ1WNxE
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----

iIcEABYKAC8WIQSzjPXf5Y1BDWhU2iCrY1Tsnbr0bgUCakI1hhEccGF1bEBwYmFy
a2VyLmRldgAKCRCrY1Tsnbr0bmFIAPwPiAjvosK57lpKDLfK4x5odsUsQto1YQrY
4EnYfycyPAD+JU64nNTl+zX+oznNdvhV3ZHTWA9pG6+84rxMoz4I/gc=
=vO5H
-----END PGP SIGNATURE-----

--=-13GVg1Nk9BYYruQ1WNxE--