Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 162542 | Differences between
and this patch

Collapse All | Expand All

(-)pym/portage.py (-1 / +12 lines)
Lines 4038-4043 Link Here
4038
	dirmode  = 02070
4038
	dirmode  = 02070
4039
	filemode =   060
4039
	filemode =   060
4040
	modemask =    02
4040
	modemask =    02
4041
	restrict = mysettings.get("PORTAGE_RESTRICT","").split()
4042
	from portage_data import secpass
4043
	droppriv = secpass >= 2 and \
4044
		"userpriv" in mysettings.features and \
4045
		"userpriv" not in restrict
4041
	for myfeature, kwargs in features_dirs.iteritems():
4046
	for myfeature, kwargs in features_dirs.iteritems():
4042
		if myfeature in mysettings.features:
4047
		if myfeature in mysettings.features:
4043
			basedir = mysettings[kwargs["basedir_var"]]
4048
			basedir = mysettings[kwargs["basedir_var"]]
Lines 4054-4060 Link Here
4054
					# Generally, we only want to apply permissions for
4059
					# Generally, we only want to apply permissions for
4055
					# initial creation.  Otherwise, we don't know exactly what
4060
					# initial creation.  Otherwise, we don't know exactly what
4056
					# permissions the user wants, so should leave them as-is.
4061
					# permissions the user wants, so should leave them as-is.
4057
					if modified or kwargs["always_recurse"]:
4062
					droppriv_fix = False
4063
					if droppriv:
4064
						st = os.stat(mydir)
4065
						if st.st_gid != portage_gid or \
4066
							not stat.S_IMODE(st.st_mode) & dirmode:
4067
							droppriv_fix = True
4068
					if modified or kwargs["always_recurse"] or droppriv_fix:
4058
						if modified:
4069
						if modified:
4059
							writemsg("Adjusting permissions recursively: '%s'\n" % mydir,
4070
							writemsg("Adjusting permissions recursively: '%s'\n" % mydir,
4060
								noiselevel=-1)
4071
								noiselevel=-1)

Return to bug 162542