From 82001426fe423b57f709c418c8e03d1fdce8e1b1 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 14 Jan 2009 03:56:53 +0000 Subject: Use a new 'usersync' feature to control dropping of privileges for --sync, since it's fairly common for people to have inconsistent permissions between $PORTDIR and contained files/directories. (trunk r12496) svn path=/main/branches/2.1.6/; revision=12506 --- man/make.conf.5 | 4 ++++ pym/_emerge/__init__.py | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/man/make.conf.5 b/man/make.conf.5 index b2d447eb9..9526a6315 100644 --- a/man/make.conf.5 +++ b/man/make.conf.5 @@ -356,6 +356,10 @@ portage:portage without a sandbox (unless \fIusersandbox\fR is also used). .B usersandbox Enable the sandbox in the compile phase, when running without root privs (\fIuserpriv\fR). .TP +.B usersync +Drop privileges to the owner of \fBPORTDIR\fR for \fBemerge(1) --sync\fR +operations. +.TP .B webrsync-gpg Enable GPG verification when using \fIemerge\-webrsync\fR. .RE diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 130bf7ecf..48a1e911a 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -11892,7 +11892,8 @@ def action_sync(settings, trees, mtimedb, myopts, myaction): spawn_kwargs = {} spawn_kwargs["env"] = settings.environ() - if portage.data.secpass >= 2 and \ + if 'usersync' in settings.features and \ + portage.data.secpass >= 2 and \ (st.st_uid != os.getuid() and st.st_mode & 0700 or \ st.st_gid != os.getgid() and st.st_mode & 0070): try: -- cgit v1.2.3-1-g7c22