Where we are:
- current systemd v198 is in raring, with broken out systemd-services package
which provides logind, hostnamed, etc.
- libudev1 transition is mostly complete and in raring; the only remaining
reverse dep to libudev0 is chromium on armhf as it currently FTBFSes there.
(This problem is now independent of this FFE)
- The package split is quite intrusive, but has been discussed with Debian and
they want to adopt this. Debian also wants to migrate logind without enforcing
systemd everywhere just yet (as the latter is politically much harder)
- I fixed udev to work with logind's dynamic ACLs by backporting the "uaccess"
builtin. udev rules are set up to use udev-acl with ConsoleKit and uaccess with
logind. This is in raring.
- Running logind separately causes some API confusion about sd_booted() for
programs, as they now need to differentiate between "systemd init" and
"logind". This has been discussed with upstream, and a fixed sd_booted() is in
systemd upstream. We have a recipe how to fix packages that call this, and we
know about all affected packages (12) from an archive grep. Details are in the
blueprint.
- I and other people (I know of Iain Lane and Stephane Graber) have run logind
for quite a while now. I have run it exclusively without ConsoleKit for 1.5
weeks now, and did not get any crash of logind or the PAM module
- Running with logind exclusively uncovered some race condition in Unity's
indicator/shutdown (bug 1155021)
- Consumers of CK have been identified with an archive grep (undeclared
dependencies), and for many of them I added an analysis what needs to happen
(details in blueprint)
- Login managers (lightdm etc.) generally are not supposed to directly talk to
lightdm for creating sessions. That's supposed to be done by libpam-systemd and
works fine. Of course they need to be adjusted for the shutdown/reboot API if
they currently talk to ConsoleKit.
- I fixed the systemd upstream tests to run during package build, and wrote
autopkgtests for all D-BUS services and logind.
Next steps regardless of this FFE:
- Fix upstream software that calls sd_booted() but wants to talk to logind to
call access("/run/systemd/seats/", F_OK) instead.
- Add logind support to upstream lightdm (Robert Ancell has a WI) and Unity
(I'll coordinate with Didier, or do it myself)
Next steps if FFE is rejected:
- If bug 1153633 (systemd-shim MIR) is accepted and we want to go through with
bug 1153567 for raring, we need to either disable logind from systemd-services,
or split it out again.
Next steps if FFE is accepted:
- Adjust seeds to move from libpam-xdg-support to libpam-systemd, which will
pull in systemd-services. (It conflicts/replaces/provides libpam-xdg-support)
- Upload https://launchpad.net/~ubuntu-core-dev/+archive/logind and
https://launchpad.net/~bkerensa/+archive/logind PPAs which have packages
transitioned to talk to logind instead of CK. These are the most important ones.
- For the other reverse CK dependencies, either enable logind support for them
(if present), or port it ourselves in easy cases (e. g. the shutdown/reboot API
is exactly the same structure, just different D-BUS names), or add an explicit
consolekit dependency. Please note that this requires some teamwork, I don't
want to do this all by myself.
Risk mitigation:
- We now have automatic unit tests during package build and autopkgtests which
cover logind's automatic ACLs for the coldplug and hotplug cases.
- Manual testing by several people for ~ 2 weeks
- There is a non-negligible risk that in the final release we'll end up with
both logind and consolekit installed if we don't manage to convert all reverse
CK dependencies. This is by and large a matter of turning this from an one-man
show into some teamwork. :-)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1153224
Title:
[FFE] Move to logind for session tracking
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1153224/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs