← Back to issue list

fix(overlay): detect conflicts between overlay and install

View original Github issue

Metadata

Project
craft-parts
Number
#1190
Type
pull request
State
merged
Author
tigarmo
Labels
Created
Updated
Closed

Current evaluation

Merged fix enhancing Stage step collision detection to account for overlay contents, preventing conflicts with install directories. Includes integration tests, passed all CI checks, and received approval from three reviewers.

Suggested action:

No scores available.

Issue body

This commit enhances the collision detection in the Stage step to also take into account contents coming from the overlay. The standard collision detection was done by comparing the contents of the install directories for the existing parts - this behavior persists, but now we *also* take into account the contents of each overlay-enabled part's layer directory, considering the layer stack to only report collisions between items that would *actually* be staged. To validate the implementation, this commit adds extensive integration tests for scenarios that *must* collide, plus scenarios that *must not*. - [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)? -----

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged fix enhancing Stage step collision detection to account for overlay contents, preventing conflicts with install directories. Includes integration tests, passed all CI checks, and received approval from three reviewers.
qwen3.6-35b-a3b-mtp-q6 Merged a fix enhancing Stage step collision detection to include overlay contents alongside install directories. Prevents overlay-install conflicts and adds integration tests for colliding and non-colliding scenarios.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1618 fix: handle dependencies when organizing to overlay craft-parts merged Merged following approval and successful CI checks. Resolves dependency ordering during overlay organization by prioritizing BUILD steps over dependency STAGE steps, fixing issue #1611. Code was rebased on main prior to integration.
75%
#406 steps: handle overlay feature in step lists craft-parts merged Merged after reviewer approval and passing CI. The change updates step list logic to exclude the overlay step when the feature is disabled, modifying 10 files with 184 additions and 13 deletions.
74%
#1314 fix: do not collide on "similar" symlinks between overlay and install dir craft-parts merged Merged a fix for symlink collisions between overlay and install directories. The author refactored paths_collide for Rockcraft compatibility. All CI checks passed, reviews were approved, and the change resolved issue #1293.
74%
#127 overlay: add overlay manager mount operations (CRAFT-80) craft-parts merged Merged implementation of mount operations for the overlay manager, enabling overlay stack mounting during build steps. Approved by two reviewers, passed CI, and added 265 lines across three files. Package installation is deferred to a future commit.
74%
#1579 fix(state): track override-overlay changes craft-parts merged Merged fix for #1566 that tracks override-overlay changes in OverlayState.properties_of_interest() for consistent dirty checks. Approved by two reviewers, passed CI except unrelated OSV-scanner warnings, and includes focused unit tests.
74%
#1617 fix: migrate overlay files before running stage or prime craft-parts merged Merged fix that migrates overlay files before stage or prime steps. Resolves a state tracking bug causing priming failures with symlinks. Approved by reviewers and passed all CI checks.
74%
#119 overlay: add overlay hash to build and stage states (CRAFT-489) craft-parts merged Merged pull request implementing overlay verification hashes in build and stage states to ensure proper step invalidation. Approved by two reviewers, passed CI checks, and successfully integrated.
73%
#121 overlay: migrate overlay data to stage and prime (CRAFT-468, CRAFT-82) craft-parts merged Merged after two approvals and CI. Migrates overlay data to stage and prime, translates overlayfs whiteouts and opaque directories to OCI, and cleans shared areas. Collision detection is deferred.
73%
#1619 fix: migrate overlay files before running stage or prime (#1617) craft-parts merged Merged cherry-pick of canonical/craft-parts#1617. Resolves changelog conflicts and migrates overlay files before stage or prime execution. Approved by two reviewers and merged following CI validation.
73%
#667 fix: make overlay and partition features mutually exclusive craft-parts merged Merged a fix enforcing mutual exclusivity between overlay and partitions features, as they are orthogonal. Approved by two reviewers, passed CI, and resolves issue #632.
72%