mbox series

[meta-python,0/6] Fixes for pika, pint, haversine and httpx2

Message ID 20261108192549.1082715-1-thomas@roosesweb.de
Headers show
Series Fixes for pika, pint, haversine and httpx2 | expand

Message

Thomas Roos Nov. 8, 2026, 7:25 p.m. UTC
Four recipes in meta-python install broken or wrong code. I found them
while upgrading meta-homeassistant to Home Assistant 2026.11, but the
fixes do not depend on that:

- python3-pika: the 1.4.4 upgrade only changed the unused sha256sum, so
  SRCREV still pointed at a 1.4.2 era commit and the package installed
  pika 1.4.2 under version 1.4.4. SRCREV now points at the 1.4.4 tag
  commit, and tag=${PV} lets the fetcher check that.
- python3-pint: flexcache, flexparser and typing-extensions were only
  pulled in by the ptest, so "import pint" failed on an image without
  the ptest. flexcache and flexparser are extended to native and
  nativesdk like pint; without that, python3-pint-native fails with
  "Nothing RPROVIDES 'python3-flexcache-native'".
- python3-haversine: numba is optional, but haversine only catches
  ModuleNotFoundError. numba 0.66 (meta-python-ai) raises ImportError with
  NumPy 2.5, which broke "import haversine". The patch catches ImportError.
  Submitted upstream: https://github.com/mapado/haversine/pull/91
- python3-httpx2, with the new python3-truststore and python3-httpcore2:
  httpx2 requires httpcore2, anyio and truststore, but did not depend on
  them, so "import httpx2" failed with "No module named 'httpcore2'".

The series is independent of the "Python updates for Home Assistant
2026.11" series sent at the same time; both apply to master on their own.

Related changes for the Home Assistant 2026.11 upgrade:

- openembedded-core: python3-cython 3.2.9 -> 3.3.1
  https://github.com/thomas-roos/openembedded-core/commits/ha-2026.11
- meta-openembedded (meta-python): this series and the updates series
  https://github.com/thomas-roos/meta-openembedded/commits/ha-2026.11
- meta-python-ai: 7 upgrades
  https://github.com/zboszor/meta-python-ai/pull/46
- meta-homeassistant: Home Assistant 2026.3.1 -> 2026.11.0
  https://github.com/meta-homeassistant/meta-homeassistant/pull/207

Testing, on top of master b5d60afb63:
- built for qemux86-64 (x86-64-v3), together with meta-homeassistant's
  core-image-homeassistant (Home Assistant 2026.11)
- ptests pass for flexcache, flexparser and pint
- in the running image, Home Assistant starts (it imports httpx2) and
  all its integrations import, including the geo_rss_events and geojson
  based ones that import haversine
- python3-pika: built; the installed dist-info now reports 1.4.4. It is
  not in a ptest list of meta-python, so its ptest was not run
- checked with bodnuti: patchtest pass, no oelint-adv or shellcheck
  findings

AI disclosure: the patches, commit messages and this cover letter were
written with Claude Code (Claude Opus 5.5), as the AI-Generated tags in
each patch say. I reviewed every change, ran the builds and tests above,
and can answer for them.


Thomas Roos (6):
  python3-pika: build the 1.4.4 release
  python3-pint: add missing runtime dependencies
  python3-haversine: keep working when numba fails to import
  python3-truststore: add recipe
  python3-httpcore2: add recipe
  python3-httpx2: add missing runtime dependencies

 .../python/python3-flexcache_0.3.bb           |  2 +
 .../python/python3-flexparser_0.4.bb          |  2 +
 ...-pure-Python-kernels-if-numba-fails-.patch | 40 +++++++++++++++++++
 .../python/python3-haversine_2.9.0.bb         |  1 +
 .../python/python3-httpcore2_2.16.0.bb        | 26 ++++++++++++
 .../python/python3-httpx2_2.16.0.bb           |  5 ++-
 .../python/python3-pika_1.4.4.bb              |  6 +--
 .../python/python3-pint_0.26.2.bb             |  5 ++-
 .../python/python3-truststore_0.10.4.bb       | 13 ++++++
 9 files changed, 93 insertions(+), 7 deletions(-)
 create mode 100644 meta-python/recipes-devtools/python/python3-haversine/0001-Fall-back-to-the-pure-Python-kernels-if-numba-fails-.patch
 create mode 100644 meta-python/recipes-devtools/python/python3-httpcore2_2.16.0.bb
 create mode 100644 meta-python/recipes-devtools/python/python3-truststore_0.10.4.bb