* Justin <[EMAIL PROTECTED]> wrote:

Hi,

> I don't get the problem correctly, but if you want to work with ebuild 
> versions I can point you to the versinator.eclass of the portage.

maybe I should clarify my intend a bit more:

I want to build an database which tells whether some release
"a.b.c.d" of some package "foo" is in use by some distro "bar".

For Gentoo, the term "in use" means, there is an ebuild in 
official portage tree (overlays might be treated as their own 
distros). So I need some scanner which runs over the whole portage 
tree ans spits out all package names with their normalized (!) 
releases. The normalized version space is exactly the same CSDB 
uses for it's source URL database.

I guess there's some non-trivial translation process needed.
First I have to cut-off the Gentoo's internal patchlevel 
(aka. same upstream release, but updated ebuild), then map
the upstream's versioning schemes to my normalized one.
*If* Gentoo strictly follows the upstream's versioning scheme
and only adds some -r* for ebuild revisions, then the first step
should be easy, and CSDB's mapping stuff can be reused
(although I should rewrite the bunch of php scripts to some
more universal rule engine ;-o).

Once I've got these information in the database (and also collected
from other major distros), it can tell whether some release is 
"in use" by a simple query.

Hope my intent is now clear :)


cu
-- 
---------------------------------------------------------------------
 Enrico Weigelt    ==   metux IT service - http://www.metux.de/
---------------------------------------------------------------------
 Please visit the OpenSource QM Taskforce:
        http://wiki.metux.de/public/OpenSource_QM_Taskforce
 Patches / Fixes for a lot dozens of packages in dozens of versions:
        http://patches.metux.de/
---------------------------------------------------------------------
-- 
gentoo-user@lists.gentoo.org mailing list

Reply via email to