<!ENTITY % versiondata SYSTEM "version.ent"> %versiondata;
<!-- common, language independent entities -->
<!ENTITY % commondata SYSTEM "common.ent" > %commondata;
+ <!ENTITY % dynamicdata SYSTEM "dynamic.ent" > %dynamicdata;
<!-- CVS revision of this document -->
- <!ENTITY cvs-rev "$Revision: 1.40 $">
+ <!ENTITY cvs-rev "$Revision: 1.60 $">
<!-- if you are translating this document, please notate the CVS
revision of the developers reference here -->
- <!-- <!ENTITY cvs-en-rev "1.241"> -->
+ <!-- <!ENTITY cvs-en-rev "1.282"> -->
<!-- how to mark a section that needs more work -->
<!ENTITY FIXME "<em>FIXME:</em> ">
<translator>version française par Frédéric Bothamy (traducteur actuel)</translator>
<translator>et Antoine Hulin (ancien traducteur)</translator>
<translator>et les membres de la liste <email>debian-l10n-french@lists.debian.org</email></translator>
- <version>Version &version;, &date-fr; (version française 20041007).</version>
+ <version>Version &version;, &date-fr; (version française 20051114).</version>
<copyright>
- <copyrightsummary>Copyright © 2004 Andreas Barth</copyrightsummary>
+ <copyrightsummary>Copyright © 2004—2005 Andreas Barth</copyrightsummary>
<copyrightsummary>Copyright © 1998—2003 Adam Di Carlo</copyrightsummary>
<copyrightsummary>Copyright © 2002—2003 Raphaël Hertzog</copyrightsummary>
<copyrightsummary>Copyright © 1997, 1998 Christian Schwarz.</copyrightsummary>
<url id="&url-gpl" name="la licence publique générale du projet GNU">. Vous
pouvez également l'obtenir en écrivant à la &fsf-addr;.
+<![ %htmltext [
+<p>
+Si vous désirez imprimer cette référence, vous devriez utiliser la <url
+id="developers-reference.pdf" name="version PDF">.
+Cette page est également disponible en <url id="index.en.html" name="anglais">.
+]]>
+
<toc detail="sect1">
<chapt id="scope">Portée de ce document
<p>
De plus ce document <em>n'est pas l'expression d'une politique officielle</em>.
Il contient de la documentation sur le système Debian et des conseils pratiques
-largement suivis. C'est une sorte de guide pratique.
+largement suivis. Ce n'est donc pas une sorte de guide de normes.
<sect>Introduction à la version française
<p>
Une autre liste intéressante est &email-debian-mentors;. Voir la section <ref
id="mentors"> pour les détails. Le canal IRC <tt>#debian</tt> pourra aussi être
- utile.
+ utile ; voir <ref id="irc-channels">.
<p>
Quand vous avez choisi la manière dont vous contribuerez au projet
l'assurance qualité (QA), vous pouvez contacter les responsables qui
travaillent déjà sur ces tâches et proposer des correctifs et des
améliorations.
+
+ <sect id="mentors">Mentors et parrains Debian
+<p>
+La liste de diffusion &email-debian-mentors; a été mise en place pour
+les responsables débutants recherchant de l'aide avec l'empaquetage
+initial et d'autres problèmes de développeur. Chaque nouveau développeur
+est invité à s'abonner à cette liste (voir <ref id="mailing-lists"> pour
+les détails).
+<p>
+Ceux qui préfèrent recevoir une aide plus personnalisée (par exemple, par
+courriels privés) devraient également envoyer des messages à cette liste
+et un développeur expérimenté se proposera de les aider.
+<p>
+De plus, si vous avez des paquets prêts à être inclus dans Debian, mais que
+vous attendez que votre demande pour devenir responsable soit acceptée,
+vous pouvez trouver un parrain pour envoyer vos paquets pour vous. Les
+parrains sont des développeurs Debian officiels qui sont volontaires
+pour critiquer et envoyer vos paquets pour vous.
+<!-- FIXME - out of order
+Those who are seeking a
+sponsor can request one at <url id="&url-sponsors;">.
+-->
+Veuillez lire en premier la FAQ non officielle de debian-mentors à <url
+id="&url-mentors;">.
+<p>
+Si vous désirez être un mentor et/ou un parrain, vous pouvez trouver
+plus d'informations à <ref id="newmaint">.
<sect id="registering">S'enregistrer comme responsable Debian
<p>
<p>
Pour devenir responsable, il faudra montrer que vous pouvez faire du bon travail
et que vous serez un bon contributeur. Pour cela, vous pourrez proposer des correctifs
- par le système de suivi des bogues (BTS) ou maintenir un paquet parrainé
+ par le système de suivi des bogues (BTS) et maintenir un paquet parrainé
pendant un temps. Nous attendons aussi des contributeurs qu'ils soient
intéressés par le projet dans son ensemble et pas uniquement par leurs propres
paquets. Si vous pouvez aider d'autres responsables en fournissant des
signée, vous devriez essayer de rencontrer un responsable Debian pour le faire.
La <url id="&url-gpg-coord;" name="page de coordination des signatures de clé
GnuPG"> devrait vous aider à trouver un responsable Debian près de chez vous.
- (Si vous ne trouvez pas de responsable près de chez vous, il existe un second
- moyen pour valider votre identité. Vous pouvez envoyer une photo d'identité
- signée avec votre clé GnuPG. Privilégiez tout de même la clé GnuPG signée pour
- valider une identité. Reportez-vous à la <url id="&url-newmaint-id;" name="page
- d'identification"> pour en savoir plus sur ces deux options).
-
+ (S'il n'y a pas de responsable près de chez vous, il peut y
+ avoir des moyens alternatifs pour valider votre identité en tant
+ qu'exception absolue étudiée au cas par cas. Veuillez vous
+ reporter à la <url id="&url-newmaint-id;" name="page
+ d'identification"> pour en savoir plus).
<p>
Si vous n'avez pas de clé OpenPGP, créez-la. Tout responsable a besoin d'une clé
OpenPGP pour signer et vérifier les mises à jour de paquets. Vous lirez la
autre implémentation d'OpenPGP. OpenPGP est un standard ouvert basé sur la <url
id="&url-rfc2440;" name="RFC 2440">.
<p>
-L'algorithme à clé publique recommandé pour les développements Debian est DSA
- (parfois appelé « DSS » ou « DH\ElGamal »). Vous pouvez
- aussi utiliser d'autres types de clés. La longueur de votre clé doit être au
+<!-- FIXME: DSS is not exactly equivalent to DSA, is it? -->
+Vous avez besoin d'une clé de type 4 à utiliser pour le
+ développement Debian. La longueur de votre clé doit être au
minimum de 1024 bits ; il n'y a pas de raison d'utiliser une clé plus
courte et le faire serait beaucoup moins sûr. Votre clé doit être signée avec
votre propre identifiant ; cela évite les falsifications. <prgn>GNU
Certains pays limitent l'usage des logiciels de cryptographie. Cela ne devrait
cependant pas avoir d'impact sur l'activité d'un responsable de paquet car il
peut être tout à fait légal d'utiliser des logiciels de cryptographie pour
- l'authentification plutôt que pour le chiffrement. &debian-formal; ne nécessite
- en aucune façon l'utilisation de chiffrement. Si vous vivez dans un pays où
+ l'authentification plutôt que pour le chiffrement. Si vous vivez dans un pays où
l'utilisation de la cryptographie pour authentification est interdite,
contactez-nous pour que nous prenions des dispositions particulières.
<p>
Vous gagnerez beaucoup de temps si vous êtes bien préparé.
- <sect id="mentors">Mentors et parrains Debian
-<p>
-La liste de diffusion &email-debian-mentors; a été créée pour les responsables
- débutants qui cherchent de l'aide pour leur première création de paquet ainsi
- que pour des problèmes spécifiques aux développeurs. Tout responsable débutant
- est invité à s'y inscrire (voir <ref id="mailing-lists"> pour plus de détails).
-<p>
-Ceux qui préfèrent une aide personnalisée (via une correspondance privée)
- doivent aussi poster dans cette liste, un développeur expérimenté se portera
- volontaire pour les aider.
-<p>
-Si vos paquets sont prêts à être intégrés mais que vous attendiez le
- résultat de votre candidature, vous pouvez chercher un parrain qui téléchargera
- les paquets à votre place. Les parrains sont des responsables Debian officiels
- volontaires pour examiner et télécharger vos paquets. Vous pouvez
- demander un parrainage à l'adresse <url id="&url-sponsors;">. Veuillez tout
- d'abord lire la FAQ non officielle de debian-mentors à <url id="&url-mentors;">.
-<p>
-Si vous désirez être mentor ou parrain, reportez-vous à <ref id="newmaint">.
-
-
<chapt id="developer-duties">Les charges du responsable Debian
<sect id="user-maint">Mise à jour de vos références Debian
copie hors connexion. Lisez la documentation fournie avec votre logiciel et la
<url id="&url-pgp-faq;" name="FAQ PGP">.
<p>
+Vous devez vous assurer que non seulement votre clé est à l'abri des vols, mais
+ également à l'abri d'une perte. Générez et faites une copie (et également sur
+ papier) de votre certificat de révocation ; il est nécessaire si votre clé
+ est perdue.
+<p>
Si vous ajoutez des signatures ou des identifiants à votre clé publique, vous
pouvez mettre à jour le porte-clés Debian en envoyant votre clé publique à
- <tt>&keyserver-host;</tt>. Si vous voulez ajouter ou supprimer une clé, envoyez
- un courrier à &email-debian-keyring;. Les procédures d'extraction de clé
- décrites dans <ref id="registering"> s'appliquent ici.
+ <tt>&keyserver-host;</tt>.
+<p>
+Si vous voulez ajouter une nouvelle clé ou supprimer une ancienne clé, vous
+ devez faire signer la nouvelle clé par un autre développeur. Si l'ancienne clé
+ est compromise ou invalide, vous devez également ajouter la certification de
+ révocation. S'il n'y pas de vraie raison pour une nouvelle clé, les responsables
+ du trousseau de clés peuvent rejeter la nouvelle clé. Vous pouvez trouver plus
+ de détails à <url id="http://keyring.debian.org/replacing_keys.html">.
+<p>
+Les mêmes routines d'extraction de clé décrites dans <ref id="registering"> s'appliquent.
<p>
Vous pouvez trouver une présentation approfondie de la gestion de clé Debian
dans la documentation du paquet <package>debian-keyring</package>.
<qref id="devel-db">base de données Debian LDAP</qref> (l'accès à cette
information est réservé aux développeurs). N'oubliez pas de retirer votre
indicateur « en vacances » lorsque celles-ci sont terminées !
+<p>
+Idéalement, vous devriez vous connecter sur le
+<url id="http://nm.debian.org/gpg.php" name="site de coordination GPG">
+quand vous réservez pour des vacances et vérifier si quelqu'un recherche
+un échange de signatures. Cela est particulièrement important quand des
+personnes vont à des endroits exotiques où nous n'avons pas encore de
+développeurs, mais où il y a des personnes intéressées pour poser leur
+candidature.
<sect id="upstream-coordination">Coordination avec les développeurs amont
<p>
Pour en savoir plus sur comment s'abonner ou se désabonner, comment envoyer un
message et comment ne pas en envoyer, comment retrouver d'anciens messages et
comment les rechercher, comment contacter les responsables des listes et pour
-sevoir d'autres informations sur les listes de diffusion, veuillez lire <url
+savoir d'autres informations sur les listes de diffusion, veuillez lire <url
id="&url-debian-lists;">. Cette section ne couvrira que les aspects des listes
de diffusion qui ont un intérêt particulier pour les développeurs.
- <sect1 id="mailing-lists-rules">Rêgles de base d'utilisation
+ <sect1 id="mailing-lists-rules">Règles de base d'utilisation
<p>
Lorsque vous répondez sur une liste de diffusion, veuillez ne pas envoyer de
copie (<tt>CC</tt>) à l'auteur d'origine sauf s'il le demande explicitement.
<sect1 id="mailing-lists-new">Demander une nouvelle liste relative au développement
<p>
-Avant de demander un liste de diffusion liée au développement d'un paquet (ou
+Avant de demander une liste de diffusion liée au développement d'un paquet (ou
d'un petit groupe de paquets liés), veuillez considérer si l'utilisation d'un
alias (via un fichier .forward-aliasname sur master.debian.org, ce qui se
traduit en une adresse raisonnablement agréable
<p>
Il existe d'autres canaux dédiés à des sujets spécifiques. <em>#debian-bugs</em>
est utilisé pour la coordination des <em>chasses aux bogues</em>.
- <em>#debian-boot</em> est utilisé pour la coordination du travail sur les
- disquettes de démarrage (i.e., l'installeur). <em>#debian-doc</em> est utilisé
+ <em>#debian-boot</em> est utilisé pour la coordination du travail sur
+ l'installateur Debian. <em>#debian-doc</em> est utilisé
occasionnellement pour travailler sur la documentation comme celle que vous
lisez actuellement. D'autres canaux sont dédiés à une architecture ou un
ensemble de paquets : <em>#debian-bsd</em>, <em>#debian-kde</em>,
Il existe également des canaux dédiés pour Debian sur d'autres réseaux IRC,
notamment sur le réseau IRC <url name="Open and free technology community
(OFTC)" id="http://www.oftc.net/">.
+<p>
+Pour obtenir un uniforme (« cloak ») sur freenode, vous devez
+envoyer un courriel signé à Göran Weinholt
+<weinholt@debian.org> dans lequel vous indiquez quel est votre
+pseudonyme (« nick ». Mettez « cloak » quelque part
+dans le sujet. Votre pseudonyme devrait être enregistré :
+<url id="http://freenode.net/faq.shtml#nicksetup" name="Page de
+configuration des pseudonymes">. Le courriel doit être signé par une clé
+du porte-clés Debian. Veuillez consulter la
+<url id="http://freenode.net/faq.shtml#projectcloak" name="documentation
+de Freenode"> pour plus d'informations sur les uniformes.
<sect id="doc-rsrcs">Documentation
<sect1 id="servers-non-us">Le serveur non-US
<p>
+<!--
Le serveur non-US <tt>non-us.debian.org</tt> est le serveur maître de la partie
non-US de l'archive Debian. Si vous avez besoin d'envoyer un paquet dans l'une
des sections non-US, envoyez-le vers ce serveur. Reportez-vous à la section
de vérifier si quelqu'un n'aurait pas déjà rempli un rapport de bogue
concernant le problème sur le <url id="http://&bugs-host;/nonus.debian.org"
name="système de suivi des bogues">.
+-->
+Le serveur non-US <tt>non-us.debian.org</tt> a été interrompu avec la
+ publication de <em>Sarge</em>. Le pseudo-paquet
+ <package>nonus.debian.org</package> existe encore pour le moment.
<sect1 id="servers-www">Le serveur www-master
<p>
Habituellement, la seule raison pour utiliser un serveur différent est que vous
avez besoin de publier des informations soumises aux restrictions d'exportation
américaines, dans ce cas, vous pouvez utiliser l'un des autres serveurs situés
- en dehors des États-Unis, comme le serveur mentionné ci-dessus
- <tt>non-us.debian.org</tt>.
+ en dehors des États-Unis.
<p>
Veuillez envoyer un courrier à &email-debian-devel; si vous avez une question.
<sect1 id="servers-cvs">Le serveur CVS
+<!-- TODO: document svn.debian.org also, arch.debian.org also -->
<p>
Notre serveur CVS est situé sur <tt>cvs.debian.org</tt>.
<p>
pouvez trouver à <url id="&url-debian-db-doc;">.
<p>
-Il est également possible d'envoyer ses clés SSH pour les utiliser pour
- autorisation sur les machines Debian officielles et même d'ajouter de nouvelles
+Les développeurs peuvent également envoyer leurs clés SSH pour qu'elles soient utilisées pour
+ autorisation sur les machines Debian officielles et même ajouter de nouvelles
entrées DNS du type *.debian.net. Ces fonctionnalités sont documentées à <url
id="&url-debian-db-mail-gw;">.
reconnaît les architectures <em>i386</em> et <em>m68k</em>. Debian 2.1 reconnaît
les architectures <em>i386</em>, <em>m68k</em>, <em>alpha</em> et
<em>sparc</em>. Debian 2.2 accepte en plus les architectures
- <em>powerpc</em> et <em>arm</em>. Debian 3.0 accepte cinq
+ <em>powerpc</em> et <em>arm</em>. Debian 3.0 a ajouté cinq
nouvelles architectures : <em>ia64</em>, <em>hppa</em>, <em>s390</em>,
<em>mips</em> et <em>mipsel</em>.
<p>
distribué en dehors de Debian, il n'y a qu'un fichier <file>.tar.gz</file> qui
contient les sources du programme. Si un paquet est distribué ailleurs, le
fichier <file>.orig.tar.gz</file> contient ce que l'on appelle <em>code source
- amont</em>, c'est-à-dire, le code source distribué par le <em>mainteneur
+ amont</em>, c'est-à-dire, le code source distribué par le <em>responsable
amont</em> (il s'agit souvent de l'auteur du logiciel). Dans ce cas, le fichier
<file>.diff.gz</file> contient les modifications faites par le responsable
Debian.
à remplir pour qu'un paquet passe d'<em>unstable</em> à <em>testing</em> sont
durcies. Les paquets trop bogués sont supprimés et les seules mises à jours
autorisées concernent les corrections de bogues. Après quelque temps, selon
- l'avancement, la distribution entre dans une phase de « gel complet »
+ l'avancement, la distribution <em>testing</em>
+ <!--
+ entre dans une phase de « gel complet »
où les seules modifications acceptées concernent la procédure d'installation.
Cette phase s'appelle un « cycle de test » et cela peut durer jusqu'à
deux semaines. Il peut y avoir plusieurs cycles de tests avant que le
dernier cycle de test, la distribution <em>frozen</em> devient <em>stable</em>,
remplaçant l'ancienne distribution <em>stable</em> qui est enlevée à cette
occasion (elle peut être retrouvée à l'adresse <tt>&archive-host;</tt>).
+ -->
+ est gelée encore plus. Les détails de la gestion de la distribution
+ <em>testing</em> sont publiées par l'équipe de publication sur la liste
+ debian-devel-announce. Après la résolution des problèmes restants à la
+ satisfaction de l'équipe de publication, la distribution est publiée.
+ La publication veut dire que <em>testing</em> est renommée en
+ <em>stable</em>, une nouvelle copie est créée pour la nouvelle
+ <em>testing</em> et l'ancienne <em>stable</em> est renommée en
+ <em>oldstable</em> et y reste jusqu'à ce qu'elle soit finalement
+ archivée. Lors de l'archivage, son contenu est déplacé sur
+ <tt>&archive-host;</tt>.
<p>
Ce cycle de développement est basé sur l'idée que la distribution
<em>unstable</em> devient <em>stable</em> après une période de test
<file>proposed-updates</file>. De temps en temps, les paquets de ce répertoire
qui ne présentent pas de problème sont installés dans la distribution
<em>stable</em> et le numéro de révision de cette distribution est incrémenté
- (« 3.0 » devient « 3.0r1 », « 2.0r4 » devient
- « 2.0r5 » et ainsi de suite).
+ (« 3.0 » devient « 3.0r1 », « 2.2r4 » devient
+ « 2.2r5 » et ainsi de suite). Veuillez vous référer aux
+ <qref id="upload-stable">envois dans la distribution <em>stable</em></qref>
+ pour plus de détails.
<p>
Notez que, pendant la période de gel, les développements continuent sur la
distribution <em>unstable</em> car cette distribution reste en place.
deb-src http://ftp.<var>xy</var>.debian.org/debian/ ../project/experimental main
</example>
<p>
-Si un logiciel peut causer des dégats importants, il sera sûrement
+Si un logiciel peut causer des dégâts importants, il sera sûrement
préférable de le mettre dans la distribution <em>experimental</em>. Un
système de fichiers compacté expérimental, par exemple, devrait probablement
aller dans <em>experimental</em>.
<prgn>dpkg-buildpackage</prgn> si l'envoi d'un paquet dans <em>unstable</em> ferme
finalement des bogues qui ont d'abord été corrigés dans <em>experimental</em>.
+Lors de l'envoi vers <em>unstable</em> d'un paquet contenant des bogues corrigés
+dans <em>experimental</em>, veuillez considérer l'utilisation de l'option
+<tt>-v</tt> de <prgn>dpkg-buildpackage</prgn> pour qu'ils soient finalement
+fermés.
+
<sect1 id="codenames">Les noms de distribution
<p>
Chaque distribution Debian diffusée a un <em>nom de code</em> : Debian 1.1
<p>
Le système Incoming est responsable de la collecte des paquets mis à jour et de
leur installation dans l'archive Debian. Il est constitué d'un ensemble de
- répertoires et de scripts qui sont installés à la fois sur
- <tt>&ftp-master-host;</tt> et sur <tt>&non-us-host;</tt>.
+ répertoires et de scripts qui sont installés sur <tt>&ftp-master-host;</tt>.
<p>
Les paquets sont envoyés par tous les responsables Debian dans un répertoire
- nommé <file>unchecked</file>. Ce répertoire est parcouru toutes les 15 minutes
+ nommé <file>UploadQueue</file>. Ce répertoire est parcouru toutes les
+ quelques minutes par un démon appelé <prgn>queued</prgn>, les fichiers
+ <file>*.command</file> sont exécutés et les fichiers
+ <file>*.changes</file> restants et correctement signés sont déplacés
+ avec leurs fichiers correspondants dans le répertoire
+ <file>unchecked</file>. Ce répertoire n'est pas visible de la plupart
+ des développeurs car ftp-master est à accès restreint ;
+ il est parcouru toutes les 15 minutes
par le script <prgn>katie</prgn> qui vérifie l'intégrité des paquets envoyés et
leurs signatures de chiffrage. Si le paquet est considéré comme prêt à être
installé, il est déplacé dans le répertoire <file>accepted</file>. S'il s'agit
- du premier envoi du paquet, il est déplacé dans le répertoire <file>new</file>
+ du premier envoi du paquet (ou s'il a de nouveaux paquets binaire), il
+ est déplacé dans le répertoire <file>new</file>
où il attend l'approbation des ftpmasters. Si le paquet contient des fichiers
devant être installés <em>à la main</em>, il est déplacé dans le répertoire
<file>byhand</file> où il attend une installation manuelle par les ftpmasters.
Une fois que le paquet est accepté, le système envoie une confirmation par
courrier au responsable et ferme les bogues corrigés par l'envoi, puis
les compilateurs automatiques peuvent commencer la recompilation. Le paquet est
- maintenant accessible publiquement à <url id="&url-incoming;"> (une telle
- adresse n'existe pas pour les paquets de l'archive non-US) jusqu'à ce qu'il
- soit vraiment installé dans l'archive Debian. Ceci se produit seulement une
- fois par jour, le paquet est alors supprimé de <file>Incoming</file> et
+ maintenant accessible publiquement à <url id="&url-incoming;"> jusqu'à
+ ce qu'il soit vraiment installé dans l'archive Debian. Cela se produit
+ seulement une fois par jour (et c'est également appelé une
+ « exécution dinstall » pour des raisons historiques) ;
+ le paquet est alors supprimé de <file>Incoming</file> et
installé dans le pool avec les autres paquets. Une fois que toutes les autres
mises à jour (fabrication des nouveaux fichiers d'index <file>Packages</file> et
<file>Sources</file> par exemple) ont été effectuées, un script spécial est
« experimental », l'annonce sera à la place envoyée à
&email-debian-devel-changes;.
<p>
+Bien que ftp-master soit à accès restreint, une copie de l'installation
+ est disponible à tous les développeurs sur <tt>&ftp-master-mirror;</tt>.
+ <!-- FIXME: delete it or keep it for historical purposes?
+<p>
Tous les développeurs Debian ont un droit d'écriture dans le répertoire
- <file>unchecked</file> pour pouvoir y envoyer leurs paquets, ils ont également
+ <file>unchecked</file> pour pouvoir y envoyer leurs paquets ; ils ont également
accès au répertoire <file>reject</file> pour supprimer les mauvais envois ou
déplacer certains fichiers dans le répertoire <file>unchecked</file>. Mais
seuls les ftpmasters ont droit d'écriture dans les autres répertoires.
};</example>
Une fois que vous avez fait ce changement, <prgn>dupload</prgn> peut être
utilisé pour envoyer facilement dans l'un des répertoires de délai ainsi :
-<example>DELAY=5 dupload --to delayed <changes-file></example>
-
+<example>DELAY=5 dupload -X-to delayed <changes-file></example>
+-->
<sect id="pkg-info">Informations sur un paquet
<p>
<tt>http://&packages-host;/<var>nom-paquet</var></tt> affiche chaque version
du paquet disponible dans les différentes distributions. Les informations
détaillées par version incluent la description du paquet, les dépendances et
- des liens pour récupérer le paquet.
+ des liens pour télécharger le paquet.
<p>
Le système de suivi des bogues trie les bogues par paquet. Vous pouvez regarder
les bogues de chaque paquet à
<sect1 id="madison">L'outil <prgn>madison</prgn>
<p>
<prgn>madison</prgn> est un outil en ligne de commande qui est disponible sur
- <tt>&ftp-master-host;</tt> et sur <tt>&non-us-host;</tt>. Il utilise un seul
+ <tt>&ftp-master-host;</tt> et sur le miroir
+ <tt>&ftp-master-mirror;</tt>. Il utilise un seul
argument qui correspond au nom du paquet. Il affiche comme résultat quelle
version du paquet est disponible pour chaque combinaison d'architecture et de
distribution. Un exemple l'expliquera mieux.
<p>
Dans cet exemple, vous pouvez voir que la version dans <em>unstable</em> diffère
de celle de <em>testing</em> et qu'il y a eu une NMU binaire seulement pour
- l'architecture alpha. À chaque fois, le paquet a été recompilé sur la plupart
+ l'architecture alpha. Chaque version du paquet a été recompilée sur la plupart
des architectures.
-
<sect id="pkg-tracking-system">Système de suivi des paquets
<p>
Le système de suivi des paquets (PTS)<footnote>« Package Tracking
<item>Tout courrier non automatique envoyé au PTS par les personnes qui
veulent contacter les inscrits au paquet. Ceci peut être fait en
envoyant un courrier à <tt><var>paquet-source</var>@&pts-host;</tt>. Pour
- prévenir l'envoi de spam, tous les courriers envoyés à ces adresses doivent
+ prévenir l'envoi de pourriels, tous les courriers envoyés à ces adresses doivent
contenir l'en-tête <tt>X-PTS-Approved</tt> avec une valeur non vide.
<tag><tt>summary</tt>
Alioth est un service de Debian plutôt récent, basé sur une version
légèrement modifiée du logiciel GForge (qui a évolué à partir de
SourceForge). Ce logiciel offre aux développeurs l'accès à des outils
-faciles d'utilisation comme un un gestionnaire de suivi de bogues, un
+faciles d'utilisation comme un gestionnaire de suivi de bogues, un
gestionnaire de correctifs, un gestionnaire de tâches et de projets,
un service d'hébergement de fichiers, des listes de diffusion, des
dépôts CVS, etc. Tous ces outils sont gérés par une interface web.
externes aux projets initiés par Debian et à aider des projets dont les buts
sont de promouvoir Debian ou ses dérivés.
<p>
+Tous les développeurs Debian ont automatiquement un compte sur Alioth. Ils
+peuvent l'activer en utilisant la fonctionnalité de récupération des mots de
+passe. Les développeurs externes peuvent demander un compte invité sur Alioth.
+<p>
Pour plus d'informations, veuillez visiter <url id="&url-alioth;">.
+ <sect id="developer-misc">« Goodies » pour les développeurs
+ <p>
+ <sect1 id="lwn">Abonnements LWN
+ <p>
+Depuis octobre 2002, HP parraine l'abonnement à LWN pour tous les
+développeurs Debian intéressés.
+
+Les détails sur les moyens d'accéder à cet avantage sont expliqués dans <url
+id="http://lists.debian.org/debian-devel-announce/2002/10/msg00018.html">.
+
+
<chapt id="pkgs">Gestion des paquets
<p>
Ce chapitre contient des informations relatives à la création, l'envoi, la
que dans les cas suivants :
<list>
<item>un problème fonctionnel vraiment critique,
-<item>un paquet devenu ininstallable,
+<item>un paquet devenu non installable,
<item>un paquet indisponible pour une architecture.
</list>
<p>
bibliothèque qui n'est disponible que dans <em>unstable</em> sera rejeté.
Modifier les dépendances d'autres paquets (en manipulant le champ
<tt>Provides</tt> ou les fichiers shlibs) et, peut-être, rendre ces paquets
- ininstallables, est fortement déconseillé.
+ non installables, est fortement déconseillé.
<p>
L'équipe responsable de la distribution<footnote><em>the Release
team</em></footnote> (joignable à l'adresse &email-debian-release;)
être rejetée car l'outil de maintenance de l'archive pourrait lire le fichier
<tt>changes</tt> et constater que les fichiers ne sont pas tous présents.
<p>
+<!-- FIXME: is this still topical? Explain the rationale? -->
+<!--
<em>Note :</em> ne téléchargez pas sur <tt>ftp-master</tt> de paquets
concernant la cryptographie qui appartiendraient à <em>contrib</em> ou <em>non-free</em>.
Ces logiciels doivent aller sur <tt>non-us</tt> (voir <ref
exportations américaines, posez la question sur la liste
&email-debian-devel;.
<p>
+-->
Les paquets <ref id="dupload"> ou <ref id="dput"> pourront vous faciliter le
travail lors du téléchargement. Ces programmes, bien pratiques, aident à
automatiser le processus d'envoi de paquets vers Debian
<sect1 id="upload-non-us">Installer un paquet sur <tt>non-US</tt>
<p>
+<!--
<em>Note :</em> non-us n'est plus traité actuellement.
<p>
Comme nous l'avons dit un peu plus haut, les programmes soumis au contrôle des
juridique. Une fois encore, nous recommandons aux résidents et citoyens
américains de consulter un juriste avant de livrer un paquet sur
<tt>non-US</tt>.
+-->
+<em>Note :</em> non-us a été interrompu avec la publication de
+ <em>Sarge</em>.
<sect1 id="delayed-incoming">Envois différés
<p>
<sect1>Envois de sécurité
<p>
N'envoyez PAS un paquet vers la file d'envoi de sécurité (<em>oldstable-security</em>,
-<em>stable-security</em>, etc.) sans avoir au préalable l'autorisation de l'équipe de
+<em>stable-security</em>, etc.) sans avoir obtenu au préalable l'autorisation de l'équipe de
sécurité. Si le paquet ne correspond pas tout à fait aux besoins de cette
équipe, il entraînera beaucoup de problèmes et de délais dans la gestion de cet
envoi non désiré. Pour plus de détails, consultez la section <ref id="bug-security">.
<sect1>Les autres files d'envoi
<p>
-Les files scp sur ftp-master, non-us et security sont pratiquement inutilisables
+Les files scp sur ftp-master et security sont pratiquement inutilisables
à cause des restrictions de connexion sur ces hôtes.
<p>
Les files anonymes sur ftp.uni-erlangen.de et ftp.uk.debian.org sont
L'accusé de réception indique aussi la section dans laquelle le paquet a été
installé. S'il ne s'agit pas de votre choix, vous recevrez un second courrier
qui vous informera de cette différence (voir ci-dessous).
+<p>
+Notez que si vous envoyez <em>via</em> les files, le logiciel de démon de file
+ vous enverra également une notification par courriel.
<sect id="override-file">Spécifier la section, la sous-section et la priorité d'un paquet
vous amènent à demander ces changements.
<p>
Pour en savoir plus sur les <em>fichiers override</em>, reportez-vous à <manref
-name="dpkg-scanpackages" section="8"> et <url
+name="dpkg-scanpackages" section="1"> et <url
id="&url-bts-devel;#maintincorrect">.
<p>
Notez que le champ <tt>Section</tt> décrit à la fois la section et la
des rapports de bogue correctement (voir <ref id="submit-bug">), comment les
mettre à jour et les réordonner et comment les traiter et les fermer.
<p>
-Les fonctionnalités du système de suivi des bogues qui intéressent les
-développeurs sont décrites dans la <url id="&url-bts-devel;" name="documentation
+Les fonctionnalités du système de suivi des bogues sont décrites dans la <url id="&url-bts-devel;" name="documentation
du BTS pour les développeurs">. Ceci inclut la fermeture des bogues, l'envoi des
messages de suivi, l'assignation des niveaux de gravité et des marques,
l'indication que les bogues ont été envoyés au développeur amont et autres
problèmes.
<p>
Des opérations comme réassigner des bogues à d'autres paquets, réunir des
-rapports de bogues séparés traitant du même problème ou réouvrir des bogues
+rapports de bogues séparés traitant du même problème ou rouvrir des bogues
quand ils ont été prématurément fermés, sont gérées en utilisant le serveur de
courrier de contrôle. Toutes les commandes disponibles pour ce serveur sont
décrites dans la <url id="&url-bts-control;" name="documentation du serveur de
En tant que responsable de paquet, vous trouverez fréquemment des bogues dans
d'autres paquets ou vous aurez des bogues sur vos paquets qui sont en fait des
bogues sur d'autres paquets. Les fonctions intéressantes du système de suivi
- des bogues pour les développeurs sont décrites dans la <url
+ des bogues sont décrites dans la <url
id="&url-bts-devel;" name="documentation du BTS pour les développeurs Debian">.
Les <url id="&url-bts-control;" name="instructions du serveur de contrôle du
BTS"> documentent les opérations techniques du BTS, telles que comment remplir,
régulièrement, vous devriez vous demander si la documentation est assez
bonne ou si le programme ne devrait pas détecter une mauvaise
utilisation pour donner un message d'erreur informatif. Il s'agit d'un
- problème qui peut être présenté à l'auteur amont.
+ problème qui peut être discuté avec l'auteur amont.
<p>
Si le rapporteur de bogue n'est pas d'accord avec votre décision de
fermeture du bogue, il peut le ré-ouvrir jusqu'à ce que vous trouviez un
Si le bogue est réel, mais est causé par un autre paquet,
réattribuez simplement le bogue à l'autre paquet. Si vous ne savez pas à
quel paquet il doit être réattribué, vous pouvez demander de l'aide sur
- <qref id="irc-channels">IRC"</qref> ou sur &email-debian-devel;.
+ <qref id="irc-channels">IRC</qref> ou sur &email-debian-devel;.
+ Veuillez vous assurer que le (ou les) responsable(s) du paquet
+ sur lequel est réattribué le paquet sait pourquoi vous l'avez
+ ainsi réattribué.
<p>
Parfois, vous devez également ajuster la gravité du bogue pour qu'elle
corresponde à notre définition de gravité des bogues. C'est dû au
certains bogues peut même être rétrogradée en <em>wishlist</em> (souhait)
quand le changement demandé est seulement d'ordre cosmétique.
</item>
+ <item>
+ Si le bogue est réel, mais que le problème a déjà été rapporté
+ par quelqu'un d'autre, les deux rapports de bogues pertinents
+ devraient être fusionnés en un seul en utilisant la commande
+ <tt>merge</tt> (fusion) du BTS. Ainsi, quand le bogue sera
+ corrigé, tous les créateurs de rapport de bogue en seront
+ informés (notez, cependant, que les courriels envoyés à l'un des
+ créateurs de rapport de bogue ne seront pas automatiquement envoyés
+ aux autres créateurs de rapport de bogue). Pour plus de
+ détails sur les technicités de la commande de fusion et sa
+ voisine, la commande <tt>unmerge</tt> (séparation), veuillez
+ consulter la documentation du serveur de contrôle du BTS.
+ </item>
<item>
Le rapporteur de bogue peut avoir oublié de fournir certaines
informations. Dans ce cas, vous devez lui demander les informations
/closes:\s*(?:bug)?\#\s*\d+(?:,\s*(?:bug)?\#\s*\d+)*/ig
</example>
-Nous préfèrons la syntaxe <tt>closes: #<var>XXX</var></tt>, car c'est l'entrée
+Nous préférons la syntaxe <tt>closes: #<var>XXX</var></tt>, car c'est l'entrée
la plus concise et la plus facile à intégrer dans le texte du fichier
<file>changelog</file>.
<p>
+Si un envoi est identifié comme une <qref id="nmu">mise à jour indépendante
+(NMU)</qref> (et c'est le cas si le nom de
+la personne qui a réalisé ce changement n'est pas exactement le même que celui
+de l'un des responsables ou expéditeurs, sauf si le responsable est le groupe
+d'Assurance Qualité), le bogue est alors marqué <tt>fixed</tt> (corrigé) au lieu
+d'être fermé. Si un envoi de responsable a pour cible <em>experimental</em>,
+l'étiquette <tt>fixed-in-experimental</tt> est alors ajoutée au bogue ;
+pour les mises à jour indépendantes, l'étiquette <tt>fixed</tt> (corrigé) est
+utilisée (il est attendu que la règle spéciale pour <em>experimental</em> sera
+modifiée dès que le suivi des versions sera ajouté au système de suivi des
+bogues).
+<p>
Si vous entrez un numéro de bogue incorrect ou si vous oubliez un bogue dans les
entrées du fichier <file>changelog</file>, n'hésitez pas à annuler tout dommage
- que l'erreur a entraîné. Pour réouvrir un bogue fermé par erreur, envoyez une
+ que l'erreur a entraîné. Pour rouvrir un bogue fermé par erreur, envoyez une
commande <tt>reopen <var>XXX</var></tt> à l'adresse de contrôle du système de
suivi des bogues, &email-bts-control;. Pour fermer tous les bogues restants qui
ont été corrigés par votre envoi, envoyez le fichier <file>.changes</file> à
<p>
Dans certains cas, il n'est pas possible de rétroporter un correctif de
sécurité, par exemple, quand de grandes quantités de code source doivent être
-modifiées ou réécrites. Si cela se produit, il peut être nécessaire de passer à
+modifiées ou récrites. Si cela se produit, il peut être nécessaire de passer à
une nouvelle version amont. Cependant, ceci n'est fait que dans des situations
extrêmes et vous devez toujours coordonner cela avec l'équipe de sécurité au
préalable.
identifiant CVE n'a encore été assigné, l'équipe de sécurité en demandera
un pour qu'il puisse être inclus dans le paquet et dans le changelog.
</item>
-<item>
- Fournissez des entrées de changelog descriptives et complètes. D'autres
- personnes se baseront dessus pour déterminer si un bogue particulier a été
- corrigé. Quand cela est possible, incluez une référence externe, de
- préférence, un identifiant CVE, pour qu'elle puisse être recoupée.
-</item>
<item>
Assurez-vous que le numéro de version est correct. Il doit être plus élevé
que celui du paquet actuel, mais moins que ceux des paquets des versions
s'ils n'ont pas un numéro de version supérieur à celui actuellement
disponible).
<p>
-Vous devez vous assurez que votre mise à jour indépendante binaire ne rend pas
+Vous devez vous assurer que votre mise à jour indépendante binaire ne rend pas
le paquet non installable. Cela peut arriver si un paquet source génère des
paquets dépendants et indépendants de l'architecture qui dépendent
les uns des autres <em>via</em> $(Source-Version).
architectures pour les marquer périmés ou à recompiler.
<p>
Ces recompilations nécessitent des numéros de version « magiques »
- pour que le système de maintenance de l'archive comprennent que, bien qu'il y
+ pour que le système de maintenance de l'archive comprenne que, bien qu'il y
ait une nouvelle version, il n'y a pas eu de modification des sources. Si vous
ne faites pas cela correctement, les administrateurs de l'archive rejetteront
votre mise à jour (car il n'y aura pas de code source associé).
intéressantes pour tous (par exemple, une version de Debian compilée avec des
vérifications relatives à <prgn>gcc</prgn>). Ce système nous permettra aussi
de recompiler rapidement toute une distribution.
-</sect2>
+<p>
+Les administrateurs des buildds pour chaque architecture peuvent être
+ contactés à l'adresse électronique $arch@buildd.debian.org.
+
+ <sect1 id="packages-arch-specific">Quand votre paquet <em>n'est pas</em>
+ portable
+ <p>
+Certains paquets ont encore des problèmes pour être construits et/ou pour
+fonctionner sur certaines des architectures prises en charge par Debian et ne
+peuvent pas du tout être portés, ou pas dans un laps de temps raisonnable. Un
+exemple est un paquet qui est spécifique SGVA (i386 seulement) ou qui utilise
+des fonctionnalités spécifiques au matériel qui ne sont pas gérées sur toutes
+les architectures.
+ <p>
+Pour éviter que des paquets cassés soient envoyés dans l'archive et qu'ils fassent
+perdre du temps des buildd, vous devez faire plusieurs choses :
+ <p>
+ <list>
+ <item>
+ <p>
+Tout d'abord, assurez-vous que votre paquet <em>échoue</em> à la compilation
+sur les architectures qu'il ne gère pas. Il y a plusieurs moyens de faire
+cela. Le moyen préféré est d'avoir une petite suite de tests pendant la
+construction qui testera la fonctionnalité et qui échouera si cela ne
+fonctionne pas. C'est de toute façon une bonne idée et empêchera des
+(certains) envois cassés pour toutes les architectures, et cela permettra
+également au paquet d'être construit dès que la fonctionnalité nécessaire est
+disponible.
+ <p>
+De plus, si vous croyez que la liste des architectures gérées est plutôt
+constante, vous devriez changer « any » en une liste des
+architectures gérées dans le fichier <file>debian/control</file>. Ainsi, la
+construction échouera également et l'indiquera à un lecture humain sans
+vraiment essayer.
+ <item>
+ <p>
+Pour empêcher les compilateurs automatiques de tenter sans raison de
+construire votre paquet, il peut être inclus dans
+<file>packages-arch-specific</file>, une liste utilisée par le script
+<prgn>wanna-build</prgn>. La version actuelle est disponible à
+<url
+id="http://cvs.debian.org/srcdep/Packages-arch-specific?rev=HEAD&cvsroot=dak&content-type=text/vnd.viewcvs-markup"> ;
+veuillez consulter le début du fichier pour savoir qui contacter pour le
+modifier.
+ </list>
+ <p>
+Veuillez noter qu'il est insuffisant de simplement ajouter votre paquet à
+Packages-arch-specific sans le faire également échouer lors de compilation sur
+les architectures non gérées : un porteur ou toute autre personne
+essayant de construire votre paquet peut accidentellement l'envoyer sans
+remarquer qu'il ne fonctionne pas. Si dans le passé certains paquets binaires
+ont été envoyés pour des architectures non gérées, demandez leur suppression
+en remplissant un bogue sur <package>ftp.debian.org</package>.
<sect id="nmu">Mise à jour indépendante
<p>
Cette section ne traite que des mises à jour indépendantes de source, c.-à-d.,
les mises à jour qui envoient une nouvelle version d'un paquet. Pour les
mises à jour indépendantes par des porteurs ou des membres de la QA,
- veuillez consulter <ref id="binary-only-nmu">. Pour les envois buildd (qui
- sont également strictement parlant des NMU), veuillez consulter <ref
- id="buildd">.
+ veuillez consulter <ref id="binary-only-nmu">. Si un buildd construit et
+ envoie un paquet, cela est également à strictement parler une NMU binaire.
+ Veuillez consulter <ref id="buildd"> pour plus d'informations.
<p>
La raison principale pour laquelle une mise à jour indépendante est réalisée est
quand un développeur a besoin de corriger des paquets d'un autre
<item>Patientez quelques jours. Si vous n'avez toujours aucune réponse du
responsable, envoyez-lui un courrier annonçant votre intention
d'effectuer une mise à jour indépendante du paquet. Préparez la NMU comme
- décrit dans <ref id="nmu-guidelines">, testez-la soigneusement sur votre
+ décrit dans cette section et testez-la soigneusement sur votre
machine (cf. <ref id="sanitycheck">). Re-vérifiez que votre correctif
n'a aucun effet de bord inattendu. Assurez-vous que votre correctif est
aussi minimaliste et non intrusif que possible.
<p>
Pour la distribution <em>stable</em>, veuillez y apporter une attention
supplémentaire. Bien sûr, les responsables de version peuvent également modifier
-les rêgles ici. Veuillez vérifier avant l'envoi que tous vos changements sont
+les règles ici. Veuillez vérifier avant l'envoi que tous vos changements sont
acceptables pour inclusion dans la prochaine version stable par le responsable
de diffusion.
<p>
paquet, il faut en créer une en démarrant à « 0.1 ». S'il est
absolument nécessaire qu'une personne qui n'est pas responsable d'un paquet
fasse une livraison basée sur une nouvelle version amont, cette personne doit
- choisir « 0.1 » comme numéro de révision Debian. Le mainteneur du
+ choisir « 0.1 » comme numéro de révision Debian. Le responsable du
paquet doit, lui, démarrer sa numérotation à « 1 ».
<p>
Si vous envoyez un paquet vers <em>testing</em> ou <em>stable</em>, vous devrez
<p>
Sauf si vous savez que le responsable est toujours actif, il est sage de
vérifier le paquet pour voir s'il n'a pas été abandonné. La liste actuelle des
-paquets orphelins pour lesquel le champ responsable n'a pas été positionné
+paquets orphelins pour lesquels le champ responsable n'a pas été positionné
correctement est disponible à <url id="&url-debian-qa-orphaned;">. Si vous
effectuez une mise à jour indépendante sur un paquet incorrectement orphelin,
veuillez positionner le responsable à « Debian QA Group
-<packages@qa.debian.org> ».
+<packages@qa.debian.org> ». Dans ce cas, les bogues du paquet sont
+fermés et pas simplement marqués comme corrigés.
<sect1 id="nmu-who">Qui peut faire une mise à jour indépendante ?
<p>
de suivi des bogues. Les responsables apprécient presque toujours les
correctifs et les rapports de bogue soignés.
+ <sect1 id="nmu-katie">Comment dak détecte les mises à jour indépendantes
+<p>
+Le fait qu'un envoi soit traité par les scripts d'archive et par le
+système de suivi des bogues (voir <ref id="nmu-patch">) comme une mise
+à jour indépendante ou comme un envoi par le responsable <em>n'est
+pas</em> décidé en regardant le numéro de version (voir <ref
+id="nmu-version">). Au lieu de cela, un envoi est géré comme une mise à
+jour indépendante si l'adresse du responsable dans le fichier
+<tt>.changes</tt> n'est pas la même binairement que l'adresse du champ
+<tt>Maintainer</tt> ou que l'une des adresses du champ <tt>Uploaders</tt>
+du fichier <tt>dsc</tt> et également si l'adresse du responsable n'est
+pas spéciale (c.-à-d. elle n'est pas positionnée à l'adresse du groupe
+d'Assurance Qualité).
+
<sect1 id="nmu-terms">Terminologie
<p>
Deux nouvelles expressions sont introduites dans cette section :
inclure des paquets spécifiques à une architecture tout comme un fichier
<em>diff</em> modifié.
<p>
-Une mise à jour indépendante binaire est constitué par la recompilation et
+Une mise à jour indépendante binaire est constituée par la recompilation et
l'archivage d'un paquet pour une architecture donnée. Il s'agit souvent du
résultat d'un effort de portage. Une mise à jour indépendante binaire est la
livraison d'un paquet compilé (souvent pour une autre architecture) à condition
(NMU<footnote><p>Non-maintainer upload</footnote>). Pourtant, cela conduit
souvent à des confusions car beaucoup associent « mise à jour
indépendante » et « mise à jour indépendante source ». Il faut
- donc rester vigilant. Il est préférable de toujours utiliser « mise à jour
+ donc rester vigilant : utilisez toujours « mise à jour
indépendante binaire » ou «NMU binaire » pour les mises à jour
indépendantes de binaires seuls.
</item>
</list>
<p>
-La maintenance collaborative peut souvent être facilitée par l'utilisation
+La maintenance collective peut souvent être facilitée par l'utilisation
d'outils sur Alioth (voir <ref id="alioth">).
</sect>
après avoir atteint un certain degré de test dans <em>unstable</em>.
<p>
Ils doivent être en synchronisation pour toutes les architectures et ne doivent
-pas avoir de dépendances qui les rendraient ininstallables ; ils doivent
+pas avoir de dépendances qui les rendraient non installables ; ils doivent
également n'avoir aucun bogue bloquant l'inclusion du paquet dans une version
stable (« release-critical ») au moment où ils sont installés dans
<em>testing</em>. Ainsi, <em>testing</em> devrait toujours être prête pour être
<heading>Mises à jour depuis <em>unstable</em></heading>
<p>
Les scripts qui mettent à jour la distribution <em>testing</em> sont exécutés
- chaque jour après l'installation des paquets mis à jour. Ils fabriquent les
+ chaque jour après l'installation des paquets mis à jour ; ces
+ scripts sont appelés <em>britney</em>. Ils fabriquent les
fichiers <file>Packages</file> pour la distribution <em>testing</em>, mais ils
le font d'une manière intelligente pour éviter toute incohérence et essayer de
n'utiliser que des paquets sans bogue.
<item>
Le paquet doit avoir été disponible dans <em>unstable</em> depuis 2, 5 ou
10 jours selon le champ d'urgence de l'envoi (élevée, moyenne ou basse).
-Veuillez noter que cette urgence est « collande » (« sticky »), ce qui
-veut dire que l'envoi avec l'urgence la plus élevée depuis la dernière
+Veuillez noter que cette urgence est « collante » (« sticky »), ce qui
+veut dire que l'envoi avec l'urgence la plus élevée depuis la précédente
transition dans <em>testing</em> est prise en compte. Ces délais peuvent être
-doublés lors d'un gel de distribution, ou la transition dans <em>testing</em>
-peut être complètement désactivée ;
+doublés lors d'un gel de distribution, ou les transitions dans <em>testing</em>
+peuvent être complètement désactivées ;
<item>
Il doit avoir moins de bogues empêchant l'intégration dans la distribution que la
-version disponible dans <em>testing</em> ;
+version actuellement disponible dans <em>testing</em> ;
<item>
Il doit être disponible pour toutes les architectures pour lesquelles
il a été auparavant construit. <ref id="madison"> peut être
<item>
Les paquets dont il dépend doivent soit être déjà disponibles dans
<em>testing</em> soit être acceptés dans <em>testing</em> au
-même moment (et ils doivent respecter tous les critères nécessaires).
+même moment (et ils doivent remplir tous les critères nécessaires).
</list>
<p>
Pour savoir si un paquet a progressé ou non dans <em>testing</em>, veuillez voir la
sortie du script de <em>testing</em> sur la <url name="page web de la distribution testing"
id="&url-testing-maint;"> ou utilisez le programme <prgn>grep-excuses</prgn>
-inclus dans le paquet <package>devscripts</package>. Si l'on veut rester
-informé de la progression de ses paquets dans <em>testing</em>, on peut
+inclus dans le paquet <package>devscripts</package>. Si vous voulez rester
+informé de la progression de vos paquets dans <em>testing</em>, vous pouvez
facilement le mettre dans la <manref section="5" name="crontab">.
<p>
Le fichier <file>update_excuses</file> ne donne pas toujours la raison précise
- pour laquelle un paquet est refusé, on peut avoir à la chercher soi-même en
+ pour laquelle un paquet est refusé ; on peut avoir à la chercher soi-même en
regardant ce qui serait cassé avec l'inclusion du paquet. La <url
id="&url-testing-maint;" name="page web de la distribution testing"> donne plus
d'informations à propos des problèmes courants qui peuvent occasionner cela.
script. Voir ci-dessous pour des détails.
<p>
Des analyses de dépendances plus avancées sont présentées sur
-<url id="http://bjorn.haxx.se/debian/"> – mais, attention, elles affichent
+<url id="http://bjorn.haxx.se/debian/"> — mais, attention, cette page affiche
également les dépendances de construction qui ne sont pas considérées par
britney.
<sect2 id="outdated">
<heading>Désynchronisation</heading>
<p>
+<!-- FIXME: better rename this file than document rampant professionalism? -->
Pour le script de migration dans <em>testing</em>, « désynchronisé »
(<em>outdated</em> veut dire ceci : il y a différentes versions dans
<em>unstable</em> pour les architectures de version (à l'exception des
<p>
Parfois, un paquet est supprimé pour permettre l'inclusion d'un autre
paquet : ceci ne se produit que pour permettre à un <em>autre</em> paquet
-d'entrer, ce dernier paquet doit être prêt pour tous les autres critères.
-Considérons par exemple qu'un paquet a est en conflit avec la nouvelle version
-de b alors a peut être supprimé pour permettre l'entrée de b.
+d'entrer, ce dernier doit être prêt pour tous les autres critères.
+Considérons, par exemple, qu'un paquet <em>a</em> est en conflit avec la nouvelle version
+de <em>b</em> alors <em>a</em> peut être supprimé pour permettre l'entrée de <em>b</em>.
<p>
Bien sûr, il existe une autre raison pour supprimer un paquet de
<em>testing</em> : le paquet est trop bogué (et avoir un seul bogue RC est
<sect2 id="circular">
<heading>Dépendances circulaires</heading>
<p>
-Une situation qui n'est pas très bien gérée par britney est si un paquet a
-dépend de la nouvelle version d'un paquet b et vice versa.
+Une situation qui n'est pas très bien gérée par britney est si un paquet <em>a</em>
+dépend de la nouvelle version d'un paquet <em>b</em> et vice versa.
<p>
Voici un exemple :
<p>
b | 1; dépend: a=1 | 2; dépend: a=2
</example>
<p>
-Le paquet a n'est pas considéré pour la mise à jour, le paquet b non plus.
+Aucun des paquets <em>a</em> et <em>b</em> ne sera considéré pour mise à jour.
<p>
Actuellement, ceci nécessite un coup de pouce manuel de l'équipe de
diffusion. Veuillez les contacter en envoyant un courrier électronique à
forcer britney à considérer un paquet. (Le gel de la base est également codé
dans cette partie de britney.) (Il y a une chose semblable pour les mises à jour
binaires pures, mais cela n'est pas décrit ici. Si vous êtes intéressé par cela,
-veuillez utiliser le code.)
+veuillez étudier attentivement le code.)
<p>
Maintenant, la partie la plus complexe se produit : britney tente de mettre
à jour <em>testing</em> avec des candidats valides ; en premier, chaque
paquet individuellement, puis des groupes de plus en plus larges de paquets
-ensemble. Chaque tentative est acceptée si <em>testing</em> n'est pas moins
-ininstallable après la mise à jour qu'avant celle-ci. (Avant et après cette
+ensemble. Chaque tentative est acceptée si <em>unstable</em> n'est pas moins
+non installable après la mise à jour qu'avant celle-ci. (Avant et après cette
partie, certains coups de pouce sont traités ; mais, comme seuls les
responsables de version peuvent positionner des coups de pouce, cela n'est
probablement pas très important pour vous.)
Souvenez-vous que les paquets envoyés là ne sont pas traités automatiquement,
ils doivent passer entre les mains du responsable de distribution. Vous devez
donc avoir une bonne raison pour les y envoyer. Pour savoir ce que
-représente une bonne raison aux yeux du responsable de distribution, vous
-devriez lire les instructions données qu'il envoie régulièrement sur
+représente une bonne raison aux yeux des responsables de distribution, vous
+devriez lire les instructions données qu'ils envoient régulièrement sur
&email-debian-devel-announce;.
<p>
Vous ne devriez pas envoyer un paquet à <em>testing-proposed-updates</em> quand
vous pouvez le mettre à jour par <em>unstable</em>. Si vous ne pouvez faire
autrement (par exemple, parce que vous avez une nouvelle version de
-développement dans <em>unstable</em>), vous pouvez l'utiliser, mais il est
+développement dans <em>unstable</em>), vous pouvez utiliser cette facilité, mais il est
recommandé de demander l'autorisation du responsable de distribution auparavant.
Même si un paquet est gelé, des mises à jour par <em>unstable</em> sont possibles
-si l'envoi dans <em>unstable</em> ne tire pas de nouvelle dépendance.
+si l'envoi dans <em>unstable</em> ne tire pas de nouvelles dépendances.
<p>
Les numéros de version sont habituellement choisis en ajoutant le nom de
-code de la distribution <em>testing</em> et un numéro d'incrémentation, comme
+code de la distribution <em>testing</em> et un numéro incrémenté, comme
1.2sarge1 pour le premier envoi dans <em>testing-proposed-updates</em> du paquet
en version 1.2.
+ <p>
+Veuillez vous assurer que vous n'oubliez aucun des éléments suivants lors de
+votre envoi :
+<list>
+<item> vérifiez que votre paquet doit vraiment aller dans
+<em>testing-proposed-updates</em> et ne peut pas passer par
+<em>unstable</em> ;
+<item> vérifiez que vous n'incluez que le minimum de changements ;
+<item> vérifiez que vous incluez une explication appropriée dans le
+changelog ;
+<item> vérifiez que vous avez bien indiqué <em>testing</em> ou
+<em>testing-proposed-updates</em> comme votre distribution cible ;
+<item> vérifiez que vous avez construit et testé votre paquet dans
+<em>testing</em> et non dans <em>unstable</em> ;
+<item> vérifiez que votre numéro de version est plus élevé que les versions de
+<em>testing</em> et de <em>testing-proposed-updates</em> et moins élevé que
+celle de <em>unstable</em> ;
+<item> après l'envoi et la construction réussie sur toutes les plates-formes,
+contactez l'équipe de diffusion à &email-debian-release; et demandez-leur
+d'approuver votre envoi.
+</list>
<sect1 id="faq">
a des bogues bloquants, il n'ira pas dans <em>testing</em> et par conséquent,
ne pourra pas être diffusé dans <em>stable</em>.
<p>
-Le compte des bogues de <em>testing</em> pour un paquet est considéré comme
-étant à peu près le nombre de bogue lors du dernier pointage quand la version
-<em>testing</em> a été égale à la version <em>unstable</em>. Les bogues marqués
-<em>woody</em> ou <em>sarge</em> ne sont pas comptés. Cependant les bogues
-marqués <em>sid</em> sont comptés.
-
+Le compte des bogues d'<em>unstable</em> est effectué avec tous les bogues
+bloquants sans étiquette de version (comme <em>potato</em>, <em>woody</em>) ou
+avec une étiquette <em>sid</em> et également s'ils ne sont ni corrigés ou
+marqués avec <em>sarge-ignore</em>.
+Le compte des bogues de <em>testing</em> pour un paquet est considéré comme à
+peu près le nombre de bogues d'<em>unstable</em> lors du dernier pointage quand
+la version <em>testing</em> a été égale à la version <em>unstable</em>.
+ <p>
+Cela changera après la sortie de <em>Sarge</em> dès que nous aurons des versions
+dans le système de suivi des bogues.
<sect2>
<heading>Comment est-ce que l'installation d'un paquet dans
supprimer libacme-foo0, ce qui va casser tout paquet qui en dépend.
<p>
Évidemment, cela touche principalement des paquets qui fournissent des jeux
-changeants de paquets binaires dans différentes version (par suite,
+changeant de paquets binaires dans différentes versions (par suite,
principalement des bibliothèques). Cependant, cela va aussi toucher des paquets
sur lesquels une dépendance versionnée a été déclarée du type ==, <= ou <<.
<p>
Les scripts d'aide peuvent résoudre ces problèmes. En supposant que vous vous
conformiez aux conventions attendues par le script d'aide, celui-ci prend soin
de tous les détails. Les changements dans la charte peuvent alors être faits
-dans le script d'aide, les paquets ont alors simplement besoin d'être
+dans le script d'aide ; les paquets ont alors simplement besoin d'être
reconstruits avec la nouvelle version du script et sans aucun changement
supplémentaire.
<p>
Les gros paquets peuvent avoir plusieurs bogues que vous devez gérer. Si
vous corrigez sans faire attention les bogues dans les sources, vous ne
pourrez pas différencier facilement les nombreux correctifs que vous aurez
- appliqués. Cela peut devenir trés compliqué de mettre à jour le paquet avec
+ appliqués. Cela peut devenir très compliqué de mettre à jour le paquet avec
une nouvelle version amont qui intègre certains correctifs (mais pas tous).
Vous ne pouvez pas prendre l'ensemble des correctifs (par exemple, dans les
fichiers <file>.diff.gz</file>) et décider quels correctifs il vous faut
binaires différents, que ce soit pour fournir plusieurs saveurs du même
paquet (par exemple, le paquet source <package>vim</package>) ou pour créer
plusieurs petits paquets au lieu d'un seul gros (par exemple, si
- l'utilisateur peut n'installer que la partie dont il a besoin et ainsi
+ l'utilisateur peut n'installer que la partie nécessaire et ainsi
économiser de l'espace disque).
<p>
Le second cas peut facilement être géré dans le fichier
garantissant que vous avez bien défini les dépendances entre les paquets dans
le fichier <file>debian/control</file>.
<p>
-Le premier cas est un peu plus diffile car il implique de multiples
+Le premier cas est un peu plus difficile car il implique de multiples
recompilations du même logiciel, mais avec différentes options de
configuration. Le paquet source <package>vim</package> est un exemple de la
façon de gérer cela avec un fichier <file>rules</file> écrit à la main.
<example>ispell -d american -g debian/control</example>
<p>
-L'utilisateur s'attend habituellement à ce que les réponses aux questions
-suivantes soient présentes dans la description du paquet.
+Les utilisateurs s'attendent habituellement à ce que les réponses aux questions
+suivantes soient présentes dans la description du paquet :
<list>
<item>
Qu'est-ce que fait le paquet ? Si c'est un ajout d'un autre paquet, la
-description courte du paquet dont il est un ajout devrait le spécifier.
+description courte du paquet dont c'est un ajout devrait le spécifier.
<item>
Pourquoi est-ce qu'il voudrait installer ce paquet ? Ceci est lié à ce qui
est ci-dessus, mais pas tout à fait (c'est un client de messagerie ; il
-est cool, rapide, s'interface avec pgp, ldap et imap, a les fonctionnalités
+est cool, rapide, s'interface avec PGP, LDAP et IMAP, a les fonctionnalités
X, Y et Z).
<item>
Si ce paquet ne devrait pas être installé directement, mais être tiré par un
<item>
En quoi le paquet est différent des paquets concurrents ? Est-ce que c'est
une meilleure implémentation ? A-t-il plus de fonctionnalités, des
-fonctionnalités différentes ? Pourquoi devrait-il choisir ce paquet (2.
-devrait parler de la classe des paquets et ceci à propos de ce paquet
-particulier, si vous avez des informations liés au deux).
+fonctionnalités différentes ? Pourquoi devrait-il choisir ce paquet ?
+<!-- FIXME: what's this?
+(the second questions is about the class of packages, and
+ this about this particular package, if you have information related to both).
+-->
</list>
</sect1>
<file>README.Debian</file>.
<p>
Utilisez un langage anglais commun pour que la majorité des lecteur puissent le
-comprendre. Évitez les abbréviations, le parler technique et le jargon quand
+comprendre. Évitez les abréviations, le parler technique et le jargon quand
vous expliquez des changements fermant un bogue, spécialement pour les rapports
de bogue créés par des utilisateurs qui ne vous paraissent pas particulièrement
à l'aise techniquement. Vous devez être poli et ne pas jurer.
functionality provided with that script, please install the new
package.
- -- Steve Greenland <stevegr&debian.org> Sat, 6 Sep 2003 17:15:03 -0500
+ -- Steve Greenland <stevegr@debian.org> Sat, 6 Sep 2003 17:15:03 -0500
</example>
<p>
Le fichier NEWS.Debian est installé comme
Gardez les scripts de maintenance aussi simples que possible. Nous vous
suggérons d'utiliser des scripts shell POSIX purs. Rappelez-vous, que si vous
avez besoin d'une fonctionnalité de Bash, le script de maintenance doit
-l'indiquer dans sa première ligne. Un shell POSIX ou Bash sont préférés à
+préciser bash dans sa première ligne. Un shell POSIX ou Bash sont préférés à
Perl car ils permettent à <package>debhelper</package> d'ajouter facilement des
parties aux scripts.
<p>
utiliser quelque chose comme :
<example>if [ -x /usr/sbin/install-docs ]; then ...</example>
-Si vous ne désirez pas mettre en dur le chemin de la commande dans le script de
+Si vous ne désirez pas mettre en dur le chemin d'une commande dans le script de
maintenance, la fonction de shell suivante conforme à POSIX peut vous
aider :
problème.
</sect>
+<!-- Les 2 prochaines sections sont provisoirement commentées tant que
+ le bogue 337086 n'est pas clos -->
+<!--
+ <sect id="bpp-debian-security-audit">
+ <heading>Les meilleures pratiques en matière de sécurité</heading>
+
+<p>Si vous empaquetez un logiciel pour d'autres utilisateurs, vous devez
+vous efforcer de garantir que l'installation du logiciel et son
+utilisation n'introduisent pas de risques pour la sécurité du
+système sur lequel il est installé ou de ses utilisateurs.</p>
+
+<p>Vous devez vous efforcer d'examiner le code source du paquet
+et détecter les problèmes qui pourraient amener des bogues concernant la
+sécurité. Les erreurs de programmation qui entraînent des bogues concernant la sécurité
+sont généralement du type : <url
+id="http://en.wikipedia.org/wiki/Buffer_overflow" name="dépassement de
+tampon">, <url
+id="http://en.wikipedia.org/wiki/Cross_site_scripting" name="dépassement
+de chaînes de formatage">, <url
+id="http://en.wikipedia.org/wiki/Cross_site_scripting" name="dépassement
+de tas"> et <url
+id="http://en.wikipedia.org/wiki/Cross_site_scripting" name="dépassement
+d'entier"> (dans les programmes C/C++), <url
+id="http://en.wikipedia.org/wiki/Symlink_race" name="situation de
+concurrence entre liens symboliques"> temporaire (dans les scripts), <url
+id="http://en.wikipedia.org/wiki/Directory_traversal" name="traversée de
+répertoire"> et injection de commandes (dans les serveurs) et <url
+id="http://en.wikipedia.org/wiki/Cross_site_scripting"
+name="scripts intersites">, et <url
+id="http://en.wikipedia.org/wiki/Cross_site_scripting" name="bogues
+d'injection SQL"> (dans le cas d'applications orientées web).</p>
+
+<p>Certains de ces problèmes peuvent ne pas être évidents à détecter à
+moins d'être un expert dans le langage de programmation utilisé par le
+programme, mais d'autres sont faciles à détecter et
+à corriger. Par exemple, il est facile de trouver des situations de concurrence
+temporaires dans un code source : on peut exécuter
+<tt>grep -r "/tmp/" .</tt> dans le code source et remplacer les noms
+de fichier codés en dur utilisant des répertoires temporaires par des
+appels soit à <prgn>mktemp</prgn> ou à <prgn>tempfile</prgn> dans les
+scripts shell, à <manref name="File::Temp" section="3perl"> dans les
+scripts Perl, et à <manref name="tmpfile" section="3"> pour du C/C++.
+Vous pouvez également utiliser des <url
+id="http://www.debian.org/security/audit/tools" name="outils
+spécifiques"> qui facilitent la phase d'étude du code du point de vue de la sécurité.</p>
+
+<p>Quand vous empaquetez un logiciel, assurez-vous que :
+
+<list>
+
+<item>le logiciel fonctionne avec le minimum de privilèges :
+
+<list>
+<item>le paquet installe des binaires setuid ou setgid.
+<prgn>Lintian</prgn> émettra un avertissement pour les binaires <url
+id="http://lintian.debian.org/reports/Tsetuid-binary.html"
+name="setuid">, <url id="http://lintian.debian.org/reports/Tsetgid-binary.html"
+name="setgid"> et <url
+id="http://lintian.debian.org/reports/Tsetuid-gid-binary.html"
+name="setuid et setgid">.
+
+<item>les démons fournis par le paquet s'exécutent avec un utilisateur à
+privilège réduit (voir <ref id="bpp-lower-privs">).
+
+</list>
+
+<item>les tâches programmées (par exemple, <prgn>cron</prgn>)
+ne s'exécutent PAS en tant que root ou si
+elles le font, elles n'implémentent pas de tâches complexes.
+
+</list>
+
+<p>Si votre paquet se trouve dans l'un des cas ci-dessus, assurez-vous que les programmes
+qui s'exécutent avec des privilèges plus élevés ont été audités pour les
+bogues de sécurité. Si vous n'en êtes pas certain ou si vous avez besoin
+d'aide, contactez l'<url
+id="http://www.debian.org/security/audit/" name="équipe d'audit de
+sécurité Debian">. Dans le cas de binaires setuid/setgid, suivez la
+charte Debian en ce qui concerne les
+<url id="http://www.debian.org/doc/debian-policy/ch-files.html#s10.9"
+name="permissions et propriétaires">.
+</p>
+
+<p>Pour d'autres informations spécifiques à la programmation sécurisée,
+lisez (ou signalez au développeur amont) <url
+id="http://www.dwheeler.com/secure-programs/" name="Secure Programming
+for Linux and Unix HOWTO"> et le portail <url
+id="https://buildsecurityin.us-cert.gov/portal/" name="Build Security
+In">. Pour des informations spécifiques à la sécurité dans la distribution Debian, vous
+pouvez lire le <url
+id="http://www.debian.org/doc/manuals/securing-debian-howto/"
+name="guide de sécurisation de Debian">.
+</p>
+ -->
+
+<!-- This should be explained here until #291177 gets fixed and this is
+ added to poliy -->
+
+<!--
+ <sect1 id="bpp-lower-privs">
+ <heading>Créer des groupes et des utilisateurs pour des démons
+ logiciels
+
+<p>Si votre logiciel exécute un démon qui n'a pas besoin des privilèges
+du superadministrateur, vous devez lui créer un utilisateur. Il existe
+deux types d'utilisateurs Debian pouvant être utilisés par des
+paquets : les identifiants statiques (assignés par
+<package>base-passwd</package>) et les identifiants dynamiques dans
+l'intervalle assigné aux utilisateurs système.
+
+<p>Dans le premier cas, vous devez demander un identifiant d'utilisateur
+ou de groupe à <package>base-passwd</package> et ajouter une dépendance
+versionnée correctement sur le paquet <package>base-passwd</package>
+fournissant cet utilisateur.
+
+<p>Dans le second cas, vous devez créer l'utilisateur système dans
+le script <em>preinst</em> ou <em>postinst</em> et rendre le paquet
+dépendant de <tt>adduser (>= 3.11)</tt>.
+
+<p>Le code exemple suivant crée l'utilisateur et le groupe du démon avec
+lequel le démon fonctionnera au moment de l'installation ou de la mise à
+jour du paquet :
+
+<example>
+[...]
+case "$1" in
+ install|upgrade)
+
+ # Si le paquet a un fichier par défaut, il peut être sourcé afin
+ # que l'administrateur local puisse écraser les valeurs par défaut
+
+ [ -f "/etc/default/<var>packagename</var>" ] && .
+ /etc/default/<var>packagename</var>
+
+
+ # Valeurs par défaut saines :
+
+ [ -z "$SERVER_HOME" ] && SERVER_HOME=<var>server_dir</var>
+ [ -z "$SERVER_USER" ] && SERVER_USER=<var>server_user</var>
+ [ -z "$SERVER_NAME" ] && SERVER_NAME="<var>Server description</var>"
+ [ -z "$SERVER_GROUP" ] && SERVER_GROUP=<var>server_group</var>
+
+ # Groupes auxquels l'utilisateur sera ajouté, si non défini, alors rien.
+ ADDGROUP=""
+
+
+ # Crée l'utilisateur pour éviter d'exécuter le serveur en tant que root
+ # 1. Création du groupe s'il n'existe pas
+ if ! getent group | grep -q "^$SERVER_GROUP:" ; then
+ echo -n "Adding group $SERVER_GROUP.."
+ addgroup - -quiet - -system $SERVER_GROUP 2>/dev/null ||true
+ echo "..done"
+ fi
+ # 2. Création du répertoire personnel s'il n'existe pas
+ test -d $SERVER_HOME || mkdir $SERVER_HOME
+ # 3. Création de l'utilisateur s'il n'existe pas
+ if ! getent passwd | grep -q "^$SERVER_USER:"; then
+ echo -n "Adding system user $SERVER_USER.."
+ adduser - -quiet \
+ - -system \
+ - -ingroup $SERVER_GROUP \
+ - -no-create-home \
+ - -disabled-password \
+ $SERVER_USER 2>/dev/null || true
+ echo "..done"
+ fi
+ # 4. Ajuste l'entrée du mot de passe
+ usermod -c "$SERVER_NAME" \
+ -d $SERVER_HOME \
+ -g $SERVER_GROUP \
+ $SERVER_USER
+ # 5. Ajuste les permissions de fichiers et répertoires
+ if ! dpkg-statoverride - -list $SERVER_HOME >/dev/null
+ then
+ chown -R $SERVER_USER:adm $SERVER_HOME
+ chmod u=rwx,g=rxs,o= $SERVER_HOME
+ fi
+ # 6. Ajoute l'utilisateurs au groupe ADDGROUP
+ if test -n $ADDGROUP
+ then
+ if ! groups $SERVER_USER | grep -q $ADDGROUP; then
+ adduser $SERVER_USER $ADDGROUP
+ fi
+ fi
+ ;;
+ configure)
+
+[...]
+</example>
+
+<p>Vous devez vous assurer que le fichier script d'init.d :
+
+<list>
+<item>lance le démon en abandonnant les privilèges, si le logiciel ne
+fait pas les appels <manref name="setuid" section="2"> ou <manref
+name="seteuid" section="2"> lui-même, vous pouvez utiliser l'option
+<tt>- -chuid</tt> de <prgn>start-stop-daemon</prgn>.
+
+<item>arrête le démon seulement si l'identifiant utilisateur correspond,
+vous pouvez utiliser l'option <tt>- -user</tt> de
+<prgn>start-stop-daemon</prgn> pour cela.
+
+<item>ne s'exécute pas si l'utilisateur ou le groupe n'existe pas :
+<example>
+ if getent passwd | grep -q "^<var>server_user</var>:"; then
+ echo "Server user does not exist. Aborting" >&2
+ exit 1
+ fi
+ if getent group | grep -q "^<var>server_group</var>:" ; then
+ echo "Server group does not exist. Aborting" >&2
+ exit 1
+ fi
+</example>
+
+</list>
+
+<p>Si le paquet crée l'utilisateur système, il peut l'enlever quand il
+est purgé dans son script <em>postrm</em>, cela a certains inconvénients
+<footnote>Par exemple, les fichiers créés par celui-ci seront sans
+propriétaire et peuvent être récupérés par un nouvel utilisateur système
+dans le futur si celui-ci reçoit le même identifiant utilisateur.
+Voir les fils de discussion suivants qui traitant de ces
+inconvénients : <url
+id="http://lists.debian.org/debian-mentors/2004/10/msg00338.html">
+et
+<url id="http://lists.debian.org/debian-devel/2004/05/msg01156.html">
+</footnote>,
+ce n'est donc pas obligatoire et cela dépend des besoins du paquet. En
+cas de doute, cela peut être géré en demandant à l'administrateur son
+choix lors de l'installation du paquet (voir <ref
+id="debconf">). Le code exemple suivant supprime l'utilisateur et le
+groupe créés auparavant si et seulement si l'identifiant utilisateur est
+dans l'intervalle des identifiants d'utilisateur système assignés
+dynamiquement et si l'identifiant de groupe appartient à un groupe
+système :
+
+<example>
+case "$1" in
+ purge)
+[...]
+ # Trouve les premier et dernier numéros SYSTEM_UID
+ for LINE in `grep SYSTEM_UID /etc/adduser.conf | grep -v "^#"`; do
+ case $LINE in
+ FIRST_SYSTEM_UID*)
+ FIST_SYSTEM_UID=`echo $LINE | cut -f2 -d '='`
+ ;;
+ LAST_SYSTEM_UID*)
+ LAST_SYSTEM_UID=`echo $LINE | cut -f2 -d '='`
+ ;;
+ *)
+ ;;
+ esac
+ done
+ # Supprime le compte système si nécessaire
+ CREATEDUSER="<var>server_user</var>"
+ if [ -n "$FIST_SYSTEM_UID" ] && [ -n "$LAST_SYSTEM_UID" ]; then
+ if USERID=`getent passwd $CREATEDUSER | cut -f 3 -d ':'`; then
+ if [ -n "$USERID" ]; then
+ if [ "$FIST_SYSTEM_UID" -le "$USERID" ] && \
+ [ "$USERID" -le "$LAST_SYSTEM_UID" ]; then
+ echo -n "Removing $CREATEDUSER system user.."
+ deluser - -quiet $CREATEDUSER || true
+ echo "..done"
+ fi
+ fi
+ fi
+ fi
+ # Supprime le groupe système si nécessaire
+ CREATEDGROUP=<var>server_group</var>
+ FIRST_USER_GID=`grep ^USERS_GID /etc/adduser.conf | cut -f2 -d '='`
+ if [ -n "$FIST_USER_GID" ] then
+ if GROUPGID=`getent group $CREATEDGROUP | cut -f 3 -d ':'`; then
+ if [ -n "$GROUPGID" ]; then
+ if [ "$FIST_USER_GID" -gt "$GROUPGID" ]; then
+ echo -n "Removing $CREATEDGROUP group.."
+ delgroup - -only-if-empty $CREATEDGROUP || true
+ echo "..done"
+ fi
+ fi
+ fi
+ fi
+[...]
+</example>
+
+<p>Exécuter des programmes avec un utilisateur ayant des privilèges
+limités garantit que tout problème de sécurité du programme n'entraînera
+que des dommages limités au système et cela suit le principe du <em>moindre
+privilège</em>, vous pouvez limiter les privilèges dans les programmes
+par d'autres mécanismes en plus de le faire s'exécuter en tant que
+non-superutilisateur. Pour plus d'informations, lisez le chapitre <url
+id="http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/minimize-privileges.html"
+name="Minimize Privileges"> du livre <em>Secure Programming for Linux
+and Unix HOWTO</em>.
+
+</sect1>
+
+</sect>
+ -->
+
<sect id="bpp-config-mgmt">
<heading>Gestion de la configuration avec <package>debconf</package></heading>
Debconf est un bon outil, mais il est souvent mal utilisé. Plusieurs erreurs
communes sont référencées dans la page de manuel <manref section="7"
name="debconf-devel">. Vous devriez vraiment lire cette page si vous décidez
- d'utiliser debconf.
- </sect>
+ d'utiliser debconf. Nous documentons également plusieurs des meilleures
+ pratiques ici.
+ <p>
+Ces lignes directives incluent plusieurs recommandations de style d'écriture et
+de typographie, des considérations générales à propos de l'utilisation de
+debconf ainsi que des recommandations plus spécifiques pour certaines parties de
+la distribution (par exemple, le système d'installation).
+
+ <sect1>N'abusez pas de debconf
+ <p>
+Depuis que debconf est apparu dans Debian, il a été largement abusé et plusieurs
+critiques reçues par la distribution Debian proviennent d'utilisation abusive de
+debconf avec la nécessité de répondre à un grand nombre de questions avant
+d'avoir n'importe quel petit logiciel d'installé.
+ <p>
+Garder les notes d'utilisation à leur place : le fichier NEWS.Debian ou le
+fichier README.Debian. N'utilisez des notes que pour des notes importantes
+qui peuvent directement concerner l'utilisation du paquet. Rappelez-vous que les
+notes bloqueront toujours l'installation avant leur confirmation ou qu'elles
+embêtent l'utilisateur par un courriel.
+ <p>
+Choisissez avec soin les priorités des questions dans les scripts de
+responsable. Reportez-vous à <manref name="debconf-devel" section="7"> pour plus
+de détails sur les priorités. La plupart des questions devraient utiliser un
+priorité moyenne ou basse.
+
+ <sect1>Recommandations générales pour les auteurs et traducteurs
+ <p>
+ <sect2>Écrivez un anglais correct
+ <p>
+La plupart des responsables de paquets Debian n'ont pas l'anglais comme langue
+maternelle. Écrire des modèles correctement rédigés peut donc ne pas être facile
+pour eux.
+ <p>
+Veuillez utiliser (et abuser de) la liste de discussions
+&email-debian-l10n-english;. Faites relire vos questionnaires.
+ <p>
+Des questionnaires écrits incorrectement donnent une pauvre image de votre paquet,
+de votre travail... ou même de Debian elle-même.
+ <p>
+Évitez le jargon technique autant que possible. Si certains termes vous semblent
+courants, ils peuvent être impossibles à expliquer à d'autres personnes. Si vous
+ne pouvez pas les éviter, essayez de les expliquer (en utilisant la description
+étendue). Quand vous faites cela, essayez d'équilibrer la verbosité et la
+simplicité.
+
+ <sect2>Être courtois avec les traducteurs
+ <p>
+Les questionnaires debconf peuvent être traduits. Debconf, avec son paquet-frêre
+<package>po-debconf</package>, offre un cadre de travail simple pour obtenir des questionnaires
+traduits par les équipes de traduction ou même par des individus isolés.
+ <p>
+Veuillez utiliser les questionnaires basés sur gettext. Installez <package>po-debconf</package> sur
+votre système de développement et lisez sa documentation (« man
+po-debconf » est un bon début).
+ <p>
+Évitez de changer vos questionnaires trop souvent. Modifier le texte des
+questionnaires entraîne plus de travail pour les traducteurs dont les
+traductions seront rendues « floues » (« fuzzy »). Si vous
+prévoyez des modifications dans vos questionnaires d'origine, veuillez contacter
+les traducteurs. La plupart des traducteurs actifs sont très réactifs et obtenir
+leur travail inclus avec vos questionnaires modifiés vous économisera des envois
+supplémentaires. Si vous utilisez des modèles basés sur gettext, le nom et
+l'adresse électronique du traducteur sont mentionnés dans les en-têtes des
+fichiers PO.
+ <p>
+L'utilisation de <prgn>podebconf-report-po</prgn> du paquet
+<package>po-debconf</package> est hautement recommandée pour avertir les
+traducteurs qui ont des traductions incomplètes et pour leur demander
+des mises à jour.
+ <p>
+En cas de doutes, vous pouvez également contacter l'équipe de traduction pour
+une langue donnée (debian-l10n-xxxxx@lists.debian.org) ou la liste de discussions
+&email-debian-i18n;.
+ <p>
+Les appels à traductions postés sur &email-debian-i18n; avec le fichier
+<file>debian/po/templates.pot</file> attaché ou référencé dans une URL
+sont encouragés. Assurez-vous de mentionner dans ces appels pour de
+nouvelles traductions quelles sont les langues pour lesquelles vous avez
+déjà des traductions existantes, pour éviter toute duplication de
+travail.
+
+<sect2>« Dé-fuzzy-fiez » les traductions complètes lors des
+corrections de typos et d'orthographe
+ <p>
+Quand le texte d'un questionnaire debconf est corrigé et que vous êtes
+<strong>certain</strong> que les changements <strong>n'ont aucun</strong>
+effet sur les traductions, soyez courtois avec les traducteurs et
+dé-fuzzy-fiez leurs traductions.
+ <p>
+Si vous ne le faites pas, le questionnaire entier ne sera pas traduit
+jusqu'à ce qu'un traducteur vous envoie une mise à jour.
+ <p>
+Pour <strong>dé-fuzzy-fier</strong> les traductions, vous pouvez
+procéder ainsi :
+<enumlist>
+<item>
+enlevez tous les fichiers PO incomplets. Vous pouvez vérifier si les
+fichiers sont complets en utilisant (il faut que le paquet
+<package>gettext</package> soit installé) :
+<example>for i in debian/po/*po; do echo -n $i: ; msgfmt -o /dev/null --statistics $i; done</example>
+<item>
+déplacez tous les fichiers ayant des chaînes floues
+(« fuzzy ») dans un emplacement temporaire. Les fichiers
+n'ayant aucune chaîne floue (seulement des chaînes traduites et non
+traduites) seront conservées où ils sont placés,
+<item>
+maintenant <strong>et seulement maintenant</strong>, corrigez les typos
+dans le questionnaire et vérifiez que les traductions ne sont pas
+impactées (les typos, les fautes d'orthographe et parfois les
+corrections de typographie sont généralement acceptables),
+<item>
+exécutez <prgn>debconf-updatepo</prgn>. Cela va fuzzifier toutes les
+chaînes que vous avez modifiées dans les traductions. Vous pouvez
+constater cela en exécutant à nouveau la commande ci-dessus,
+<item>
+utilisez la commande suivante :
+<example>for i in debian/po/*po; do msgattrib --output-file=$i --clear-fuzzy $i; done</example>
+<item>
+déplacez dans debian/po les fichiers qui avaient des chaînes floues dans
+la première étape,
+<item>
+exécutez à nouveau <prgn>debconf-updatepo</prgn>.
+</enumlist>
+
+ <sect2>Ne faites pas de suppositions à propos des interfaces
+ <p>
+Le texte des modèles ne doit pas faire référence aux composants appartenant à
+l'une des interfaces debconf. Des phrases comme « If you answer
+Yes... » n'a aucun sens pour les utilisateurs d'interfaces graphiques qui
+utilisent des cases à cocher pour les questions booléennes.
+ <p>
+Les modèles de chaînes de caractères devraient éviter de mentionner les
+valeurs par défaut dans leur description. Tout d'abord, parce que cela
+est redondant avec les valeurs lues par les utilisateurs. Ensuite, parce
+ces valeurs par défaut peuvent être différentes selon les choix du
+responsable (par exemple, quand la base de données debconf a été
+préremplie).
+ <p>
+Plus généralement, essayez d'éviter de vous référer à toute action de
+l'utilisation. Donnez simplement des faits.
+
+ <sect2>N'utilisez pas la première personne
+ <p>
+Vous devriez éviter d'utiliser la première personne (« I will do
+this... » ou « We recommend... »). L'ordinateur n'est pas une
+personne et les questionnaires debconf ne parlent pas pour les développeurs
+Debian. Vous devriez utiliser une construction neutre et souvent une forme
+passive. Pour ceux d'entre vous qui écrivent déjà des publications
+scientifiques, écrivez simplement vos questionnaires comme vous écriveriez un
+papier scientifique.
+
+ <sect2>Soyez neutre dans le genre
+ <p>
+Le monde est fait d'hommes et de femmes. Veuillez utiliser des constructions
+neutres dans le genre dans votre texte. Ce n'est pas du politiquement correct,
+c'est simplement montrer du respect pour toute l'humanité.
+
+
+ <sect1>Définition des champs de questionnaires
+ <p>
+Cette partie donne plusieurs informations qui sont principalement extraites de
+la page de manuel <manref name="debconf-devel" section="7">.
+
+ <sect2>Type
+ <p>
+
+ <sect3>string: (chaîne de caractères)
+ <p>
+Résulte en un champ d'entrée libre dans lequel l'utilisateur peut écrire toute chaîne.
+
+ <sect3>password: (mot de passe)
+ <p>
+Demande un mot de passe à l'utilisateur. Veuillez utiliser ce champ avec
+précaution ; soyez conscient que le mot de passe que l'utilisateur entre
+sera écrit dans la base de données debconf. Vous devriez probablement enlever
+cette valeur de la base de données dès que possible.
+
+ <sect3>boolean: (booléen)
+ <p>
+Un choix vrai/faux. Rappelez-vous : vrai/faux, PAS OUI/NON...
+
+ <sect3>select: (sélection)
+ <p>
+Un choix parmi un certain nombre de valeurs. Les choix doivent être spécifiés
+dans un champ nommé « Choices ». Séparez les valeurs possibles par des
+virgules et des espaces ainsi : Choices: yes, no, maybe
+
+ <sect3>multiselect: (sélection multiple)
+ <p>
+Comme le type de données select, excepté que l'utilisateur peut choisir un
+nombre quelconque d'éléments dans la liste de choix (ou aucun d'entre eux).
+
+ <sect3>note: (note)
+ <p>
+Plutôt que d'être une question en tant que telle, ce type de donnée indiqué une
+note qui peut être affichée à l'utilisateur. Il ne devrait être utilisé que
+pour des données importantes que l'utilisateur doit réellement voir, car debconf
+fera tout ce qu'il peut pour s'assurer que l'utilisateur le voit ; il
+stoppera l'installation en attendant que l'utilisateur appuie sur une touche ou
+il leur enverra même la note par courrier dans certains cas.
+
+ <sect3>text: (texte)
+ <p>
+Ce type est maintenant considéré comme obsolète : ne l'utilisez pas.
+
+ <sect3>error: (erreur)
+ <p>
+<strong>CE TYPE DE MODÈLE N'EST PAS ENCORE GÉRÉ PAR DEBCONF.</strong>
+ <p>
+Il a été ajouté à cdebconf, la version C de debconf, utilisé en premier dans
+l'installateur Debian.
+ <p>
+Veuillez ne pas l'utiliser à moins que debconf ne le prennent en charge.
+ <p>
+Ce type est conçu pour gérer des messages d'erreur. Il est presque semblable au
+type « note ». Des interfaces peuvent le présenter différemment (par
+exemple, l'interface dialog de cdebconf affiche un écran rouge au lieu de
+l'écran bleu habituel).
+
+
+ <sect2>Description: description courte et étendue
+ <p>
+Les descriptions des modèles sont composées de deux parties : une courte et
+une étendue. La description courte est dans la ligne « Description: »
+du questionnaire.
+ <p>
+La description courte devrait être gardée courte (50 caractères ou moins)
+pour qu'elle puisse être ajustée par la plupart des interfaces debconf. La
+garder courte aide également les traducteurs, car les traductions ont tendance à
+être plus longues que l'originale.
+ <p>
+La description courte devrait se suffire à elle-même. Certaines interfaces
+n'affichent pas la description longue par défaut ou seulement si l'utilisateur
+la demande explicitement ou même ne l'affichent pas du tout. Évitez des choses
+comme « What do you want to do ? ».
+ <p>
+Il n'est pas nécessaire que la description courte soit une phrase complète. Cela
+fait partie de la recommandation « gardez-la courte et efficace ».
+ <p>
+La description étendue ne devrait pas répéter la description courte mot pour mot.
+Si vous ne trouvez pas de description longue, commencez par à y réfléchir plus.
+Envoyez un message sur debian-devel. Demandez de l'aide. Suivez un cours
+d'écriture ! La description étendue est importante. Si, après tout cela,
+vous ne trouvez toujours rien, laissez-la vide.
+ <p>
+La description étendue devrait utiliser des phrases complètes. Des paragraphes
+devraient être gardés court pour améliorer la lisibilité. Ne mélangez pas deux
+idées dans le même paragraphe, mais utilisez plutôt un autre paragraphe.
+ <p>
+Ne soyez pas trop verbeux. Certaines interfaces debconf ne gèrent pas très bien
+les descriptions de plus de 20 lignes, essayez donc de les conserver sous
+cette limite.
+ <p>
+Pour des règles spécifiques selon le type de questionnaire (chaîne de
+caractères, booléen, etc.), veuillez lire ci-dessous.
+
+ <sect2>Choices (choix)
+ <p>
+Ce champ devrait utilisé pour des types Select et Multiselect. Il contient les
+choix possibles qui seront présentés aux utilisateurs. Ces choix devraient être
+séparés par des virgules.
+
+
+ <sect2>Default (valeur par défaut)
+ <p>
+Ce champ est facultatif. Il contient la réponse par défaut pour les modèles
+chaîne de caractères, sélection et multi-sélection. Pour des questionnaires
+multi-sélection, il peut contenir une liste de choix séparés par des virgules.
+
+ <sect1>Guide de style spécifique par champ de questionnaires
+ <p>
+
+ <sect2>Champ Type
+ <p>
+Aucune indication spécifique excepté : utilisez le type approprié en vous
+référant à la section précédente.
+
+ <sect2>Champ Description
+ <p>
+Voici ci-dessous des instructions spécifiques pour écrire correctement la
+description (courte et étendue) selon le type de questionnaire.
+
+ <sect3>questionnaire chaîne de caractères/mot de passe
+ <p>
+<list>
+<item> La description courte est une invite et NON un titre. Évitez des invites
+ de style question (« IP Address? ») en faveur d'invites
+ « ouvertes »à (« IP address: »). L'utilisation des
+ deux-points est recommandée.
+
+<item> La description étendue est un complément à la description courte. Dans la
+ partie étendue, expliquez ce qui est demandé, plutôt que de poser la même
+ question à nouveau en utilisant des mots plus longs. Utilisez des phrases
+ complètes. Un style d'écriture trop concis est fortement découragé.
+</list>
+
+ <sect3>modèles booléens
+ <p>
+<list>
+<item> La description courte devrait être rédigée sous la forme d'une question
+ qui devrait être gardée courte et devrait généralement se terminer par un
+ point d'interrogation. Un style d'écriture concis est permis et même
+ encouragé si la question est plutôt longue (rappelez-vous que les
+ traductions sont souvent plus longue que les versions d'origine)
+
+<item> La description étendue ne devrait PAS inclure de question.
+
+<item> À nouveau, veuillez éviter de vous référer à des composants d'interface
+ spécifiques. Une erreur courante pour de telles questionnaires est les
+ constructions du type « if you answer Yes ».
+</list>
+
+ <sect3>sélection/multi-sélection
+ <p>
+<list>
+<item> La description courte est une invite et NON un titre. N'utilisez PAS des
+ constructions inutiles du type « Please choose... ». Les
+ utilisateurs sont assez intelligents pour réaliser qu'ils doivent choisir
+ quelque chose...:)
+
+<item> La description étendue devra compléter la description courte. Elle peut se
+ référer aux choix disponibles. Elle peut également mentionner que
+ l'utilisateur peut choisir plus d'un des choix disponibles si le
+ questionnaire est du type sélection multiple (bien que l'interface rende
+ souvent cela clair).
+</list>
+
+ <sect3>Notes
+ <p>
+<list>
+<item> La description courte devrait être considéré comme un *titre*.
+
+<item> La description étendue est ce qui sera affiché comme une description plus
+ détaillée de la note. Faites de phrases, n'utilisez pas un style d'écriture
+ trop concis.
+
+<item> N'ABUSEZ PAS DE DEBCONF. Les notes sont le moyen le plus courant d'abus
+ de debconf. Comme il est écrit dans la page de manuel de
+ debconf-devel : il est préférable de ne les utiliser que pour des
+ avertissements à propos de problèmes très sérieux. Les fichiers NEWS.Debian
+ ou README.Debian sont les endroits appropriés pour un grand nombre de notes.
+ Si, en lisant ceci, vous envisagez de convertir vos modèles de type note en
+ entrées dans NEWS/Debian ou README.Debian, veuillez considérer de conserver
+ les traductions existantes pour une utilisation future.
+</list>
+
+
+ <sect2>Champ de choix
+ <p>
+S'il est probable que les choix changent souvent, veuillez considérer
+l'utilisation de l'astuce « __Choices ». Cela séparera chaque choix
+individuel en une chaîne de caractères seule, ce qui aidera considérablement les
+traducteurs à faire leur travail.
+
+ <sect2>Champ par défaut
+ <p>
+S'il est probable que la valeur par défaut d'un modèle « select »
+change selon la langue de l'utilisateur (par exemple, s'il s'agit d'un choix de
+langue), veuillez utiliser l'astuce « _DefaultChoice ».
+ <p>
+Ce champ spécial permet aux traducteurs de positionner le choix le plus
+approprié selon leur propre langue. Cela deviendra le choix par défaut quand
+leur langue sera sélectionné alors votre choix par défaut sera utilisé pour
+l'anglais.
+ <p>
+Un exemple tiré des modèles du paquet geneweb :
+<example>
+Template: geneweb/lang
+Type: select
+__Choices: Afrikaans (af), Bulgarian (bg), Catalan (ca), Chinese (zh), Czech (cs), Danish (da), Dutch (nl), English (en), Esperanto (eo), Estonian (et), Finnish (fi), French (fr), German (de), Hebrew (he), Icelandic (is), Italian (it), Latvian (lv), Norwegian (no), Polish (pl), Portuguese (pt), Romanian (ro), Russian (ru), Spanish (es), Swedish (sv)
+# This is the default choice. Translators may put their own language here
+# instead of the default.
+# WARNING : you MUST use the ENGLISH FORM of your language
+# For instance, the french translator will need to put "French (fr)" here.
+_DefaultChoice: English (en)[ translators, please see comment in PO files]
+_Description: Geneweb default language:
+</example>
+ <p>
+Notez l'utilisation de crochets qui permettent des commentaires internes dans
+les champs debconf. Notez également l'utilisation de commentaires qui
+apparaîtront dans les fichiers sur lesquels travailleront les traducteurs.
+ <p>
+Les commentaires sont nécessaires car l'astuce DefaultChoice est un peu
+déroutante : les traducteurs peuvent y placer leur propre choix.
+
+ <sect2>Champ par défaut
+ <p>
+N'utilisez PAS de champ par défaut vide. Si vous ne voulez pas utiliser de
+valeurs par défaut, n'utilisez pas simplement pas du tout Default.
+ <p>
+Si vous utilisez po-debconf (et vous DEVRIEZ le faire, voir 2.2), veuillez
+considérer de rendre ce champ traduisible, si vous pensez qu'il peut être
+traduit.
+ <p>
+Si la valeur par défaut peut varier selon la langue ou le pays (par exemple, la
+valeur par défaut pour un choix de langue), veuillez considérer l'utilisation du
+type spécial « _DefaultChoice » documenté dans <manref
+ name="po-debconf" section="7">).
+ </sect>
<sect id="bpp-i18n">
<prgn>debconf-mergetemplate</prgn>. Cependant, cette technique est maintenant
déconseillée ; la meilleure façon pour l'internationalisation de
<package>debconf</package> est d'utiliser le paquet
-<package>po-debconf</package>. Cette méthode est plus facile et pour le
+<package>po-debconf</package>. Cette méthode est plus facile pour le
responsable et pour les traducteurs ; des scripts de transition sont
fournis.
<p>
le paquet source <package>camlzip</package>.
</item>
<item>
- Les paquets fournissant des DTDs XML ou SGML devraient se conformer aux
+ Les paquets fournissant des DTD XML ou SGML devraient se conformer aux
recommandations que l'on peut trouver dans le paquet
<package>sgml-base-doc</package>
<item>
Les paquets Lisp devraient s'enregistrer avec le paquet
<package>common-lisp-controller</package> pour lequel vous pouvez vous
reporter au fichier &file-lisp-controller;.
+<!-- TODO: mozilla extension policy, once that becomes available -->
</list>
</sect1>
<sect1 id="bpp-transition">
<heading>Rendre les paquets de transition conformes avec deborphan</heading>
<p>
-Deborphan est un programme qui aide les utilisateurs à détecter quels paquets
+Deborphan est un programme pour aider les utilisateurs à détecter quels paquets
peuvent être enlevés sans problème du système, i.e. ceux dont aucun paquet ne
dépend. L'opération par défaut est de chercher seulement parmi les sections libs
et oldlibs pour débusquer les bibliothèques inutilisées. Mais si l'on passe le
bon argument, il tente d'attraper d'autres paquets inutiles.
<p>
-Par exemple, avec --guess-dummy, il cherche tous les paquets de transition qui
+Par exemple, avec --guess-dummy, deborphan cherche tous les paquets de transition qui
étaient nécessaires pour une mise à jour, mais qui peuvent sans problème être
supprimés. Pour cela, il recherche la chaîne de caractères « dummy »
ou « transitional » dans la description courte.
<example>apt-cache search .|grep transitional</example>.
</sect1>
+ <sect1 id="bpp-origtargz">
+ <heading>Les meilleures pratiques pour les fichiers <file>orig.tar.gz</file></heading>
+ <p>
+Il existe deux types d'archives tar (« tarball ») source
+d'origine : les sources vierges et les sources amont réempaquetées.
+ </p>
+ <sect2 id="pristine source">
+ <heading>Sources vierges</heading>
+ <p>
+La caractéristique définissant une archive source vierge est que le
+fichier .orig.tar.gz est identique octet-pour-octet à l'archive tar
+officielle distribuée par l'auteur amont.
+<footnote>
+Nous ne pouvons pas empêcher les auteurs amont de changer l'archive tar
+qu'ils distribuent sans également incrémenter le numéro de version, il
+ne peut donc pas y avoir de garantie qu'une archive vierge est identique
+à ce que l'auteur amont distribue <em>actuellement</em> à tout moment.
+La seule chose à laquelle on peut s'attendre est que c'est identique à
+quelque chose que l'amont <em>a</em> un jour distribué.
+
+Si une différence se produit plus tard (par exemple, si l'amont remarque
+qu'il n'a pas utilisé la compression maximale pour sa distribution
+d'origine et qu'il la recompresse), c'est vraiment trop dommage.
+Comme il n'y a pas de bonne façon d'envoyer un nouveau .orig.tar.gz
+pour la même version, il n'y a même pas de raison de traiter cette
+situation comme un bogue.
+</footnote>
+Cela rend possible d'utiliser des vérifications de somme pour vérifier
+facilement que tous les changements entre la version Debian et celle de
+l'amont sont contenus dans le fichier diff Debian. Également, si le source
+amont est énorme, les auteurs amont et d'autres qui ont déjà l'archive
+tar amont peuvent économiser du temps de téléchargement s'ils veulent
+inspecter votre empaquetage en détail.
+ </p>
+ <p>
+Il n'y a pas de règles universellement acceptées suivies par les auteurs
+amont concernant la structure des répertoires dans leur archive tar, mais
+<prgn>dpkg-source</prgn> est cependant capable de traiter la plupart des
+archives tar comme source vierge. Sa stratégie est équivalente à la
+suivante :
+ </p>
+ <p>
+ <enumlist>
+ <item>
+Il décompacte l'archive tar dans un répertoire temporaire vide par
+
+<example>
+zcat path/to/<nom-du-paquet>_<version-amont>.orig.tar.gz | tar xf -
+</example>
+ </item>
+ <item>
+Si, après cela, le répertoire temporaire ne contient qu'un
+répertoire et pas d'autres fichiers, <prgn>dpkg-source</prgn> renomme ce
+répertoire en
+<tt><packagename>-<version-amont>(.orig)</tt>. Le nom du
+répertoire de premier niveau dans l'archive tar n'a pas d'importance et
+est oublié.
+ </item>
+ <item>
+Sinon, l'archive tar a du être empaqueté sans répertoire de premier
+niveau commun (honte à l'auteur amont !). Dans ce cas,
+<prgn>dpkg-source</prgn> renomme le répertoire temporaire
+<em>lui-même</em> en
+<tt><packagename>-<version-amont>(.orig)</tt>.
+ </item>
+ </enumlist>
+ </p>
+ </sect2>
+ <sect2 id="repackaged origtargz">
+ <heading>Réempaquetage des sources amont</heading>
+ <p>
+Vous <strong>devriez</strong> envoyer des paquets sources avec une
+archive tar vierge si possible, mais il peut y avoir diverses raisons
+pour lesquelles cela n'est pas possible. C'est le cas si l'amont ne
+distribue pas le source comme un tar gzipé du tout ou si l'archive tar
+amont contient du matériel non libre au sens des DFSG que vous devez
+supprimer avant l'envoi.
+ </p>
+ <p>
+Dans tous ces cas, le développeur doit construire un fichier
+.orig.tar.gz convenable lui-même. Nous nous référerons à une telle
+archive tar comme un « source amont réempaqueté ». Notez qu'un
+« source amont réempaqueté » est différent d'un paquet natif
+Debian. Un source réempaqueté est toujours fourni avec des changements
+spécifiques Debian dans un fichier <tt>.diff.gz</tt> séparé et il a
+toujours un numéro de version composé de <tt><source-amont></tt>
+et de <tt><debian-revision></tt>.
+ </p>
+ <p>
+Il peut y avoir des cas où il est désirable de réempaqueter le source
+même si l'amont distribue un fichier <tt>.tar.gz</tt> qui pourrait en
+principe être utilisé dans sa forme vierge. Le plus évident est si des
+économies d'espaces <em>significatives</em> peuvent être réalisées en
+recompressant l'archive tar ou en supprimant des parties
+fondamentalement inutiles de l'archive source. Agissez à votre guise à
+cet endroit, mais soyez prêt à défendre votre décision si vous
+réempaquetez un source qui aurait pu être vierge.
+ </p>
+ <p>
+Un .orig.tar.gz réempaqueté :
+ </p>
+ <p>
+ <enumlist>
+ <item>
+<p>
+<strong>doit</strong> contenir des informations détaillées sur la façon
+dont a été obtenu le source réempaqueté et comment cela peut être
+reproduit dans le fichier <file>README.Debian-source</file> ou un
+fichier similaire. Ce fichier devrait être dans la partie
+<file>diff.gz</file> du paquet source Debian, habituellement dans le
+répertoire <file>debian</file>, <em>pas</em> dans le
+<file>orig.tar.gz</file> réempaqueté. C'est également une bonne idée de
+fournir une cible <tt>get-orig-source</tt> dans votre fichier
+<file>debian/rules</file> qui répète le processus, comme décrit dans la
+Charte, <url id="&url-debian-policy;ch-source.html#s-debianrules"
+name="debian/rules, le principal script de construction">.
+</p>
+ </item>
+ <item>
+<strong>ne devrait pas</strong> contenir de fichiers qui ne viennent pas de
+l'auteur amont ou dont vous avez changé le contenu.
+<footnote>
+Comme exception spéciale, si l'omission d'un fichier non libre
+entraînerait l'échec de la compilation du source sans assistance du diff
+Debian, il peut être approprié au lieu de cela d'éditer les fichiers, en
+omettant seulement les parties non libres de ceux-ci et/ou d'expliquer
+la situation dans un fichier README.Debian-source <!-- ou nommé de -->
+<!-- manière similaire --> à la racine de l'arborescence du source. Mais
+dans ce cas, veuillez également demander instamment à l'auteur amont de
+faciliter la séparation des composants non libres du reste du source.
+</footnote>
+ </item>
+ <item>
+<p>
+<strong>devrait</strong>, sauf cas impossible pour des raisons légales,
+préserver l'infrastructure de construction entière et de portabilité
+fournie par l'auteur amont. Par exemple, ce n'est pas une raison
+suffisante pour omettre un fichier qui n'est utilisé que pour la
+construction sur MS-DOS. De manière similaire, un Makefile fourni par
+l'amont ne devrait pas être réécrit en exécutant un script configure.
+</p>
+<p>
+(<em>Explication :</em> il est courant que les utilisateurs Debian qui
+ont besoin de reconstruire un logiciel pour des plates-formes non-Debian
+récupèrent le source d'un miroir Debian plutôt que de chercher à
+localiser un point de distribution amont).
+</p> </item>
+ <item>
+<strong>devrait</strong> utiliser
+<tt><nom-du-paquet>-<version-amont>.orig</tt> comme nom du
+répertoire de premier niveau dans son archive tar. Cela rend
+possible la distinction entre des archives tar vierges d'archives
+réempaquetées.
+ </item>
+ <item>
+<strong>devrait</strong> être gzipé avec une compression maximale.
+ </item>
+ </enumlist>
+ </p>
+ <p>
+La façon canonique de réaliser les deux derniers points est de laisser
+<tt>dpkg-source -b</tt> construire l'archive tar réempaquetée à partir
+du répertoire décompacté.
+ </p>
+ </sect2>
+ <sect2 id="changed-binfiles">
+ <heading>Changer des fichiers binaires dans le <tt>diff.gz</tt></heading>
+ <p>
+Il est parfois nécessaire de changer des fichiers binaires
+contenus dans l'archive tar d'origine ou d'ajouter des fichiers binaires
+qui ne sont pas dans celle-ci. Si cela est fait en copiant simplement les
+fichiers dans l'arborescence de l'archive debianisée,
+<prgn>dpkg-source</prgn> ne pourra pas gérer cela. D'un autre côté,
+selon les règles détaillées ci-dessus, vous ne pouvez pas inclure un tel
+fichier binaire modifié dans un fichier <file>orig.tar.gz</file>
+réempaqueté. Au lieu de cela, incluez le fichier dans le répertoire
+<file>debian</file> dans un format <prgn>uuencode</prgn> (ou semblable)
+<footnote>
+Le fichier devrait avoir un nom qui indique clairement quel fichier
+binaire il encode. Habituellement, un postfixe indiquant le codage
+devrait être ajouté au nom du fichier d'origine.
+</footnote>.
+Le fichier sera ensuite décodé et copié à son emplacement pendant
+l'étape de construction. Le changement sera donc visible assez facilement.
+</p>
+<p>
+Certains paquets utilisent <prgn>dbs</prgn> pour gérer les correctifs à
+leur source amont et créent toujours un nouveau fichier
+<tt>orig.tar.gz</tt> contenant le vrai <tt>orig.tar.gz</tt> dans son
+répertoire de premier niveau. Cela est discutable concernant la
+préférence pour un source vierge. D'un autre côté, il est facile de
+modifier ou d'ajouter des fichiers binaires dans ce cas : placez
+les simplement dans le fichier <tt>orig.tar.gz</tt> nouvellement créé à
+côté du vrai et copiez les au bon endroit pendant l'étape de
+construction.
+ </p>
+ </sect2>
+ </sect1>
+
+
</sect>
</chapt>
<prgn>reportbug</prgn> invoquera également habituellement <prgn>querybts</prgn>
avant l'envoi).
<p>
-Essayer d'envoyer vos bogues au bon emplacement. Quand, par exemple, votre bogue
+Essayez d'envoyer vos bogues au bon emplacement. Quand, par exemple, votre bogue
concerne un paquet qui réécrit des fichiers d'un autre paquet, vérifiez les
listes des bogues pour les <em>deux</em> paquets pour éviter de créer des
rapports de bogues dupliqués.
rapportés, vous avez simplement besoin d'aller à
<tt>http://&bugs-host;/from:<var><votre-adresse-de-courrier></var></tt>.
- <sect1 id="submit-many-bugs">Ouvrir un grand nombre de rapports d'un seul
- coup
+ <sect1 id="submit-many-bugs">Ouvrir un grand nombre de rapports en
+ une seule fois (« mass bug filing »)
<p>
Ouvrir un grand nombre de rapports pour le même problème sur un grand nombre de
paquets — plus de dix — est une pratique que nous déconseillons.
paquet <package>lintian</package> pour générer une erreur ou un avertissement.
<p>
Si vous ouvrez plus de dix rapports sur le même sujet, il est préférable
- d'indiquer votre intention sur la liste &email-debian-devel;. Cela donnera à
+ d'indiquer votre intention sur la liste &email-debian-devel; et de
+ mentionner le fait dans le sujet de votre message. Cela donnera à
d'autres développeurs la possibilité de vérifier que le problème existe
vraiment. De plus, cela permet d'éviter que plusieurs responsables ne rédigent
les mêmes rapports de bogue simultanément.
<sect1 id="qa-daily-work">Travail journalier
<p>
-Bien qu'il y ait un groupe de personnes dédiées à l'assurance qualité, les
+Bien qu'il y ait un groupe de personnes dédié à l'assurance qualité, les
devoirs de QA ne leur sont pas exclusivement réservés. Vous pouvez participer à
cet effort en conservant vos paquets aussi exempts de bogues que possible et
aussi corrects que possible selon <prgn>lintian</prgn> (reportez-vous à <ref
mises à jour indépendantes, ils peuvent en faire une sans avertissement
préalable s'ils envoient leur paquet avec un délai d'au moins 3 jours dans
DELAYED/3-day. Toutes les autres règles de mise à jour indépendante
- s'appliquent comme d'habitude, ils devraient envoyer le correctif de la
+ s'appliquent comme d'habitude ; ils devraient envoyer le correctif de la
mise à jour dans le BTS (pour l'un des bogues ouverts corrigé par la mise à
jour ou pour un nouveau bogue marqué comme fixé). Ils devraient également
- respecter les souhaits du responsable s'il en a exprimés.
+ respecter tout souhait du responsable s'il en a exprimé.
<p>
-Si une personne ne se sent pas à l'aise avec une mise à jour indépendante, elle
- devrait simplement envoyer un correctif au BTS. C'est de loin meilleur qu'une
- mise à jour défectueuse.
+Si vous ne vous sentez pas à l'aise avec une mise à jour indépendante, envoyez
+ simplement un correctif au BTS. C'est de loin meilleur qu'une mise à jour
+ défectueuse.
<sect id="contacting-maintainers">Contacter d'autres responsables
<p>
paquet de source donné par le <ref id="pkg-tracking-system">. Vous pouvez le
faire en utilisant l'adresse <tt><nom-paquet>@&pts-host;</tt>.
+<!-- FIXME: moo@packages.d.o is easily confused with moo@packages.qa.d.o -->
<sect id="mia-qa">Gérer les responsables non joignables
<p>
ait simplement besoin d'un rappel.
<p>
Il y a un système simple (la base de données MIA) dans laquelle les informations
-sur les responsables supposés (deemed ?) inactifs sont enregistrées. Quand un
+sur les responsables supposés Absents En Exercice (« Missing In Action) sont enregistrées. Quand un
membre du groupe QA contacte un responsable inactif ou trouve plus d'informations
sur celui-ci, c'est enregistré dans la base de données MIA. Ce système
est disponible dans /org/qa.debian.org/mia sur l'hôte qa.debian.org et peut être
utilise comme correspondance de noms d'utilisateur. <example>mia-history
--help</example> affiche quels paramètres sont acceptés. Si vous déterminez
qu'aucune information n'a encore été enregistrée pour un responsable inactif ou
-que vous voulez ajouter plus d'informations, vous devez utiliser la procédure
+que vous voulez ajouter plus d'informations, vous deviez utiliser la procédure
suivante.
<p>
La première étape est de contacter poliment le responsable et d'attendre une
<item>Les informations « echelon » disponibles dans la <url
id="&url-debian-db;" name="base de données LDAP des
développeurs">, qui indiquent quand le développeur a envoyé un
- message pour la dernière fois sur une liste de diffusion Debian.
- (Ceci inclut les envois via les listes debian-*-changes.)
+ message pour la dernière fois sur une liste de diffusion Debian
+ (cela inclut les envois via les listes debian-*-changes).
Rappelez-vous également de vérifier si le responsable est indiqué
comme en vacances dans la base de données.
<item>Le nombre de paquets de ce responsable et les conditions de ces
- paquets. En particulier, restent-ils des bogues empêchant
+ paquets. En particulier, reste-t-il des bogues empêchant
l'intégration du paquet dans la distribution qui sont ouverts
depuis des lustres ? De plus, combien de bogues y a-t-il en
général ? Un autre point d'information important est si les
paquets ont subi des mises à jour indépendantes et si oui, par
- qui ?
+ qui.
<item>Est-ce que le responsable est actif en dehors de Debian ? Par
exemple, il peut avoir envoyé des messages récemment à des
<p>
Un gros problème est représenté par les paquets parrainés — le responsable
n'est pas un développeur Debian officiel. Les informations « echelon »
-ne sont pas disponibles pour les personnes parrainés, par exemple, vous devez
+ne sont pas disponibles pour les personnes parrainées, par exemple, vous devez
donc trouver et contacter le responsable Debian qui a réellement envoyé le
paquet. Étant donné qu'il a signé le paquet, il est responsable de l'envoi de
toute façon et il devrait savoir ce qui s'est passé avec la personne qu'il
volontaires et nous ne pouvons dédier l'intégralité de notre temps à Debian.
Vous n'êtes pas non plus au courant des circonstances de la personne impliquée.
Elle est peut-être sérieusement malade ou pourrait même nous avoir quitté
-— vous ne savez pas qui recevra vos courriers — imaginez comme un
+— vous ne savez pas qui recevra vos courriers. Imaginez comme un
proche se sentira s'il lit un courrier pour la personne décédée et trouve un
-message très impoli, en colère et accusateur !)
+message très impoli, en colère et accusateur !
<p>
D'un autre côté, bien que nous soyons tous volontaires, nous avons une
responsabilité. Vous pouvez donc insister sur l'importance du plus grand intérêt
pas encore autorisé à le faire lui-même, un candidat nouveau responsable.
Parrainer un paquet veut aussi dire que vous en acceptez la responsabilité.
<p>
+<!-- FIXME: service down
Si vous désirez être volontaire pour être parrain, vous pouvez vous inscrire à
<url id="&url-sponsors;">.
<p>
+-->
Les nouveaux responsables ont habituellement certaines difficultés à créer des
paquets Debian — ceci est bien compréhensible. C'est pourquoi le parrain
est là pour vérifier que le paquet parrainé est assez bon pour être inclus
(internationalisation) veut dire la modification d'un logiciel ou de
technologies liées pour qu'un logiciel puisse potentiellement gérer des langues
multiples, des conventions multiples et ainsi de suite dans le monde
-entier » alors que "L10N (localisation) veut dire l'implémentation dans
+entier » alors que « L10N (localisation) veut dire l'implémentation dans
une langue spécifique pour un logiciel déjà internationalisé ».
<p>
-La l10n et l'i18n sont liées, mais les difficultés liées à chacune sont très
+La l10n et l'i18n sont interconnectées, mais les difficultés liées à chacune sont très
différentes. Il n'est pas vraiment difficile de permettre à un programme de
changer la langue dans laquelle sont affichés les textes selon les paramètres de
-l'utilisateur, mais il est très couteux en temps de traduire réellement ces
+l'utilisateur, mais il est très coûteux en temps de traduire réellement ces
messages. D'un autre côté, définir le codage des caractères est trivial, mais
adapter le code pour utiliser des codages de caractères différents est un
problème vraiment difficile.
Pour les messages des programmes, l'infrastructure gettext est utilisée pour la
plupart d'entre eux. La plupart du temps, la traduction est gérée en amont dans
des projets comme le
-<url id="http://www.iro.umontreal.ca/contrib/po/HTML/" name="projet de trduction
+<url id="http://www.iro.umontreal.ca/contrib/po/HTML/" name="projet de traduction
libre">, le <url id="http://developer.gnome.org/projects/gtp/"
name="projet de traduction de Gnome"> ou <url
id="http://i18n.kde.org/" name="celui de KDE">.
La seule ressource centralisée dans Debian est les <url
id="http://www.debian.org/intl/l10n/" name="statistiques de traduction Debian
- centralisées"> où vous pouvez trouvez des statistiques sur les
+ centralisées"> où vous pouvez trouver des statistiques sur les
fichiers de traduction trouvés dans les paquets, mais il n'y a aucune
infrastructure pour faciliter le processus de traduction.
<p>
-Un effort pour traduire les descriptions de paquet a démarré il y a longtemps
+Un effort pour traduire les descriptions de paquet a démarré il y a longtemps,
même si les outils fournissent très peu de prise en charge pour les utiliser
-vraiement (i.e. seul APT peut les utiliser quand il est configuré
-convenablement). Il n'y a rien à faire de la part des responsables et les
-traducteurs devraient utiliser le <url id="http://ddtp.debian.org/"
-name="DDTP">.
+vraiment (i.e., seul APT peut les utiliser quand il est configuré
+convenablement). Les responsables n'ont rien à faire de particulier pour gérer
+les traductions des descriptions de paquets ; les traducteurs devraient
+utiliser le <url id="http://ddtp.debian.org/" name="DDTP">.
<p>
-Pour les questionnaires debconf, le responsable devrait utiliser le paquet
+Pour les questionnaires debconf, les responsable devraient utiliser le paquet
po-debconf pour faciliter le travail des traducteurs, qui peuvent utiliser le
DDTP pour faire leur travail (mais les équipes française et brésilienne ne le
font pas). On peut trouver certaines statistiques à la fois sur le site du
centralisées.
<p>
Pour la documentation générale à propos de Debian, le processus est plus ou
-moins le même que pour les pages web (les traducteurs ont un accès au CVS), mais
+moins le même que pour les pages web (les traducteurs ont accès au CVS), mais
il n'y a pas de page de statistiques.
<p>
-Pour la documentation spécifique des paquets (pages de manuel, document info,
-autres formats), presque tout est encore à faire. Le plus notable, le projet KDE
-gère la traduction de ses documentations de la même façon que ses messages de
-programme. Les pages de manuel spécifiques Debian sont gérées dans un <url
-id="http://cvs.debian.org/manpages/?cvsroot=debian-doc" name="dépôt CVS spécifique">.
+Pour la documentation spécifique aux paquets (pages de manuel, documents info,
+autres formats), presque tout est encore à faire.
+ <p>
+Le plus notablement, le projet KDE gère la traduction de ses documentations de la
+même façon que ses messages de programme.
+ <p>
+Il existe un effort pour gérer les pages de manuel spécifiques Debian au sein
+d'un <url id="http://cvs.debian.org/manpages/?cvsroot=debian-doc" name="dépôt
+ CVS spécifique">.
<sect id="l10n-faqm">FAQ I18N & L10N pour les responsables
<p>
désaccord avec certains points, vous êtes libre de fournir vos impressions pour
que ce document puisse être amélioré.
- <sect1 id="l10n-faqm-tr">Comment faire en sorte qu'un texte soit traduit ?
+ <sect1 id="l10n-faqm-tr">Comment faire en sorte qu'un texte soit traduit
<p>
-Pour traduire une description de paquet ou un questionnaire debconf, nous n'avez
+Pour traduire des descriptions de paquet ou des questionnaires debconf, vous n'avez
rien à faire, l'infrastructure du DDTP répartira le matériel à traduire aux
volontaires sans besoin d'interaction de votre part.
<p>
Pour tous les autres matériels (fichiers gettext, pages de manuel ou autre
documentation), la meilleure solution est de placer votre texte quelque part sur
-l'Internet et de demander sur debian-i18n pour une traductions dans différentes
+l'Internet et de demander sur debian-i18n la traduction dans différentes
langues. Certains membres des équipes de traduction sont abonnés à cette liste
et ils prendront soin de la traduction et du processus de relecture. Une fois
-ceci fait, vous recevrez de leur part votre document traduit dans votre boîte à
-lettre.
+qu'ils ont fini, vous recevrez de leur part votre document traduit dans votre
+boîte aux lettres.
<sect1 id="l10n-faqm-rev">Comment faire en sorte qu'une traduction
- donnée soit relue ?
+ donnée soit relue
<p>
De temps en temps, des personnes indépendantes traduiront certains textes
-inclus dans votre paquet et vous demanderont de les inclure dans le paquet.
+inclus dans votre paquet et vous demanderont d'inclure la traduction dans le paquet.
Cela peut devenir problématique si vous n'êtes pas familier avec la langue
donnée. C'est une bonne idée d'envoyer le document à la liste de diffusion l10n
correspondante en demandant une relecture. Une fois celle-ci faite, vous devriez
dans votre paquet.
<sect1 id="l10n-faqm-update">Comment faire en sorte qu'une traduction
- donnée soit mise à jour ?
+ donnée soit mise à jour
<p>
-Si vous avez certaines traductions d'un texte donné qui trainent (?), chaque fois
-que vous mettez à jour l'original, vous devriez gentiment demander au précédent
-traducteur de mettre à jour sa traduction avec le texte original. Gardez à
-l'esprit que cette tâche demande du temps, au moins une semaine pour obtenir une
-mise à jour relue.
+Si vous avez certaines traductions d'un texte donné qui traînent, chaque fois
+que vous mettez à jour l'original, vous devriez demander au précédent
+traducteur de mettre à jour sa traduction avec vos nouveaux changements. Gardez à
+l'esprit que cette tâche demande du temps ; au moins une semaine pour
+obtenir une mise à jour relue.
<p>
Si votre traducteur ne répond pas, vous pouvez demander de l'aide sur la liste de
diffusion correspondante. Si tout échoue, n'oubliez pas de mettre un
personnes non anglophones.
<sect1 id="l10n-faqm-bug">Comment gérer un rapport de bogue concernant
- une traduction ?
+ une traduction
<p>
La meilleure solution peut être de marquer le bogue comme « suivi au développeur
amont » (<em>forwarded to upstream</em>) et de faire suivre le bogue à la
fois au précédent traducteur et à son équipe (en utilisant la liste de diffusion
debian-l10n-XXX correspondante).
+<!-- TODO: add the i18n tag to the bug? -->
<sect id="l10n-faqtr">FAQ I18N & L10N pour les traducteurs
<p>
procédure générale dans Debian concernant ces points et que, dans tous les cas,
vous devriez collaborer avec votre équipe et les responsables des paquets.
- <sect1 id="l10n-faqtr-help">Comment aider l'effort de traduction ?
+ <sect1 id="l10n-faqtr-help">Comment aider l'effort de traduction
<p>
Choisissez ce que vous désirez traduire, assurez-vous que personne ne travaille
déjà dessus (en utilisant votre liste de diffusion debian-l10n-XXX),
responsable du paquet (voir le point suivant).
<sect1 id="l10n-faqtr-inc">Comment fournir une traduction pour
- inclusion dans un paquet ?
+ inclusion dans un paquet
<p>
Assurez-vous que votre traduction est correcte (en demandant une relecture sur
votre liste de discussion l10n) avant de la fournir pour inclusion. Cela
<p>
<list>
<item>
-En tant que responsable, n'éditez jamais les traductions en aucune façon (même
+En tant que responsable, ne modifiez jamais les traductions en aucune façon (même
pour reformater l'affichage) sans demander à la liste de diffusion l10n
correspondante. Vous risquez, par exemple, de casser le codage du fichier en
agissant ainsi. De plus, ce que vous considérez comme une erreur peut être
<item>
Dans tous les cas, rappelez-vous que le problème principal avec la l10n est
qu'elle demande la coopération de plusieurs personnes et qu'il est très facile
-de démarrer une guerre incendiaire à propos de petits problèmes dûs à une
-incompréhension. Donc, si vous avez des problèmes avec votre interlocuteur,
+de démarrer une guerre incendiaire à propos de petits problèmes dûs à des
+incompréhensions. Donc, si vous avez des problèmes avec votre interlocuteur,
demandez de l'aide sur la liste de diffusion l10n correspondante, sur
debian-i18n ou même sur debian-devel (attention, cependant, les discussions sur
la l10n tournent très souvent à l'incendie sur cette liste :)
Cette liste n'est ni complète, ni définitive, il s'agit juste d'un guide
des outils les plus utilisés.
<p>
-Les outils du responsable Debian sont destinés à améliorer le confort des
- responsables et libérer leur temps des tâches plus cruciales. Comme le dit
+Les outils du responsable Debian sont destinés à aider les
+ responsables et libérer leur temps pour des tâches plus cruciales. Comme le dit
Larry Wall, il y a plus d'une manière de le faire.
<p>
Certaines personnes préfèrent utiliser des outils de haut niveau, d'autres pas.
<prgn>dpkg-source</prgn>) nécessaires pour déballer, fabriquer et livrer des
paquets Debian source. Ces utilitaires fournissent les fonctionnalités de bas
niveau indispensables pour créer et manipuler les paquets ; en tant que
- tels, ils sont indispensables à tout responsable Debian.
+ tels, ils sont essentiels à tout responsable Debian.
<sect1 id="debconf">
<heading><package>debconf</package></heading>
<p>
Vous devriez récupérer la dernière version de <package>lintian</package> depuis
<em>unstable</em> régulièrement et vérifier tous vos paquets. Notez que
- l'option <tt>-i</tt> donne des explications détaillées sur la signication de
+ l'option <tt>-i</tt> donne des explications détaillées sur la signification de
chaque erreur, la partie concernée dans la charte et le moyen habituel de
régler le problème.
<p>
<p>
Vous pouvez aussi obtenir un résumé de tous les problèmes reportés par Lintian
sur vos paquets à <url id="&url-lintian;">. Ces rapports contiennent la sortie
- de la dernière version de <prgn>lintian</prgn> sur l'ensemble de la
+ de la dernière version de <prgn>lintian</prgn> pour l'ensemble de la
distribution de développement (<em>unstable</em>).
</sect1>
<sect1 id="linda">
<heading><package>linda</package></heading>
<p>
-<package>linda</package> est un autre vérificateur de paquet. Il est sembable à
+<package>linda</package> est un autre vérificateur de paquet. Il est semblable à
<package>lintian</package>, mais il a un ensemble de tests différents. Il est écrit
en Python plutôt qu'en Perl.</p>
</sect1>
<prgn>debdiff</prgn> (du paquet <package>devscripts</package>, <ref
id="devscripts">) compare des listes de fichiers et des fichiers de contrôle de
deux paquets. C'est un simple test de régression qui peut vous aider à remarquer
-si le nombre de paquets binaires à changer depuis le dernier envoi ou si autre
+si le nombre de paquets binaires a changé depuis le dernier envoi ou si autre
chose a changé dans le fichier de contrôle. Bien sûr, certains des changements
qu'il indique sont normaux, mais il peut aider à empêcher différents accidents.
<p>
<p>
Le paquet <package>debhelper</package> regroupe un ensemble de programmes qui
peuvent être utilisés dans <file>debian/rules</file> pour automatiser les
- tâches courantes relatives à la fabrication des paquets Debian binaires. Ce
- paquet contient des utilitaires pour installer différents fichiers, les
- compresser, ajuster leurs droits et intégrer votre paquet dans le système de
- menu Debian.
-<p>
-À la différence des autres approches, <package>debhelper</package> est divisé en
- plusieurs petits utilitaires qui agissent de manière cohérente. Ce découpage
- permet un contrôle des opérations plus fin que d'autres « <em>outils
+ tâches courantes relatives à la fabrication des paquets Debian binaires.
+ <package>debhelper</package> inclut des programmes pour installer différents
+ fichiers, les compresser, ajuster leurs droits et intégrer votre paquet dans le
+ système de menu Debian.
+<p>
+À la différence d'autres approches, <package>debhelper</package> est divisé en
+ plusieurs petits utilitaires simples qui agissent de manière cohérente. Ce découpage
+ permet un contrôle des opérations plus fin que certains des autres « <em>outils
debian/rules</em> ».
<p>
Il existe aussi un certain nombre de petites extensions
<heading><package>debootstrap</package></heading>
<p>
Le paquet <package>debootstrap</package> vous permet d'amorcer un système Debian
- de base à n'importe quel endroit dans votre système de fichier. Par
+ de base à n'importe quel endroit dans votre système de fichiers. Par
« système de base », nous entendons le strict minimum nécessaire pour
fonctionner et installer le reste du système.
<p>
Avoir un système comme celui-ci peut vous servir de différentes manières. Vous
pouvez, par exemple, déplacer votre racine dans ce système avec
- <prgn>chroot</prgn> pour tester vos dépendances de fabrication. Vous pouvez
+ <prgn>chroot</prgn> pour tester vos dépendances de construction. Vous pouvez
aussi l'utiliser pour voir comment se comporte votre paquet quand il est
installé dans un environnement minimum.
</sect1>
compile des paquets dans ce système. Ceci est très utile pour vérifier que les
dépendances de compilation de votre paquet sont correctes et pour vous assurer
qu'aucune dépendance de construction inutile ou incorrecte n'existe dans le
- paquet résultant. </sect1>
+ paquet résultant.
+<p>
+Un paquet lié est <package>pbuilder-uml</package>, qui va même plus loin en
+réalisant la construction au sein d'un environnement « User Mode Linux ».</p>
+ </sect1>
<sect1 id="sbuild">
<heading><package>sbuild</package></heading>
<p>
Les outils suivants aident à automatiser les différentes tâches de maintenance
par l'ajout des entrées de changelog ou de lignes de signatures, par la
-recherche de bogues à partir d'Emacs ou par l'utilisation du plus récent fichier
-officiel <file>config.sub</file>.</p>
+recherche de bogues à partir d'Emacs et par l'utilisation du fichier officiel
+<file>config.sub</file> le plus récent.</p>
<sect1 id="devscripts">
<sect1 id="autotools-dev">
<heading><package>autotools-dev</package></heading>
<p>
-Contient les meilleurs pratiques pour des personnes assurant la maintenance de
+<package>autotools-dev</package> contient les meilleurs pratiques pour des personnes assurant la maintenance de
paquets qui utilisent <prgn>autoconf</prgn> et/ou <prgn>automake</prgn>.
Contient également des fichiers canoniques <file>config.sub</file> et
<file>config.guess</file> qui sont connus pour fonctionner avec tous les
<prgn>dpkg-repack</prgn> crée un paquet Debian à partir d'un paquet qui
a déjà été installé. Si des changements ont été effectués sur le paquet quand il
a été décompacté (par exemple, des fichiers dans <file>/etc</file> ont été
-modifés), le nouveau paquet héritera de ces changements.</p>
+modifiés), le nouveau paquet héritera de ces changements.</p>
<p>
Cet utilitaire peut faciliter la copie de paquet d'un ordinateur vers un autre
ou la re-création de paquets installés sur un système, mais qui ne sont plus
-disponibles ailleurs ou pour stocker l'état actuel d'un paquet avant de le
+disponibles ailleurs ou pour sauvegarder l'état actuel d'un paquet avant de le
mettre à jour.</p>
</sect1>
<p>
<package>dpkg-dev-el</package> fournit des macros Emacs Lisp qui apportent une
aide lors de l'édition des fichiers du répertoire <file>debian</file> de votre
- paquet. À l'édition de <file>debian/changelog</file>, par exemple, vous
- disposez de fonctions pour finaliser une version et consulter la liste des
- rapports de bogue ouverts.</p>
+ paquet. Par exemple, il y a des fonctions pratiques pour lister les bogues
+ actuels d'un paquet et pour finaliser la dernière entrée d'un fichier
+<file>debian/changelog</file> file.
</sect1>