eix-update fails with KEEP_VIRTUALS=true due to missing repo_names: === $ sudo eix-update Reading Portage settings .. Adding virtual overlays from /var/cache/eix .. void CacheTable::addCache(const char*, const char*, const char*, const std::string&, const std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >*): Unknown cache 'eix*::layman/aross: (no repo_name)' for directory 'layman/aross: (no repo_name)' === Is there any way of overcoming this? Reproducible: Always
Thanks for the report. The problem is that KEEP_VIRTUALS did not quote ":" which occurs in these file names. This is fixed in eix svn trunk (eix-0.19.0). There is no reasonable workaround for earlier eix versions: The eix-update.cc would need to be patched before compilation. All you can do with earlier eix versions is to avoid such filenames (e.g. modify eix-remote, replacing the ":" by something else).
Thanks for your help. I think I'll wait for the new version. Isn't it possible to release updated versions of the old ebuilds with a patched eix-update.cc?
(In reply to comment #2) > Thanks for your help. I think I'll wait for the new version. 0.19.0-r1 is in the tree. > Isn't it possible to release updated versions of the old ebuilds with a patched > eix-update.cc? Yes, but we don't want to. If such a bug is not caught while in ~arch, then it can exist in the stable tree as well. Bugs happen. =P
I think a reason why nobody observed the failing of KEEP_VIRTUALS=true is that this has become unbearably slow (if used with eix-remote) due to the immense number of layman overlays. eix-0.19.1 will probably contain a better algorithm to treat eix-caches from the same file simultaneously so that KEEP_VIRTUALS=true becomes usable again from the point of speed.