← Back to issue list

Gadget snap extension

View original Github issue

Metadata

Project
imagecraft
Number
#303
Type
issue
State
open
Author
lengau
Labels
—
Created
Updated
Closed
—

Current evaluation

Maintainer feature request: an extension that reads a local gadget snap's gadget.yaml and applies its values to imagecraft.yaml, removing duplicated partition config. Blocked on an extensions mechanism that still does not exist in the codebase.

Suggested action: keep open

Reason: The request is valid, maintainer-authored, and demonstrably unimplemented: grepping the current tree for 'extension' returns no extensions framework (only typing_extensions/Sphinx hits), and imagecraft/application.py wires up plugins only, so the stated dependency ("This depends on implementing extensions") is still outstanding. The problem it solves is confirmed in-tree by docs/how-to/craft-a-core-image.rst, which still tells users to manually 'Download the gadget snap', 'unsquashfs ... --extract-file meta/gadget.yaml' and hand-edit the volumes block, and a customer explicitly asked for 'feature-parity with ubuntu-image'. Actionability is only mid because the scope of an extension point (config key shape, which gadget.yaml keys are mapped, override/precedence rules) is unspecified and overlaps heavily with imagecraft#258.

Evaluated by: mr-cal-bot

Impact: 60 Quick Win: 9 Complexity: 72 Confidence: 78 Actionability: 52

Issue body

### Check existing issues - [x] I've verified that this request isn't described by any existing issues. ### Request Create an extension that reads the relevant values from a local gadget snap file and applies them to imagecraft.yaml. This depends on implementing extensions. ### The problem it solves Duplication of stuff from gadget.yaml and imagecraft.yaml

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 60
Quick Win: 9
Complexity: 72
Confidence: 78
Actionability: 52
keep open Maintainer feature request: an extension that reads a local gadget snap's gadget.yaml and applies its values to imagecraft.yaml, removing duplicated partition config. Blocked on an extensions mechanism that still does not exist in the codebase.
qwen/qwen3.6-35b-a3b
Impact: 60
Quick Win: 9
Complexity: 70
Confidence: 75
Actionability: 50
needs triage Feature request to create an extension mechanism that reads values from a gadget snap's gadget.yaml and applies them to imagecraft.yaml, reducing configuration duplication across SKUs.
qwen/qwen3.8-27b
Impact: 55
Quick Win: 16
Staleness: 45
Complexity: 70
Confidence: 75
Support Request: 0
keep open Feature request to add a gadget snap extension that reads values from a local gadget snap and applies them to imagecraft.yaml, reducing duplication. Depends on implementing extensions support, which is not yet in the codebase. Open, unlabelled, one maintainer comment.
qwen/qwen3.6-35b-a3b
Staleness: 50
Complexity: 80
Confidence: 85
Support Request: 10
needs triage Feature request to create an extension that reads gadget snap values and populates imagecraft.yaml, reducing duplication across device SKUs. Unlabelled, depends on extension system implementation, awaiting maintainer triage.
qwen3.6-35b-a3b-mtp-q6
Staleness: 45
Complexity: 55
Confidence: 75
Support Request: 0
needs triage Feature request to create an extension that reads values from a gadget snap and populates imagecraft.yaml, reducing configuration duplication across device SKUs. Currently unlabelled and awaiting maintainer triage.
qwen3.6-35b-a3b-mtp-q6
Staleness: 65
Complexity: 60
Confidence: 75
Support Request: 10
needs triage Feature request for an extension that reads gadget snap values into imagecraft.yaml to reduce config duplication. Currently unlabelled, lacks maintainer response, and depends on underlying extension implementation.

Update history

No update history recorded yet.

Related work

  • Related To: imagecraft#258 (confidence 82%)

    Also open: 'Support using gadget.yaml volumes as a source for imagecraft.yaml volume definitions' — same duplication problem solved by importing volumes rather than via a gadget snap extension; likely partial overlap/duplicate and worth merging scope with.

Related issues

Issue Project State Summary Similarity
#1638824 Support gadget snaps snapcraft (launchpad) closed Gadget snap support (including gadget.yaml handling) was merged to snapcore/snapcraft via PR #886, commit 5610f0eaf 'Support for gadget snaps (#886)', after a successful PC gadget build; the launchpad issue was then closed.
72%
#4344 Treat the gadget.yaml like other snap meta files snapcraft open Enhancement to require gadget.yaml in snap/gadget.yaml instead of the project root. Triaged (CRAFT-3264); still unimplemented — both setup_assets.py (core22) and package.py (core24+) still read gadget.yaml from the project root.
71%
#1640897 snapcraft doesn't validate gadget.yaml snapcraft (launchpad) open Enhancement (filed 2018 by a maintainer): gadget snaps only copy gadget.yaml into the snap without validating its contents. Still unimplemented — both setup_assets.py and services/package.py just copy/read the file. No labels or comments; needs triage.
70%
#886 Support for gadget snaps snapcraft merged Merged PR #886 added gadget snap support, including gadget.yaml handling, in commit 5610f0eaf.
70%