Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-dev] [PATCH] user.eclass: Fix egetgroups bash compliance, and make it simpler
Date: Thu, 25 Jul 2019 07:55:36
Message-Id: 20190725075526.15886-1-mgorny@gentoo.org
1 Signed-off-by: Michał Górny <mgorny@g.o>
2 ---
3 eclass/user.eclass | 10 ++++++----
4 1 file changed, 6 insertions(+), 4 deletions(-)
5
6 diff --git a/eclass/user.eclass b/eclass/user.eclass
7 index fdf98caa6099..b237abdda045 100644
8 --- a/eclass/user.eclass
9 +++ b/eclass/user.eclass
10 @@ -445,11 +445,13 @@ egetgroups() {
11 local egroups_arr
12 read -r -a egroups_arr < <(id -G -n "$1")
13
14 - local defgroup=${egroups_arr[0]}
15 + local g groups=( "${egroups_arr[0]}" )
16 # sort supplementary groups to make comparison possible
17 - readarray -t exgroups_arr < <(printf '%s\n' "${egroups_arr[@]:1}" | sort)
18 - local exgroups=${exgroups_arr[*]}
19 - echo "${defgroup}${exgroups:+,${exgroups// /,}}"
20 + while read -r g; do
21 + [[ -n ${g} ]] && groups+=( "${g}" )
22 + done < <(printf '%s\n' "${egroups_arr[@]:1}" | sort)
23 + groups=${groups[*]}
24 + echo "${groups// /,}"
25 }
26
27 # @FUNCTION: esethome
28 --
29 2.22.0

Replies