From 569b6a8c5a6eac5f8be3f3635a3a6b18e4809d21 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Mon, 7 Aug 2017 16:36:32 -0400 Subject: [PATCH 1/1] sys-user.eclass: replace a few egetent calls with sys-user_getuid(). --- eclass/sys-user.eclass | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/eclass/sys-user.eclass b/eclass/sys-user.eclass index 95417c7..8417212 100644 --- a/eclass/sys-user.eclass +++ b/eclass/sys-user.eclass @@ -115,8 +115,8 @@ sys-user_pkg_pretend() { # Finally, ensure that this username doesn't already exist with # another UID if its UID is supposedly important. - if [[ -n $(egetent passwd "${SYS_USER_NAME}") ]]; then - local olduid=$(sys-user_getuid "${SYS_USER_NAME}") + local olduid=$(sys-user_getuid "${SYS_USER_NAME}") + if [[ -n "${olduid}" ]]; then if [[ "${SYS_USER_UID_IMPORTANT}" == "true" ]] && \ [[ "${SYS_USER_UID}" != "${olduid}" ]]; then # The UID is important and specified, but there is already a @@ -127,7 +127,8 @@ sys-user_pkg_pretend() { } sys-user_src_configure() { - if [[ -n $(egetent passwd "${SYS_USER_NAME}") ]]; then + local current_uid=$(sys-user_getuid "${SYS_USER_NAME}") + if [[ -n "${current_uid}" ]]; then # UPGRADE PATH: This user already exists, so if the eclass # consumer doesn't care about some settings, we can reuse the # pre-existing ones. @@ -136,7 +137,7 @@ sys-user_src_configure() { # prevents us from incrementing the UID on a reinstall, and doing # so would break most packages that need a system user to exist. if [[ "${SYS_USER_UID_IMPORTANT}" != "true" ]]; then - SYS_USER_UID=$(sys-user_getuid "${SYS_USER_NAME}") + SYS_USER_UID="${current_uid}" fi if (( "${SYS_USER_HOME}" == -1 )); then @@ -177,7 +178,7 @@ sys-user_src_install() { } sys-user_pkg_preinst() { - if [[ -z $(egetent passwd "${SYS_USER_NAME}") ]]; then + if [[ -z $(sys-user_getuid "${SYS_USER_NAME}") ]]; then # The user does not already exist. This is the nice and easy # case because no matter how we got here, we want to go ahead # and create the (new) user. @@ -238,7 +239,7 @@ sys-user_pkg_postinst() { # that this new version is going to add. At this point, in our # pkg_postinst(), the old version's pkg_prerm() phase should have # already happened. - if [[ -n $(egetent passwd "${SYS_USER_NAME}") ]]; then + if [[ -n $(sys-user_getuid "${SYS_USER_NAME}") ]]; then die "User ${SYS_USER_NAME} already exists during an upgrade." else enewuser "${SYS_USER_NAME}" \ @@ -252,7 +253,7 @@ sys-user_pkg_postinst() { } sys-user_pkg_prerm() { - if [[ -z $(egetent passwd "${SYS_USER_NAME}") ]]; then + if [[ -z $(sys-user_getuid "${SYS_USER_NAME}") ]]; then # We have successfully done nothing. ewarn "Tried to remove nonexistent user ${SYS_USER_NAME}." else -- 2.43.2