diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-12-15 19:11:53 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-12-15 19:11:53 -0800 |
commit | b7aa8acf8f353c11e622692a863716966eacad6f (patch) | |
tree | b2bb544981a1640b1079fb2c8596d2cf775e8443 /pym/portage/data.py | |
parent | runTests: initialize portage.data for PyPy (diff) | |
download | portage-b7aa8acf8f353c11e622692a863716966eacad6f.tar.gz portage-b7aa8acf8f353c11e622692a863716966eacad6f.tar.bz2 portage-b7aa8acf8f353c11e622692a863716966eacad6f.zip |
data.py: tweak getgrnam call for PyPy
This makes it unnecessary to explicitly call portage.data._init() in
runTests, and fixes some other cases that trigger the same issue.
Diffstat (limited to 'pym/portage/data.py')
-rw-r--r-- | pym/portage/data.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/pym/portage/data.py b/pym/portage/data.py index cf94ab0cd..ec750a611 100644 --- a/pym/portage/data.py +++ b/pym/portage/data.py @@ -87,7 +87,12 @@ def _get_global(k): #Discover the uid and gid of the portage user/group try: portage_uid = pwd.getpwnam(_get_global('_portage_username')).pw_uid - portage_gid = grp.getgrnam(_get_global('_portage_grpname')).gr_gid + _portage_grpname = _get_global('_portage_grpname') + if platform.python_implementation() == 'PyPy': + # Somehow this prevents "TypeError: expected string" errors + # from grp.getgrnam() with PyPy 1.7 + _portage_grpname = str(_portage_grpname) + portage_gid = grp.getgrnam(_portage_grpname).gr_gid if secpass < 1 and portage_gid in os.getgroups(): secpass = 1 except KeyError: |