Summary: | The systemd and consolekit USE-flags should not be set together for GNOME >= 3.4 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Canek Peláez Valdés <caneko> |
Component: | [OLD] GNOME | Assignee: | Gentoo Linux Gnome Desktop Team <gnome> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | arne.flagge, nikoli, rdalek1967 |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://bugs.freedesktop.org/show_bug.cgi?id=53905 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 389719 |
Description
Canek Peláez Valdés
2012-09-29 16:07:20 UTC
Counterexample: gnome-base/gdm with USE="consolekit systemd" is a reasonable configuration. With those flags, the gdm daemon should do the correct thing at runtime: it will register with systemd if the machine was booted with systemd, and if not, it will register with consolekit. Users who are experimenting with init systems can emerge gdm with USE="consolekit systemd" to avoid recompilation when switching between systemd and openrc. If it does not make sense for some ebuild to have USE="consolekit systemd", then that particular ebuild should probably set REQUIRED_USE="^^ ( consolekit systemd )" if exactly one of the flags must be set; or REQUIRED_USE="consolekit? ( !systemd) systemd? ( !consolekit )" if zero or one of the flags must be set. (In reply to comment #1) > Counterexample: gnome-base/gdm with USE="consolekit systemd" is a reasonable > configuration. With those flags, the gdm daemon should do the correct thing > at runtime: it will register with systemd if the machine was booted with > systemd, and if not, it will register with consolekit. Users who are > experimenting with init systems can emerge gdm with USE="consolekit systemd" > to avoid recompilation when switching between systemd and openrc. > > If it does not make sense for some ebuild to have USE="consolekit systemd", > then that particular ebuild should probably set > > REQUIRED_USE="^^ ( consolekit systemd )" > if exactly one of the flags must be set; or > > REQUIRED_USE="consolekit? ( !systemd) systemd? ( !consolekit )" > if zero or one of the flags must be set. I'm not familiar enough with the code of gdm, but I suppose it works in that case. However, when I compiled gnome-shell, gnome-session, and polkit without systemd support, and gdm with systemd support, then the bug I reported in fd.org showed up. Another case: polkit. It has two implementations for PolkitUnixSession, one uses consolekit (src/polkit/polkitunixsession.c), and another one uses systemd (src/polkit/polkitunixsession-systemd.c). Only one can be active at runtime, and actually the both share the same header file (both are GObjects). Polkit maintainers will keep support for the consolekit implementation, but I seriously doubt that they will do the effort to implement runtime interchangeable support for both. They see systemd as the future (and certainly, consolekit has no active development). I agree with the REQUIRED_USE="consolekit? ( !systemd) systemd? ( !consolekit )" solution for polkit ebuild. Thanks for systemd-love improvements, this is no longer the case with 3.8 |