Update share-common.func

This commit is contained in:
MacRimi
2025-08-27 18:15:26 +02:00
parent ffe7d7c4c6
commit fed7216436

View File

@@ -77,24 +77,37 @@ pmx_choose_or_create_group() {
# Ensure group exists on host and return its GID # Ensure group exists on host and return its GID
pmx_ensure_host_group() { pmx_ensure_host_group() {
# comments in English
# IN: group name
# OUT: echoes GID to stdout, return 0 on success
local group_name="$1" local group_name="$1"
local suggested_gid="$2"
if ! getent group "$group_name" >/dev/null 2>&1; then if ! getent group "$group_name" >/dev/null 2>&1; then
if groupadd "$group_name" >/dev/null 2>&1; then if [[ -n "$suggested_gid" ]]; then
if getent group "$suggested_gid" >/dev/null 2>&1; then
msg_error "$(translate "GID already in use:") $suggested_gid"
return 1
fi
groupadd -g "$suggested_gid" "$group_name" >/dev/null 2>&1
else
groupadd "$group_name" >/dev/null 2>&1
fi
if [[ $? -eq 0 ]]; then
msg_ok "$(translate "Group created:") $group_name" msg_ok "$(translate "Group created:") $group_name"
else else
msg_error "$(translate "Failed to create group:") $group_name" msg_error "$(translate "Failed to create group:") $group_name"
return 1 return 1
fi fi
fi fi
local gid local gid
gid="$(getent group "$group_name" | cut -d: -f3)" gid="$(getent group "$group_name" | cut -d: -f3)"
if [[ -z "$gid" ]]; then if [[ -z "$gid" ]]; then
msg_error "$(translate "Failed to resolve group GID for") $group_name" msg_error "$(translate "Failed to resolve group GID for") $group_name"
return 1 return 1
fi fi
echo "$gid" echo "$gid"
return 0 return 0
} }