Gentoo Logo

[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


4. Gentoo Metadata

Table des matières :

4.a. L'utilité des fichiers metadada.xml

Le fichier metadata.xml a pour objectif de donner des informations supplémentaires sur les ebuilds. Le fichier metadata.xml devrait être présent dans tout répertoire de paquet. Vous pourrez trouver un fichier skel dans l'arbre de Portage, nommé skel.metadata.xml.

Note : Exécutez la commande xmllint --valid metadata.xml avant de soumettre un fichier metadata.xml. Nous espérons intégrer rapidement dans repoman le support des fichiers metadata.xml.

4.b. La structure d'un metadata

Un fichier metadata.xml peut contenir un certain nombre de balises :

balise description
<pkgmetadata> C'est l'élément racine d'un fichier metadata.xml d'un paquet. Il n'a pas d'attributs. Il doit avoir la balise fille suivante : <herd>. Il peut également admettre les balises filles suivantes : <email> pour une adresse électronique de herd (groupe travaillant sur le projet), <maintainer>, et <longdescription>.
<catmetadata> C'est l'élément racine d'un fichier metadata.xml d'une catégorie (cf. GLEP 34.) Il n'a pas d'attributs. Il contient plusieurs éléments <longdescription>, un par langue.
<herd> Il doit y avoir au moins une balise fille de type herd. Le contenu de cette balise doit être le nom d'un groupe, comme spécifié dans le fichier herds.xml. Elle ne doit apparaître qu'une et une seule fois.
<maintainer> Au delà du fait d'appartenir à un groupe, un paquet peut aussi être maintenu de manière directe. Les mainteneurs du paquet peuvent être indiqué à l'aide de la balise <maintainer>. Cette balise a une balise fille obligatoire :<email>. Elle a deux balises filles optionnels : <name> et <description>.
<email> Celle-ci contient l'adresse électronique du mainteneur. Elle est obligatoire.
<name> Cette balise contient un texte libre avec le nom du mainteneur. Elle est optionnelle.
<description> La balise de description contient une description sur la maintenance ou par exemple une remarque indiquant aux personnes intéressées qu'elle peuvent se charger de la maintenance. Cette balise est optionnelle.
<longdescription> Cette balise contient une description du paquet. Elle a pour objectif d'ajouter des informations au champ DESCRIPTION présent dans les ebuilds.

Certains attributs peuvent être utilisés avec ces balises. Ils sont tous optionnels :

Attribut Balises Description
lang <description>, <longdescription> Dans tous les cas pour lesquels une description est nécessaire, il doit y avoir au moins une description en anglais. Si une description dans une autre langue est proposée, cet attribut est utilisé pour spécifier la langue utilisée. On utilise le code de la langue en deux caractères défini par la norme ISO-639-1.
restrict <herd>, <maintainer>, <longdescription> L'attribut restrict permet de restreindre l'application de certaines balises à certaines versions d'un paquet. Quand cet attribut est utilisé, une balise sans attribut doit également exister. Cette balise sans l'attribut restrict servira de balise par défaut. Le format de l'attribut restrict est celui utilisé dans les paramètres DEPEND, à l'exception du fait que "<" et ">" doivent être spécifiés avec des &lt; et &gt;.
Par exemple pour le paquet db, un attribut restrict=">=sys-libs/db-3.2.9-r5" dans la balise du mainteneur indiquera que je suis actuellement mainteneur dans toutes les versions supérieures à la 3.2.9-r5.

4.c. Exemples de metadata

Premier exemple

Dans le premier exemple nous vous proposons un fichier metadata.xml pour OpenOffice.org, dans lequel les ebuilds sont complètement gérés par un groupe nommé openoffice :

Exemple de code 3.1 : Paquet géré par un groupe

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
  <herd>openoffice</herd>
  <longdescription>
OpenOffice is the  opensource version of staroffice.
This ebuild allows you to compile it yourself. Unfortunately this
compilation can take up to a day depending on the speed of your
computer. It will however make a snappier openoffice than the binary
version.
  </longdescription>
</pkgmetadata>

Le groupe openoffice est défini dans herds.xml par le Projet de métastructure Gentoo.

Note : Cet exemple est probablement démodé à l'heure où vous lisez ces lignes. Ce n'est qu'un exemple !

Exemple de code 3.2 : Exemple de groupe OpenOffice

<herd>
  <name>openoffice</name>
  <email>openoffice@gentoo.org</email>
  <description>openoffice related packages</description>
  <maintainer><email>pauldv@gentoo.org</email></maintainer>
  <maintainer><email>brad@gentoo.org</email></maintainer>
</herd>

Si vous souhaitez vous ajouter (ou enlever) dans un groupe, éditez herds.xml, qui est situé dans [gentoo]/misc dans le dépôt CVS de Gentoo. Assurez-vous de connaître l'alias mail caractérisant le groupe en question (par exemple le groupe sound a pour alias sound@gentoo.org) et ajoutez-vous à l'alias en question (en éditant /var/mail/alias/misc/<nom de l'alias> sur dev.gentoo.org).

Second exemple

Comme second exemple, nous allons voir le metadata.xml de mirrorselect. Cet ebuild est maintenu par le groupe tools-portage, mais a un mainteneur à part.

Exemple de code 3.3 : Paquet d'un groupe avec un mainteneur individuel

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
  <herd>tools-portage</herd>
  <maintainer>
    <email>johnm@gentoo.org</email>
    <name>John Mylchreest</name>
  </maintainer>
  <longdescription>
This utility is used to select the fastest mirror (distfiles) and provide a
nicer front-end for mirror selection (both rsync + distfiles) to a user.
  </longdescription>
</pkgmetadata>

[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


Imprimer

Voir tout

Dernière mise à jour le 5 décembre 2004

Résumé : Cette section explique l'utilité et l'usage du fichier metadata.xml qui est utilisé dans l'arbre de Portage.

Donny Davies
HOWTO Ebuilds - Auteur

Peter Gavin
Auteur

Karl Trygve Kalleberg
Auteur

Mike Frysinger
Auteur

Daniel Robbins
Auteur/Relecteur

John P. Davis
Auteur/Relecteur

Jorge Paulo
Relecteur

Sven Vermeulen
Relecteur

Zack Gilburd
Relecteur

Benny Chuang
Relecteur

Erwin
Relecteur

Dan Armak
HOWTO Eclass - Autheur

Alastair Tse
Erreurs Classiques pour les ebuilds - Auteur

Paul De Vrieze
Documentation Metadata - Auteur

Owen Stampflee
Politique générale concernant les ebuilds - Auteur

Seemant Kulleen
Relecteur

Jon Portnoy
Relecteur

Carl Anderson
Relecteur

Ciaran McCreesh
Correcteur

Nicholas D. Wolfwood
Correcteur

Marius Mauch
Correcteur

Daniel Black
Correcteur

Tim Yamin
Auteur/Relecteur

Wernfried Haas
Correcteur

Shyam Mani
Relecteur

L'équipe relationnelle des développeurs Gentoo
Relecteurs

Clément Varaldi
Traducteur

Xavier Neys
Traducteur

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.