diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-06-09 15:17:18 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-06-09 15:17:18 +0000 |
commit | 48452a4675c33b7b344df217ee3cb4753e2ecd04 (patch) | |
tree | 08db05dfb34f9c9aa62e2508be9a7cdfec210ab9 /pym | |
parent | d305817723fb8e08734c66e53aa28bff6e22e528 (diff) | |
download | portage-48452a4675c33b7b344df217ee3cb4753e2ecd04.tar.gz portage-48452a4675c33b7b344df217ee3cb4753e2ecd04.tar.bz2 portage-48452a4675c33b7b344df217ee3cb4753e2ecd04.zip |
When inside fakeroot, directories with portage's gid appear
to have root's gid. Therefore, use root's gid instead of
portage's gid to avoid spurrious permissions adjustments
when inside fakeroot. (trunk r10608)
svn path=/main/branches/2.1.2/; revision=10620
Diffstat (limited to 'pym')
-rw-r--r-- | pym/portage.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/pym/portage.py b/pym/portage.py index 2a5f29257..68354a358 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -3380,6 +3380,13 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", dirmode = 02070 filemode = 060 modemask = 02 + dir_gid = portage_gid + if "FAKED_MODE" in mysettings: + # When inside fakeroot, directories with portage's gid appear + # to have root's gid. Therefore, use root's gid instead of + # portage's gid to avoid spurrious permissions adjustments + # when inside fakeroot. + dir_gid = 0 distdir_dirs = [""] if "distlocks" in features: distdir_dirs.append(".locks") @@ -3387,13 +3394,13 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks", for x in distdir_dirs: mydir = os.path.join(mysettings["DISTDIR"], x) - if portage_util.ensure_dirs(mydir, gid=portage_gid, mode=dirmode, mask=modemask): + if portage_util.ensure_dirs(mydir, gid=dir_gid, mode=dirmode, mask=modemask): writemsg("Adjusting permissions recursively: '%s'\n" % mydir, noiselevel=-1) def onerror(e): raise # bail out on the first error that occurs during recursion if not apply_recursive_permissions(mydir, - gid=portage_gid, dirmode=dirmode, dirmask=modemask, + gid=dir_gid, dirmode=dirmode, dirmask=modemask, filemode=filemode, filemask=modemask, onerror=onerror): raise portage_exception.OperationNotPermitted( "Failed to apply recursive permissions for the portage group.") |