← Back to issue list

Make partitions and overlay features mutually exclusive

View original Github issue

Metadata

Project
craft-parts
Number
#632
Type
issue
State
closed
Author
mr-cal
Labels
—
Created
Updated
Closed

Current evaluation

Resolved by merged PR #667 (commit 6582b829), which makes partition and overlay features mutually exclusive and rejects configurations enabling both.

Resolution: closed resolved

Reason: PR #667 was merged and landed as commit 6582b829. Its validation prevents partitions and overlays from being enabled together, avoiding the undefined combined behavior described in #632.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done Require partitions and overlays to be mutually exclusive features. ### Why it needs to get done The first implementation of partitions (https://github.com/canonical/craft-parts/pull/517) allowed both features to be enabled. It added some basic integration tests, but they were not comprehensive. The same integration tests pass after partitions were [moved to a top-level directory](https://github.com/canonical/craft-parts/pull/627). However, @lengau, @cmatsuoka, and @mr-cal are concerned that enabling both these features does not have a well-defined behavior. There is no immediate need for an application to have both features enabled, so we prefer to make them mutually exclusive until the behavior is fully defined and agreed upon.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Resolved by merged PR #667 (commit 6582b829), which makes partition and overlay features mutually exclusive and rejects configurations enabling both.
stealth/space-bunny-alpha — closed resolved Fixed by merged PR #667 (commit 6582b829), which rejects enabling partitions and overlays together to prevent undefined behavior.
qwen/qwen3.6-35b-a3b — — Implemented mutual exclusivity between partitions and overlays to prevent undefined behavior. The task was closed after the restriction was added to the codebase.
qwen/qwen3.6-35b-a3b — — Implemented by enforcing mutual exclusivity between partitions and overlays. The change prevents simultaneous use, eliminating undefined behavior until a comprehensive integration strategy is defined.
qwen/qwen3.6-35b-a3b — — Adopted a design constraint in craft-parts making partitions and overlay features mutually exclusive to avoid undefined behavior. The requirement was accepted by maintainers and the issue was closed as the change was implemented.
qwen3.6-35b-a3b-mtp-q6 — — Resolved by implementing mutual exclusivity between partitions and overlay features to prevent undefined behavior when both are enabled. The requirement was enforced and the issue closed.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/craft-parts#667 (confidence 100%)

    The merged PR introduced mutual-exclusivity validation and is recorded as the resolution for #632.

Related issues

Issue Project State Summary Similarity
#667 fix: make overlay and partition features mutually exclusive craft-parts merged Merged PR #667 as commit 6582b829, making overlay and partitions mutually exclusive and fixing #632.
88%
#1028 Allow enabling both partitions and overlays features at the same time craft-parts closed Enabled partitions and overlays to be used together in merged PR #1035 (commit b575539e), resolving the feature conflict.
85%
#1035 feat: reconcile overlays and partition features craft-parts merged Merged PR #1035 at commit b575539e, enabling overlay and partition features simultaneously and fixing canonical/craft-parts#1028.
80%