Hello there!

This may look like like a lot of text but it actually isn't.
Please read on.  Thanks.


During the last few days rbu and I have been teaming up on a proposal
implementation improving on some of the issues that persist around
layman-global.txt.  (previously summarized in [1])

Both layman and the feed aggregator (planet) behind overlays.gentoo.org
work with a database of information on repositories.  These databases
are not shared so changes do not propagate.  That's not cool.


What we have done for now:

 - Extended layman-global.txt format to repositories.xml format adding
   - A list of feed URIs
         .. for the planet side
   - Several source URIs
         .. for mirroring and several protocols
   - Owner name
         i.e. the name of the person to contact
   - quality classification
         (core, stable, testing, experimental, graveyard)
         .. to better guide users
   - project/person distinction
       .. for the planet side mainly

 - Created DTDs and Relax NG schemas for both the old and new format

 - Wrote a converter script from layman-global.txt format to
     repositories.xml format and back.  It also adds
     "generated file" style warnings.  The scripts have no dependencies
     other than plain Python.

 - Prepared a patch against layman trunk at r38 that adds support for
   - repositories.xml format
   - display of owner names (in addition to e-mail addresses)


We have more or less the following future process in mind:

 - Collect feedback from the list (right now)
     and adjust the format and process as needed

 - Give birth to repositories.xml online
   - Decide about the final web location of repositories.xml
   - Put an initial repositories.xml on gentoo infra
   - Set up the repositories.xml to layman-global.txt converter
     script on the same machine to propagate all changes over
     to layman-global.txt in an automated fashion so we can keep
     it alive and up-to-date while still only editing its replacement

 - Revise layman patch until wrobel wants it upstream
     and put our a new layman release after

 - Setup script to create planet config from repositories.xml
     (Script creation is in progress.)

 - Take layman-global.txt offline in a year or so


Here is a sample entry for each XML formats:

layman-global.txt
=====================================================================
  <overlay
      contact="sebast...@pipping.org"
      name="sping" src="git://git.goodpoint.de/overlay-sping.git"
      status="unofficial"
      type="git">
    <link>http://git.goodpoint.de/?p=overlay-sping.git</link>
    <description>Gentoo overlay of Sebastian Pipping</description>
  </overlay>
=====================================================================

repositories.xml
=====================================================================
  <repo
      name="sping"
      quality="experimental"
      status="unofficial">
    <description>Gentoo overlay of Sebastian Pipping</description>
    <homepage>http://git.goodpoint.de/?p=overlay-sping.git</homepage>
    <owner type="person">
      <email>sebast...@pipping.org</email>
      <name>Sebastian Pipping</name>
    </owner>
    <source type="git">git://git.goodpoint.de/overlay-sping.git</source>
    <feed>http://git.goodpoint.de/?p=overlay-sping.git.git;a=atom</feed>
  </repo>
=====================================================================


The code and schemas can be found at [2].

Now please ask questions and let us know what you think.



Sebastian


[1] http://www.mail-archive.com/gentoo-dev@lists.gentoo.org/msg35095.html
[2] http://git.goodpoint.de/?p=overlays-xml-specification.git;a=summary

Reply via email to