fix(charm): accept redundant multi-base charms
Metadata
Current evaluation
Merged PR #215 as commit 4879309, allowing redundant multi-base charms when they produce equivalent valid build plans and addressing canonical/charmcraft#2620.
Resolution: closed resolved
Reason: The approved PR was merged as commit 4879309. It relaxed multi-base validation to accept redundant bases when generated build plans remain valid.
Evaluated by: mr-cal-bot
No scores available.
Issue body
This accepts multi-base charms that have some redundancy as long as the build plans wouldn't differ from valid build plans still.
Once we pull this into Charmcraft it will fix https://github.com/canonical/charmcraft/issues/2620
- [x] Have you followed the guidelines for contributing?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `make lint && make test`?
---
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #215 as commit 4879309, allowing redundant multi-base charms when they produce equivalent valid build plans and addressing canonical/charmcraft#2620. | |
| qwen/qwen3.6-35b-a3b | — | closed resolved | Merged PR accepting multi-base charms with redundant bases when build plans remain valid, fixing charmcraft#2620 |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Related To:
canonical/charmcraft#2620
(confidence 99%)
The PR identifies this downstream Charmcraft issue as fixed once the craft-platforms change is integrated.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #73 Add multi-bases support for charm build plans | craft-platforms | closed | Multi-base charm build-plan support was merged in PR #81 (commit 519b705), with validation tightening and error-handling updates; it resolved #73. | |
| #148 feat(charm): add a build planner for bases charms | craft-platforms | merged | Merged PR #148 added a Charm build planner for legacy charms using the bases key, addressing CHARMCRAFT-630 in commit 16ff218. | |
| #81 feat: multi-base support for charm build plans | craft-platforms | merged | Merged PR #81 as commit 519b705, adding multi-base charm build-plan support and fixing #73, with stricter shorthand validation and CraftPlatformsError. | |
| #1818 fix(lifecycle): allow building multi-arch charms | charmcraft | merged | Merged to main as commit c787ea23 (PR #1818), letting Charmcraft's lifecycle builds handle charms with multiple run-on architectures; landed alongside Ruff 0.6.0 fixes from #1825. Fixes #1697. | |
| #2275 fix(charm): workaround to allow charmcraft-wide constraints | charmcraft | merged | Merged #2275 as commit 65d01ed5, adding a Charmcraft-wide build-constraints workaround for Ubuntu 20.04 failures tracked in #2259 (CHARMCRAFT-614). | |
| #383 commands/build: charm file name format support for bases (CRAFT-66) | charmcraft | merged | Merged PR #383 (commit 951f6aaa; merge 1c839909) added bases-aware charm filename formatting and tests, retaining the legacy runtime path pending default-bases configuration. | |
| #79 Unify charm build planner with default build planner | craft-platforms | open | Maintainer-authored refactor to consolidate the separate charm planner into the default planner. Implicit build-for parity now exists, but multi-base semantics still differ. | |
| #861 No support for paralell builds for multi-base charms | charmcraft | open | Enhancement request (triaged) to let `charmcraft pack` build the bases/platforms of a multi-base charm in parallel; still unimplemented, scoped upstream to the whole craft ecosystem (CHARMCRAFT-655). | |
| #1622 fix: reorganise charmcraft.yaml preprocessing | charmcraft | merged | Merged in #1622 (commit 7ce4182e): extensions now run first, charms with bases get a default part, and parts must be a dictionary. | |
| #289 fix: fix issues found in common.mk with charmcraft | starbase | merged | Merged in canonical/starbase#289 (commit 0ffe5a7), fixing Charmcraft-related problems in common.mk. |