Migrating cybersecurity program and dependencies to snap

I don’t think System Files is limited to /etc, you’d probably be able to use it with /var all the same.

By itself, classic just means running outside of any sandbox, meaning the snap has the same permissions as the user running it, rather than dropping a load of permissions as a strict snap would.

By store policy, this is usually things like build systems, compilers, IDE’s, etc.

There’s technical reasons that go along with it; using classic is essentially binary patching your executables to use the snaps specific runtime environment. Some specific executables might not respond to this as well as others. And in terms of specific programs, you might end up having a situation where e.g it’s easier to use a layout to redirect a folder than it is to recompile the program to look elsewhere. A lot of these are case-by-case however.

Fundamentally though, outside of technical reasons, the store policy is that classic snaps must fit in one of the supported categories here.

But again, that’s only for distributing on the snap store. If youre happy for people to download manually and install with --dangerous, there’s nothing technically stopping you from building a classic snap and just hosting the file on Github, aside from the user experience of doing so.

I’d recommend if you are trying with strict confinement (which you should be, since trying strict first and failing is one of the checks before granting classic), to install the snappy-debug snap, run it in the background via terminal as you run your snap, and it’ll capture permissions related problems and give feedback for you.

2 Likes