overlay: add overlay package install (CRAFT-81)
Metadata
Current evaluation
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.
Suggested action: —
No scores available.
Issue body
Overlay packages are installed on the layer corresponding to the
declaring part. This layer is configured as the upper directory of
the overlay stack. The installation runs on a chrooted environment
so that maintainer scripts are executed and the installed packages
database is updated correctly.
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. 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. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #139 overlays: replace pychroot with non-magic chroot (CRAFT-558) | craft-parts | merged | Merged changes replacing the hackish pychroot library with a simpler, non-magic chroot implementation. Resolves interpreter and platform restrictions, fixes CI failures, and passed reviewer approval. | |
| #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. | |
| #147 executor: update overlay package list (CRAFT-581) | craft-parts | merged | Merged update to the overlay package list prior to lifecycle execution when overlays are enabled. Approved by reviewer, passed CI checks, and modified 4 files (+10/-1). | |
| #111 overlay: add overlayfs helpers (CRAFT-462) | craft-parts | merged | 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. | |
| #124 packages: add package download helper (CRAFT-511) | craft-parts | merged | Merged a package download helper to cache repository packages for later installation in the overlay chroot step. Approved by two reviewers, the update modifies 10 files with 109 additions and 14 deletions. | |
| #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. | |
| #146 overlay: pass error message from chrooted process (CRAFT-580) | craft-parts | merged | Merged updates to chroot error handling that pass error message strings and raise ChrootExecutionError instead of original exceptions, avoiding custom unpickling. Approved by one reviewer, passed CI, and modified four files. | |
| #1415 feat: add override-overlay | craft-parts | merged | Merged override-overlay, enabling scriptlets to run in a chroot. Adds grammar support, mutual exclusivity with overlay-script, chroot mountpoints, layer hashing, and tests. Approved and passed CI. |