chore(revert): "fix: add all parts as a dep of extension part (#5395)"
Metadata
Current evaluation
Merged #5451 (e12e765b7), reverting #5395 because its extension-part dependency logic broke parts that must run after the extension.
Resolution: closed resolved
Reason: PR #5451 merged as commit e12e765b7 and removed #5395's dependency injection. The change was reverted for the 8.9 release because it broke cleanup parts running after extension parts.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/canonical/snapcraft/blob/main/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `make lint`?
- [x] Have you successfully run `make test`?
---
This reverts #5395.
The purpose of #5395 is good, but it's missing logic for parts that run after the extension's part, such as a "clean up" part. The logic should be to only add parts to the extension's `after` key if they don't depend on the extension's part, directly or indirectly.
For example, here are snaps that would break. They have parts that run after the [gnome](https://github.com/wasta-linux/lameta-snap/blob/4e995848cd199c951cef6f2ea8d5c6e8b1ff689e/snap/snapcraft.yaml#L124), [ros](https://github.com/canonical/gazebo_snap/blob/8db26ff3ab4dc156dad17730f4e7c2a5f969dc24/snap/snapcraft.yaml), and [kde](https://github.com/canonical/gazebo_snap/blob/8db26ff3ab4dc156dad17730f4e7c2a5f969dc24/snap/snapcraft.yaml#L65) extensions.
We're cutting an 8.9 release so this feature needs to be reverted in the short-term.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged #5451 (e12e765b7), reverting #5395 because its extension-part dependency logic broke parts that must run after the extension. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #5451 (commit e12e765b7) to revert #5395 before the 8.9 release, avoiding extension dependency changes that broke cleanup parts. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged a revert of PR #5395 due to missing logic for post-extension parts, which would break gnome, ros, and kde snaps. Approved and merged ahead of the 8.9 release to ensure stability. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a revert of PR #5395. The original fix incorrectly added all parts as extension dependencies, breaking snaps with post-extension steps. Reverted short-term ahead of the 8.9 release to prevent regressions while proper logic is developed. |
Update history
No update history recorded yet.
Related work
-
Caused By:
canonical/snapcraft#5395
(confidence 100%)
PR #5451 explicitly reverts #5395 (48c8af2ae) because its dependency logic was incomplete.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5395 fix: add all parts as a dep of extension part | snapcraft | merged | Merged in #5395 (48c8af2ae), adding dependencies on all parts so extension parts rebuild after changes; #5451 later reverted the change. | |
| #923 chore(merge): 2.1.4 into main | craft-parts | merged | Merged craft-parts 2.1.4 back into main via PR #923 (merge commit 92075f67). |