#!/bin/bash -efu
# SPDX-License-Identifier: GPL-3.0-or-later

. sh-functions

if [ -n "${RDSHELL_PASSWORD-}" ] && [ -n "${RDSHELL_COPY_PASSWORD_FROM_USER-}" ]; then
	fatal 'Options "RDSHELL_PASSWORD" and "RDSHELL_COPY_PASSWORD_FROM_USER" are mutually exclusive'
fi

DIR="$ROOTDIR"

mkdir -p -- "$DIR/etc/sysconfig"

hash="${RDSHELL_PASSWORD-}"
[ -z "${RDSHELL_COPY_PASSWORD_FROM_USER-}" ] ||
	hash="$(getent shadow "${RDSHELL_COPY_PASSWORD_FROM_USER-}" |cut -d: -f2)"

for n in passwd shadow; do
	touch "$DIR/etc/$n"
	sed -i -e '/^root:/d' "$DIR/etc/$n"
done

printf 'root:x:0:0::/home/root:/bin/sh\n' >> "$DIR/etc/passwd"
printf 'root:%s:13957::::::\n' "$hash"    >> "$DIR/etc/shadow"
