Ulrich Müller <[email protected]> writes:
> Acked-by: Mike Gilbert <[email protected]> > Signed-off-by: Ulrich Müller <[email protected]> > --- > v2: Add explanation and documentation reference to warning message lgtm > > eclass/acct-user.eclass | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass > index f658aa0eabc3..c9d335c4e558 100644 > --- a/eclass/acct-user.eclass > +++ b/eclass/acct-user.eclass > @@ -431,6 +431,20 @@ acct-user_pkg_postinst() { > opts+=( --prefix "${ROOT}" ) > fi > > + local g old_groups del_groups="" > + old_groups=$(egetgroups "${ACCT_USER_NAME}") > + for g in ${old_groups//,/ }; do > + has "${g}" "${groups[@]}" || del_groups+="${del_groups:+, }${g}" > + done > + if [[ -n ${del_groups} ]]; then > + ewarn "Removing user ${ACCT_USER_NAME} from group(s): > ${del_groups}" > + ewarn "To retain the user's group membership in the local > system" > + ewarn "config, override with > ACCT_USER_${ACCT_USER_NAME^^}_GROUPS" > + ewarn "or ACCT_USER_${ACCT_USER_NAME^^}_GROUPS_ADD in > make.conf." > + ewarn "Documentation reference:" > + ewarn > "https://wiki.gentoo.org/wiki/Practical_guide_to_the_GLEP_81_migration#Override_user_groups" > + fi > + > elog "Updating user ${ACCT_USER_NAME}" > # usermod outputs a warning if unlocking the account would result in an > # empty password. Hide stderr in a text file and display it if usermod > fails.
