Repository feature proposal

Nicolas Mailhot Nicolas.Mailhot at laPoste.net
Tue Oct 21 09:41:44 UTC 2003


[ Keeping on pretending this stuff interests someone - if not just tell
me so ]

<warning>Evil XML ahead</warning>

<warning severity="critical">Fell free to flame me - general remarks
like "xml sucks" will be /dev/nulled</warning>

%<-------------

<!-- Top-level element with id so it can be referenced in other 
     files -->
<repository id="fedora">
 <!-- i18ned for-humans info to prettify the interfaces -->
 <name>Fedora</name>
 <description>.....</description>
 <description lang="klingon">.....</description>
 <!-- Repository home site with docs, etc -->
 <home url="http://fedora.redhat.com/"/>

 <!-- List of GPG public keys to expect - perhaps they should be made
      per-channel ? -->
 <gpg id="3B29F20D"> <!--armored public part here--> </gpg>
 <gpg .../>

 <!-- Channel declarations - same id, name, description as for the
      general repository -->
 <channel id="core">
  <name>Core Packages</name>
  <description>....</description>
 </channel>

 <!-- A channelset: a bunch of channels that provide the same contents
      but target different distributions/releases.
      Explicitely marking channels as siblings enable decisions like:
      "pull packages for rawhide if available, fallback on fc, then
      mdk..." -->
 <channelset id="extras">
  <channel id="rawhide-extras">
    <name>Core Packages</name>
    <description>....</description>
    <!-- A dependency - should probably be allowed at the channelset
        level too. Enables to declare a channel as using stuff in one or
        more other channels to complete its package deps 
        The repository part can probably be made optional (ie pull from
        the same repository by default) -->
    <depends repository="Fedora" channel="rawhide"/>
  </channel>  
  <channel id="fs-extras">
    <name>Core Packages</name>
    <description>....</description>
    <depends repository="Fedora" channel="core"/>
  </channel>
  ...
 </channelset>

 <!-- A mirrorset : a bunch of sources managed by a single entity -->
 <mirrorset>
  <!-- Provider name and description for GUIs -->
  <provider>Red Hat</provider>
  <description> ....
  </description>

  <!-- List of channel this mirrorset hosts
       If none - default to all -->
  <channel refid="core"/>

  <!-- List of architectures the mirrorset hosts
       If none - default to all -->
  <arch name="x86"/>
  <arch name="sparc"/>
  ...
  <arch name="src"/>
   
  <!-- The mirror elements themselves -
       Should probably be allowed to have their own channel and arch
       children to declare partial mirrors -->
  <mirror url="ftp://ftp.redhat.com/...."/>
  <mirror url="http://updates.redhat.com/....">
     <channel refid="updates"/>
  <mirror/>

  <!-- Children mirrorset elements - mirrorsets that pull stuff from
       this mirrorset ie they will never be more up-to-date than this
       mirrorset -->
  <mirrorset>
  ...
  </mirrorset>
 </mirrorset>

 <!-- Another top-level mirrorset -->
 <mirrorset>
 ...
 </mirrorset>
</repository>

-- 
Nicolas Mailhot
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Ceci est une partie de message num?riquement sign?e.
URL: <http://listman.redhat.com/archives/fedora-devel-list/attachments/20031021/6fc10a9f/attachment.sig>


More information about the fedora-devel-list mailing list