|Summary:||Add abstraction for useradd/remove/etc.|
|Product:||accountsservice||Reporter:||Allison Lortie (desrt) <desrt>|
|Component:||general||Assignee:||Matthias Clasen <mclasen>|
|Status:||RESOLVED MOVED||QA Contact:|
|Priority:||medium||CC:||ajacoutot, lantw44, marius.vollmer, robert.ancell, rstrode, stefw|
|i915 platform:||i915 features:|
|Attachments:||Support Debian based user management|
Description Allison Lortie (desrt) 2014-01-20 15:24:46 UTC
We currently hardcode a argv list to useradd and other commands more or less smack in the middle of a bunch of other code. Trouble is that the required commands are different on Debian-based systems and different again on BSD. I think we should split out a separate file with add_user() rm_user() etc. functions which construct the argv the way each system likes it. That way we can add cases for various systems and keep the #ifdef mess well-contained. Some vendor patches to look at: Debian: http://patch-tracker.debian.org/patch/series/view/accountsservice/0.6.21-8/0002-create-and-manage-groups-like-on-a-debian-system.patch BSD: http://www.marcuscom.com:8080/viewvc/viewvc.cgi/marcuscom/ports/trunk/sysutils/accountsservice/files/patch-src_daemon.c?revision=17112&view=markup
Comment 1 Robert Ancell 2017-12-20 22:10:11 UTC
I was looking at a patch that would check for the existence of adduser which is the required command on Debian-based systems. However, Fedora provides adduser as a symlink to useradd, so it couldn't be runtime checked easily.
Comment 2 Robert Ancell 2017-12-21 21:47:57 UTC
Created attachment 136352 [details] [review] Support Debian based user management It's not beautiful but I think this better reflects how A-S is being used. This allows BSD etc to add a similar change for the method they need. We can always come up with a nicer abstraction in the future but I haven't been able to think of one.
Comment 3 GitLab Migration User 2018-08-07 09:33:13 UTC
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/accountsservice/accountsservice/issues/38.