packaging
packaging copied to clipboard
snap: core20 (with ci)
The core18 builder is insufficient, now that glibc in the release builds was bumped (https://github.com/bitcoin/bitcoin/pull/29987).
Fix it by bumping to core20, because core18 is also deprecated and only available in the snapcraft 7.x track according to https://snapcraft.io/docs/base-snaps#core18.
The change comes with required fixups in the snapcraft.yaml.
This change also comes with a required switch to lxd in the CI. This is, because "For core20, Multipass is the default provider on all platforms.", according to https://canonical-snapcraft.readthedocs-hosted.com/en/latest/howto/select-a-build-provider/#core20-override-methods. However, multipass by default uses a QEMU KVM driver, according to https://canonical.com/multipass/docs/driver#p-74200-default-drivers. So just use lxd in the CI, as KVM isn't available.
... as well as a required switch to lxd in the CI.
Can you point to any documentation that states this requirement?
Can you point to any documentation that states this requirement?
Sure, I've updated the description. Let me know if there are any other questions or suggestions.
Trivial ci-only force-push to restore the prior CI skeleton with snapcraft pull being separate. Should be trivial to re-review.
Is this rfm, or does it need more review and testing?
Does this have any effects on the launchpad builder that we use to actually push to the snap store?
Does this have any effects on the launchpad builder that we use to actually push to the snap store?
I haven't tried it, so I can't promise anything, but I suspect that the existing docs are still applicable: https://github.com/bitcoin-core/packaging/blob/main/snap/local/build.md
If anything, this only changes the base, but this should be handled already correctly. I suspect the selection will look something like:
Series:
[x] Infer from snapcraft.yaml (recommended) (default)
[ ] ...
ACK ebc7d2ea099040cd51c74bd2416437ad854fa148
Finally !!! @maflcko thanks you !!!!