Gentoo Archives: gentoo-portage-dev

From: Martin Vaeth <martin@×××××.de>
To: gentoo-portage-dev@l.g.o
Subject: [gentoo-portage-dev] Re: [RFC] Package description index file format for faster emerge search actions
Date: Tue, 14 Oct 2014 16:27:53
Message-Id: m1jit6$9ev$1@ger.gmane.org
In Reply to: Re: [gentoo-portage-dev] Re: [RFC] Package description index file format for faster emerge search actions by Zac Medico
1 Zac Medico <zmedico@g.o> wrote:
2 >
3 > If we really want to index the homepage, then a more extensible format
4 > might be better. For example, each line of the index could be a JSON
5 > object like this:
6 >
7 > {"description": "sandbox'd LD_PRELOAD hack", "homepage":
8 > "http://www.gentoo.org/proj/en/portage/sandbox/", "package_versions":
9 > "sys-apps/sandbox-1.6-r2,2.3-r1,2.4,2.5,2.6-r1"}
10
11 ...and when you also add some other data like LICENSE, IUSE, KEYWORDS,
12 SLOT and (optionally) {P,R,}DEPEND, you essentially end up with the
13 eix database (/var/cache/eix/portage.eix generated by eix-update).
14
15 The only difference is that the eix database is even somewhat more
16 optimized for searching (so that e.g. the homepage and license data
17 can be skipped without reading when you are looking for the description)
18 and slightly compressed (common words are in a dictionary).
19
20 It would make sense that portage and eix agree on a common database
21 instead of caching essentially the same information twice.
22 This appears especially important in view of things like eix-remote
23 where this data is "merged" for various overlays without downloading
24 the overlays.
25
26 You can find the description of the current format of the eix database
27 in eix-db.html when you emerge eix with USE=doc.

Replies