stage-packages for classic snaps silently drop core20 snap debs

Bug #1918999 reported by Robie Basak
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Snapcraft
Triaged
Low
Unassigned

Bug Description

I'm updating the git-ubuntu classic snap to be based on core20. In doing this, I'm building a deb, and then installing it using stage-packages. See bug 1918968 for a deeper explanation of this use case.

Expected: "stage-packages: [git-ubuntu]" ships all required dependencies in the snap.

Actual: packages already in the core20 snap are elided from the effective "stage-packages" list. Since this classic snap cannot make use of what is in the core20 snap safely, the result is a snap with missing dependencies.

Workaround: explicitly specify every single required dependency, recursively, that is also present in the core20 snap.

The list of packages to use for the workaround is tedious to determine.

To fix, maybe the eliding behaviour should be disabled for a classic snap, or able to be turned off with an option.

Tags: craft-467

Related branches

Robie Basak (racb)
description: updated
summary: - stage-packages for classic snaps silently drop core snap debs
+ stage-packages for classic snaps silently drop core20 snap debs
Revision history for this message
Sergio Schvezov (sergiusens) wrote :

core20 has a goal of being classic friendly for this not to be an issue, the alternative would be to include everything in the dependency tree except libc6

Changed in snapcraft:
status: New → Confirmed
Changed in snapcraft:
importance: Undecided → Low
Revision history for this message
Sergio Schvezov (sergiusens) wrote :

If you want to not depend on the base and build out of core20 you can set the following in snapcraft.yaml:

build-base: core20
base: bare

We have a bug to fix but is much more addressable that showing all packages skipped (which will be there once we have better logging).

Changed in snapcraft:
status: Confirmed → Triaged
tags: added: craft-467
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.