I am creating a snap for a computer emulator built on SDL2.
I get a strange error via snappy which I do not understand at all.
Adding hardware-observe
fixes it, but I am not sure what and why it is doing it.
Log: apparmor=“ALLOWED” operation=“open” class=“file” profile=“snap.applewin.applewin” name=“/run/udev/data/c241:1” pid=43202 comm=“sa2” requested_mask=“r” denied_mask=“r” fsuid=1000 ouid=0
File: /run/udev/data/c241:1 (read)
Suggestions:
- adjust program to use $SNAP_DATA
- adjust program to use /run/shm/snap.$SNAP_NAME.*
- adjust program to use /run/snap.$SNAP_NAME.*
- adjust snap to use snap layouts (Snap layouts)
- add ‘hardware-observe’ to ‘plugs’
Can anybody help?
You can found those info about interface at snapd source code.
That’s a lot of apparmor rules.
Thank you.
I have figured out that this comes from network usage.
# Needed for udevadm
/run/udev/data/** r,
network netlink raw,
And if I disable networking, it does not trigger.
I have added the network
and network-bind
plugs, but this is still not enough.
Moreover, is it possible to run my app normally (not as a snap, so I can debug it), while still triggering these warnings?
It would be a lot easier to see exactly which line causes the hardware-observe
to be needed.
Regards
Since those warnings are triggerd by apparmor, evevry snap pack’s apparmor file is stored in /var/lib/snapd/apparmor/profiles/
Maybe you can try write your own apparmor file from what snapd provided, and run you app normally.