← Back to issue list

base: add optional list of snaps to install

View original Github issue

Metadata

Project
craft-providers
Number
#137
Type
pull request
State
merged
Author
mr-cal
Labels
—
Created
Updated
Closed

Current evaluation

Merged PR #137, adding optional BuilddBase snap installation through a Pydantic model; merge commit fc53896.

Resolution: closed resolved

Reason: PR #137 was approved and merged as commit fc53896, with implementation in 1fe8f2c. It added configurable snap installation and was manually validated with three Craft tools.

Evaluated by: mr-cal-bot

No scores available.

Issue body

- [X] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? ----- ### Overview New parameter in `BuilddBase` class that installs snaps in the base. ### Details I created a pydantic model for each snap to be installed. It gives the application lots of control over how the snap is installed. For example, it is easy to specify a store channel or inject a snap from the host. ### Usage I manually tested this with 3 craft tools and it appears to be 100% compatible. (lpcraft wasn't tested, because it doesn't install any snaps) - [usage in charmcraft](https://github.com/mr-cal/charmcraft/pull/1) - [usage in rockcraft](https://github.com/mr-cal/rockcraft/pull/1) - [usage in snapcraft](https://github.com/mr-cal/snapcraft/pull/1) (CRAFT-1222)

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged PR #137, adding optional BuilddBase snap installation through a Pydantic model; merge commit fc53896.
qwen/qwen3.6-35b-a3b — closed resolved Merged PR adding an optional snaps parameter to BuilddBase to install snaps in the base image using a new pydantic model.

Update history

Date Change
created

Related issues

Issue Project State Summary Similarity
#143 base: add optional list of system packages to install craft-providers merged Merged #143, adding an optional system-packages list to BuilddBase so bases can install additional system packages.
74%
#2689 schema: build-base support for the snapd type snapcraft merged Merged PR #2689 added schema support for using build-base with snapd and base snap types.
72%
#65 fix: add snapd to literal list craft-platforms merged PR #65 merged (merge commit d333fae) adding "snapd" to the acceptable snap types for empty bases; SNAP_TYPES_WITHOUT_BASE is now ("base", "kernel", "snapd") in craft_platforms/snap/_build.py.
71%
#252 snap_installer: move snap pydantic model craft-providers merged Merged PR #252 in commit 0791361, moving the Snap Pydantic model so it can be used across multiple bases.
70%