(fix): change rules to match systemd v258 onwards
This change is compatible with previous versions as well. See https://github.com/systemd/systemd/blob/781d9d0789379d1ea1f2ecefb804d41e9c8b6c38/NEWS#L22-L32
How is this backwards compatible with older versions?
Where is the documentation pointing to such a breaking change in systemd?
Okay, I see that your link in the commit points to the changelog. This doesn't indicate that anything breaks: We already use add|change - so check for both events that are mentioned.
I'll keep this open for consideration after v0.10 but I won't apply it to the development branch which will likely backport some commits to v0.9.x and thus potentially very old distributions.
Thanks.
How is this backwards compatible with older versions?
Hi, thanks for your prompt answer. I work closely with the systemd developers, and the current approach where people were using add is incorrect. With the current change, the issue arose on several applications, and we are trying to prevent further breakage. The != condition has always worked; it's =="add" that stopped working, but since we have "add|change", the correct approach is !="remove".
How is this backwards compatible with older versions?
Hi, thanks for your prompt answer. I work closely with the systemd developers, and the current approach where people were using
addis incorrect. With the current change, the issue arose on several applications, and we are trying to prevent further breakage. The!=condition has always worked; it's=="add"that stopped working, but since we have"add|change", the correct approach is!="remove".
Okay, thanks for clarification.
Is it safe to use with LTS distributions which ship (possibly much) older versions of systemd? If yes, I would consider it for merging now.
Yes, it's safe to use with LTS distros. At the functional level, ACTION!="remove" is only slightly different from ACTION=="add|change" in the fact that it will catch a couple more events, but that's not a problem for tagging devices with uaccess, which is where the change happens.
LTS distros will continue working as of now, but with better event handling and proper compatibility with systemd 258+ as well for newer distros.