overlay: add overlayfs helpers (CRAFT-462)
Metadata
Current evaluation
Merged. Added overlayfs mount and unmount helpers, plus utilities to identify special files and directories for filesystem layering. Approved by two reviewers, passed CI, and introduced 420 lines across six files.
Suggested action: —
No scores available.
Issue body
Add helpers to mount and unmount overlayfs filesystems, and to
identify special files and directories used in filesystem layering.
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged. Added overlayfs mount and unmount helpers, plus utilities to identify special files and directories for filesystem layering. Approved by two reviewers, passed CI, and introduced 420 lines across six files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged: Added helpers to mount and unmount overlayfs filesystems and identify special files and directories for filesystem layering. Integrated into the codebase without additional comments. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #115 overlay: add layer visibility helpers (CRAFT-477) | craft-parts | merged | Merged after two approvals. Introduces helper functions to extract migratable files and directories from overlay layers, correctly processing whiteout entries and opaque directories. The change adds 315 lines across three files. | |
| #113 overlay: add overlay support to parts (CRAFT-470) | craft-parts | merged | Merged after three approvals. Adds overlay support to parts by defining the work directory and properties for overlay subdirectories and visibility. 149 additions, 37 deletions across six files. Removed Final typing hint for Python 3.7. | |
| #109 utils: add filesystem mounting calls (CRAFT-460) | craft-parts | merged | Merged to introduce filesystem mount and unmount utilities as thin wrappers around system commands. Approved by two reviewers, passed CI, and added 38 lines across two files to resolve CRAFT-460. | |
| #110 feat: Support overlay | imagecraft | merged | Merged to enable the overlay feature, provide a bare base, and add spread tests. Approved by two reviewers with passing CI checks. Resolves #98 and CRAFT-4269 across 18 files. | |
| #134 overlay: add overlay package install (CRAFT-81) | craft-parts | merged | Merged. Adds overlay package installation by executing maintainer scripts in a chrooted environment to correctly update the package database. Approved by two reviewers, with clarifications added on pychroot usage and empty file safety. | |
| #137 many: add overlay step (CRAFT-84) | craft-parts | merged | Merged. Adds an overlay step to process filesystem mutations like package installation and file modifications across parts. Updates multiple subsystems and tests, approved by a reviewer, passed CI, and maintains fast execution. | |
| #138 many: handle layer reapplication (CRAFT-83, CRAFT-85) | craft-parts | merged | Merged changes handling layer reapplication to maintain overlayfs stack consistency during re-executed overlay steps. Approved by one reviewer, passed CI checks, and integrated by maintainer cmatsuoka across 20 files. | |
| #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. | |
| #297 overlay: only refresh overlay packages if necessary | craft-parts | merged | Merged an optimization that skips mounting and refreshing the overlay package cache unless a part uses overlay-packages, avoiding unnecessary expensive operations. Approved, passed CI, and changed three files. |