- # TODO: if the requested (unimportant) UID is not available, we
- # should set SYS_USER_UID to the empty string.
+ if [[ -n "${SYS_USER_UID}" ]]; then
+ # A specific UID was requested.
+ local current_name=$(sys-user_getname "${SYS_USER_UID}")
+ if [[ "${current_name}" != "${SYS_USER_NAME}" ]]; then
+ # This UID is already taken by another user, but this
+ # specific UID was not important (we checked in
+ # pkg_pretend), so fall back to an arbitrary one.
+ SYS_USER_UID=""
+ fi
+ fi