← Back to issue list

Install base snap if declared as `build-base`

View original Github issue

Metadata

Project
snapcraft
Number
#4983
Type
issue
State
closed
Author
dilyn-corner
Labels
Status: Triaged Type: Enhancement
Created
Updated
Closed

Current evaluation

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.

Resolution: closed stale

Reason: mr-cal closed it in Jan 2026 stating that with base/build-base restrictions (#4878) the time to consider installing a base/build-base would be when interim kernel snap bases are supported; no code changed it. The reporter replied 'Fair enough!' having worked around the issue, and the tracking ticket CRAFT-3265 was only filed, not implemented.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done A base snap, when declared as the `build-base` for a snap, should be installed in the build environment as it is with regular bases declared as `base: coreXX`. I would only expect this installation to occur just in case the build-base snap actually exists. For instance, `devel` is a special case, where that base only *sometimes* exists (currently `devel` is 24.10, but that base doesn't exist (and won't). Likewise, this should not apply to interim releases in general (as those will one day be supported for kernel snaps). ### Why it needs to get done As the `build-base` defines a build-time environment, it arguably makes *more* sense that the `build-base` is installed than the `base`. Indeed, kernel snaps are only ever built with a `build-base`, and installing the build-base into the environment will improve support for e.g. the new initrd plugin (which copies `/etc/os-release` from the build-base).

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed stale 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.
stealth/space-bunny-alpha — closed stale Closed without implementation after base/build-base restrictions made it obsolete; installation was deferred until interim kernel-snap base support (#4878).
stealth/space-bunny-alpha — closed stale Closed unimplemented after the author found a workaround; installing build-base was deferred until interim kernel-snap bases are supported in snapcraft#4878.
stealth/space-bunny-alpha — closed stale Enhancement closed unimplemented: mr-cal said base/build-base restrictions (#4878/#4879) made it moot, deferring build-base installation until interim kernel bases are supported. Author agreed (CRAFT-3265).
stealth/space-bunny-alpha — closed superseded Closed unimplemented: mr-cal deferred installing build-base until interim kernel-snap bases land in snapcraft#4878; author dilyn-corner agreed, having worked around it. Tracked internally as CRAFT-3265.
stealth/space-bunny-alpha — closed stale Closed without implementation after the author implemented a workaround; installing build-base was deferred until interim kernel-snap bases are supported under snapcraft#4878.
qwen/qwen3.6-35b-a3b — — 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.
qwen/qwen3.6-35b-a3b — — Superseded by base/build-base combination restrictions (#4878). The enhancement is unnecessary; the author acknowledged the change and implemented a workaround.
qwen/qwen3.6-35b-a3b — — Closed as abandoned. The enhancement was deemed moot due to upcoming base/build-base combination restrictions (#4878). The author agreed and implemented a workaround instead.
qwen3.6-35b-a3b-mtp-q6 — — Superseded pending #4878 base and build-base combination restrictions. Maintainers will revisit base installation logic when implementing interim base support for kernel snaps. Author acknowledged and implemented a workaround.

Update history

No update history recorded yet.

Related work

  • Blocked By: canonical/snapcraft#4878 (confidence 88%)

    Maintainer deferred the change until interim ubuntu@<series> bases are supported for kernel snaps; this issue is still open.

  • Superseded By: canonical/snapcraft#4879 (confidence 70%)

    Referenced as making the request 'moot' by defining base/build-base behavior; #4879 itself was later closed as outdated.

  • Related To: canonical/snapcraft#4868 (confidence 60%)

    Fixes by merged PR #4914, which added interim kernel-snap bases (the feature that would require special build-base install handling).

Related issues

Issue Project State Summary Similarity
#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.
78%
#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.
74%
#4914 feat: allow interim bases for kernel snaps snapcraft merged Merged PR #4914 added interim base/build-base support for kernel snaps, updated documentation and spread tests, and fixed #4868.
74%
#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.
73%
#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%
#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.
71%
#2623 build environment: detect base type and use name snapcraft merged Merged #2623, adding build-base support so snaps with type: base use build-base or name to select their build environment.
71%
#1819196 support for build-base snapcraft (launchpad) closed Build-base support was implemented in Snapcraft commit 5dea8acba; Launchpad stable revision r19009 added remote support, and eligible snap types were confirmed working.
70%