Heya, I'd like to propose systemd (GPL2+, http://www.freedesktop.org/wiki/Software/systemd) as blessed external dependency for GNOME 3.2.
Currently the interfacing between GNOME and systemd is minimal. Bastien has been implementing a UI for changing the host name via a configuration UI in the control center which uses a tiny mechanism daemon included in systemd as backend. GLib already exposes g_get_user_runtime_dir() which is a frontend for XDG_RUNTIME_DIR whose only implementation I know right now is in systemd. In the future I expect more interfacing with GNOME however, and I'd thus like to see the discussion regarding acceptance as blessed dependency started early. In the long run I expect the following additional interfaces used by GNOME or one of its components: - I am working on two more mechanisms generalizing control of the system locale and system clock/timezone for use in the control center and by other UIs. - gdm will interface with the new CK-replacing code I am working on. http://lwn.net/Articles/441328/ - gnome-session will be augmented by a per-user systemd instace, leveraging the benefits that systemd gives you for system startup also for session startup. - Later on I hope that we can use per-application cgroups to create reliable mapping between desktop files and processes. (i.e. place each app in a cgroup and name it after the .desktop file), integrated into the systemd cgroup hierarchy, so that this can be used for g-s and other UIs to relate desktop files to processes. And I expect a couple of more interfacing points, however things get more and more into vaporware areas with those. With these interfaces I hope to bring the speed improvements we are providing for the system also to the session. Also it brings a ton of new user-visible features with it, like automatic multiseat, or the ability to change the system locale. systemd is Linux-only. That means if we still care for those non-Linux platforms replacements have to be written. In case of the timezone/time/locale/hostname mechanisms this should be relatively easy as we kept the D-Bus interface very much independent from systemd, and they are easy to reimplement. Also, just leaving out support for this on those archs should be workable too. The hostname interface is documented in a lot of detail here: http://www.freedesktop.org/wiki/Software/systemd/hostnamed -- we plan to offer similar documentation for the other mechanisms. Not all Linux distributions currently use systemd. The majority of the big and small distributions however has switched by now or is planning to switch in their next versions, or at least provides packages in the distribution. The one exception is Ubuntu. While I have hopes this will be resolved next year, there is no official statement from Ubuntu on this. Distributions not interested in systemd which however are looking into having some of its features could probably compile systemd but remove all but the mechanism daemons. Integration between gnome-session and systemd I expect to be very lose, and can probably easily be #ifdef'ed out for conservative distros or other OSes. The closest integration I expect in gdm. Ideally I'd like to rip out the current CK support completely and replace it entirely by the more low-level systemd specific code. However, that I can only do if the outcome of this discussion is clear. systemd itself has very minimal external dependencies. You need Linux, udev, D-Bus, and that's it. (there are a couple of additional optional deps however). The first version i'd like to see blessed is systemd 26. Comments? Lennart -- Lennart Poettering - Red Hat, Inc. _______________________________________________ desktop-devel-list mailing list desktop-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/desktop-devel-list