← Back to issue list

Need to build stable kernel snaps with build-base:core24

View original Github issue

Metadata

Project
snapcraft
Number
#4283
Type
issue
State
closed
Author
xnox
Labels
Created
Updated
Closed

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.
73%
#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.
73%
#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.
70%
#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.
70%
#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.
70%