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

Reply via email to