Lines 92-112
def _get_global(k):
Link Here
|
92 |
#Discover the uid and gid of the portage user/group |
92 |
#Discover the uid and gid of the portage user/group |
93 |
keyerror = False |
93 |
keyerror = False |
94 |
try: |
94 |
try: |
95 |
portage_uid = pwd.getpwnam(_get_global('_portage_username')).pw_uid |
95 |
username = _get_global('_portage_username') |
|
|
96 |
portage_uid = pwd.getpwnam(username).pw_uid |
96 |
except KeyError: |
97 |
except KeyError: |
97 |
# PREFIX LOCAL: some sysadmins are insane, bug #344307 |
98 |
# PREFIX LOCAL: some sysadmins are insane, bug #344307 |
98 |
if _portage_grpname.isdigit(): |
99 |
if username.isdigit(): |
99 |
portage_gid = int(_portage_grpname) |
100 |
portage_uid = int(username) |
100 |
else: |
101 |
else: |
101 |
keyerror = True |
102 |
keyerror = True |
|
|
103 |
portage_uid = 0 |
102 |
# END PREFIX LOCAL |
104 |
# END PREFIX LOCAL |
103 |
portage_uid = 0 |
|
|
104 |
|
105 |
|
105 |
try: |
106 |
try: |
106 |
portage_gid = grp.getgrnam(_get_global('_portage_grpname')).gr_gid |
107 |
grpname = _get_global('_portage_grpname') |
|
|
108 |
portage_gid = grp.getgrnam(grpname).gr_gid |
107 |
except KeyError: |
109 |
except KeyError: |
108 |
keyerror = True |
110 |
# PREFIX LOCAL: some sysadmins are insane, bug #344307 |
109 |
portage_gid = 0 |
111 |
if grpname.isdigit(): |
|
|
112 |
portage_gid = int(grpname) |
113 |
else: |
114 |
keyerror = True |
115 |
portage_gid = 0 |
116 |
# END PREFIX LOCAL |
110 |
|
117 |
|
111 |
if secpass < 1 and portage_gid in os.getgroups(): |
118 |
if secpass < 1 and portage_gid in os.getgroups(): |
112 |
secpass = 1 |
119 |
secpass = 1 |
Lines 204-217
def _get_global(k):
Link Here
|
204 |
try: |
211 |
try: |
205 |
grp_struct = grp.getgrgid(eroot_st.st_gid) |
212 |
grp_struct = grp.getgrgid(eroot_st.st_gid) |
206 |
except KeyError: |
213 |
except KeyError: |
207 |
pass |
214 |
v = eroot_st.st_gid |
208 |
else: |
215 |
else: |
209 |
v = grp_struct.gr_name |
216 |
v = grp_struct.gr_name |
210 |
else: |
217 |
else: |
211 |
try: |
218 |
try: |
212 |
pwd_struct = pwd.getpwuid(eroot_st.st_uid) |
219 |
pwd_struct = pwd.getpwuid(eroot_st.st_uid) |
213 |
except KeyError: |
220 |
except KeyError: |
214 |
pass |
221 |
v = eroot_st.st_uid |
215 |
else: |
222 |
else: |
216 |
v = pwd_struct.pw_name |
223 |
v = pwd_struct.pw_name |
217 |
|
224 |
|