Hacker News new | ask | show | jobs
by the_why_of_y 4086 days ago
> all the non-systemd codepaths were explicitly removed in gnome 3.14. two revisions ago.

It's a bit odd that you are writing this while citing a blog that said that removing ConsoleKit (non-systemd) code was not done in Gnome 3.16 ?

But let's accept that for the sake of the argument.

It looks like GNOME wants to depend on systemd's public and stable DBus interfaces; this is good because it gets GNOME out of having to maintain OS portability gunk, and puts the burden of maintaining said gunk on other projects, i.e., the systemd project on GNU/Linux.

The goal is rather similar to what the OpenBSD community is doing in its applications, in e.g. the OpenSSH project, which (in its upstream release) only runs on OpenBSD, making maintenance easier.

There is a difference though between the two approaches: while OpenSSH has a downstream project OpenSSH-portable that patches the source code to replace OpenBSD specific calls with portable calls or #ifdefs, the GNOME strategy is to depend on abstract APIs that are implemented by some lower layer in the OS.

1 comments

Thank you for honoring me and my opinion, even if you feel I am incorrect.

Further, thank you for confirming that GNOME depends on systemd directly, and not merely dbus. This was the crux of my issue, and why this port was non-trivial. Had it been dbus alone, which already is in ports, we wouldn't be having this conversation.

but it's relying on systemd's "public and stable" (which we won't get into here) interfaces to dbus. not dbus directly. By depending on systemd, they are not only getting out of maintaining "OS portability gunk", but getting out of supporting any other OS that doesn't use systemd. do you see the difference here?

there is no systemd-portable, such as OpenSSH offers. in fact, Lennart Poettering has stated that such a port would not only be non-trivial, but something he does not wish to happen. if there had been, we might not be having this conversation either.