Recently I have noticed that searches using: eix -In <ebuild> began returning "no matches found" on several of the systems I manage. On all the systems, two cron jobs are run nightly: emerge --sync followed by eix-update (I realize there is a new eix-sync that does both now) Closer inspection shows that the eix-updates had begun failing like so: --[snip]-- # eix --version eix 0.23.3 (gcc-4.3.4, i686-pc-linux-gnu) # eix-update Reading Portage settings .. Building database (/var/cache/eix) .. [0] "gentoo" /usr/portage/ (cache: metadata-flat) Reading category 156|156 (100%) EMPTY! Applying masks .. Calculating hash tables .. Writing database file /var/cache/eix .. Database contains 0 packages in 156 categories. # ls -la /var/cache/eix -rw-rw-r-- 1 portage portage 1877 Aug 18 11:02 /var/cache/eix --[snip]-- the fix appears to be emerge eix && eix-update which upgrades eix from 0.23.3 to 0.25.5, and changes /var/cache/eix from a file to a directory with "portage.eix file in it, but I'd like to know if there was some change to the portage tree that is breaking my older versions of eix. In other words, I'd like to know the cause of this mystery because now i am forced to upgrade eix on all the systems we manage before an eix search will work again Thanks for any info!
The old pms format (in /usr/portage/metadata/cache) was deprecated and replaced by the newer md5-dict format (in /usr/portage/metadata/md5-cache). /usr/portage/metadata/layout.conf has to say to this: # INFRA NOTE: Format 'pms' was removed on Aug 6 2012. # (Announced prior as Aug 1 2012 was the removal date) PORTDIR_CACHE_METHOD=metadata-md5-or-flat (which in contrast to PORTDIR_CACHE_METHOD=metadata-flat can read both) is default since >=eix-0.23.6. Since all eix versions available in the portage tree should work (eix-0.23.3 is no longer in the tree), I close this bug as "fixed".
Thank you for the very clear and specific explanation Martin.