Parts that organize to the overlay should not accept `overlay-script` or `override-overlay`
Metadata
Current evaluation
craft-parts accepts overlay-script/override-overlay on parts whose organize targets (overlay), silently doing the wrong thing. Triaged by lengau, assigned to randyli, and targeted by open PR #1747 adding PartSpec validation plus tests/docs.
Suggested action: keep open
Reason: lengau filed this as a real gap ("Those parts should error if we have either of those with an explanation of what to do instead"), randyli proposed reusing the existing organizes_to_overlay check in PartSpec, and lengau confirmed with "I've assigned this to you"; the check does not yet exist in craft_parts/parts.py, which only validates overlay-script against plugins that use the overlay (_check_overlay_script_plugin_conflict). PR #1747 is still open with one unresolved comment, so the fix is not yet merged and the issue should stay open. Impact is moderate (misuse yields silent/incorrect behavior rather than a data-loss crash), while the change is small and well-scoped to existing validation helpers.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
45
Quick Win:
27
Complexity:
30
Confidence:
88
Actionability:
85
|
keep open | craft-parts accepts overlay-script/override-overlay on parts whose organize targets (overlay), silently doing the wrong thing. Triaged by lengau, assigned to randyli, and targeted by open PR #1747 adding PartSpec validation plus tests/docs. | |
| stealth/space-bunny-alpha |
Impact:
44
Quick Win:
30
Complexity:
28
Confidence:
97
Actionability:
94
|
keep open | Validation for overlay-script/override-overlay on parts organizing to (overlay) is assigned and targeted by open PR #1747, with tests and documentation. | |
| qwen/qwen3.6-35b-a3b |
Impact:
40
Quick Win:
24
Complexity:
25
Confidence:
75
Actionability:
80
|
needs triage | Request to add validation preventing overlay-script and override-overlay on parts that organize to overlay. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| created |
Related work
-
Likely Fixed By:
craft-parts#1747
(confidence 92%)
Open PR titled 'fix: reject overlay scripts in parts organizing to overlay' explicitly states it fixes #1735 and adds part validation, 17 regression tests, changelog and docs.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1747 fix: reject overlay scripts in parts organizing to overlay | craft-parts | open | Adds validation rejecting overlay lifecycle scripts when output organizes to (overlay), with guidance, 17 regression cases, and changelog/docs; open with no failing CI but one unresolved review comment. | |
| #1611 Extra part triggering stage step before overlay step | craft-parts | closed | Fixed in canonical/craft-parts#1618 (18239b07): overlay-organized parts now build and organize before dependency staging, preventing fstab content from being missed. | |
| #1226 Organize content into the overlay | craft-parts | closed | Parts can organize content into the mounted overlay via merged PR #1254 (commit 0c806f20), shipped in craft-parts 2.22.0. | |
| #1487 Multiple parts cannot organize to the same directory in the overlay | craft-parts | closed | Fixed by merged PR canonical/craft-parts#1586 (commit 0797420f), allowing wildcard-organized overlay directories from multiple parts to merge despite metadata differences. | |
| #1228 Reorder parts to prioritize organize to overlay | craft-parts | closed | Prioritized parts that organize overlays so installing overlay-package parts can use the prepared base; merged in canonical/craft-parts#1261 (55d01a3f). |