On Sun, Jun 26, 2011 at 08:02:57AM +0100, Ciaran McCreesh wrote:
> Here's a completely different way of doing tags:
> 
> First, standardise sets. We probably want to go with a format along the
> lines of:
> 
>     eapi = 4
>     description = Monkeys
> 
>     dev-monkey/howler
>     dev-monkey/spider
>     >=dev-monkey/spanky-2.0
>     dev-monkey/squirrel
> 
> where eapi has to be on the first line.
> 
> Second, make a bunch of sets named kde-tag, editors-tag, xml-tag,
> monkeys-tag etc.

This is a bit inverted- tagging is fundamentally pkg specific.  If we 
did as you proposed and I wanted to find out all tags/descriptions for 
a pkg, the PM would have to scan every tags file there.

Additionally, as others have indicated, it sucks have this data tucked 
away in another chunk of the tree, away from where the package data 
actually is (in cat/pkg/*).

> Advantages: dead easy to implement, backwards compatible, we need sets
> anyway.
> 
> Disadvantages: doesn't use some horribly convoluted system of XML,
> wikis and web 2.0.

Counter proposal; use what you're proposing as a cache.  metadata.xml 
is the proper place for this- we store use.local data there for 
example, and cache the results of it in profiles/use.local.desc.  Via 
this vcs concerns are addressed, data locality is preserved, and 
multiple modes of lookup are sanely supported.

Roughly, and this is definitely a rough sketch:

<tags>
 <atom val=dev-util/diffball>tag1 tag2 tag2 tag3</atom>
 <atom val=">=dev-util/diffball-1.0">awesomeness</atom>
</tags>

>From there, jammed into profiles, a master description list in 'tag: 
description' style format.  Identifying the eapi is easy enough- just 
inspect the atom's that wind up in the tags list.  Easy enough.

Either way... thing everyone admits the current tree format has it's 
flaws; strikes me it's better to fit to the standards/conventions of 
the repo format as it is now.

<proceed w/ xml bashing>
~harring

Reply via email to