Need to build stable kernel snaps with build-base:core24
Metadata
Current evaluation
Closed as no longer relevant. The core24 base is now stable, resolving the original constraint that prevented using build-base: core24 for stable kernel snaps. No code changes were required.
Suggested action: —
No scores available.
Issue body
### Bug Description
I am building stable kernel snaps for 24-hwe track for Mantic.
I have tried using `build-base: core24` and `build-base: devel`.
`build-base: core24` is not recognised, as there is no dictionary key for it. Can it please be mapped to devel?
```
File "/snap/snapcraft/9362/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 537, in _run_in_provider
build_base = providers.SNAPCRAFT_BASE_TO_PROVIDER_BASE[snapcraft_base]
KeyError: 'core24'
```
`build-base: devel` requires `grade: devel` meaning I will not be able to promote mantic kernel snaps to 24-hwe/stable, and thus will unable to build Desktop Images using it
### To Reproduce
Use pc-kernel snapcraft.yaml from jammy, try building it with `build-base: core24` or `build-base: devel` whilst having grade set to stable.
### Environment
Ubuntu
### snapcraft.yaml
```shell
name: pc-kernel
adopt-info: kernel
grade: devel
summary: generic linux kernel
description: The generic Ubuntu kernel package as a snap
type: kernel
confinement: strict
build-base: devel
architectures:
- amd64
- arm64
parts:
kernel:
source: https://git.launchpad.net/~canonical-kernel-snaps/+git/kernel-snaps-uc24
source-type: git
source-branch: main
plugin: nil
override-pull: |
snapcraftctl pull
snapcraftctl set-version "$(apt show linux-image-uc-generic 2>/dev/null | sed -n 's/^Version: //p' | head -n1)"
build-packages:
- kmod
stage-packages:
- linux-image-uc-generic
organize:
boot: ./
lib/firmware: firmware
lib/modules: modules
usr/share/doc: doc
override-build: |
mv "$SNAPCRAFT_PART_INSTALL"/boot/kernel.efi-* "$SNAPCRAFT_PART_INSTALL"/boot/kernel.efi
# Update depmod
depmod -b "$SNAPCRAFT_PART_INSTALL" $(basename "$SNAPCRAFT_PART_INSTALL"/lib/modules/*)
# Trim firmware
"$SNAPCRAFT_PART_SRC"/trim-firmware "$SNAPCRAFT_PART_INSTALL"/lib
snapcraftctl build
```
### Relevant log output
```shell
Bad snapcraft.yaml content:
- grade must be 'devel' when build-base is 'devel'
Full execution log: '/home/xnox/.local/state/snapcraft/log/snapcraft-20230717-222251.915806.log'
Traceback (most recent call last):
File "/snap/snapcraft/9362/bin/snapcraft", line 8, in <module>
sys.exit(run())
File "/snap/snapcraft/9362/lib/python3.8/site-packages/snapcraft/cli.py", line 255, in run
_run_dispatcher(dispatcher, global_args)
File "/snap/snapcraft/9362/lib/python3.8/site-packages/snapcraft/cli.py", line 228, in _run_dispatcher
dispatcher.run()
File "/snap/snapcraft/9362/lib/python3.8/site-packages/craft_cli/dispatcher.py", line 448, in run
return self._loaded_command.run(self._parsed_command_args)
File "/snap/snapcraft/9362/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 265, in run
super().run(parsed_args)
File "/snap/snapcraft/9362/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 138, in run
parts_lifecycle.run(self.name, parsed_args)
File "/snap/snapcraft/9362/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 216, in run
_run_command(
File "/snap/snapcraft/9362/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 262, in _run_command
_run_in_provider(project, command_name, parsed_args)
File "/snap/snapcraft/9362/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 537, in _run_in_provider
build_base = providers.SNAPCRAFT_BASE_TO_PROVIDER_BASE[snapcraft_base]
KeyError: 'core24'
```
### Additional context
_No response_
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Closed as no longer relevant. The core24 base is now stable, resolving the original constraint that prevented using build-base: core24 for stable kernel snaps. No code changes were required. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed as no longer relevant. Maintainer confirmed that building core24 kernel snaps prior to core24 release is no longer required, resolving the workflow constraint without a code change. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed as no longer relevant. Core24 has since been released, rendering the pre-release build-base constraint obsolete. The request to support stable kernel snaps with core24 is no longer applicable. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed as no longer relevant. Core24 has since reached stable release, removing the need to build kernel snaps with pre-release bases and resolving the build-base restriction. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed as no longer relevant. Core24 has been released, removing the need to build kernel snaps with build-base:core24 prior to stable launch. The original grade restriction is obsolete. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #1819 build(snap): update snap to core24 | charmcraft | closed | Snap core24 build updates were closed without merging. No reviews or CI checks were completed, and the changes were abandoned. | |
| #4734 feat: drop `build-base: devel` requirement for core24 | snapcraft | merged | Merged after two approvals and passing CI. Removes the build-base: devel requirement for core24 snaps, modifying 67 files with a net reduction of 80 lines. | |
| #1857019 cannot build snapd snap with build-base: core w/o base: core | snapcraft (launchpad) | closed | Closed without resolution or comments. The snapcraft TypeError when using build-base: core without base: core remains unresolved. | |
| #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. |