commit: 4524dea9689c94b7b6250d64f4917f7fc9b3a879
Author: Benda Xu <heroxbd <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 20 03:34:53 2017 +0000
Commit: Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Sun Nov 26 01:05:41 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4524dea9
user.eclass: gracefully return when unprivileged
enewgroup and enewuser does not apply when executed as a normal
user, e.g. under Gentoo Prefix.
eclass/user.eclass | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/eclass/user.eclass b/eclass/user.eclass
index 86bcd282479..97e417a7be9 100644
--- a/eclass/user.eclass
+++ b/eclass/user.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: user.eclass
@@ -103,6 +103,10 @@ egetent() {
# Default uid is (pass -1 for this) next available, default shell is
# /bin/false, default homedir is /dev/null, and there are no default groups.
enewuser() {
+ if [[ ${EUID} != 0 ]] ; then
+ einfo "Insufficient privileges to execute ${FUNCNAME[0]}"
+ return 0
+ fi
_assert_pkg_ebuild_phase ${FUNCNAME}
# get the username
@@ -262,6 +266,10 @@ enewuser() {
# do the rest. You may specify the gid for the group or allow the group to
# allocate the next available one.
enewgroup() {
+ if [[ ${EUID} != 0 ]] ; then
+ einfo "Insufficient privileges to execute ${FUNCNAME[0]}"
+ return 0
+ fi
_assert_pkg_ebuild_phase ${FUNCNAME}
# get the group