Merge lp://qastaging/~mterry/lightdm/no-dmrc into lp://qastaging/lightdm

Proposed by Michael Terry
Status: Merged
Merged at revision: 1065
Proposed branch: lp://qastaging/~mterry/lightdm/no-dmrc
Merge into: lp://qastaging/lightdm
Diff against target: 443 lines (+292/-15)
4 files modified
liblightdm-gobject/user.c (+74/-3)
src/display.c (+4/-10)
src/user.c (+208/-1)
src/user.h (+6/-1)
To merge this branch: bzr merge lp://qastaging/~mterry/lightdm/no-dmrc
Reviewer Review Type Date Requested Status
Robert Ancell Approve
Review via email: mp+71939@code.qastaging.launchpad.net

Description of the change

This uses the org.freedesktop.Accounts service instead of dmrc for saving default xsession information.

I could not find where LightDM was loading per-user default xsession information? Seems like it isn't.

If true, we should add that to the liblightdm libraries as a call like get_default_session_hint_for_user and have the lightdm daemon ask accountsservice.

To post a comment you must log in.
Revision history for this message
Robert Ancell (robert-ancell) wrote :

I think we need to continue to support .dmrc for systems that don't have accounts service:
http://lists.freedesktop.org/archives/lightdm/2011-August/000051.html

What we should do is merge user.c into the new accounts.c so that internally LightDM uses the accounts service interface but the backend can fallback to passwd and .dmrc.

Also since it doesn't make sense to have multiple accounts instances inside LightDM I'd make it a singleton and just access through functions for simplicity.

In terms of Unity/GNOME, I definitely think we should be using accounts service.

review: Needs Fixing
Revision history for this message
Michael Terry (mterry) wrote :

Each Accounts object is per-user, not global. So a singleton doesn't make as much sense. Unless you want a global Accounts object that hides the per-user stuff and keeps an internal cache of proxies. But that seems like forcing it.

1057. By Michael Terry

add back dmrc support as a fallback for accounts service

1058. By Michael Terry

move Accounts class into User class

Revision history for this message
Michael Terry (mterry) wrote :

OK, I've updated the branch. Now we write to .dmrc as well as the Accounts service. And we fallback to .dmrc when trying to read from the Accounts service.

Additionally, I've moved the code into the User class.

Could you review again, please?

(Again, this branch writes correctly to Accounts/dmrc, but still doesn't solve the problem that we never load per-user values from them.)

1059. By Michael Terry

liblightdm-gobject: look at Accounts object when checking per-user session and language values

Revision history for this message
Michael Terry (mterry) wrote :

Sorry, I was wrong about never loading per-user values from them. I missed the glue in liblightdm-gobject/user.c that did that.

So I've now updated this branch to modify that file to also look at the Accounts service for session info. This fixes bug 818201.

Revision history for this message
Robert Ancell (robert-ancell) wrote :

Pushed with some minor changes:
- Missing 'return TRUE' at the end of load_accounts_service ()
- Replace '//' comments with '/*' ones
- Add NEWS entry

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches