Gentoo Logo

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


1. La politique concernant les ebuilds

Table des matières :

1.a. Principes généraux

Il existe un certain nombre de principes de développement généraux à suivre :

  • Toujours vérifier les changements avec repoman : utilisez repoman commit à la place de cvs commit.
  • Si un paquet est soit cassé dans sa version actuelle, soit utilise un processus de construction/installation vraiment horrible, jetez un coup d'œil sur ce que les autres distributions font pour ce paquet :
  • Votre paquet, une fois terminé et démasqué, est supposé « simplement fonctionner » pour les utilisateurs finaux. Avoir à bidouiller un paquet installé pour qu'il marche devrait être optionnel. Du coup, vous devez installer le paquet en question avec une configuration par défaut raisonnable.
  • N'ayez pas peur de consulter notre documentation en ligne et les ebuilds écrits et maintenus par plusieurs développeurs expérimentés. Vous pouvez aussi contacter les développeurs expérimentés directement pour poser des questions techniques ou concernant la politique générale.
  • Faites attention à ce que vous soumettez. Souvenez-vous que vos soumissions peuvent potentiellement affecter des milliers d'utilisateurs. Si votre soumission entraîne des problèmes dans l'arbre de Portage, ils doivent être résolu dans un temps très court.
  • Tous les paquets doivent être accompagnés d'un fichier metadata.xml qui liste, entre autres, à quel groupe de travail (ou/et quels mainteneurs individuels) est affecté la maintenance du paquet.

1.b. Principes spécifiques

fPIC

Sur certaines architectures, les bibliothèques partagées doivent être construites avec l'option -fPIC. Sur x86 et d'autres, les bibliothèques partagées peuvent parfois être construites sans -fPIC, mais cela impliquerait du gaspillage et peut causer une perte de performance. Si vous rencontrez un paquet qui ne construit pas ses bibliothèques avec -fPIC, corrigez le Makefile pour construire uniquement ses bibliothèques partagées avec -fPIC. Plus d'informations sur -fPIC sont disponibles sur http://www.gentoo.org/proj/en/hardened/pic-internals.xml. En cas de doute, veuillez demander de l'aide, par exemple sur la liste de diffusion gentoo-dev ou le canal IRC #gentoo-dev.

Perl

Les nouveaux modules Perl doivent être ajoutés dans Portage uniquement si l'une des conditions suivantes est vérifiée :

  • le module est nécessaire pour satisfaire une dépendance ;
  • le module ne peut pas être récupéré avec g-cpan ;
  • le module ajoute une fonctionnalité à un ebuild déjà existant ;
  • le module fournit des outils, des applications ou autres fonctionnalités (c'est-à-dire plus que ce qu'offrent leurs .PM).

Merci de vous assurer qu'au moins une personne du groupe de travail sur Perl approuve votre ajout.

1.c. Politique sur les ebuilds

Politique des noms des ebuilds

Le nom des fichiers ebuilds comporte quatre sous-sections logiques :

