The kernel folks want userspace to have a single arbitrator component for cgroups, and on systemd systems that is now systemd, and you cannot isolate this bit out of systemd.

I am pretty sure the Ubuntu guys don't even remotely understand the complexities of this.

Control groups of course are at the center of what a modern server needs to do.

The API systemd exposes is very systemd-specific

Of course, at that time a major part of the Linux ecosystem will already use the systemd APIs...

Basically the D-Bus daemon has been subsumed by systemd itself (and the kernel), and the logic cannot be reproduced without it. In fact, the logic even spills into the various daemons as they will start shipping systemd .busname and .service unit files rather than the old bus activation files if they want to be bus activatable.

Then, one of the most complex bits of the whole thing, which is the remarshalling service that translates old dbus1 messages to kdbus GVariant marshalling and back is a systemd socket service, so no chance to rip this out of systemd.

logind of course is one of the components of systemd where we explicitly documented that it is not a component you can rip out of systemd.

just a few months after Canonical did this, things are broken again, and this was to be expected: logind now uses the new cgroups userspace APIs

the Linux userspace plumbing layer is nowadays developed to a big part in the systemd source tree.

Note that logind, kdbus or the cgroup stuff is new technology, we didn't break anything by simply writing it. Hence we are not regressing, we are just adding new components that we believe are highly interesting to people

For us having a simple design and a simple code base is a lot more important than trying to accommodate for distros that want to combine everything with everything else.

I just hope you guys do it knowing what's at stake here.

Today I was pointed at a posting by Lennart Poettering , triggered by a debian mailinglist discussion, about ... uhm ... I'm not quite sure yet.So let me try to dissect the rather amusing post ...I'm not quite sure how to parse that, but maybe it means "we're lazy"Nice indirect insult, but ... cgroups are *not* complex. I'm quite sure I understood the general concept in the afternoon it took me to write the initial OpenRC support ...... what. No. A Server needs to serve (and protect? no wait, that's the wrong motto). CGroups are just one more technology that most sysadmins will ignore. There's nothing magic to it, it's about as difficult to use as ulimit is.Not sure if tautology is true, or lack of design is lacking. Maybe tautology is true?I remember this thingy ... embrace, extend ... profit?Maybe it makes sense to create generic APIs and use them everywhere instead of domain-specific hackery that is unportable just because it is misdesigned.So, uhm, where do I even start. So the idea is to tie everything so hard into systemd that alternatives will just be impossible because of undocumented, unportable APIs that are leaky abstractions that make no sense without the thing they fail to abstract?And why on earth does every daemon now need to be patched? They worked well for the last few decades without such specific hackery.Ok, that's a non sequitur to start; one does wonder why kdbus uses a different message format than dbus if it's supposed to be a replacement. And just because it's part of systemd and undocumented still does not mean in any way that it cannot be either cut out and made to work standalone, or reimplemented from scratch as a standalone tool. The ignorance (or incompetence?) in that statement reminds me of windows users that denigrated linux for not having a shiny GUI ...Just because you write a document doesn't make it true. But this is a great attempt to take over the discussion by claiming that it's Alternativlos, err, we want it and you shut up now, as we see in politics.As logind is not software there's no design document or proper documentation what it does, just an API that's tied to systemd so tightly that it's exquisitely painful to try to understand. The only thing stopping me from reimplementing that functionality is that I have no idea what it's supposed to *do* ... and I don't enjoy reading through all of systemd to find out. But from what I've seen so far there's nothing special in it."When I break things they are broken" ... the only reason it doesn't work is ... no documentation and changes that break it. Circular reasoning declaring itself the truth."We don't even pretend to understand the Unix philosophy anymore" - the systemd repository is more a junkyard than anything else, it should be properly split (submodules!) so that the independent components are independent. There's NO reason for udev, or hwdb, or any of the other dozen unrelated things to use the same repo.It also tells me that there's a lack of oversight and management going on because things are just randomly smushed together for no logical reason.CGroups are "old", just forcing everyone to use them in a specific way is new. It goes against the systemd design documents which are now considered wrong after being The Only Truth for a few years. Gets hard to figure out what's the soup of the day if you keep changing the menu so often ...And maybe if someone documents what LoginD is supposed to do (and not just an API dump that doesn't tell anything - doxygen doesn't write documentation!) we could just properly implement it everywhere so that people are not forced to break their machines just to do ... whatever logind does. Spiderpig, Spiderpig, does whatever Spiderpig does!... simple? I think this word means not what you think it does! (Not with 200k LoC for something that used to be done in 35k)Yes, that's why some of us are so antagonistic. Propaganda much?So, to summarize: No one else can implement what systemd does, and thus you must use it. It is so brilliant that you shouldn't even try!Just reading this propaganda is making me unhappy, with that level of dishonesty and misdirection I don't see how we can have a nice discussion. Most of the arguments are either circular ("No one can write logind without writing logind") or false ("Cgroups are at the center of what a server does").At the same time everyone who disagrees is a luddite ... or illiterate ... or whatever. Anyway, YOUR UGLY, so I win discussion! or something something.Oh well. Who would expect a rational discussion when you can just cause infinite flamewars, wasting all the time that could have been used for improving things ... but that would be boring.