Renaming communitheme snap soon to a new name

We are close to reach a conclusion on the communitheme snap for a definitive name.

For that, we need:

  • transition people using communitheme snap on 18.04 to the new snap name
  • have them using a dedicated “bionic” channel instead of latest.

What’s the process to achieve this? We have more than 17k snap installation, which will be a lot to ask for migrating and the snap doesn’t have any plug right now, as it’s simply a theme shipping some files, to prompt for anything.

2 Likes

See here for more on that, there’s no method, currently, of automatically migrating people from one snap to another (even for a mere rename). @jdstrand suggested (in lieu of this experience being improved on snapd/store’s side):

I’m not aware of a method for moving people from one track to another either, though, again, I suppose a zenity dialogue could request that people do so.

The snap doesn’t have any binary and associated plugs. Also, it’s arch:all/ I don’t think that adding commands for that + plugs isn’t something suitable, would it be?

My suggestion would be to try to achieve this from the outside. The commuitheme integration on the host should remove the old snap and install the new snap. Devil is in the details obviously. Perhaps do this in phases, move people over to the new snap first (install the new snap) and then think when would be the best time to remove the old snap. Remember that everyone installing Ubuntu 18.04, before they upgrade, will stick to the old name.

yeah, that was something that I had in mind, thanks for confirming! Is there any example or guidance on installing the snap from a deb, knowing that it may be an offline installation (so can’t snap install from a postinst script)?

Also, has the debian package (ubuntu-session) conditionnally starting it is installed on everyone’s system (seeded package), we don’t want to suddently ship communitheme-new-name to them, but only to people who had communitheme snap installed beforehand, which was optional.

I don’t know of any such system yet. It feels like you want to check which snaps are installed, then if the old name is available install the new name. This has to be re-tried until it succeeds (when the machine is online). I don’t know of a simple way of doing all of that.

Yeah, basically what I thought as well. Let’s see how we can do that easily (maybe shipping the signed snap as part of the deb package for a first install, and configuring a channel to follow).
Would that be sane? Can we configure a channel to follow for snapd while being offline from the CLI?