packaging icon indicating copy to clipboard operation
packaging copied to clipboard

snap: core20 (with ci)

Open maflcko opened this issue 8 months ago • 4 comments

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.

maflcko avatar Mar 24 '25 14:03 maflcko

... as well as a required switch to lxd in the CI.

Can you point to any documentation that states this requirement?

hebasto avatar Mar 24 '25 14:03 hebasto

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.

maflcko avatar Mar 24 '25 15:03 maflcko

Trivial ci-only force-push to restore the prior CI skeleton with snapcraft pull being separate. Should be trivial to re-review.

maflcko avatar Mar 25 '25 08:03 maflcko

Is this rfm, or does it need more review and testing?

maflcko avatar Apr 10 '25 17:04 maflcko

Does this have any effects on the launchpad builder that we use to actually push to the snap store?

achow101 avatar Apr 15 '25 01:04 achow101

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)
 [ ] ...

maflcko avatar Apr 15 '25 06:04 maflcko

ACK ebc7d2ea099040cd51c74bd2416437ad854fa148

achow101 avatar Apr 15 '25 23:04 achow101

Finally !!! @maflcko thanks you !!!!

EndrII avatar Apr 16 '25 06:04 EndrII