I use sql-lite cache backend with eix-sync and recently, I'm having trouble updating my eix cache. I usually sync with eix-sync (which automatically calls eix-diff after sync), but the output of eix-diff is always void. Also eix is not aware of the new tree, even if I issue eix-update manually afterwards. The only way I get eix' information up to date is to do an emerge --metadata followed by eix-update; any ideas what might be up? (It's possible that it might have something to do with part of my temporary files being on a RAMdisk...) I asked this in the IRC as well where a user said that "sqlite backend causes this" and that he experienced the same problem some time ago.
Which version of eix are you running? Could you please post the output of 'emerge --info app-portage/eix" ?
(In reply to comment #1) > Which version of eix are you running? Could you please post the output of > 'emerge --info app-portage/eix" ? It's the newest in the tree: 0.25.5 the emerge output is here: http://bpaste.net/show/100893/
> It's the newest in the tree: 0.25.5 meaning "newest stable"...
Yes, for sqlite backendm, emerge --metadata must usually be run before eix-update: The reason is simply that emerge --sync does not update the sqlite database by itself, and eix-update just "copies" (parts of) the sqlite database to the eix database. So, as documented in the eix-sync help text, you must use the option -M in eix-sync to force calling emerge --metadata before calling eix-update. If you want this option as the default use e.g. echo -M >>/etc/eix-sync.conf or, which is abou the same, add the two lines EIX_SYNC_CONF="-M ${EIX_SYNC_CONF}" to /etc/eixrc.