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
@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.
“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?”
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.)
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.
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.