Removing content snap breaks a snap

Yes, “Duh”, removing a key component breaks another component. You may be thinking “That’s obvious”. However, there are users who are expecting the removal of one component to warn or remove other components which require it. Such as removing libx11 removing much of xorg, or removing libqt removing KDE packages.

Test case:

On a clean system, snap install snap-store which - on my snapd 2.41 system will pull in snapd, core18 and gnome-3-28-1804. Now snap remove gnome-3-28-1804. Forget about all this, and reboot your system, days later you try and run snap-store and nothing happens.

I’d expect to be warned that removal of the content snap this will break snap-store as a consumer of that content. Alternatively (or in addition) the next time snap-store is run, it (snapd) should notice that the content snap is missing and offer to re-download it, just like on a clean install.

Is there a plan to clean up this behaviour?

5 Likes

This is also reported as https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1664445

IMO, we should at least warn when removing the snap if there are content interface connections from the snap being removed to another snap, or if the snap being removed is providing a slot (like bluez, network-manager) that another snap is connected to.

1 Like