Mk/Scripts/do-users-groups.sh: Make users and groups creation fail-fast

Fail fast when pw(8) fails to create a user or a group. Especially when it is
not the last command in the pre-install script then the exit code will be 0 and
the failure will go unnoticed.

PR:		267384
Approved by:	jrm (mentor)
Differential Revision:	https://reviews.freebsd.org/D42719
This commit is contained in:
Michael Osipov 2023-11-22 12:30:32 +01:00
parent db880cf972
commit 4280a82efe

View file

@ -76,7 +76,7 @@ if [ -n "${GROUPS}" ]; then
cat >> "${dp_UG_INSTALL}" <<-eot2
if ! \${PW} groupshow $group >/dev/null 2>&1; then
echo "Creating group '$group' with gid '$gid'"
\${PW} groupadd $group -g $gid
\${PW} groupadd $group -g $gid || exit \$?
else
echo "Using existing group '$group'"
fi
@ -129,7 +129,7 @@ if [ -n "${USERS}" ]; then
cat >> "${dp_UG_INSTALL}" <<-eot2
if ! \${PW} usershow $login >/dev/null 2>&1; then
echo "Creating user '$login' with uid '$uid'"
\${PW} useradd $login -u $uid -g $gid $class -c "$gecos" -d $homedir -s $shell
\${PW} useradd $login -u $uid -g $gid $class -c "$gecos" -d $homedir -s $shell || exit \$?
else
echo "Using existing user '$login'"
fi
@ -185,7 +185,7 @@ if [ -n "${GROUPS}" ]; then
cat >> "${dp_UG_INSTALL}" <<-eot2
if ! \${PW} groupshow ${group} | grep -qw ${login}; then
echo "Adding user '${login}' to group '${group}'"
\${PW} groupmod ${group} -m ${login}
\${PW} groupmod ${group} -m ${login} || exit \$?
fi
eot2
fi