summaryrefslogtreecommitdiff
path: root/eclass/user.eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-08-02 19:14:55 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-08-02 19:14:55 +0100
commitb24bd25253fe093f722ab576d29fdc41d04cb1ee (patch)
tree0fcf2afd9f852c4d4c291cf8afaa2c244d598105 /eclass/user.eclass
parent121ed4eec41fbf03e1998d09eede1bf449da63b9 (diff)
gentoo resync : 02.08.2019
Diffstat (limited to 'eclass/user.eclass')
-rw-r--r--eclass/user.eclass17
1 files changed, 9 insertions, 8 deletions
diff --git a/eclass/user.eclass b/eclass/user.eclass
index fdf98caa6099..a3cacb6d5f10 100644
--- a/eclass/user.eclass
+++ b/eclass/user.eclass
@@ -157,10 +157,10 @@ enewuser() {
euid="next"
fi
if [[ ${euid} == "next" ]] ; then
- for ((euid = 101; euid <= 999; euid++)); do
+ for ((euid = 999; euid >= 101; euid--)); do
[[ -z $(egetent passwd ${euid}) ]] && break
done
- [[ ${euid} -le 999 ]] || die "${FUNCNAME}: no free UID found"
+ [[ ${euid} -ge 101 ]] || die "${FUNCNAME}: no free UID found"
fi
opts+=( -u ${euid} )
einfo " - Userid: ${euid}"
@@ -318,10 +318,10 @@ enewgroup() {
_enewgroup_next_gid() {
if [[ ${egid} == *[!0-9]* ]] ; then
# Non numeric
- for ((egid = 101; egid <= 999; egid++)) ; do
+ for ((egid = 999; egid >= 101; egid--)) ; do
[[ -z $(egetent group ${egid}) ]] && break
done
- [[ ${egid} -le 999 ]] || die "${FUNCNAME}: no free GID found"
+ [[ ${egid} -ge 101 ]] || die "${FUNCNAME}: no free GID found"
fi
}
@@ -445,11 +445,12 @@ egetgroups() {
local egroups_arr
read -r -a egroups_arr < <(id -G -n "$1")
- local defgroup=${egroups_arr[0]}
+ local g groups=${egroups_arr[0]}
# sort supplementary groups to make comparison possible
- readarray -t exgroups_arr < <(printf '%s\n' "${egroups_arr[@]:1}" | sort)
- local exgroups=${exgroups_arr[*]}
- echo "${defgroup}${exgroups:+,${exgroups// /,}}"
+ while read -r g; do
+ [[ -n ${g} ]] && groups+=",${g}"
+ done < <(printf '%s\n' "${egroups_arr[@]:1}" | sort)
+ echo "${groups}"
}
# @FUNCTION: esethome