changes in snapd break lxd snap injection for cleanbuild
Metadata
Current evaluation
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.
Resolution: closed resolved
Reason: Maintainer sergiusens posted snapcore/snapcraft#2222, which was merged as commit b2bd6b776 ("lxd: support new style snap injection"), implementing support for snapd's new 0600 snap injection permissions in unprivileged LXD containers. The Launchpad bug was then closed.
Evaluated by: mr-cal-bot
No scores available.
Issue body
The permissions now set by snapd to the directory with snaps are now not sufficient to be able to inject snaps when using lxd as a provider given that lxd is running with unprivileged containers and the permissions are marked as 0600 for all snaps now
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | 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. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR canonical/snapcraft#2222, adding support for snapd's new snap-injection permissions in unprivileged LXD builds (commit b2bd6b776). | |
| stealth/space-bunny-alpha | — | closed stale | Closed without a recorded fix or follow-up after snapd’s 0600 snap permissions broke LXD snap injection for cleanbuild. | |
| qwen/qwen3.6-35b-a3b | — | — | Abandoned. snapd permission changes to 0600 broke LXD snap injection for cleanbuild in unprivileged containers. No fix or workaround was implemented. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. snapd permission changes to 0600 broke LXD snap injection for cleanbuild in unprivileged containers. No fix was implemented. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. snapd permission changes to 0600 broke LXD snap injection for cleanbuilds in unprivileged containers. No fix was implemented, indicating the issue was abandoned. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Abandoned. Snapd permission changes (0600) broke LXD snap injection for cleanbuilds in unprivileged containers. No fix was implemented. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
canonical/snapcraft#2222
(confidence 95%)
Merged PR referenced in both issue comments; commit b2bd6b776 closes the LXD new-style snap injection gap.
-
Related To:
canonical/snapcraft#2507
(confidence 45%)
Later build-provider rework ('improve handling in snap logic') removed the old sudo-based snap injection path this PR introduced.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #1364 lxd: Inject snapcraft and core snaps into the container | snapcraft | merged | 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. | |
| #1666735 snapcraft cleanbuild does not work with lxd installed via snap | snapcraft (launchpad) | closed | Fixed by merged canonical/snapcraft#1199 (commit 417989880), making cleanbuild LXD detection packaging-independent instead of relying on apt package metadata. | |
| #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. | |
| #1796980 Remove cleanbuild | snapcraft (launchpad) | closed | Merged snapcore/snapcraft#2335 as 27ec9ba63, removing LXD lifecycle builds for base-based snaps and making cleanbuild redundant for them. | |
| #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. | |
| #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. | |
| #1738210 container tests broken in travis when running from a snap | snapcraft (launchpad) | closed | Travis cleanbuild tests were fixed by running them in LXD, merged in snapcore/snapcraft#1807 (commit 70df69b9a). | |
| #2621 build providers: support injection for LXD | snapcraft | merged | Merged as d59622a81, adding LXD snap injection through snapd's file API, replacing mount-based injection with file pushes, and refactoring provider concerns. | |
| #1703344 snapcraft cleanbuild exits with a traceback when lxd is not installed | snapcraft (launchpad) | closed | Fixed cleanbuild’s traceback when LXD is absent by handling the missing lxc executable and reporting a clear error. Merged in snapcraft#1400. |