* interfaces: add a "private" attribute to the shared-memory interface
* interfaces: forbid mixing private and non private shared-memory plugs/slots on a snap
* interfaces: add mount entries for private shared-memory plugs
* cmd/snap-update-ns: set permissions for private shared-memory directory
* tests: update test-snapd-policy-app-consumer:shared-memory plug definition
* interfaces: BeforePrepareSlot is not called on implicit slots, so don't try to do anything there.
* interfaces/builtin: update shared-memory base declaration
* interfaces, cmd/snap-update-ns: allow writing to /dev/shm
* tests: add a test for private /dev/shm support
* interfaces: small fixes from review feedback
* tests: update description of spread test
* interfaces: fix typo mentioned in review
* many: use slot-snap-id to constraint shared-memory slot installation
this makes --dangerous install work while blocking actually app slots
not allowed by the store
* interfaces/policy: test that core and snapd snaps can provide a shared-memory slot
* interfaces/policy: add tests for shared-memory interface connection
* interfaces/policy: check shared-memory auto-connect behaviour of base declaration
* interfaces, tests: if /dev/shm is a symlink, refuse to connect a private shared-memory plug
Co-authored-by: Samuele Pedroni <pedronis@lucediurna.net>