eclass/acct-user.eclass: disable pkg_* on Prefix.
authorBenda Xu <heroxbd@gentoo.org>
Tue, 18 Feb 2020 12:56:45 +0000 (20:56 +0800)
committerBenda Xu <heroxbd@gentoo.org>
Fri, 21 Feb 2020 08:14:13 +0000 (16:14 +0800)
  Gentoo Prefix runs with a normal user and cannot manage any other user.
  Exit gracefully with a message.

Closes: https://bugs.gentoo.org/709570
Signed-off-by: Benda Xu <heroxbd@gentoo.org>
eclass/acct-user.eclass

index be6b3dd3e600db550e5423183134c03350fce24e..e3ec3966035d6b618e9e211d08d9dc8732cb6ccb 100644 (file)
@@ -360,6 +360,11 @@ acct-user_pkg_preinst() {
 acct-user_pkg_postinst() {
        debug-print-function ${FUNCNAME} "${@}"
 
+       if [[ ${EUID} != 0 ]] ; then
+               einfo "Insufficient privileges to execute ${FUNCNAME[0]}"
+               return 0
+       fi
+
        # NB: eset* functions check current value
        esethome "${ACCT_USER_NAME}" "${ACCT_USER_HOME}"
        esetshell "${ACCT_USER_NAME}" "${ACCT_USER_SHELL}"
@@ -376,6 +381,11 @@ acct-user_pkg_postinst() {
 acct-user_pkg_prerm() {
        debug-print-function ${FUNCNAME} "${@}"
 
+       if [[ ${EUID} != 0 ]] ; then
+               einfo "Insufficient privileges to execute ${FUNCNAME[0]}"
+               return 0
+       fi
+
        if [[ -z ${REPLACED_BY_VERSION} ]]; then
                if [[ -z $(egetent passwd "${ACCT_USER_NAME}") ]]; then
                        ewarn "User account not found: ${ACCT_USER_NAME}"