usrmerge handling is not dealing with subdirectories
Metadata
Current evaluation
Fixed by PR #200 (commit 3f43e30e, "oci: fix handling of subdirs in usrmerge"); files and subdirs under base-layer usrmerge symlinks (e.g. lib) are now archived at the symlink target path. Closed by maintainer tigarmo.
Resolution: closed resolved
Reason: Maintainer tigarmo closed the issue with the comment "fixed by #200"; PR #200 was merged as commit 3f43e30e "oci: fix handling of subdirs in usrmerge", which changes _archive_layer in rockcraft/oci.py so subdirectories under a base-layer usrmerge symlink are written to the symlink target. Later follow-up commits (1783fa2a, c3382fc2) refined the same usrmerge directory handling.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Fixed by PR #200 (commit 3f43e30e, "oci: fix handling of subdirs in usrmerge"); files and subdirs under base-layer usrmerge symlinks (e.g. lib) are now archived at the symlink target path. Closed by maintainer tigarmo. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR canonical/rockcraft#200 (commit 3f43e30e), correcting OCI subdirectory archiving when the payload is usrmerged. | |
| qwen/qwen3.6-35b-a3b | — | — | Rockcraft's usrmerge handling incorrectly processed subdirectories, breaking symlinks. The bug was fixed and closed by pull request #200. | |
| qwen/qwen3.6-35b-a3b | — | — | Fixed by PR #200. Updated rockcraft's layer archiving logic to correctly apply usrmerge transformations to subdirectories, preventing broken symlinks and permission errors in the resulting container image. | |
| qwen/qwen3.6-35b-a3b | — | — | Fixed usrmerge handling for subdirectories in rockcraft's OCI layer archiving. Subdirectories under lib were previously archived without merging, breaking symlinks. Resolved by merging PR #200. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Rockcraft's usrmerge logic incorrectly preserved subdirectory paths instead of mapping them to usr/ during OCI layer creation. Resolved by merge of pull request #200. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/rockcraft#200
(confidence 98%)
Merged PR fixing usrmerge subdir handling; commit 3f43e30e, cited in the closing comment.
-
Related To:
canonical/rockcraft#211
(confidence 70%)
Follow-up commit 1783fa2a "oci: fix handling of symlink subdirs" refining the same code path.
-
Related To:
canonical/rockcraft#163
(confidence 55%)
Prior commit 501e6eae handling opaque whiteouts in new layer (usrmerge) that #200 builds on.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #200 oci: fix handling of subdirs in usrmerge | rockcraft | merged | Merged in PR #200 as commit 3f43e30e, fixing OCI usrmerge so subdirectories beneath base-layer symlinks are written to the symlink target. | |
| #154 first pass at handling usrmerge | rockcraft | merged | Merged PR #154 (commit 607d934f, "oci: handle symlinks in base layer (usrmerge)"). add_layer() now takes the extracted base, so files primed under /lib or /bin are written to the usrmerge symlink target (/usr/lib, /usr/bin) instead of breaking Ubuntu-based rocks; lifecycle passes the base forward. | |
| #204 oci: handle duplicate directories because of usrmerge | rockcraft | merged | Merged #204 as c3382fc2, fixing OCI failures from usrmerge-aliased duplicate directories with matching attributes; mismatched attributes and file conflicts still error. |