From b3af7f152cd09377eefb02486a5d112cd7a97138 Mon Sep 17 00:00:00 2001 From: Flatcar Buildbot Date: Mon, 27 Nov 2023 07:11:42 +0000 Subject: [PATCH] eclass/acct-user: Sync with Gentoo It's from Gentoo commit 9756ed4ebc19571b30cb985b2151c811373edf35. --- .../portage-stable/eclass/acct-user.eclass | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sdk_container/src/third_party/portage-stable/eclass/acct-user.eclass b/sdk_container/src/third_party/portage-stable/eclass/acct-user.eclass index f658aa0eab..66a4d66678 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/acct-user.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/acct-user.eclass @@ -431,6 +431,22 @@ 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 + local override_name=${ACCT_USER_NAME^^} + override_name=${override_name//-/_} + 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_${override_name}_GROUPS or" + ewarn "ACCT_USER_${override_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.