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 v2] user.eclass: Fix egetgroups bash compliance, and make it simpler
Date: Thu, 25 Jul 2019 08:35:44
Message-Id: 20190725083534.20953-1-mgorny@gentoo.org
In Reply to: Re: [gentoo-dev] [PATCH] user.eclass: Fix egetgroups bash compliance, and make it simpler by Ulrich Mueller
1 Signed-off-by: Michał Górny <mgorny@g.o>
2 ---
3 eclass/user.eclass | 9 +++++----
4 1 file changed, 5 insertions(+), 4 deletions(-)
5
6 diff --git a/eclass/user.eclass b/eclass/user.eclass
7 index fdf98caa6099..9dc15fa75d23 100644
8 --- a/eclass/user.eclass
9 +++ b/eclass/user.eclass
10 @@ -445,11 +445,12 @@ 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 + echo "${groups}"
24 }
25
26 # @FUNCTION: esethome
27 --
28 2.22.0