lxd: Inject snapcraft and core snaps into the container
Metadata
Current evaluation
Merged PR #1364 as 99f5598ac, injecting the host's Snapcraft and core snaps into LXD containers so builds no longer use a mismatched Xenial archive version.
Resolution: closed resolved
Reason: The approved PR was merged in commit 99f5598ac. It injects the host's Snapcraft and required core snaps into the LXD build container, preventing host/container version mismatches.
Evaluated by: mr-cal-bot
No scores available.
Issue body
When running snapcraft as a snap and building in a LXD container, currently snapcraft from the Xenial archives is used to do the actual build. This means a newer snap may be using an older snapcraft or vice versa. Therefore the same version that's already running on the host should be pushed into the container.
See also [the relevant forum discussion](https://forum.snapcraft.io/t/pushing-the-snapcraft-on-host-into-the-container/387).
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1364 as 99f5598ac, injecting the host's Snapcraft and core snaps into LXD containers so builds no longer use a mismatched Xenial archive version. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in canonical/snapcraft#1364 (99f5598ac), injecting host Snapcraft and core snaps into LXD containers to prevent version mismatches with the Xenial archive. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. Injects the host's snapcraft and core snaps into LXD containers to ensure build version consistency. Approved by one reviewer, modifying nine files with 360 additions and 46 deletions. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged: Injects the host's snapcraft and core snaps into LXD containers to ensure build environments match the host version, replacing outdated Xenial archive packages. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
snapcraft (launchpad)#1823511
(confidence 100%)
Launchpad bug requesting host Snapcraft and core snap injection was implemented by canonical/snapcraft#1364.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1412 lxd: snapcraft refresh in containers | snapcraft | merged | Merged PR #1412 as 3d511c5eb, making LXD container refresh install Snapcraft once while allowing packages and snaps to be updated in reusable containers. | |
| #1577 lxd: don't inject local snaps on a different arch | snapcraft | merged | Merged in snapcraft#1577 via commit 5cef61310, preventing incompatible local snaps from being injected into cross-architecture LXD builds and using store snaps instead. | |
| #1823511 Inject host's core* and snapcraft snaps when using --use-lxd | snapcraft (launchpad) | closed | Implemented via canonical/snapcraft PR #1364 (commit 99f5598ac), which injects the host's snapcraft and core* snaps into LXD build containers, matching Multipass behaviour. Closed 2020-05-26 as already released. | |
| #2222 lxd: support new style snap injection | snapcraft | merged | Merged in #2222 via commit 8acd203, adding new-style LXD snap handling, removing sudo-based injection, and consolidating duplicated tests. | |
| #1459 push deb snapcraft into container | snapcraft | closed | Closed without a documented implementation; related PR #1364 (99f5598ac) injected host Snapcraft and core snaps into LXD containers. | |
| #1739 lxd: refresh remote container | snapcraft | merged | Merged #1739 as 2f9265f23, fixing snapcraft refresh to honor the LXD remote named by SNAPCRAFT_CONTAINER_BUILDS instead of using a local container. | |
| #1788667 changes in snapd break lxd snap injection for cleanbuild | snapcraft (launchpad) | closed | snapd's 0600 perms on injected snaps broke LXD cleanbuild injection. Fixed by merged PR snapcore/snapcraft#2222 (commit b2bd6b776), adding new-style LXD snap injection; bug closed. | |
| #1716923 Installing core snap in container often fails | snapcraft (launchpad) | closed | Fixed by merged PR #1568 (commit 1bd531772), which stopped LXD container builds from re-injecting identical snaps. | |
| #1865 lxd: always (re-)injects snaps | snapcraft | merged | Merged PR #1865 as e99354492, fixing LP #1741752 by ensuring LXD re-injects required snaps when needed. | |
| #1585 lxd: pass SNAPCRAFT_PARTS_URI through into container | snapcraft | merged | Merged in canonical/snapcraft#1585 (13ea598d5), forwarding SNAPCRAFT_PARTS_URI into LXD containers so cleanbuild can resolve remote parts; fixes Launchpad #1719951. |