public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH v3 00/19] User/group packages
@ 2019-06-09 11:27 Michał Górny
  2019-06-09 11:27 ` [gentoo-dev] [PATCH v3 01/19] user.eclass: Remove dead/broken Darwin support Michał Górny
                   ` (18 more replies)
  0 siblings, 19 replies; 23+ messages in thread
From: Michał Górny @ 2019-06-09 11:27 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Hello,

Here's another major iteration of user/group package implementation
proposal.  There were some major design changes, so probably best
to review from scratch.

Notable changes in user.eclass:

- Darwin support has been removed.  It is unused and has been broken
  for a long time.

- Support for *BSD remains as it is working and we can test those
  platforms easily (it's needed for Gentoo/FBSD).

- esetshell counterpart to egetshell has been added.

- egetusername and egetgroupname utility functions for UID/GID→name
  conversion have been added.

- egetcomment and esetcomment functions for passwd comment field
  have been added.

- egetgroups and esetgroups functions for getting and altering group
  membership have been added.


Notable changes common to both acct-* eclasses:

- ACCT_*_NAME internal variables has been added for readability
  and possible future extension (to avoid using PN to mean user/group
  name).

- Detecting UID/GID mismatch or conflict for ACCT_*_ENFORCE_ID has been
  fixed to work correctly.  It no longer fails if the user/group
  exists already with the correct UID/GID, and now fails if it exists
  with another UID/GID.


Notable changes in acct-user.eclass:

- ACCT_USER_GROUPS is now obligatory.  After all, there is no
  well-defined concept of user without a primary group.

- Account locking (on removal) and unlocking (on reinstall) is now
  supported.  On Linux and FreeBSD it uses both password locking (which
  should lock the account if sysadmin set any password for it)
  and expiration (which locks access completely).  Also shell is forced
  to nologin for locked accounts.

- Account home directory, shell and group memberships are now updated
  on install.  This is needed for unlocking but will also help clean up
  bad previous designs (see: 'git' user).

- The comment for newly created accounts is now set from DESCRIPTION,
  making it possible to properly describe account purposes.  On removal,
  the removal date is appended to the comment.


Please review.  I'll send a GLEP update too shortly.

--
Best regards,
Michał Górny


Michał Górny (19):
  user.eclass: Remove dead/broken Darwin support
  user.eclass: NetBSD has 'getent'
  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
  user.eclass: Factor out finding nologin into separate function
  user.eclass: Introduce esetshell
  user.eclass: Introduce eget{user,group}name
  user.eclass: Also permit using functions in pkg_*rm phases
  user.eclass: Support getting & setting comment field
  user.eclass: Introduce e{get,set}groups
  acct-group.eclass: A new eclass to maintain group accounts
  acct-user.eclass: A new eclass to maintain user accounts
  acct-user.eclass: Supporting locking & unlocking accounts
  acct-group/ftp: Add 'ftp' group (GID 21)
  acct-user/ftp: Add 'ftp' user (UID 21)
  net-ftp/ftpbase: Utilize {group,user}/ftp

 acct-group/ftp/ftp-0.ebuild            |   8 +
 acct-group/ftp/metadata.xml            |   5 +
 acct-user/ftp/ftp-0.ebuild             |  13 +
 acct-user/ftp/metadata.xml             |   5 +
 eclass/acct-group.eclass               | 124 ++++++++
 eclass/acct-user.eclass                | 376 ++++++++++++++++++++++++
 eclass/user.eclass                     | 387 ++++++++++++++++++++-----
 net-ftp/ftpbase/ftpbase-0.01-r3.ebuild |  39 +++
 profiles/categories                    |   2 +
 9 files changed, 890 insertions(+), 69 deletions(-)
 create mode 100644 acct-group/ftp/ftp-0.ebuild
 create mode 100644 acct-group/ftp/metadata.xml
 create mode 100644 acct-user/ftp/ftp-0.ebuild
 create mode 100644 acct-user/ftp/metadata.xml
 create mode 100644 eclass/acct-group.eclass
 create mode 100644 eclass/acct-user.eclass
 create mode 100644 net-ftp/ftpbase/ftpbase-0.01-r3.ebuild

-- 
2.22.0.rc3



^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2019-06-09 16:18 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-09 11:27 [gentoo-dev] [PATCH v3 00/19] User/group packages Michał Górny
2019-06-09 11:27 ` [gentoo-dev] [PATCH v3 01/19] user.eclass: Remove dead/broken Darwin support Michał Górny
2019-06-09 11:27 ` [gentoo-dev] [PATCH v3 02/19] user.eclass: NetBSD has 'getent' Michał Górny
2019-06-09 11:27 ` [gentoo-dev] [PATCH v3 03/19] user.eclass: Do not create user-group automatically Michał Górny
2019-06-09 11:27 ` [gentoo-dev] [PATCH v3 04/19] user.eclass: Prevent automated home creation in useradd Michał Górny
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 05/19] user.eclass: Support disabling home directory creation Michał Górny
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 06/19] user.eclass: Support forcing specified UID/GID Michał Górny
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 07/19] user.eclass: Die if no free UID/GID is found Michał Górny
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 08/19] user.eclass: Factor out finding nologin into separate function Michał Górny
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 09/19] user.eclass: Introduce esetshell Michał Górny
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 10/19] user.eclass: Introduce eget{user,group}name Michał Górny
2019-06-09 16:18   ` Michael Orlitzky
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 11/19] user.eclass: Also permit using functions in pkg_*rm phases Michał Górny
2019-06-09 16:12   ` Michael Orlitzky
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 12/19] user.eclass: Support getting & setting comment field Michał Górny
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 13/19] user.eclass: Introduce e{get,set}groups Michał Górny
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 14/19] acct-group.eclass: A new eclass to maintain group accounts Michał Górny
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 15/19] acct-user.eclass: A new eclass to maintain user accounts Michał Górny
2019-06-09 11:35   ` Michał Górny
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 16/19] acct-user.eclass: Supporting locking & unlocking accounts Michał Górny
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 17/19] acct-group/ftp: Add 'ftp' group (GID 21) Michał Górny
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 18/19] acct-user/ftp: Add 'ftp' user (UID 21) Michał Górny
2019-06-09 11:28 ` [gentoo-dev] [PATCH v3 19/19] net-ftp/ftpbase: Utilize {group,user}/ftp Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox