Classic confinement for ubuntu-watch-packages snap

As per request on the dashboard.snapcraft.io page I request permission to release ubuntu-watch-packages as a classic snap.

There are no technical reasons for requiring classic confinement. It’s just not something I have done before and I wasn’t aware strict was required.

What does this package do?

It watches specified packages, using rmadison in the ubuntu archive for transition between archive pockets.

Very useful when waiting for a package update to be published.

By default it watches for the ‘linux’ package in trusty, xenial and artful. It polls for new packages every 5 minutes.

Once a package is updated then a desktop notification is sent.

Thanks for the information! This seems like it would work just fine with strict mode (you should 'plugs: [ network, desktop, x11, wayland, unity7 ]` to start for maximum compatibility. Is this something you are willing to do?

1 Like

Yeah, +1 for strict mode, even more when the request self-evaluates as having no reason for classic. :grin:

1 Like

Thank you all. I now have a strict snap working [1] but I have one final blocker. That is reading in any config yaml passed to the application.

For example:

Running /snap/bin/ubuntu-watch-packages will read the dist-config.yaml shipped with the python package.

Running /snap/bin/ubuntu-watch-packages --config=myconfig.yaml Should read myconfig.yaml from the user’s current directory but understandably I get a permission denied error.

Is there a way around this without having to revert to classic confinement? I could use the “home” plug but I shouldn’t presume that the config passed is in the user’s home directory.

[1] https://github.com/philroche/ubuntu-watch-packages/blob/master/snap/snapcraft.yaml

I’ve decided to use the “home” plug and have added snap specific help text to inform user that when using snap the config file passed must be under $HOME.

1 Like

This is the standard way of handling it. Snaps are different from debs/etc. I suspect the common case is by far use in ‘home’, so it is easy enough to guide users towards that.

I’m going to mark this topic as ‘resolved’ since the snap no longer needs classic. Thanks for working on this!

I’ll also mention that this is an area that we’d like to improve. Some of that will come with the portals work that is upcoming for graphical applications, and on the roadmap are improvements to apparmor/kernel/snapd for contextual prompting.