Merge branch 'fix/type/__pyvenv/numeric-owner' into 'master'

__pyvenv: Fix if --owner / --group is numeric

See merge request ungleich-public/cdist!988
This commit is contained in:
poljakowski 2021-04-01 15:36:02 +02:00
commit ce79a2069c
2 changed files with 34 additions and 6 deletions

View file

@ -1,5 +1,19 @@
#!/bin/sh
#!/bin/sh -e
destination="/$__object_id"
destination="/${__object_id:?}"
stat --print "%G" "${destination}" 2>/dev/null || exit 0
# shellcheck disable=SC2012
group_gid=$(ls -ldn "${destination}" | awk '{ print $4 }')
# NOTE: +1 because $((notanum)) prints 0.
if test $((group_gid + 1)) -ge 0
then
group_should=$(cat "${__object:?}/parameter/group")
if expr "${group_should}" : '[0-9]*$' >/dev/null
then
printf '%u\n' "${group_gid}"
else
printf '%s\n' "$(id -u -n "${group_gid}")"
fi
fi

View file

@ -1,5 +1,19 @@
#!/bin/sh
#!/bin/sh -e
destination="/$__object_id"
destination="/${__object_id:?}"
stat --print "%U" "${destination}" 2>/dev/null || exit 0
# shellcheck disable=SC2012
owner_uid=$(ls -ldn "${destination}" | awk '{ print $3 }')
# NOTE: +1 because $((notanum)) prints 0.
if test $((owner_uid + 1)) -ge 0
then
owner_should=$(cat "${__object:?}/parameter/owner")
if expr "${owner_should}" : '[0-9]*$' >/dev/null
then
printf '%u\n' "${owner_uid}"
else
printf '%s\n' "$(id -u -n "${owner_uid}")"
fi
fi