fix(hotfix/2.7): bump protobuf to 4.25.8 for setuptools without pkg_resources
Metadata
Current evaluation
Protobuf 4.25.8 hotfix PR #2942 was closed unmerged after its stacked base PR #2941 merged; no protobuf version bump landed.
Resolution: closed stale
Reason: PR #2941 was merged, but #2942 was closed with no reviews, checks, comments, merge commit, or closing explanation. The proposed protobuf 4.25.8 change was therefore abandoned rather than resolved.
Evaluated by: mr-cal-bot
No scores available.
Issue body
## Summary
Stacked on #2941.
After the rustc bump, `snap-build` gets past `maturin` and fails on `protobuf`:
```
ModuleNotFoundError: No module named 'pkg_resources'
ERROR: Failed to build 'protobuf' when getting requirements to build wheel
```
The snap builds everything from source (`PIP_NO_BINARY: ":all:"`), so pip also
creates protobuf's isolated build environment. protobuf 3.20.3's `setup.py`
imports `pkg_resources`, which setuptools removed in 81; current setuptools is
84, so that sdist cannot build. pip also ignores constraints files for
build-isolation, so the build environment cannot be pinned from the repo
(verified: `--constraint setuptools<81` still installed setuptools 84.0.0 into
the isolated env).
protobuf 3.20.3 -> 4.25.8 is API compatible: the 4.x line of that era is a
re-versioning of the 3.20 code, and `macaroonbakery` (the only consumer) just
requires `protobuf >=3.20.0`. Verified locally that the 4.25.8 sdist builds
fully on Python 3.10 with setuptools 84.
The pure-python `protobuf-3.20.3-py2.py3-none-any.whl` could be pulled in with
`PIP_ONLY_BINARY: protobuf` to keep the old version, but that ships the slower
pure-Python implementation to avoid a version bump, so it was rejected.
Leaving 3.20.3 was not an option either, since it cannot be built from source at
all now, and the snap has no wheel for it on armhf, ppc64el, riscv64 or s390x.
## Test plan
CI: `snap-build` completes the `charmcraft` part with `protobuf` compiled from
source, which unblocks `snap-tests`.
> [!WARNING]
> Generated by an automated agent, not a human.
🤖 **BEEP BOOP I'M A TOASTER**
_Model:_ `step-5-preview-free`
_Harness:_ opencode CLI
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| minimax/minimax-m3.1-flash:free | — | closed stale | Protobuf 4.25.8 hotfix PR #2942 was closed unmerged after its stacked base PR #2941 merged; no protobuf version bump landed. |
Update history
| Date | Change |
|---|---|
| closed | |
| created |
Related work
-
Related To:
charmcraft#2941
(confidence 98%)
The required stacked base PR updating the hotfix/2.7 snap build was merged; it did not itself resolve the protobuf bump.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2938 fix(hotfix/2.7): bump protobuf to 4.25.8 for setuptools without pkg_resources | charmcraft | closed | Closed as superseded during a stack rebuild; #2938 carried the same protobuf 4.25.8 bump as #2934 and was replaced by a fresh PR with no content change. | |
| #2934 fix(hotfix/2.7): bump protobuf to 4.25.8 for setuptools without pkg_resources | charmcraft | closed | PR #2934 proposed bumping protobuf 3.20.3→4.25.8 to unblock source builds under setuptools 84, but was closed without a merge or recorded follow-up. | |
| #2922 build(deps): update bugfixes (hotfix/2.7) | charmcraft | merged | Merged dependency update PR #2922 by Renovate, upgrading protobuf to 4.25.9, pydantic to 1.10.26, and types-pyyaml to 6.0.12.20260906 on the hotfix/2.7 branch. |