← 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

Rock packing still considers only the extracted base when adding later layers; a payload symlink such as /.rock can be overwritten by metadata, and the big spread test documents the limitation.

Suggested action: keep open

Reason: rockcraft/oci.py still supplies only base_layer_dir when archiving a new layer, while tests/spread/foreign/big/task.yaml explicitly documents that intermediate-layer symlinks are not preserved and asserts that /.rock no longer resolves to fake_rock_dir. This remains a valid, reproducible correctness gap, although correctly implementing stacked-layer semantics requires moderate design work.

Evaluated by: mr-cal-bot

Impact: 43 Quick Win: 15 Complexity: 58 Confidence: 95 Actionability: 85

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
stealth/space-bunny-alpha
Impact: 43
Quick Win: 15
Complexity: 58
Confidence: 95
Actionability: 85
keep open Rock packing still considers only the extracted base when adding later layers; a payload symlink such as /.rock can be overwritten by metadata, and the big spread test documents the limitation.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 7
Complexity: 60
Confidence: 70
Actionability: 60
needs triage Rockcraft doesn't preserve symlinks between intermediate layers when packing ROCKs. The spread test big/task.yaml explicitly documents this limitation.
qwen/qwen3.8-27b
Impact: 55
Quick Win: 16
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.

Update history

No update history recorded yet.

Related work

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

    Prerequisite work cited by the issue that made payload packing aware of the base image.

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

    Prerequisite work cited by the issue that extended base-image-aware payload packing.

Related issues

No related issues found above the similarity threshold.