Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 470892 - eix-sync fails metadata transfer with sqlite backend
Summary: eix-sync fails metadata transfer with sqlite backend
Status: RESOLVED CANTFIX
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Martin Väth
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-21 16:43 UTC by igel
Modified: 2013-05-22 10:26 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description igel 2013-05-21 16:43:28 UTC
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.
Comment 1 Ian Stakenvicius (RETIRED) gentoo-dev 2013-05-21 18:09:21 UTC
Which version of eix are you running?  Could you please post the output of 'emerge --info app-portage/eix" ?
Comment 2 igel 2013-05-22 08:16:43 UTC
(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/
Comment 3 igel 2013-05-22 08:26:45 UTC
> It's the newest in the tree: 0.25.5
meaning "newest stable"...
Comment 4 Martin Väth 2013-05-22 10:26:51 UTC
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.