egencache from portage-2.3.1 creates metadata files with 0600 permission instead of 0644 like previous versions did. I stumbled upon this when I tried to create metadata files for my overlay: egencache --repo=poly-c --update --rsync --write-timestamp
This commit is suspect: https://gitweb.gentoo.org/proj/portage.git/commit/?id=5652bc88514bdb36b36b544f7fc7e623cf25caae However, the self._ensure_access(fp) call (which is visible the context of the patch) is supposed to set the permissions, so I'll have to investigate some more.
There's a fix here: https://github.com/gentoo/portage/pull/51 I'll merge it after the tests pass.
Pushed to master branch: https://gitweb.gentoo.org/proj/portage.git/commit/?id=d10bafb2c84be84ee47a2204938df4b3b9f238c0
I wonder if it would make more sense to set mode = 0664 with gid = portage? Idea being that anyone in the portage group could update the cache.
(In reply to Mike Gilbert from comment #5) > I wonder if it would make more sense to set mode = 0664 with gid = portage? > Idea being that anyone in the portage group could update the cache. Yes, sort of. There are a couple of different permission models supported by the portdbapi class (see the depcachedir_unshared variable in the portdbapi constructor), but currently those permission models are not applied to the cache instances returned from the RepoConfig.get_pregenerated_cache method, which is what egencache is using in the case that triggered this bug.
Fixed in portage-2.3.3.