So there's a decades-old mechanism (and actual standard) how programs lock serial ports on unix-like systems in /var/lock. it's used in practice even in 2025 and #systemd >= 258 simply breaks it with "we don't care". I am not a systemd opponent, but that kind of behaviour [without a prior community-wide discussion or providing patches for known-affected projects and a grace period] is just alienating users and developers https://github.com/systemd/systemd/issues/38563https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1110980#systemd#debian
@LaF0rge That said, I know that at least on Linux serial devices can be locked directly via the API and without creating lock files anywhere. I guess it comes down to what systemd actually wants with serial devices. At first blush, it seems that there's no reason whatsoever to touch them. But that never kept the systemd people from touching stuff they have no purpose touching in the past so... 🤷
@LaF0rge@hanshuebner Or if you're going to break things ecosystem-wide, at very least announce it well enough in advance so that the concerned projects can update, like usually done with deprecations.
@LaF0rge While I'm in the systemd haters camp, I also tend to acknowledge that the older the legacy gets, the smaller the fun becomes when implementing things in the operating system space. It is hardly fair to tell those who love contributing today that they have to support all the crap that we've learned and lost on the way here.
@hanshuebner if it was a kernel ABI, it would also not be broken. I regret that the same "dont break existing applications" rule does not apply for core parts of userspace infrastructure. Yes, it is annoying to keep compatibility. But IMHO it is a matter of professional pride and courtesy to consider even minority users. In #osmocom we have a rule that old apps always need to work with new libraries. Period. Sure, we only have 17 years of legacy so far, and it's a small community. But still.