← Back to issue list

Take "stack" of layers into account when adding a new layer

View original Github issue

Metadata

Project
rockcraft
Number
#167
Type
issue
State
open
Author
tigarmo
Labels
Created
Updated
Closed

Current evaluation

Rockcraft's add_layer only accounts for the base image, not intermediate layers added while packing a rock, so a part-created /.rock symlink gets broken by the later .rock metadata layer. Unlabeled, no comments, still unfixed per the big spread test.

Suggested action: keep open

Reason: The issue is old (1355 days, no comments/labels) but the limitation is still present: tests/spread/foreign/big/task.yaml explicitly documents it with 'docker run --rm big exec readlink /.rock | NOMATCH fake_rock_dir' and a note that symlinks between layers are not preserved. The fix requires tracking the full layer stack in add_layer/archive_layer, a non-trivial change, so it remains a valid open feature/bug rather than stale-irrelevant.

Impact: 55 Quick Win: 16.5 Staleness: 75 Complexity: 70 Confidence: 70 Support Request: 0

Issue body

With #154 and #163, rockcraft now takes the contents of the `base` image into account when packing the payload. In order to support multiple layers we should also take into account any "intermediate" layers created when packing the ROCK itself. The `big` spread test has an example on how this isn't supported now: a part creates `/.rock` as a symlink but then our regular `.rock`metadata layer breaks it.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 55
Quick Win: 16.5
Staleness: 75
Complexity: 70
Confidence: 70
Support Request: 0
keep open Rockcraft's add_layer only accounts for the base image, not intermediate layers added while packing a rock, so a part-created /.rock symlink gets broken by the later .rock metadata layer. Unlabeled, no comments, still unfixed per the big spread test.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 65
Confidence: 90
Support Request: 10
close stale Rockcraft needs to account for intermediate layers when adding new layers to prevent symlink conflicts. The issue has been open for over three years with no discussion or progress.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 65
Confidence: 90
Support Request: 10
needs triage Rockcraft needs to account for intermediate layers when packing ROCKs to prevent metadata conflicts. Untriaged, inactive for ~3.5 years, with no comments or labels.
qwen3.6-35b-a3b-mtp-q6
Staleness: 92
Complexity: 60
Confidence: 85
Support Request: 0
close stale Rockcraft must account for intermediate layers when adding new layers to a ROCK, not just the base image. Currently, this breaks existing symlinks. The open ticket has no comments or labels and awaits triage and assignment.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/rockcraft#154 (confidence 90%)

    PR #154 (merged) added base-layer symlink handling in add_layer, the starting point this issue builds on.

  • Related To: canonical/rockcraft#163 (confidence 90%)

    PR #163 (merged) added opaque whiteout handling in add_layer, the other prerequisite referenced in the issue body.

Related issues

No related issues found above the similarity threshold.