← Back to issue list

Unwanted staged dependencies when building with a `core26` base

View original Github issue

Metadata

Project
snapcraft
Number
#6148
Type
issue
State
closed
Author
nicoharnois
Labels
Status: Triaged Type: Bug
Created
Updated
Closed

Current evaluation

Fixed by craft-parts #1538 (49a8824c), adding Chisel manifest parsing for core26 package filtering; released on edge and scheduled for Snapcraft 9.0.

Resolution: closed resolved

Reason: Resolved by craft-parts PR #1538, commit 49a8824c, which reads core26's Chisel manifest when dpkg.list is absent. Maintainer mr-cal confirmed the fix reached edge and was due in Snapcraft 9.0.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### Check existing issues - [x] I've verified that this bug isn't described by any existing issues. ### Bug description While upgrading the [upower snap](https://github.com/canonical/upower-snap) for Ubuntu Core 26, I have noticed that some packages, such as libc, are pulled as dependencies for the only staged package (libgudev-1.0-0), which then triggers a lots of linter warnings. ``` Lint warnings: - classic: usr/bin/upower: ELF interpreter should be set to '/snap/upower/current/usr/lib64/ld-linux-x86-64.so.2'. (https://documentation.ubuntu.com/snapcraft/stable/how-to/debugging/use-the-classic-linter) - classic: usr/bin/upower: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu'. (https://documentation.ubuntu.com/snapcraft/stable/how-to/debugging/use-the-classic-linter) - classic: usr/lib/x86_64-linux-gnu/gconv/ANSI_X3.110.so: ELF rpath should be set to '$ORIGIN/..'. (https://documentation.ubuntu.com/snapcraft/stable/how-to/debugging/use-the-classic-linter) ``` I would not expect libc to be needed here, as the default version in resolute is high enough (libc 2.43, which is >= 2.38, the requested dependency). I checked by launching a minimal resolute LXC container, and running apt install libgudev-1.0-0, and no additional dependency is pulled. When crafting (with the same snapcraft version) the snap with a core24 base, the parts/upower/stage folder contains only the expected staged package: libgudev-1.0-0. ### Steps to reproduce Clone [upower-snap](https://github.com/canonical/upower-snap), checkout the snap-26 branch, and apply commits for this [PR](https://github.com/canonical/upower-snap/pull/10) if not yet merged. Build with snapcraft 8.14.4 and observe the linter warnings, and staged packages. You can compare with the snap-24 branch. ### Environment Using LXD to build, host OS is Ubuntu 24.04. ### snapcraft.yaml ```yaml ``` ### Log output ```shell ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Fixed by craft-parts #1538 (49a8824c), adding Chisel manifest parsing for core26 package filtering; released on edge and scheduled for Snapcraft 9.0.
stealth/space-bunny-alpha — closed resolved core26 staged dependencies were fixed by updating stage-package filtering; maintainer @mr-cal announced rollout to edge and Snapcraft 9.0.
stealth/space-bunny-alpha — closed resolved Unwanted core26 staged dependencies were fixed in a Snapcraft stage-package filtering update announced for edge and Snapcraft 9.0.
qwen/qwen3.6-35b-a3b — — Fixed unwanted staged dependencies when building with a core26 base. The root cause was a missing dpkg.list file preventing package cleanup. The fix was released to the edge channel and scheduled for version 9.0.
qwen/qwen3.6-35b-a3b — — Fixed unwanted staged dependencies when building with a core26 base. The root cause was a missing dpkg.list file preventing staged package cleanup. The fix was merged and released in Snapcraft 9.0.
qwen/qwen3.6-35b-a3b — — Resolved by fixing the missing dpkg.list file in core26 that blocked staged package cleanup. The fix was released to the edge channel and included in Snapcraft 9.0.
qwen3.6-35b-a3b-mtp-q6 — — Fixed. Core26 lacked the dpkg.list file required to clean staged packages, causing unwanted dependencies. The fix was merged and released to the edge channel, with a stable release scheduled for version 9.0.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/craft-parts#1538 (confidence 99%)

    Commit 49a8824c added parsing of core26's Chisel manifest for package filtering.

  • Related To: snapcraft#6146 (confidence 98%)

    The maintainer identified both issues as having the same missing core26 dpkg.list root cause.

Related issues

Issue Project State Summary Similarity
#6248 core26 doesn't stage all dependencies of `stage-packages` snapcraft closed Not a Snapcraft bug: the missing stage-packages deps (libunbound8, libevent-2.1t64) came from a faulty chisel manifest in the core26 base, fixed upstream in canonical/core-base#443; issue closed.
80%
#5767 feat: add support for core26 (#5677) snapcraft merged Merged core26 support into Snapcraft, adding base recognition and unit-test coverage; core26 initially required build-base: devel.
72%
#6146 `base: core26` part conflict on `/lib`, `/bin` due to usrmerge snapcraft closed Fixed the core26 /bin and /lib part conflict caused by missing dpkg.list base-package cleanup metadata; the correction shipped to edge and was scheduled for Snapcraft 9.0.
72%
#1538 feat(packages/deb): parse chisel manifests craft-parts merged Merged #1538 as 49a8824c, adding Chisel manifest parsing so stage-packages are filtered correctly for the chiseled Core 26 base.
70%