[ << ]
[ < ]
[ 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
< et >.
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 ]
[ > ]
[ >> ]
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|