← Back to issue list

core: setup core to support classic confinement.

View original Github issue

Metadata

Project
snapcraft
Number
#1112
Type
pull request
State
merged
Author
sergiusens
Labels
—
Created
Updated
Closed

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.
82%
#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.
81%
#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.
78%
#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.
77%
#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.
76%
#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.
75%
#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.
73%
#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.
72%
#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.
72%
#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.
72%