commit:     37420386c65f55b677aca4bcc1afb18bfe22ee73
Author:     Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 18 12:56:45 2020 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Fri Feb 21 08:14:13 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37420386

eclass/acct-user.eclass: disable pkg_* on Prefix.

  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 <AT> gentoo.org>

 eclass/acct-user.eclass | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index be6b3dd3e60..e3ec3966035 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -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}"

Reply via email to