big_daddy portage # emaint sync -r gentoo >>> Syncing repository 'gentoo' into '/var/db/repos/gentoo'... >>> Downloading 'http://gentoo.ussg.indiana.edu/distfiles/../snapshots/squashfs/sha512sum.txt' --2015-05-15 20:51:26-- http://gentoo.ussg.indiana.edu/snapshots/squashfs/sha512sum.txt Resolving gentoo.ussg.indiana.edu... 156.56.247.195 Connecting to gentoo.ussg.indiana.edu|156.56.247.195|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 8373 (8.2K) [text/plain] Saving to: ‘/var/cache/portage/squashfs/sha512sum.txt’ /var/cache/portage/squashfs/sha512s 100%[=====================================================================>] 8.18K --.-KB/s in 0.1s 2015-05-15 20:51:27 (63.9 KB/s) - ‘/var/cache/portage/squashfs/sha512sum.txt’ saved [8373/8373] * gentoo-20150514-20150515.sqdelta SHA512 size ;-) ... [ ok ] Re-generating search index for repo: gentoo !!! Section 'x-portage' in repos.conf has location attribute set to nonexistent directory: '/usr/portage' Traceback (most recent call last): File "./bin/egencache", line 1121, in <module> sys.exit(egencache_main(sys.argv[1:])) File "./bin/egencache", line 1091, in egencache_main gen_index.run() File "./bin/egencache", line 468, in run encoding=_encodings["repo.content"]) File "/home/brian/Dev/git/portage/pym/portage/util/__init__.py", line 1279, in __init__ mode=mode, **portage._native_kwargs(kargs))) IOError: [Errno 30] Read-only file system: '/var/db/repos/gentoo/metadata/pkg_desc_index.29113' * Spawn failed for: search-index, /etc/portage/repo.postsync.d/search-index ^^^ test post-sync hook1 param: gentoo, mirror://gentoo/../snapshots/squashfs, /var/db/repos/gentoo ^^^^^^ TIME FOR ME TO DO SOME WORK ^^^^^^ *** test post-sync hook2 IGNORING gentoo, mirror://gentoo/../snapshots/squashfs, /var/db/repos/gentoo !!! Section 'x-portage' in repos.conf has location attribute set to nonexistent directory: '/usr/portage' Reproducible: Always
The IndexedPortdb class can read the the cache from /var/cache/edb/dep/${repo_path}/metadata/pkg_desc_index. It would be nice if egencache would write the cache there when ${repo_path} is read-only.
There's a patch in the following branch: https://github.com/zmedico/portage/tree/bug_549616 I've posted it for review here: https://archives.gentoo.org/gentoo-portage-dev/message/1bf1d88fa99e8422bd60c4ca92d1d705
This is in the master branch: https://gitweb.gentoo.org/proj/portage.git/commit/?id=28d5b7e78e0fdad2479685ec257ab5b858195007
Released in portage-2.2.20