feat: allow interim bases for kernel snaps
Metadata
Current evaluation
Merged PR #4914 added interim base/build-base support for kernel snaps, updated documentation and spread tests, and fixed #4868.
Resolution: closed resolved
Reason: PR #4914 was merged after approval, implementing kernel snap interim bases in commit dd924c747. Its merged changes explicitly fix #4868.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `tox run -m lint`?
- [x] Have you successfully run `tox run -e test-py310`? (supported versions: `py39`, `py310`, `py311`, `py312`)
-----
* Changes how kernel snaps define bases and build-bases.
* To understand the specific changes, see the updated documentation in this PR: [reference](https://canonical-snapcraft--4914.com.readthedocs.build/en/4914/reference/bases.html#kernel-snaps), [explanation](https://canonical-snapcraft--4914.com.readthedocs.build/en/4914/explanation/bases.html), and [how-to](https://canonical-snapcraft--4914.com.readthedocs.build/en/4914/howto/bases.html#how-to-build-a-kernel-snap)
* Reorganises the kernel spread tests per-base
Unfortunately there are no interim bases that can be tested locally. 23.10 is EOL this month and 24.10 is not supported due to #4921. 24.10 should be usable if built via launchpad.
This feature branch enables other teams to test building kernels. It can be installed with `snap install snapcraft --channel edge/kernel-snaps-with-bases`.
Note that this feature branch is a prototype and isn't ready to land on `main` for a few reasons:
- backward incompatible with existing kernel `snapcraft.yaml` files
- quick and dirty type-checking shortcuts that need to be cleaned up
Fixes #4868
(CRAFT-3046)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #4914 added interim base/build-base support for kernel snaps, updated documentation and spread tests, and fixed #4868. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #4914, adding interim kernel-snap bases, updating base/build-base documentation, and reorganising per-base spread tests. Prototype available on edge/kernel-snaps-with-bases; fixes #4868. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged after approval and CI checks. Adds interim base support for kernel snaps, updates documentation and tests, and resolves #4868. Changes how kernel snaps define bases and build-bases. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged to main, resolving #4868 by enabling interim bases for kernel snaps. The update reorganizes base definitions and tests, allowing kernel building via the edge channel. Despite initial prototype status and backward incompatibility, the feature was successfully integrated. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#4868
(confidence 100%)
The PR states "Fixes #4868," and that issue is closed as fixed by #4914.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #6426 feat: add build-base to kernel snaps | snapcraft | closed | Merged PR #6426 (commit dd924c747), adding build-base to kernel snap metadata so users can verify build-environment and target-system compatibility. | |
| #4868 Allow specifying build-base in kernel snap | snapcraft | closed | Kernel snaps gained configurable build-base support; merged PR #4914 fixed #4868 by adding interim kernel-snap bases and cross-craft-name documentation. | |
| #5095 Support interim build bases for kernel snaps | snapcraft | closed | Closed as a duplicate of canonical/snapcraft#4878, which tracks backward-compatible interim Ubuntu build bases for kernel snaps; no separate fix landed for #5095. | |
| #4983 Install base snap if declared as `build-base` | snapcraft | closed | Enhancement request to install a declared `build-base` snap into the build environment was closed without implementation; maintainer deferred it to interim-base kernel snap support (#4878), and the reporter agreed he had worked around it. | |
| #946 feat: enable interim bases | rockcraft | merged | Merged PR #946 via commit 6ff0c6c8, enabling interim-base support and adding Plucky and Questing bases with tests. | |
| #4878 Support interim ubuntu releases for kernel snaps | snapcraft | open | Triaged enhancement to let kernel snaps use interim build-bases such as ubuntu@24.10 with backward compatibility and an experimental warning; current validation still only accepts core24, core26, and devel. | |
| #4900 docs: add explanation, reference, and how to for bases | snapcraft | merged | PR merged as commit 91fa63c47, adding explanation, reference and how-to docs pages for bases/build-bases (+369 lines, 8 files) to support documenting kernel snap builds (CRAFT-3083). | |
| #2700 schema: build-base support for the kernel type | snapcraft | merged | Merged in #2700 as c360ffab6, adding build-base schema support for kernel snaps while allowing them to omit base until hooks exist. | |
| #971 docs: cover interim bases | rockcraft | merged | Merged as d89b2fff, adding documentation explaining Ubuntu interim bases and how to configure them, following interim-base support introduced in #946. | |
| #6177 feat: allow building stable base snaps | snapcraft | closed | Closed unmerged in favor of #6147 and a separate early-core26 branch; stable core26 support later merged in #6225 at df4418f67. |