If group of ${EPREFIX} directory is set incorrectly emerge on stage 3 will fail with next obscure message: !!! Directory initialization failed: '/mnt/gentoo-prefix/var/lib/portage' !!! chown('/mnt/gentoo-prefix/var/lib/portage', -1, 0) !!! Directory initialization failed: '/mnt/gentoo-prefix/var/cache/edb' !!! chown('/mnt/gentoo-prefix/var/cache/edb', -1, 0) setlocale: unsupported locale setting [Errno 1] Operation not permitted: b'/mnt/gentoo-prefix/var/lib/gentoo/news/.news-gentoo.unread.portage_lockfile': chown('/mnt/gentoo-prefix/var/lib/gentoo/news/.news-gentoo.unread.portage_lockfile', -1, 0) Cannot chown a lockfile: '/mnt/gentoo-prefix/var/lib/gentoo/news/.news-gentoo.unread.portage_lockfile' Group IDs of current user: 999 These are the packages that would be merged, in order: Calculating dependencies [Errno 1] Operation not permitted: b'/mnt/gentoo-prefix/var/db/.pkg.portage_lockfile': chown('/mnt/gentoo-prefix/var/db/.pkg.portage_lockfile', -1, 0) Cannot chown a lockfile: '/mnt/gentoo-prefix/var/db/.pkg.portage_lockfile' Group IDs of current user: 999 ... done! [ebuild U ] sys-apps/portage-2.3.96-r1::gentoo [2.3.88::gentoo] USE="(ipc) -apidoc -build -doc -gentoo-dev (-native-extensions) -rsync-verify (-selinux) -xattr" PYTHON_TARGETS="python3_6 -pypy3 -python3_7 -python3_8 (-python2_7%*)" 1026 KiB Total: 1 package (1 upgrade), Size of downloads: 1026 KiB Would you like to merge these packages? [Yes/No] y Traceback (most recent call last): File "/mnt/gentoo-prefix/usr/lib64/python3.6/site-packages/portage/util/__init__.py", line 1095, in apply_permissions os.chown(filename, uid, gid) File "/mnt/gentoo-prefix/usr/lib64/python3.6/site-packages/portage/__init__.py", line 246, in __call__ rval = self._func(*wrapped_args, **wrapped_kwargs) PermissionError: [Errno 1] Operation not permitted: b'/mnt/gentoo-prefix/var/cache/edb/mtimedb' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/mnt/gentoo-prefix/usr/lib/python-exec/python3.6/emerge", line 53, in <module> retval = emerge_main() File "/mnt/gentoo-prefix/usr/lib64/python3.6/site-packages/_emerge/main.py", line 1309, in emerge_main return run_action(emerge_config) File "/mnt/gentoo-prefix/usr/lib64/python3.6/site-packages/_emerge/actions.py", line 3358, in run_action retval = action_build(emerge_config, spinner=spinner) File "/mnt/gentoo-prefix/usr/lib64/python3.6/site-packages/_emerge/actions.py", line 563, in action_build retval = mergetask.merge() File "/mnt/gentoo-prefix/usr/lib64/python3.6/site-packages/_emerge/Scheduler.py", line 943, in merge self._save_resume_list() File "/mnt/gentoo-prefix/usr/lib64/python3.6/site-packages/_emerge/Scheduler.py", line 1823, in _save_resume_list mtimedb.commit() File "/mnt/gentoo-prefix/usr/lib64/python3.6/site-packages/portage/util/mtimedb.py", line 127, in commit uid=uid, gid=portage_gid, mode=0o644) File "/mnt/gentoo-prefix/usr/lib64/python3.6/site-packages/portage/util/__init__.py", line 1271, in apply_secpass_permissions stat_cached=stat_cached, follow_links=follow_links) File "/mnt/gentoo-prefix/usr/lib64/python3.6/site-packages/portage/util/__init__.py", line 1102, in apply_permissions raise OperationNotPermitted(func_call) portage.exception.OperationNotPermitted: chown('/mnt/gentoo-prefix/var/cache/edb/mtimedb', 999, 0) Reproducible: Always Steps to Reproduce: 1. sudo mkdir /mnt/gentoo-prefix 2. sudo chown gentoo-user /mnt/gentoo-prefix 3. sudo -u gentoo-user bootstrap-prefix.sh Actual Results: stage 1&2 are built and installed fine. But emerge on stage3 fails with error message given above. Expected Results: bootstrap-prefix.sh should warn on attempt to install to a directory with incorrectly set user group, or at least the behaviour of emerge to chown group should be mentioned on the documentation or wiki troubleshooting section.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=095f4b4daf6029369c5d5ed308607c8b1e45276d commit 095f4b4daf6029369c5d5ed308607c8b1e45276d Author: Fabian Groffen <grobian@gentoo.org> AuthorDate: 2020-03-31 17:08:26 +0000 Commit: Fabian Groffen <grobian@gentoo.org> CommitDate: 2020-03-31 17:08:26 +0000 scripts/bootstrap-prefix: check ownership of $EPREFIX dir, bug #715312 Closes: https://bugs.gentoo.org/715312 Signed-off-by: Fabian Groffen <grobian@gentoo.org> scripts/bootstrap-prefix.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)