← 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 obsolete after core24 became stable; Snapcraft now maps build-base core24 to Noble, removing the pre-release blocker for stable kernel snaps.

Resolution: closed stale

Reason: A maintainer closed the report as no longer relevant once core24 shipped. Commit a9e12f622 (PR #4532) added the core24-to-Noble provider mapping, so the former prerelease limitation no longer applies.

Evaluated by: mr-cal-bot

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
stealth/space-bunny-alpha — closed stale Closed as obsolete after core24 became stable; Snapcraft now maps build-base core24 to Noble, removing the pre-release blocker for stable kernel snaps.
stealth/space-bunny-alpha — closed stale Closed as obsolete after core24 became stable; Snapcraft now maps build-base core24 to Noble, removing the pre-release blocker for stable kernel snaps.
stealth/space-bunny-alpha — closed resolved Core24 gained stable-grade support in #4734 (aed002bbe), removing its devel-only requirement; the obsolete report was later closed.
stealth/space-bunny-alpha — closed stale Closed as obsolete after core24 became stable; Snapcraft now maps build-base core24 to Noble, removing the pre-release blocker for stable kernel snaps.
stealth/space-bunny-alpha — closed not a bug Closed as obsolete after core24 became stable, removing the pre-release limitation that blocked build-base: core24 for stable kernel snaps.
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.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/snapcraft#4532 (confidence 95%)

    Commit a9e12f622 added the core24 provider mapping that removes the reported KeyError.

Related issues

Issue Project State Summary Similarity
#1839604 build-base seems broken snapcraft (launchpad) open Closed as implemented: current Snapcraft supports `base: bare` with a required `build-base`, including core22/core24/core26, and documents the configuration.
72%
#1835532 snapcraft behavior for type: base snapcraft (launchpad) closed Implemented build-base support for base snaps; the proposed branch successfully built core20 using core18 before the issue was closed.
72%
#2054099 snapcraft (edge) fails to build core24 snaps. Running "apt update" within base container fails snapcraft (launchpad) open Edge Snapcraft could not build core24 snaps because apt in the Noble buildd image could not resolve ftpmaster.internal; reproduced and escalated upstream, with no resolution recorded.
72%
#4519 Use `core24` buildd daily image snapcraft closed Core24 buildd daily support was merged in snapcraft#4532 (a9e12f622), so build-base: devel now uses that image without changing snapcraft.yaml.
72%
#1862256 snapcraft should complain loudly when building base: core20 snap on i386 snapcraft (launchpad) closed Closed as superseded: improved architecture parsing rejects unsupported core20/i386 builds, making a dedicated check unnecessary; snapcraft#4392 improved this handling.
71%