Hi, Please review the following patches, implementing the user/group package concept. The patches incorporate some of the feedback to the proposed GLEP, and I'd like to get them reviewed before I submit the next GLEP update. They are based on earlier work by mjo.
To recap: the idea is to replace direct calls to enewgroup/enewuser with special packages in user/ & group/ categories that represent the users/groups needed by a package. They create the user/group if necessary and track its usage. When it is no longer needed, the package is unmerged and the user gets a clear signal that the user/ group might be removed (but we do not remove them automatically to stay on the safe side). The patch set consists of three parts: a. Updates and fixes to user.eclass, to provide a good portability base for the new eclasses. b. sys-group and sys-user eclasses, used to implement said packages. c. Example conversion of 'ftp' user+group, and respective update of net-ftp/ftpbase. TIA for your feedback. -- Best regards, Michał Górny Michał Górny (9): user.eclass: Do not create user-group automatically user.eclass: Prevent automated home creation in useradd user.eclass: Support disabling home directory creation user.eclass: Support forcing specified UID/GID user.eclass: Die if no free UID/GID is found {group,user}.eclass: WIP eclasses to maintain users/groups group/ftp: Add 'ftp' group (GID 21) user/ftp: Add 'ftp' user (UID 21) net-ftp/ftpbase: Utilize {group,user}/ftp eclass/sys-group.eclass | 105 +++++++++++++ eclass/sys-user.eclass | 206 +++++++++++++++++++++++++ eclass/user.eclass | 39 ++++- group/ftp/ftp-0.ebuild | 8 + group/ftp/metadata.xml | 5 + net-ftp/ftpbase/ftpbase-0.01-r3.ebuild | 39 +++++ profiles/categories | 2 + user/ftp/ftp-0.ebuild | 19 +++ user/ftp/metadata.xml | 5 + 9 files changed, 425 insertions(+), 3 deletions(-) create mode 100644 eclass/sys-group.eclass create mode 100644 eclass/sys-user.eclass create mode 100644 group/ftp/ftp-0.ebuild create mode 100644 group/ftp/metadata.xml create mode 100644 net-ftp/ftpbase/ftpbase-0.01-r3.ebuild create mode 100644 user/ftp/ftp-0.ebuild create mode 100644 user/ftp/metadata.xml -- 2.22.0.rc1