core: setup core to support classic confinement.
Metadata
Current evaluation
Merged PR #1112 (49b39ef9a) added SNAPCRAFT_SETUP_CORE, fetching and unsquashing core into expected paths for classic-confinement builds on non-Snappy CI hosts.
Resolution: closed resolved
Reason: PR #1112 was approved and merged as commit 49b39ef9a, implementing classic-confinement core setup. Docker support for the new variable followed in PR #1576 (338278005).
Evaluated by: mr-cal-bot
No scores available.
Issue body
When doing ci, most systems won't have /snap/core/current as they
are not snappy capable. The work here allows for one to export
SNAPCRAFT_SETUP_CORE to get the core snap and unsquash it
onto the expected locations.
LP: #1662351
Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1112 (49b39ef9a) added SNAPCRAFT_SETUP_CORE, fetching and unsquashing core into expected paths for classic-confinement builds on non-Snappy CI hosts. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1112 (49b39ef9a), adding SNAPCRAFT_SETUP_CORE to fetch and unsquash the core snap into expected locations, enabling classic-confinement builds on non-Snappy CI systems. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged after CI fixes and reviewer approval. Introduces SNAPCRAFT_SETUP_CORE environment variable support to manually unpack the core snap, enabling classic confinement on systems lacking /snap/core/current. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after review and test fixes. Adds SNAPCRAFT_SETUP_CORE env var support to manually extract the core snap, enabling classic confinement setup for CI environments lacking /snap/core/current. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#940
(confidence 96%)
The author identified merged PR #940 as a branch dependency before #1112 was approved.
-
Related To:
snapcraft#1576
(confidence 94%)
Follow-up Docker integration added the SNAPCRAFT_SETUP_CORE environment variable in commit 338278005.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1662351 Support ci builds when classic confinement is set | snapcraft (launchpad) | closed | Classic-confinement CI support was implemented by provisioning the base core in snapcore/snapcraft PR #1112, commit 49b39ef9a. | |
| #1576 docker: add the environment variable to setup core | snapcraft | merged | Merged #1576 in commit 338278005, adding SNAPCRAFT_SETUP_CORE to the Dockerfile so classic-confinement builds run without manual core setup. | |
| #1090 core: classic with no exported variables. | snapcraft | closed | Closed unmerged and superseded by snapcraft#1093, which implemented the classic-confinement fix in commit e7824093f for LP #1657504. | |
| #1094 core: switch to using rpath for clasic confinement. | snapcraft | merged | Merged PR #1094 (commit e174e46e6) switched core classic confinement from RUNPATH to RPATH, addressing LP #1657504. | |
| #1647422 Support classic confinement | snapcraft (launchpad) | closed | Classic confinement support was implemented and merged in snapcore/snapcraft#946 via commit 97af16ffe, resolving launchpad/snapcraft#1647422. | |
| #1801 lifecycle: detect docker to auto setup core | snapcraft | merged | Merged PR snapcore/snapcraft#1801 (commit 8d32a835d), adding Docker detection to automatically set up core for classic-confinement projects. | |
| #1025 project loader: better error message for classic | snapcraft | merged | Merged PR #1025 as commit bfe41e68c, clarifying the project-loader error when classic confinement requires a core snap that is missing. | |
| #1791938 Support classic when using bases | snapcraft (launchpad) | closed | Classic confinement with base was implemented by merged PR snapcore/snapcraft#2261, commit 8096c17b3, which injects the base into classic builds. | |
| #1650946 unhelpful error when building a classic snap: classic confinement requires the core_dynamic_linker to be set | snapcraft (launchpad) | closed | Resolved: the cryptic "classic confinement requires the core_dynamic_linker to be set" error was fixed by snapcore/snapcraft PR #1025 (better diagnostic) and PR #1112 / commit 49b39ef9a, which auto-installs/unpacks the core snap; Launchpad builds snapcraft 2.27+ via LP: #1650946. | |
| #2520 snap: set core as a base | snapcraft | merged | Merged PR #2520 as commit ed57b4bbf, setting Snapcraft's own snap base to core so it could use functionality from Craft 3.x. |