← Back to issue list

`primed-stage-packages` isn't in manifest.yaml when using override-prime

View original Github issue

Metadata

Project
snapcraft
Number
#5552
Type
issue
State
open
Author
mr-cal
Labels
Status: Triaged Type: Bug
Created
Updated
Closed
—

Current evaluation

override-prime leaves primed-stage-packages empty in build manifests on core22+ because craft-parts #1122 does not track scriptlet-primed files; still reproduced on Launchpad.

Suggested action: keep open

Reason: The maintainer-authored report is labeled Triaged and Type: Bug, provides an exact core22+ reproducer, and identifies open upstream craft-parts#1122 as the cause. Snapcraft currently derives the manifest field from craft-parts' tracked prime-state files, and the recent Launchpad #2097440 report independently confirms the bug remains.

Evaluated by: mr-cal-bot

Impact: 45 Quick Win: 11 Complexity: 66 Confidence: 96 Actionability: 74

Issue body

### Bug Description When using `override-prime`, the `primed-stage-packages` entry in the `manifest.yaml` is never populated. This is due to an upstream issue in craft-parts (https://github.com/canonical/craft-parts/issues/1122). We've worked around this problem before by warning when `override-prime` is used (https://github.com/canonical/snapcraft/issues/4547). ### To Reproduce Build the snap below with `SNAPCRAFT_BUILD_INFO=y snapcraft` and inspect the manifest with and without the `override-prime` keyword. ### Environment Snapcraft 8.9.0 This affects core22+ since this is a craft-parts issue. ### snapcraft.yaml ```yaml name: my-snap-test version: '0.1' summary: A test snap to demonstrate primed-stage-packages description: | This is a simple snap to show how stage-packages are primed. grade: stable confinement: strict base: core22 parts: my-part: plugin: nil stage-packages: - curl override-prime: | craftctl default ``` ### Relevant log output ```shell n/a ``` ### Additional context _No response_

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 45
Quick Win: 11
Complexity: 66
Confidence: 96
Actionability: 74
keep open override-prime leaves primed-stage-packages empty in build manifests on core22+ because craft-parts #1122 does not track scriptlet-primed files; still reproduced on Launchpad.
stealth/space-bunny-alpha
Impact: 40
Quick Win: 11
Complexity: 62
Confidence: 88
Actionability: 75
keep open primed-stage-packages stays empty in manifest.yaml when any part uses override-prime. Root cause is unfixed upstream craft-parts#1122; still reproducing per Launchpad bug 2097440 (Oct 2026).
qwen/qwen3.8-27b
Impact: 35
Quick Win: 10
Complexity: 55
Confidence: 85
Actionability: 65
keep open primed-stage-packages is never populated in manifest.yaml when override-prime is used, due to upstream craft-parts not tracking file contents from scriptlet steps. Confirmed still present as of Oct 2026 via Launchpad bug 2097440.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 19
Complexity: 20
Confidence: 90
Actionability: 80
keep open `primed-stage-packages` is empty in `manifest.yaml` when using `override-prime` due to an open upstream bug in craft-parts (#1122). Issue is triaged and reproducible.
qwen/qwen3.8-27b
Impact: 35
Quick Win: 19
Staleness: 60
Complexity: 45
Confidence: 75
Support Request: 5
keep open primed-stage-packages missing from manifest.yaml when override-prime is used; triaged bug blocked by upstream craft-parts issue #1122 which remains open. No fix implemented in ~15 months.
qwen/qwen3.6-35b-a3b
Staleness: 65
Complexity: 40
Confidence: 85
Support Request: 10
keep open Bug: `primed-stage-packages` not populated in manifest.yaml when using `override-prime`. Caused by upstream craft-parts issue. Has workaround. Triaged, linked to internal ticket.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 25
Confidence: 75
Support Request: 10
keep open primed-stage-packages missing from manifest.yaml when using override-prime due to upstream craft-parts issue. Triaged bug, inactive for over a year, awaiting upstream resolution.

Update history

Date Change
updated

Related work

  • Blocked By: canonical/craft-parts#1122 (confidence 99%)

    The report explicitly identifies this open upstream tracking failure as the root cause.

  • Related To: snapcraft (launchpad)#2097440 (confidence 98%)

    A recent comment links a Launchpad report of the same empty-manifest behavior.

  • Related To: snapcraft#4547 (confidence 90%)

    Prior override-prime tracking limitation was handled with a warning, though that change does not fix manifests.

Related issues

Issue Project State Summary Similarity
#2097440 override-prime disables primed-stage-packages snapcraft (launchpad) open Manifest's primed-stage-packages is empty when a part uses override-prime; root cause is upstream craft-parts not tracking scriptlet-primed files. Confirmed by maintainers, still reproduces; duplicate on GitHub.
88%
#1122 craft-parts doesn't track primed files when using `override-prime` craft-parts open override-prime stores empty file metadata instead of tracking scriptlet-created content, breaking primed-stage-package manifests and related Snapcraft workflows.
79%
#5998 `primed-stage-packages` in `manifest.yaml` loses architecture information snapcraft closed Fixed in craft-parts PR #1558 via commit 0b6a556a, preserving architecture suffixes such as :i386 in primed-stage-packages.
73%
#1978966 Empty override-prime scriptlet is ignored when building against core22 snapcraft (launchpad) closed Empty override-prime handling was fixed in Snapcraft 7.1.1 on stable; the reporter confirmed the update resolved core22 builds.
72%
#1923189 primed-stage-packages in base snaps manifest is empty snapcraft (launchpad) closed Closed as not a bug: live-built core snaps bypass Snapcraft part staging, so primed-stage-packages is intentionally empty while their staged debs remain listed in dpkg.list.
71%