pkg-ver{_suf{#}}{-r#}.ebuild

Note : Les crochets ({}) délimitent des champs optionnels et n'apparaissent pas dans le nom final pour le paquet. # représente un entier positif différent de zéro.

La première sous-section, pkg, est le nom du paquet qui doit toujours contenir des caractères choisis parmi les minuscules, les chiffres de 0 à 9, le tiret -, le soulignement _ ou le plus +. Par exemple, on a util-linux, sysklogd et gtk+. Nous avons quelques paquets dans Portage qui ne suivent pas cette règle, mais les vôtres devront la respecter.

La seconde sous-section ver est la version du paquet qui doit normalement être la même que la version de l'archive source principale. La version est en général constituée de deux ou trois (ou plus) nombres séparés par un point, comme 1.2 ou 4.5.2 et peuvent comporter une lettre seule suivant immédiatement le dernier chiffre. Par exemple, 1.4b ou 2.6h. La version du paquet est liée au nom du paquet par un tiret. Par exemple, vous aurez foo-1.0 ou bar-2.4.6.

La troisième sous-section, {_suf{#}}, est optionnelle et peut contenir un suffixe pré-défini parmi ceux listés (du plus vieux au plus récent) ci-dessous :

Suffixe Sens
_alpha Sortie de type Alpha
_beta Sortie de type Beta
_pre Pré-sortie
_rc Candidat à la sortie
(aucun) Sortie officielle
_p Niveau de correctif (normalement suivi d'un entier)

Tous ces suffixes doivent être suivis immédiatement d'un entier positif non nul, comme par exemple linux-2.4.0_pre10. En supposant des versions identiques, les suffixes sont ordonnés ainsi (le premier étant le plus vieux) : _alpha < _beta < _pre < _rc < (aucun suffixe) < _p.

En comparant deux suffixes identiques avec les entiers qui les suivent, celui qui a le numéro le plus grand sera considéré comme plus récent. Par exemple, foo-1.0_alpha4 est plus récent que foo-1.0_alpha3.

La quatrième sous-section dans le nom du paquet est le numéro de révision spécifique à Gentoo Linux ({-r#}). Cette sous-section comme le suffixe est optionnelle. # est un entier positif non nul, ce qui donne par exemple paquet-4.5.3-r3.

Le numéro de révision est indépendant de la version de l'archive source et est utilisé pour informer les utilisateurs qu'une révision provenant de Gentoo Linux, pour un paquet particulier, est disponible. Les sorties initiales d'ebuilds ne doivent pas avoir de numéro de révision. Par exemple, paquet-4.5.3 est considéré par Portage comme ayant un numéro de révision de zéro. Cela signifie que le décompte se fait ainsi : 1.0 (version initiale), 1.0-r1, 1.0-r2, etc.

Choisir la version et incrémenter une révision

Le numéro de révision d'un paquet doit être augmenté par les développeurs Gentoo quand l'ebuild a changé à un point tel que les utilisateurs peuvent vouloir faire une mise à jour. Typiquement, c'est le cas quand des correctifs sont fait sur un ebuild qui affectent les fichiers installés résultant, mais l'ebuild utilise la même archive source, comme pour l'ebuild précédent. Si vous faites un changement interne stylistique à un ebuild qui ne change aucun fichier installé alors il n'y a pas besoin de remonter le numéro de révision. D'ailleurs, si vous corrigez un problème de compilation sur un ebuild qui affecte des utilisateurs, il n'y a pas besoin de remonter le numéro de version, dans la mesure où ceux pour qui cela fonctionnait parfaitement ne verront aucune différence en installant la nouvelle révision et ceux qui avaient un problème n'ont pas pu installer leur paquet (puisque la compilation avait échoué), et donc n'ont pas besoin d'avoir un nouveau numéro de révision pour les forcer à mettre à jour. Une incrémentation de révision n'est également pas nécessaire si une minorité d'utilisateurs seraient affectés et que le paquet prend un temps de compilation important : faites appel à votre bon sens pour juger de la circonstance.

Important : Quand vous créez une nouvelle révision pour un ebuild, assurez-vous de mettre à jour le ChangeLog dans le répertoire de l'ebuild. Ne pas le faire est considéré comme une faute importante et peut entraîner des sanctions disciplinaires.

Les ebuilds devraient se calquer sur la version précédente pour s'assurer que des correctifs ne sont pas supprimés accidentellement. Les correctifs doivent inclure des commentaires appropriés dans l'ebuild pour expliquer ce qu'ils font et pourquoi ils sont nécessaires. Si vous n'êtes pas très familier avec les correctifs ou que vous n'arrivez pas à déterminer si ils sont toujours nécessaires, vous ne devez pas mettre à jour l'ebuild.

Virtuals

Portage supporte un concept appelé les paquets virtuels (virtual packages en anglais). En les utilisant, vous permettez d'avoir un nom catégorie/paquet particulier qui pointe vers un autre.

Voici un exemple d'utilisation des paquets virtuels. Imaginons que vous créez un nouveau paquet cron appelé foocron. Gentoo Linux est préparé actuellement pour que tout ce qui nécessite l'usage d'un paquet cron dépend du paquet virtual/cron. Cela permet aux ebuilds de s'assurer qu'il y a plusieurs paquets pour cron disponibles et l'utilisateur peut de manière arbitraire choisir l'un ou l'autre, selon ses préférences. Pour ajouter foocron-1.0.ebuild dans le système, vous devrez ajouter une ligne dans l'ebuild comme suit :

Exemple de code 3.1 : Comment utiliser un paquet virtuel

PROVIDE="virtual/cron"

Maintenant, dès que foocron-1.0 sera installé, le paquet virtual/cron sera enregistré. Si vous n'aviez aucun paquet cron installé auparavant, cela signifiera que tous les paquets dépendant de virtual/cron auront cette dépendance satisfaite de manière complète. Remarquez qu'il est possible de spécifier une valeur PROVIDE à tous les types de paquets. Il faut juste ne pas commencer par virtual. Cela dit, vous devez utiliser la catégorie virtual/, sauf dans le cas où vous utilisez la fonctionnalité proposée par PROVIDE pour pointer vers des paquets qui ont été renommés.

Il y a une seconde composante dans l'implémentation des paquets virtuels dans Gentoo. Qu'arrive-t-il si aucun paquet n'est installé pour fournir virtual/cron ? Comment Portage choisira-t-il le « bon » cron à installer pour satisfaire une dépendance à virtual/cron ? Portage s'en charge en utilisant un fichier de correspondance de profil spécifique de paquets virtuels, nommé virtuals qui est présent dans /etc/make.profile. Si vous jetez un coup d'œil dans le vôtre, vous verrez que le contenu ressemble un peu à ceci :

Exemple de code 3.2 : Exemple de fichier virtuals

virtual/lpr             net-print/cups
virtual/python          dev-lang/python
virtual/mta             net-mail/ssmtp

La première ligne de ce fichier indique à Portage que si un paquet dépend de virtual/lpr et qu'aucun paquet fournissant cette dépendance n'est installé et que le paquet virtual/lpr n'est pas disponible dans l'arbre de Portage, alors net-print/cups devra être installé pour satisfaire cette dépendance. net-print/cups contient une ligne PROVIDE="virtual/lpr" pour que les prochaines dépendances sur virtual/lpr puissent être satisfaites.

Parlons désormais de la conduite à suivre pour les développeurs. Si vous devez ajouter un paquet foocron, vous devrez évidemment vous assurez que tous les programmes qui dépendent de virtual/cron peuvent fonctionner correctement avec votre paquet. Si vous voulez ajouter un paquet foobarosité qui dépend de virtual/cron, vous devrez probablement vous assurer que tous les paquets proposant virtual/cron pourront faire fonctionner correctement votre paquet.

Avant de créer des nouveaux paquets virtuels, merci de commencer à en parler sur la liste de diffusion interne pour les développeurs. Maintenir informés les développeurs de nouveaux paquets virtuels est essentiel pour s'assurer de leur utilisation uniforme.

Visibilité des variables

Quand un ebuild est lu par Portage, les fonctions et les variables qu'il définit sont chargées en mémoire par l'interpréteur. Cependant, seules les variables et les instructions qui ne font pas partie d'une fonction telle que src_compile() sont exécutées lors de la compilatin de l'ebuild.

Le code compris dans des fonctions a une visibilité locale alors que tout ce qui n'est pas dans une fonction a une visibilité globale et est exécuté à chaque utilisation de l'ebuild.

Une application externe comme grep, sed ou awk ne devrait jamais être utilisée dans la partie à visibilité globale pour des raisons de performance. De plus, les fonctionnalités internes de bash telles que le remplacement de texte doivent être utilisées au maximum. Veuillez consulter Advanced Bash Scripting Guide pour les détails.

De plus, une application externe n'est pas nécessairement disponible sur le système de l'utilisateur. En utilisant l'application externe dans une fonction telle que pkg_setup(), il est possible de garantir sa présence en l'ajoutant dans la variable ${DEPEND} de l'ebuild.

Politique des sources CVS

Il y a deux moyens de construire un ebuild basé sur des sources à partir de l'arbre de développement CVS. Le premier moyen (traditionnel) est de créer un ebuild « instantané CVS » en créant votre propre instantané archivé de l'arbre CVS récupéré, en mettant les sources en miroir avec les dépôts officiels de fichiers distribués, puis vous écrivez un ebuild qui utilise spécifiquement cette archive. Nous appellerons désormais ce type d'ebuilds « ebuilds d'instantané CVS ».

L'autre méthode pour créer un ebuild utilisant le CVS consiste à utiliser cvs.eclass pour créer un ebuild CVS « live ». Un tel ebuild récupérera de manière dynamique la dernière archive sur le dépôt CVS mise sur le CVS, assurant ainsi que les sources sont les plus à jour possible. Nous les nommerons les « ebuilds 'live' ».

Les paragraphes suivants détaillent la politique relative à l'utilisation des ebuilds basés sur CVS. Remarquez qu'elle définit des règles strictes à propos de l'ajout de ce type d'ebuilds dans l'arbre de Portage.

Les ebuilds d'instantané CVS sont largement préférés aux ebuilds « live » utilisant cvs.eclass.

Les ebuilds d'instantané CVS sont autorisés si un instantané du CVS contient les correctifs connus qui sont nécessaires au bon fonctionnement du paquet logiciel ou si la version CVS d'un paquet logiciel particulier est connue pour ou a été prouvée comme fonctionnant mieux que les versions sorties sous forme de paquet.

Les ebuilds « live » sont généralement utilisés uniquement pour les commodités des développeurs et devraient toujours être masqués avec un mot-clef de type ~[arch]. Il est impossible de garantir le bon fonctionnement d'un ebuild « live » dans la mesure où l'arbre cvs du serveur peut changer à tout moment, ce qui explique le masquage systématique.

Que ce soit pour un ebuild « live » ou un ebuild d'instantané CVS, vous, développeur serez responsable du bon fonctionnement de l'ebuild. Il est particulièrement difficile de s'en assurer pour les ebuilds « live » pour des raisons évidentes.

Si les ebuilds (quel que soit le type) ne fonctionnent pas correctement, ils doivent être corrigés ou supprimés de l'arbre de Portage. Si ce sont des ebuilds « live », ils doivent être marqués en ~[arch] à vie. Cette exception est expliquée plus bas.

Si un ou plusieurs utilisateurs demandent un ebuild « live », vous pouvez en ajouter un pour eux. Il doit avoir des mots-clef en ~[arch] afin que les autres utilisateurs ne puissent l'installer inconsciemment.

De cette manière, les utilisateurs qui le veulent peuvent l'installer, mais les autres utilisateurs seront protégés de son installation accidentelle. Encore une fois, cela ne s'applique que dans les situations où les utilisateurs demandent de manière spécifique un ebuild « live ». Les ebuilds d'instantanés CVS ne doivent être ajoutés à l'arbre de Portage que dans l'intention de les mettre en stable ou pour proposer des fonctionnalités améliorées par rapport aux versions habituelles de sortie d'un même logiciel.

Important : Les ebuilds d'instantanés CVS de sources CVS de pré-sortie doivent être nommés ainsi : foo-x.y_preYYYYMMDD.ebuild. foo est le nom du paquet, x.y est le numéro de version de la sortie antérieure, _pre est utilisé tel quel et YYYYMMDD est une marque indiquant le jour auquel l'instantané CVS a été fait. Utilisez cette convention de nom pour vous assurer que la version de sortie x.y.1 ne sera pas considérée comme plus ancienne que l'instantané x.y et pour vous assurer en même temps que la sortie officielle x.y sera considérée comme plus récente que votre version d'instantané CVS. Pour les instantanés CVS de sources CVS déjà sorties, utilisez le format foo-x.y_pYYYYMMDD.ebuild (notez le _p pour « patchlevel »). Cela assurera que votre ebuild CVS sera considéré comme plus récent que la sortie x.y standard.

Important : Actuellement, la politique des noms des ebuilds « live » est de s'assurer que le nom du paquet se termine par -cvs. Dans le futur, un suffixe de version -cvs pourra être ajouté aux fonctionnalités de Portage et cette politique de nommage sera alors mise à jour.

ebuilds soumis par les utilisateurs

Les ebuilds soumis par les utilisateurs ne doivent jamais être considérés comme sûr et doivent toujours être audités et testés de manière suffisante, avant de les soumettre au CVS. Si un ebuild soumis par un utilisateur a des problèmes, vous en serez tenu pour responsable direct. En l'incorporant au CVS, vous affirmez que cet ebuild suit tous les standards de développement de Gentoo Linux.

Assurez-vous que l'ebuild soumis par l'utilisateur ne contient pas d'en-tête personnalisées comme celle-ci :

Exemple de code 3.3 : Un en-tête personnel qui doit être déplacé dans le ChangeLog

# Ebuild updated by: me <me@me.com>

Ces informations doivent être ajoutées au ChangeLog en utilisant la syntaxe correcte des commentaires de ChangeLog. Toujours s'assurer que le ChangeLog attribue les crédits à l'utilisateur qui a proposé l'ebuild. Ces informations doivent apparaître dans la première entrée du ChangeLog.

Assurez-vous également que tous les nouveaux ebuilds que vous soumettez au CVS contiennent la ligne suivante :

Exemple de code 3.4 : En-tête d'un ebuild

# $Header: $

Un certain nombre d'ebuilds soumis par les utilisateurs sont basés sur des fichiers utilisant rsync qui peuvent contenir des lignes d'en-tête incorrectes.

Encouragez les utilisateurs à proposer des « diffs » sur les ebuilds existants s'ils proposent une mise à jour. En faisant cela, nous pouvons mieux éviter d'avoir à réintroduire des correctifs de bogues déjà identifiés et corrigés auparavant dans les nouveaux ebuilds. Si vous ne travaillez pas à partir d'un diff soumis par un utilisateur, alors utilisez la commande diff pour voir les changements, en gardant un œil sur tout ce qui devrait apparaître dans le nouveau ebuild et qui était présent dans l'actuel, ou sur tout ce qui dans le nouvel ebuild devrait être corrigé ou supprimé.

En général, laissez l'utilisateur faire ce travail pour qu'il obtienne de lui-même un ebuild correct, sauf si vous voulez nettoyer l'ebuild sans le consulter. Toutefois, il est toujours meilleur de laisser l'utilisateur faire ce travail pour qu'il puisse apprendre de ses erreurs et soumettre des ebuilds plus propres dans le futur. N'oubliez pas de toujours remercier pour toute soumission, même si elle n'est pas vraiment bonne. Soyez poli, mais honnête. Si un ebuild n'est pas utilisable, on peut dire à l'utilisateur d'une manière non insultante que leur ebuild ne convient pas, sans porter atteinte à leur capacité actuelle à écrire un ebuild. Souvenez-vous que les utilisateurs qui proposent des ebuilds cassés peuvent être dans le futur des membres productifs et expérimentés pour notre projet dans le futur, c'est-à-dire s'ils reçoivent suffisamment d'encouragements et de support et continuent à s'améliorer.

1.d. Politique QA

Politique de sortie de Portage et baselayout

Seul les membres de l'équipe Portage peuvent sortir des nouvelles versions de Portage. Personne d'autre n'est autorisé à sortie de nouvelle version de Portage.

Seul les membres de l'équipe baselayout peuvent sortir des nouvelles versions. Personne d'autre n'est autorisé à sortie de nouvelle version de sys-apps/baselayout.

Paquets masqués

/usr/portage/profiles/package.mask contient une liste des paquets qui ne doivent pas être installés par les utilisateurs et des commentaires détaillant la raison du masquage. Package.mask est utilisé pour empêcher d'installer des paquets qui sont cassés, qui cassent d'autres éléments ou qui ont mal été testés avant d'avoir un mot-clef en ~ARCH dans l'arbre. Quand vous ajoutez un ebuild à package.mask, toujours soumettre package.mask avant de soumettre l'ebuild masqué. Cela empêche l'ebuild d'être récupéré par des utilisateurs avant que la mise à jour de package.mask ait été faite.

Une attention particulière doit être apportée quand un paquet est enlevé de package.mask. Gardez à l'esprit que si un ebuild est dans package.mask, c'est pour une bonne raison. Si vous n'avez pas masqué vous-même l'ebuild, toujours contacter le développeur cité dans les commentaires de package.mask avant de prendre une initiative. De plus, si le paquet masqué est un paquet core, une dépendance d'un paquet core, ou si démasquer le paquet peut avoir des effets secondaires, le changement doit être fait après discussion interne sur la liste de diffusion des développeurs.

~ARCH dans la variable KEYWORDS

L'objectif de ~arch est de permettre de tester des nouveaux paquets ajoutés dans Portage.

Il y a une différence entre utiliser package.mask et ~arch pour les ebuilds. L'utilisation de ~arch dénote que l'ebuild a besoin d'être testé. L'utilisation de package.mask dénote que l'application ou la bibliothèque est clairement instable. Par exemple si gimp-1.2.0 est une version stable des développeurs de Gimp et qu'un nouveau correctif est disponible en tant que 1.2.1, alors le développeur doit marquer l'ebuild comme ~arch pour qu'il soit testé dans Portage parce que la version est considérée comme stable par Gimp. Un autre exemple, si Gimp décide de proposer une version de développement ou instable marquée 1.3.0, alors les ebuilds résultant doivent être mis dans package.mask car le logiciel lui-même est qualifié de logiciel en développement et qu'il n'est pas recommandé par les développeurs à la distribution.

Tous les nouveaux paquets qui entrent dans Portage doivent être marqués d'un ~arch pour les architectures sur lesquelles cette version est connue comme fonctionnant. Le développeur qui soumet l'ebuild doit vérifier qu'il est en état de fonctionnement et que la variable KEYWORDS est correcte.

Déplacer des versions de paquet de ~ARCH à ARCH

Quand une version de paquet a été testée pendant une période de temps suffisante et considérée comme stable, et quand le mainteneur Gentoo de ce paquet est sûr que la mise à jour n'entraînera pas de problèmes sur une machine d'utilisateur normal, alors cette version peut passer de ~ARCH à ARCH. Une indication pour savoir si un paquet est stable peut être de constater qu'aucun rapport de bogue sur un mois après l'introduction du nouveau paquet n'a été effectué pour cette version.

C'est au mainteneur du paquet de décider quelles versions sont stables ou si les versions de développement doivent être mises dans package.mask ou laissés en ~arch.

Vous devez également vous assurer que toutes les dépendances pour cette version de paquet sont également en ARCH.

Attention : L'étape ~ARCH peut être ignorée uniquement si la version en question du paquet contient un correctif de sécurité ou est nécessaire pour corriger un bogue important dans le système Gentoo.

1.e. Variables

Variables requises

La politique de Gentoo Linux requiert que tous les ebuilds contiennent les variables KEYWORDS, LICENSE et SLOT. HOMEPAGE, SRC_URI et DESCRIPTION doivent être ajoutés sauf dans certains cas très spéciaux. DEPEND (et si besoin est, RDEPEND) doivent être inclus si votre paquet a respectivement des dépendances à la compilation ou à l'exécution.

DEPEND et RDEPEND

Utilisez DEPEND pour définir les dépendances nécessaires à la compilation d'un paquet particulier et RDEPEND pour les dépendances nécessaires à l'exécution d'un paquet particulier. Vous n'avez besoin de spécifier explicitement RDEPEND que si les dépendances de lancement de l'ebuild sont différentes de celles spécifiées dans DEPEND ; Si RDEPEND n'est pas spécifié, la valeur par défaut sera celle de DEPEND. Ne jamais initialiser RDEPEND à DEPEND par vous-même dans un ebuild.

Exemple de code 5.1 : variable RDEPEND mauvaise et correcte

# Acceptable :
RDEPEND="${DEPEND}
         net-ftp/curl
         virtual/libc"
# Non acceptable :
RDEPEND="${DEPEND}"

Il est également important de remarquer que seules les dépendances de RDEPEND sont satisfaites quand on installe un paquet binaire .tbz2. Utilisez ces informations pour vous aider à choisir les bonnes dépendances RDEPEND. Sinon, RDEPEND aura les dépendances de DEPEND.

Un paquet doit dépendre de la version la plus ancienne qui satisfait la dépendance. Si le paquet fonctionne avec libfoo-1.2.x, ne le faites pas dépendre de libfoo-2.x juste parce que c'est la version que vous avez d'installée.

En général, les paquets doivent dépendre de =libfoo-1.2* à la place de >=libfoo-1.2. Sinon, votre paquet va commencer à créer des problèmes quand le paquet libfoo-2.0 sera disponible.

Dépendre d'un paquet virtuel comme virtual/foo ne fonctionne que si les différents paquets proposant de valider la dépendance virtual/foo ont des interfaces identiques. Considérons par exemple virtual/jdk-1.3. Certains paquets ne fonctionnent pas avec ibm-jdk-1.3 alors qu'ils fonctionneront bien avec sun-jdk-1.3. Pour cette raison, assurez-vous que votre paquet a été testé avec tous les paquets ayant une correspondance virtuelle avant de le démasquer. Il peut arriver que la dépendance soit correcte seulement pour un certain nombre d'entre eux, mais qu'elle ne soit pas correcte pour le paquet virtuel lui-même.


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


Imprimer

Voir tout

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

Résumé : Cette section présente la politique qui s'applique aux ebuilds dans 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.