mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-24 18:58:08 -07:00
acct-user.eclass: simplify usermod error handling
We no longer attempt to unlock accounts with blank passwords, so we can drop the code responsible for hiding that warning. Signed-off-by: Mike Gilbert <floppym@gentoo.org>
This commit is contained in:
@@ -445,30 +445,24 @@ acct-user_pkg_postinst() {
|
||||
fi
|
||||
|
||||
elog "Updating user ${ACCT_USER_NAME}"
|
||||
# usermod outputs a warning if unlocking the account would result in an
|
||||
# empty password. Hide stderr in a text file and display it if usermod fails.
|
||||
usermod "${opts[@]}" "${ACCT_USER_NAME}" 2>"${T}/usermod-error.log"
|
||||
usermod "${opts[@]}" "${ACCT_USER_NAME}"
|
||||
local status=$?
|
||||
if [[ ${status} -ne 0 ]]; then
|
||||
cat "${T}/usermod-error.log" >&2
|
||||
if [[ ${status} -eq 8 ]]; then
|
||||
# usermod refused to update the home directory
|
||||
# for a uid with active processes.
|
||||
eerror "Failed to update user ${ACCT_USER_NAME}"
|
||||
eerror "This user currently has one or more running processes."
|
||||
eerror "Please update this user manually with the following command:"
|
||||
if [[ ${status} -eq 8 ]]; then
|
||||
# usermod refused to update the home directory
|
||||
# for a uid with active processes.
|
||||
eerror "Failed to update user ${ACCT_USER_NAME}"
|
||||
eerror "This user currently has one or more running processes."
|
||||
eerror "Please update this user manually with the following command:"
|
||||
|
||||
# Surround opts with quotes.
|
||||
# With bash-5 (EAPI 8), we can use "${opts[@]@Q}" instead.
|
||||
local q="'"
|
||||
local optsq=( "${opts[@]/#/${q}}" )
|
||||
optsq=( "${optsq[@]/%/${q}}" )
|
||||
# Surround opts with quotes.
|
||||
# With bash-5 (EAPI 8), we can use "${opts[@]@Q}" instead.
|
||||
local q="'"
|
||||
local optsq=( "${opts[@]/#/${q}}" )
|
||||
optsq=( "${optsq[@]/%/${q}}" )
|
||||
|
||||
eerror " usermod ${optsq[*]} ${ACCT_USER_NAME}"
|
||||
else
|
||||
eerror "$(<"${T}/usermod-error.log")"
|
||||
die "usermod failed with status ${status}"
|
||||
fi
|
||||
eerror " usermod ${optsq[*]} ${ACCT_USER_NAME}"
|
||||
elif [[ ${status} -ne 0 ]]; then
|
||||
die "usermod failed with status ${status}"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user