Bug 73838 - Add abstraction for useradd/remove/etc.
Summary: Add abstraction for useradd/remove/etc.
Alias: None
Product: accountsservice
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Matthias Clasen
QA Contact:
Depends on:
Reported: 2014-01-20 15:24 UTC by Allison Lortie (desrt)
Modified: 2018-08-07 09:33 UTC (History)
6 users (show)

See Also:
i915 platform:
i915 features:

Support Debian based user management (3.58 KB, patch)
2017-12-21 21:47 UTC, Robert Ancell
Details | Splinter Review

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.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.