diff options
Diffstat (limited to 'pym/portage/data.py')
-rw-r--r-- | pym/portage/data.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/pym/portage/data.py b/pym/portage/data.py index debf419dd..a9ac62ddc 100644 --- a/pym/portage/data.py +++ b/pym/portage/data.py @@ -74,10 +74,14 @@ try: except KeyError: pass +# Allow the overriding of the user used for 'userpriv' and 'userfetch' +_portage_uname = os.environ.get('PORTAGE_USERNAME', 'portage') +_portage_grpname = os.environ.get('PORTAGE_GRPNAME', 'portage') + #Discover the uid and gid of the portage user/group try: - portage_uid=pwd.getpwnam("portage")[2] - portage_gid=grp.getgrnam("portage")[2] + portage_uid = pwd.getpwnam(_portage_uname)[2] + portage_gid = grp.getgrnam(_portage_grpname)[2] if secpass < 1 and portage_gid in os.getgroups(): secpass=1 except KeyError: @@ -108,7 +112,7 @@ else: # grp.getgrall() since it is known to trigger spurious # SIGPIPE problems with nss_ldap. mystatus, myoutput = \ - portage.subprocess_getstatusoutput("id -G %s" % 'portage') + portage.subprocess_getstatusoutput("id -G %s" % _portage_uname) if mystatus == os.EX_OK: for x in myoutput.split(): try: |