← Back to issue list

feat: allow interim bases for kernel snaps

View original Github issue

Metadata

Project
snapcraft
Number
#4914
Type
pull request
State
merged
Author
mr-cal
Labels
Created
Updated
Closed

Current evaluation

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.

Suggested action:

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
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.
qwen3.6-35b-a3b-mtp-q6 Merged to enable interim bases for kernel snaps, updating documentation and tests. Resolves #4868. Deployed as a prototype with backward-incompatible changes and temporary type-checking, allowing teams to test kernel builds via the edge channel.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#5095 Support interim build bases for kernel snaps snapcraft closed Closed as a duplicate of issue #4878. The request to support interim kernel bases was superseded by the referenced tracking issue, which consolidates the feature requirements and platform dependencies.
80%
#4868 Allow specifying build-base in kernel snap snapcraft closed Implemented as a prototype in a feature branch via pull request #4914, enabling kernel snaps to specify build-bases using the standard cross-craft naming system.
75%
#4878 Support interim ubuntu releases for kernel snaps snapcraft open Enhancement to support interim Ubuntu releases (e.g. ubuntu@24.10) as build-bases for kernel snaps, backward compatibly. Triaged by maintainer; PoC PR #4914 merged but unusable as-is. Blockers #4921 and #5015 are now resolved. Not yet implemented in code.
73%
#6177 feat: allow building stable base snaps snapcraft closed Closed and superseded in favor of pull request #6147 and a separate branch for early core26 enablement. The feature to build stable base snaps was not merged directly but redirected to the referenced PR.
72%
#2700 schema: build-base support for the kernel type snapcraft merged Merged into master. Adds build-base schema support for kernel type snaps, noting they do not require a base until hooks are implemented. Included in the next release, with a reviewer noting a related dependency PR is also needed.
71%
#4983 Install base snap if declared as `build-base` snapcraft closed Closed as superseded. Base and build-base combination restrictions in #4878 render this enhancement moot. The author acknowledged the change and implemented a workaround. Implementation may be revisited for kernel snap interim base support.
70%
#2689 schema: build-base support for the snapd type snapcraft merged Merged into master. Implements build-base keyword support for the snapd snap type, enabling its construction. Approved by reviewer, passed CI, and updated four files.
70%