public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH v2] acct-user.eclass: Warn when the user is removed from a group
@ 2023-10-23 20:41 Ulrich Müller
  2023-11-08  6:52 ` Sam James
  0 siblings, 1 reply; 2+ messages in thread
From: Ulrich Müller @ 2023-10-23 20:41 UTC (permalink / raw
  To: gentoo-dev; +Cc: Ulrich Müller, Mike Gilbert

Acked-by: Mike Gilbert <floppym@gentoo.org>
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
v2: Add explanation and documentation reference to warning message

 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.
-- 
2.42.0



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

* Re: [gentoo-dev] [PATCH v2] acct-user.eclass: Warn when the user is removed from a group
  2023-10-23 20:41 [gentoo-dev] [PATCH v2] acct-user.eclass: Warn when the user is removed from a group Ulrich Müller
@ 2023-11-08  6:52 ` Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2023-11-08  6:52 UTC (permalink / raw
  To: gentoo-dev; +Cc: Ulrich Müller, Mike Gilbert


Ulrich Müller <ulm@gentoo.org> writes:

> Acked-by: Mike Gilbert <floppym@gentoo.org>
> Signed-off-by: Ulrich Müller <ulm@gentoo.org>
> ---
> 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.



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

end of thread, other threads:[~2023-11-08  6:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-23 20:41 [gentoo-dev] [PATCH v2] acct-user.eclass: Warn when the user is removed from a group Ulrich Müller
2023-11-08  6:52 ` Sam James

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