We deploy and run applications via the snap ecosystem on a number of Raspberry Pis. The underlying OS on these is Raspbian/Debian rather than Ubuntu Core, and this will probably not change in the near future.
For the snaps to run, we’ve found that both the
core18 base snaps need to be installed. This is because:
core18is set as the base in our snapcraft.yaml, since the code requires Python 3.6 (rather than 3.5, which is what
coresnap needs to be installed, since this provides all the actual interfaces (
core18does not). Without a core snap, interfaces like
network-binddon’t exist on the system at all - and any attempt by the application snap to bind to a port correspondingly fails.
I feel like issue #2 was discussed elsewhere some time ago, though I can’t find it right now. In any case, the symptoms look like this:
$ sudo snap connect <snap-name>:network-bind error: cannot resolve connection, slot snap name is empty
snap interfaces only shows plugs on the snap side, and no slots on the system side.
My question is as follows: is there any way to avoid installing both the
Perhaps there is another snap (besides
core) that can provide the interfaces/slots? It just seems somewhat inelegant and duplicative to require both base snaps. And on a practical level, it means that updates for both base snaps are being downloaded during refresh, which ends up eating up bandwidth in a constrained environment.
Thanks in advance for any suggestions!