top | item 9361562

(no title)

peveechi | 11 years ago

This video is a sign that either the OpenBSD/Gnome-porters are sucessfully maintaining the old non-systemd codepaths (as e.g. this https://mail.gnome.org/archives/desktop-devel-list/2015-Janu... message from the guy who made the video indicates), or that they have implemented enough of the systemd-interfaces to get Gnome running.

What exactly do you mean by "reimplement it in OpenBSD" and what would be the difference to the current approach you call "shims"?

discuss

order

anonbanker|11 years ago

all the non-systemd codepaths were explicitly removed in gnome 3.14. two revisions ago.

As GNOME 3.14 is quite different in many incompatible ways with 3.16[1], the fact that they're making that old code work, and updating it to 3.16 is not exactly a trivial task.

they haven't implemented any systemd interfaces. they have essentially redirected the systemd calls to proper utilities supported on OpenBSD (such as ntpd), which is defined as a "shim"; GNOME thinks systemd is there, but in reality, the apps that handled stuff before systemd are still handling everything while lying to GNOME.

1. https://blogs.gnome.org/ovitters/2014/09/07/systemd-in-gnome...

peveechi|11 years ago

(Sorry for the long delay; new accounts are somewhat throttled.)

The article you link to doesn't support your claims. It explicitly states that Gnome 3.14 (which, btw, is only one revision ago, since Gnome uses the old Linux kernel version scheme) would still support ConsoleKit (i.e. a non-systemd codepath). In fact, Gnome 3.16 still supports ConsoleKit, at least in gdm (see the configure-option here [1]). Can you point out commits where non-systemd support was removed in Gnome 3.14?

And what exactly do you mean by "redirected the systemd calls"? Gnome calls certain methods on certain D-Bus objects; if there is a process on OpenBSD that receives these method calls and acts appropriately, why not call that implementing that particular interface?

I don't want to diminish the amount of work that went into this port. I find it really great that someone is doing all that work. But I don't think that the picture you paint of this is entirely accurate. You assume that the OpenBSD-guys hate systemd. That might be the case (it probably is for a lot of them), but I don't think that this has anything to do with this video. If the video e.g. had shown that they removed any reference to systemd whatsoever from the Gnome code and inserted some sneering comments, I might agree with your conclusion. But it simply shows that they succeded in porting Gnome 3.16 to OpenBSD.

How would this video have had to look, to persuade you of the opposite (i.e. that there were OpenBSD developers that love systemd)?

1. https://git.gnome.org/browse/gdm/tree/configure.ac?id=3.16.0...

the_why_of_y|11 years 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.