← Back to issue list

fix(hotfix/2.7): bump protobuf to 4.25.8 for setuptools without pkg_resources

View original Github issue

Metadata

Project
charmcraft
Number
#2942
Type
pull request
State
closed
Author
lengau
Labels
—
Created
Updated
Closed

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.
94%
#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.
93%
#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.
70%