Ubuntu MATE Welcome and Boutique as snaps?

Hi all,

The Ubuntu MATE developers have been discussing the idea of shipping Ubuntu MATE Welcome and the Ubuntu MATE Software Boutique as snaps. Ubuntu MATE Welcome is currently published in the apt archive but the Software Boutique is not. Given that both applications can install software via from the apt archive and snap store they would both need to be classic snaps.

@jdstrand @sergiusens @robert.ancell Can you see any obstacles in creating snaps of these applications, given their use case? In particular installing/removing software via PackageKit and snapd-glib?

@slangasek @laney Are you open to me creating a merge proposal to add support for installing classic snaps using the same approach that was added in 17.10 for strict snaps?

@niemeyer One potential blocker I can see is that snaps do not currently execute from the live image. Ubuntu MATE Welcome provides pre-install documentation and currently adapts what is presented to the user if it detects it is running from the live image. Ubuntu MATE Welcome currently auto-starts when a user logs in to the live session desktop.

pulsemixer is already shipped in the Ubuntu MATE image since 17.10 and this is what happens if you attempt to run it from the live image:

$ pulsemixer 
snap-confine has elevated permissions and is not confined but should be. Refusing to continue to avoid permission escalation attacks

I have a bug filed for the live image issue

1 Like

Great question @Wimpress. We were prepping to snap welcome (the budgie version) as well.

1 Like

Hi Martin,

@slangasek @laney Are you open to me creating a merge proposal to add support for installing classic snaps using the same approach that was added in 17.10 for strict snaps?

Certainly; it’s on our backlog for this cycle, but patches welcome.

I would advise implementing this by modifying the preinstall_snaps() function in livecd-rootfs to take the confinement mode as an annotation on the snap name.

Since you said that these snap have to be classic snaps, I see no technical limitation.

The process for handling installer snaps is still TBD though. From https://forum.snapcraft.io/t/classic-confinement-for-yarn/2686/4:

“Regardless of the answer to that, I’d like to get a definitive answer on this sort of snap. @niemeyer - can you comment? If we want to accept these sort of snaps, are there guidelines we can follow to help protect users and the store’s reputation?”

1 Like

I’d actually wait a few days - this will be covered by my work to
support seeding of snaps. If you want to be the first ‘customer’ of
that once it’s in place, you’d be most welcome.

(The first iteration of the patches didn’t support seeding of classic
snaps but I’m working on that right now.)

1 Like

@laney Sign me up as customer zero. I’d like to ship the micro snap (also classic) in Ubuntu MATE. So let me know when you’re ready.

Waiting for @cjwatson to review now, shouldn’t be too much longer - depending on how large the changes I need to make are, and whether it works first time. :slight_smile:

1 Like

@laney Standing by… :slight_smile:

OK, it’s in bionic now. In a seed you can add snap:somesnap, or snap:somesnap/classic. No need to regenerate any packages or anything. Slight caveat: AIUI you need to wait for https://people.canonical.com/~ubuntu-archive/seeds/ to show your seeds before germinate will see them, so do check before you trigger a build. They’re updated every 5 minutes from bzr so it shouldn’t be too much of a burden.

Let me know how you get on.