stage-packages for classic snaps silently drop core20 snap debs
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.
Related branches
- Server Team CI bot: Approve (continuous-integration)
- Christian Ehrhardt : Approve
-
Diff: 27 lines (+5/-0)2 files modifiedsetup.py (+1/-0)
snap/snapcraft.yaml (+4/-0)
- Server Team CI bot: Approve (continuous-integration)
- Utkarsh Gupta: Approve
- git-ubuntu developers: Pending requested
-
Diff: 41 lines (+6/-2)3 files modifieddebian/control (+1/-0)
snap.sh (+4/-2)
snap/snapcraft.yaml (+1/-0)
description: | updated |
summary: |
- stage-packages for classic snaps silently drop core snap debs + stage-packages for classic snaps silently drop core20 snap debs |
Changed in snapcraft: | |
status: | New → Confirmed |
Changed in snapcraft: | |
importance: | Undecided → Low |
tags: | added: craft-467 |
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