in the portage ebuild presently, there is some code that changes the ownership and permissions on the contents of /var/tmp/ccache, and /usr/portage/distfiles. In some systems, this can take an extremely long time. two requests on this: 1. provide a means to bypass both of these (the user is then responsible for the permissions) 2. use variables CCACHE_DIR and DISTDIR if set instead of hardcoded pathes.
Looking at portage 2.0.51-r3's portage.py, portage appears to already do the second idea, try: mystat=os.stat(mysettings["CCACHE_DIR"]) if (mystat[stat.ST_GID]!=portage_gid) or ((mystat[stat.ST_MODE]&02070)!=02070): print "*** Adjusting ccache permissions for portage user..." os.chown(mysettings["CCACHE_DIR"],portage_uid,portage_gid) os.chmod(mysettings["CCACHE_DIR"],02770) spawn("chown -R "+str(portage_uid)+":"+str(portage_gid)+" "+mysettings["CCACHE_DIR"],mysettings, free=1) spawn("chmod -R g+rw "+mysettings["CCACHE_DIR"],mysettings, free=1) DISTDIR is the same also. Does it print "*** Adjusting ccache permissions for portage user."? Maybe it's changing it somewhere else in portage and I just can't find the relevant code.
I said the errors are in the portage ebuild, not in portage itself.
This is a dup of Bugzilla Bug 68078 portage ebuild: /var/tmp/ccache and ${PORTDIR}/distfiles hardcoded
Disable userpriv and you won't have such issues.
while "FEATURES=-userpriv emerge portage" does skip the ccache chmod/chown, it is still applied to all of the distfiles. If you intend userpriv to be safe with this, could you move the stuff in the ebuild that messes with the distfiles directory to be inside a userpriv conditional? (line 340-371 of portage-2.0.51-r8.ebuild v1.7)
Putting a hold on feature requests for portage as they are drowning out the bugs. Most of these features should be available in the next major version of portage. But for the time being, they are just drowning out the major bugs and delaying the next version's progress. Any bugs that contain patches and any bugs for etc-update or dispatch-conf can be reopened. Sorry, I'm just not good enough with bugzilla. ;)
Closing due to old age (obsolete now)