Good point. I may just ignore overlays completely because 1) I don't use
them and 2) does anyone really need to search an overlay anyway? aren't any
packages added via an overlay added deliberately?

On Mon, Dec 1, 2008 at 4:52 PM, Tambet <[EMAIL PROTECTED]> wrote:

> I would suggest a different way of updates. When you manually change
> portage tree, you have to make an overlay. Overlay, as it's updated and
> managed by human being, will be always small (unless someone makes a script,
> which creates million overlay updates, but I dont think it would be
> efficient way to do anything). So, when you search, you can search Portage
> tree with index, which is updated with --sync and then search overlay, which
> is small and fast to search anyway. Overlay should not have index in such
> case. If anyone is going to change portage tree by hand, those changes will
> be lost with next --sync and thus noone should do it anyway - this case
> should not be considered at all.
>
> Tambet - technique evolves to art, art evolves to magic, magic evolves to
> just doing.
>
>
> 2008/12/1 Emma Strubell <[EMAIL PROTECTED]>
>
> Thanks for the clarification. I was planning on forcing an update of the
>> index as a part of emerge --sync, and implementing a command that would
>> update the search index (leaving it up to the user to update after making
>> any manual changes to the portage tree). That way the search index should
>> always be up-to-date when emerge -s is called. It does make sense for the
>> update upon --sync to be optional, but I guess I don't see why the update
>> should always be SO slow. Of course the first population of the tree will
>> take quite a while, but assuming regular (daily?) --syncs (and therefore
>> updates to the index), subsequent updates shouldn't take very long, since
>> there will only be a few (hundred?) changes to be made to the tree.
>>
>> And I do plan on using a pickling the search tree :]
>>
>> Emma
>>
>>
>> On Mon, Dec 1, 2008 at 12:52 PM, Zac Medico <[EMAIL PROTECTED]> wrote:
>>
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>> Emma Strubell wrote:
>>> > I completely forgot about Google's Summer of Code! Thanks for reminding
>>> me.
>>> > Hopefully I won't forget again by the time summer rolls around,
>>> obviously I
>>> > wouldn't mind getting a little extra money for doing something I'd do
>>> for
>>> > free anyway.
>>> >
>>> > On a more related note: What, exactly, does porttree.py do? And am I
>>> correct
>>> > in thinking that my suffix tree(s) should somewhat replace porttree.py?
>>> Or,
>>> > should I be using porttree.py in order to populate my tree?
>>>
>>> You should use portree.py to populate it. Specifically, you should
>>> use portdbapi.aux_get() calls to access the package metadata that
>>> you'll need, similar to how the code in the existing search class
>>> accesses it.
>>>
>>> > I think I have
>>> > the suffix tree sufficiently figured out, I'm just trying to determine
>>> > where, exactly, the tree will fit in to the portage code, and what the
>>> best
>>> > way to populate it (with package names and some corresponding metadata)
>>> > would be.
>>>
>>> There are there possible times that I imagine a person might want to
>>> populate it:
>>>
>>> 1) Automatically after emerge --sync. This should not be mandatory
>>> since it will be somewhat time consuming and some users are very
>>> sensitive about --sync time. Note that FEATURES=metadate-transfer is
>>> disabled by default in the latest versions of portage, specifically
>>> to reduce --sync time.
>>>
>>> 2) On demand, when emerge --search is invoked. The calling user will
>>> need appropriate file system permissions in order to update the
>>> search index.
>>>
>>> 3) On request, by calling a command that is specifically designed to
>>> generate the search index. This could be a subcommand of emaint.
>>>
>>> For the index file format, it would be simplest to use a python
>>> pickle file, but you might choose another format if you'd like the
>>> index to be accessible without python and the portage API (probably
>>> not necessary).
>>> - --
>>> Thanks,
>>> Zac
>>> -----BEGIN PGP SIGNATURE-----
>>> Version: GnuPG v2.0.9 (GNU/Linux)
>>>
>>> iEYEARECAAYFAkk0JFAACgkQ/ejvha5XGaONDACgixnmCh9Ei6MyUGIZXpiFt7F2
>>> gqMAoOhf5H2uZHB7xhjecOcL0G3w/cqR
>>> =hFNz
>>> -----END PGP SIGNATURE-----
>>>
>>>
>>
>

Reply via email to