1 <!DOCTYPE debiandoc PUBLIC "-//DebianDoc//DTD DebianDoc//EN" [
2 <!-- include version information so we don't have to hard code it
3 within the document -->
4 <!entity % versiondata SYSTEM "version.ent"> %versiondata;
5 <!-- common, language independant entities -->
6 <!entity % commondata SYSTEM "common.ent" > %commondata;
8 <!-- CVS revision of this document -->
9 <!entity cvs-rev "$Revision: 1.33 $">
10 <!-- if you are translating this document, please notate the CVS
11 revision of the developers reference here -->
13 <!entity cvs-en-rev "1.153">
17 <!entity FIXME "<em>FIXME:</em> ">
23 - bugs in upstream versions should be reported upstream!
24 - add information on how to get accounts on different architectures
25 - talk about CVS access, other ways to submit problems
26 - add information on how you can contribute w/o being an official
28 - "official port maintainer" ? (cf. glibc-pre2.1)
33 <title>Référence du développeur Debian
34 <author>Adam Di Carlo, responsable actuel<email>aph@debian.org</email>
35 <author>Raphaël Hertzog, co-responsable <email>hertzog@debian.org</email>
36 <author>Christian Schwarz <email>schwarz@debian.org</email>
37 <author>Ian Jackson <email>ijackson@gnu.ai.mit.edu</email>
39 <author>version française par Antoine Hulin <email>antoine.hulin@origan.fdn.org</email>
40 <author>et Frédéric Bothamy (traducteur actuel) <email>fbothamy@mail.dotcom.fr</email>
41 <author>et les membres de la liste <email>debian-l10n-french@lists.debian.org</email>
42 <version>Version &version;, &date-fr; (version française 20021231).</version>
45 <copyrightsummary>Copyright © 1998—2002 Adam Di Carlo</copyrightsummary>
46 <copyrightsummary>Copyright © 2002 Raphaël Hertzog</copyrightsummary>
47 <copyrightsummary>Copyright © 1997, 1998 Christian Schwarz.</copyrightsummary>
49 Ce manuel est un logiciel libre ; il peut être redistribué et/ou modifié
50 selon les termes de la licence publique générale du projet GNU (GNU GPL), telle
51 que publiée par la « Free Software Foundation » (version 2 ou toute
55 Il est distribué dans l'espoir qu'il sera utile, mais <em>sans aucune
56 garantie</em>, sans même la garantie implicite d'une possible valeur marchande
57 ou d'une adéquation à un besoin particulier. Consultez la licence publique
58 générale du projet GNU pour plus de détails.
60 <p>Une copie de la licence publique générale du projet GNU est disponible dans
61 le fichier &file-GPL; de la distribution &debian-formal; ou sur la toile :
62 <url id="&url-gpl" name="la licence publique générale du projet GNU">. Vous
63 pouvez également l'obtenir en écrivant à la &fsf-addr;.
67 <chapt id="scope">Portée de ce document
70 Le but de ce document est de donner une vue d'ensemble des procédures à suivre
71 et des ressources mises à la disposition des développeurs Debian.
73 <!-- FIXME: rewrites -->
75 Les procédures décrites ci-après expliquent comment devenir
76 responsable Debian (<ref id="new-maintainer">), comment installer des nouveaux
77 paquets dans l'archive (<ref id="upload">), quand et comment faire un portage ou
78 une mise à jour du paquet d'un autre responsable (<ref id="nmu">), comment
79 déplacer, effacer ou abandonner un paquet (<ref id="archive-manip">) et comment
80 gérer les rapports de bogues (<ref id="bug-handling">).
83 Les ressources présentées dans ce manuel incluent les listes de diffusion (<ref
84 id="mailing-lists">) et les serveurs (<ref id="server-machines">), une
85 présentation de la structure de l'archive Debian (<ref id="archive">), des
86 explications sur les serveurs qui acceptent les mises à jour de paquets (<ref
87 id="upload-ftp-master">) et une présentation des outils qui peuvent aider un
88 responsable à améliorer la qualité de ses paquets (<ref id="tools">).
91 Ce manuel de référence ne présente pas les aspects techniques liés aux paquets
92 Debian, ni comment les créer. Il ne décrit pas non plus les règles que doivent
93 respecter les paquets Debian. Cette information est disponible dans la <url
94 id="&url-debian-policy;" name="charte Debian">.
97 De plus ce document <em>n'est pas l'expression d'une politique officielle</em>.
98 Il contient de la documentation sur le système Debian et des conseils pratiques
99 largement suivis. C'est une sorte de guide pratique.
101 <sect>Introduction à la version française
106 Bien que ce document soit en français, l'activité de responsable Debian implique
107 une maîtrise de la langue anglaise. Le projet Debian est un projet international
108 auquel participent des japonais, néo-zélandais, américains, allemands,
109 finlandais, français, espagnols, danois...
112 En conséquence, la langue utilisée dans toutes les listes de diffusion destinées
113 aux développeurs est l'anglais et les rapports de bogue doivent être rédigés en
114 anglais. En fait, sauf exception rare, tout dialogue avec les autres
115 responsables Debian se fera en anglais quel que soit le média.
121 Cette section liste les termes techniques qui ont un sens spécifique dans le
122 projet Debian. Pour chacune de ces expressions, vous trouverez la traduction
123 française utilisée dans ce manuel, une définition et une référence à la section
124 du manuel qui traite de ce sujet.
128 <item><em>Upload</em> : mise à jour, téléchargement (parfois
129 livraison). Opération qui consiste à télécharger un nouveau paquet ou
130 une nouvelle version de paquet dans l'archive Debian (<ref
133 <item><em>Non-maintainer upload (NMU)</em> : mise à jour
134 indépendante. Téléchargement d'une nouvelle version de paquet dans
135 l'archive Debian par une personne qui n'est pas officiellement
136 responsable de ce paquet (<ref id="nmu">).
138 <item><em>Source NMU</em> : mise à jour indépendante source. Il
139 s'agit d'une mise à jour indépendante pour un paquet source (<ref
142 <item><em>Binary NMU</em> : mise à jour indépendante binaire. Mise
143 à jour indépendante pour un paquet binaire (<ref id="nmu-terms">).
145 <item><em>Bug Tracking System (BTS)</em> : système de suivi des
146 bogues. Il s'agit du système utilisé par le projet Debian pour suivre
147 les bogues et leur correction (<ref id="bug-handling">).
149 <item><em>Bug submitter</em> : rapporteur du bogue. Personne qui
150 envoie un rapport de bogue au système de suivi des bogues (<ref
153 <item><em>Release critical bug</em> : bogue empêchant l'intégration
154 du paquet dans la distribution. Bogues de gravité <em>critique</em>,
155 <em>grave</em> et <em>sérieuse</em>. Ces bogues ne doivent pas
156 apparaître dans une distribution <em>stable</em>. Ils doivent être
157 corrigés ou bien les paquets en cause doivent être supprimés (<ref
160 <item><em>Package Tracking System (PTS)</em> : système de suivi des
161 paquets. Il s'agit du système utilisé par le projet Debian pour suivre
162 les paquets sources des différentes distributions (<ref
163 id="pkg-tracking-system">).
165 <item><em>Unstable</em> : Nom de la distribution en cours de
166 développement. Cette distribution contient les paquets envoyés par les
167 développeurs. Ceux-ci étant humains, elle est parfois cassée (<ref
170 <item><em>Testing</em> : Nom de la distribution en test. Cette
171 distribution reçoit les paquets des développeurs qui ont passé une
172 période de deux semaines dans <em>unstable</em> et pour lesquels aucun
173 bogue remettant en cause la distribution (cf. <em>Release critical
174 bug</em>) n'a été découvert. Cette distribution n'a pas été testée en
175 profondeur. Elle est cependant censée être plus stable que
176 <em>unstable</em> (<ref id="sec-dists">).
178 <item><em>Stable</em> : Nom de la distribution dite stable. Cette
179 distribution a été testée, validée et diffusée (<ref id="sec-dists">).
181 <item><em>Debian maintainer</em> : responsable Debian, développeur
182 Debian (parfois mainteneur). Personne qui fait officiellement partie du
183 projet Debian. Elle a accès aux serveurs Debian et participe au
184 développement — au sens large — de la distribution (<ref
185 id="developer-duties">). La plupart des responsables font de la mise en
186 paquet, mais il existe d'autres activités telles que la documentation,
187 la gestion du site web, la création des cédéroms, l'administration des
190 <item><em>Upstream version</em> : version amont. Il s'agit du
191 logiciel tel qu'il est fourni par le responsable amont — par
192 opposition à la version fournie par la distribution Debian. (Voir <ref
193 id="upstream-coordination">.)
195 <item><em>Upstream maintainer</em> : responsable amont ou
196 développeur amont. Personne(s) responsable(s) du développement ou de la
197 maintenance d'un logiciel. En général, le responsable amont n'a rien à
198 voir avec le projet Debian (<ref id="upstream-coordination">).
200 <item><em>Debian keyring</em> : porte-clés Debian. Le porte-clés
201 Debian contient les clés publiques de tous les responsables Debian (<ref
204 <item><em>Work-needing and prospective packages (WNPP)</em> :
205 paquets en souffrance et paquets souhaités. La liste des paquets en
206 souffrance indique les paquets qui n'ont plus de responsable. La liste
207 des paquets souhaités indique les logiciels que des utilisateurs
208 aimeraient bien voir dans la distribution (<ref id="upload">).
213 <chapt id="new-maintainer">Devenir responsable Debian
215 <sect id="getting-started">Pour commencer
217 Vous avez lu toute la documentation, vous avez examiné le <url
218 id="&url-newmaint-guide;" name="guide du nouveau responsable">, vous comprenez
219 l'intérêt de tout ce qui se trouve dans le paquet d'exemple
220 <package>hello</package> et vous vous apprêtez à mettre en paquet votre
221 logiciel préféré. Comment devenir responsable Debian et intégrer votre travail
224 Si vous ne l'avez pas encore fait, commencez par vous inscrire à la
225 liste &email-debian-devel;. Pour cela, envoyez un courrier à l'adresse
226 &email-debian-devel-req; avec le mot <tt>subscribe</tt> dans la ligne
227 <em>Objet</em><footnote><p><em>Subject</em> en anglais</footnote> de votre
228 message. En cas de problème, contactez l'administrateur de la liste
229 &email-listmaster;. Vous trouverez plus d'informations dans la section <ref
230 id="mailing-lists">. &email-debian-devel-announce; est une autre liste
231 incontournable pour qui veut suivre les développements de Debian.
233 Vous suivrez les discussions de cette liste (sans poster) pendant quelque temps
234 avant de coder quoi que ce soit et vous informerez la liste de votre intention
235 de travailler sur quelque chose pour éviter de dupliquer le travail d'un autre.
237 Une autre liste intéressante est &email-debian-mentors;. Voir la section <ref
238 id="mentors"> pour les détails. Le canal IRC <tt>#debian</tt> pourra aussi être
242 Quand vous avez choisi la manière dont vous contribuerez au projet
243 &debian-formal;, prenez contact avec les responsables Debian qui travaillent
244 sur des tâches similaires. Ainsi vous pourrez apprendre auprès de personnes
245 expérimentées. Si, par exemple, vous voulez mettre en paquet des logiciels
246 existants, trouvez-vous un parrain. Un parrain est une personne qui travaillera
247 sur vos paquets avec vous et les téléchargera dans l'archive Debian une fois
248 qu'il sera satisfait de votre mise en paquet. Pour trouver un parrain, envoyez
249 une demande de parrainage à la liste &email-debian-mentors; en vous présentant
250 et en décrivant votre paquet (voir <ref id="sponsoring"> pour en savoir plus
251 sur le sujet). Si vous préférez porter Debian sur une architecture ou un noyau
252 alternatif, abonnez-vous aux listes dédiées au portage et demandez-y comment
253 démarrer. Finalement, si vous êtes intéressé par la documentation ou
254 l'assurance qualité (QA), vous pouvez contacter les responsables qui
255 travaillent déjà sur ces tâches et proposer des correctifs et des
259 <sect id="registering">Devenir responsable Debian
261 Avant de décider de devenir responsable Debian, il vous faudra lire toute la
262 documentation disponible dans le <url id="&url-newmaint;" name="coin du nouveau
263 responsable">. Elle décrit toutes les étapes préparatoires qu'il vous faudra
264 franchir avant de déposer votre candidature.
266 Par exemple, avant d'être candidat, il vous faudra lire le <url
267 id="&url-social-contract;" name="contrat social Debian">. Devenir responsable
268 Debian implique que vous adhériez à ce contrat social et que vous vous engagiez
269 à le soutenir ; il est très important que les responsables soient en
270 accord avec les principes fondamentaux qui animent le projet &debian-formal;.
271 Lire le <url id="&url-gnu-manifesto;" name="Manifeste GNU"> est aussi une bonne
274 Le processus d'enregistrement a pour but de vérifier votre identité, vos
275 intentions et vos compétences. Le nombre de personnes travaillant pour
276 &debian-formal; a atteint &number-of-maintainers; et notre système est utilisé
277 dans plusieurs endroits très importants : nous devons rester vigilants
278 pour éviter un acte malveillant. C'est pourquoi nous contrôlons les nouveaux
279 responsables avant de leur donner un compte sur nos serveurs et de les autoriser à
280 ajouter des paquets dans l'archive.
282 Pour devenir responsable, il faudra montrer que vous pouvez faire du bon travail
283 et que vous serez un bon contributeur. Pour cela, vous pourrez proposer des correctifs
284 par le système de suivi des bogues (BTS) ou maintenir un paquet parrainé
285 pendant un temps. Nous attendons aussi des contributeurs qu'ils soient
286 intéressés par le projet dans son ensemble et pas uniquement par leurs propres
287 paquets. Si vous pouvez aider d'autres responsables en fournissant des
288 informations sur un bogue ou même avec un correctif, faites-le !
290 Pour votre candidature, vous devrez être familiarisé avec la philosophie du
291 projet Debian et avec sa documentation technique. Il vous faudra aussi une clé
292 GnuPG signée par un responsable Debian. Si votre clé GnuPG n'est pas encore
293 signée, vous devriez essayer de rencontrer un responsable Debian pour le faire.
294 La <url id="&url-gpg-coord;" name="page de coordination des signatures de clé
295 GnuPG"> devrait vous aider à trouver un responsable Debian près de chez vous.
296 (Si vous ne trouvez pas de responsable près de chez vous, il existe un second
297 moyen pour valider votre identité. Vous pouvez envoyer une photo d'identité
298 signée avec votre clé GnuPG. Privilégiez tout de même la clé GnuPG signée pour
299 valider une identité. Reportez-vous à la <url id="&url-newmaint-id;" name="page
300 d'identification"> pour en savoir plus sur ces deux options.)
303 Si vous n'avez pas de clé OpenPGP, créez-la. Tout responsable a besoin d'une clé
304 OpenPGP pour signer et vérifier les mises à jour de paquets. Vous lirez la
305 documentation du logiciel de cryptographie que vous utiliserez car elle
306 contient des informations indispensables pour la sécurité de votre clé. Les
307 défaillances de sécurité sont bien plus souvent dues à des erreurs humaines
308 qu'à des problèmes logiciels ou à des techniques d'espionnage avancées. Voir
309 <ref id="key-maint"> pour plus d'informations sur la gestion de votre clé
312 Debian utilise <prgn>GNU Privacy Guard</prgn> (paquet <package>gnupg</package>
313 version 1 ou supérieure) comme standard de base. Vous pouvez aussi utiliser une
314 autre implémentation d'OpenPGP. OpenPGP est un standard ouvert basé sur la <url
315 id="&url-rfc2440;" name="RFC 2440">.
317 L'algorithme à clé publique recommandé pour les développements Debian est DSA
318 (parfois appelé « DSS » ou « DH\ElGamal »). Vous pouvez
319 aussi utiliser d'autres types de clés. La longueur de votre clé doit être au
320 minimum de 1024 bits ; il n'y a pas de raison d'utiliser une clé plus
321 courte et le faire serait beaucoup moins sûr. Votre clé doit être signée avec
322 votre propre identifiant ; cela évite les falsifications. <prgn>GNU
323 Privacy Guard</prgn> le fait automatiquement.
325 Si votre clé publique n'est pas sur un serveur public tel que &pgp-keyserv;,
326 reportez-vous à la documentation disponible localement dans &file-keyservs;.
327 Cette documentation explique comment mettre votre clé publique sur un serveur.
328 L'équipe <em>New maintainer</em> mettra votre clé publique sur les serveurs de
329 clés si elle n'y est pas déjà.
331 Certains pays limitent l'usage des logiciels de cryptographie. Cela ne devrait
332 cependant pas avoir d'impact sur l'activité d'un responsable de paquet car il
333 peut être tout à fait légal d'utiliser des logiciels de cryptographie pour
334 l'authentification plutôt que pour le chiffrement. &debian-formal; ne nécessite
335 en aucun chiffrement. Si vous vivez dans un pays où l'utilisation de la
336 cryptographie pour authentification est interdite, contactez-nous pour que nous
337 prenions des dispositions particulières.
339 Pour faire acte de candidature, il vous faut un responsable Debian qui vérifiera
340 votre candidature (un <em>avocat</em>). Après avoir contribué au projet Debian
341 pendant un temps, quand vous choisissez de devenir un responsable Debian
342 officiel, un responsable déjà enregistré avec qui vous aurez travaillé dans les
343 derniers mois devra exprimer que, d'après lui, vous pouvez contribuer avec
344 succès au projet Debian.
346 Quand vous avez trouvez un <em>avocat</em>, quand votre clé GnuPG est signée et
347 quand vous avez déjà contribué au projet, vous êtes prêt à faire
348 acte de candidature. Il vous suffit pour cela de vous enregistrer sur notre
349 <url id="&url-newmaint-apply;" name="page de candidature">. Ensuite, votre
350 avocat devra confirmer votre candidature. Quand il aura accompli cette tâche,
351 un responsable de candidature<footnote><p>Application manager</footnote> sera
352 désigné pour vous accompagner dans le processus d'enregistrement. Vous pouvez
353 toujours consulter le <url id="&url-newmaint-db;" name="tableau de bord des
354 candidatures"> pour connaître l'état de votre candidature.
356 Pour en savoir plus, consultez le <url id="&url-newmaint;" name="coin des
357 nouveaux responsables"> sur le site Debian. Assurez-vous de bien connaître les
358 étapes nécessaires au processus d'enregistrement avant de vous porter candidat.
359 Vous gagnerez beaucoup de temps si vous êtes bien préparé.
362 <sect id="mentors">Mentors et parrains Debian
364 La liste de diffusion &email-debian-mentors; a été créée pour les responsables
365 débutants qui cherchent de l'aide pour leur première création de paquet ainsi
366 que pour des problèmes spécifiques aux développeurs. Tout responsable débutant
367 est invité à s'y inscrire (voir <ref id="mailing-lists"> pour plus de détails).
369 Ceux qui préfèrent une aide personnalisée (via une correspondance privée)
370 doivent aussi poster dans cette liste, un développeur expérimenté se portera
371 volontaire pour les aider.
373 Si vos paquets sont prêts à être intégrés mais que vous attendiez le
374 résultat de votre candidature, vous pouvez chercher un parrain qui téléchargera
375 les paquets à votre place. Les parrains sont des responsables Debian officiels
376 volontaires pour examiner et télécharger vos paquets. Vous pouvez
377 demander un parrainage à l'adresse <url id="&url-sponsors;">.
379 Si vous désirez être mentor ou parrain, reportez-vous à <ref id="newmaint">.
382 <chapt id="developer-duties">Les charges du responsable Debian
384 <sect id="user-maint">Mise à jour de vos références Debian
386 Il existe une base de données LDAP qui contient des informations concernant
387 les développeurs ;
388 vous pouvez y accéder à l'adresse <url id="&url-debian-db;">. Vous pouvez
389 modifier votre mot de passe (ce mot de passe est diffusé sur la plupart des
390 machines auxquelles vous avez accès), votre adresse, votre pays, la latitude et
391 la longitude de l'endroit où vous résidez, vos numéros de téléphone et de fax,
392 votre interpréteur de commande préféré, votre surnom IRC, votre page web, votre
393 adresse de courrier électronique ainsi que l'alias que vous utilisez pour votre
394 courrier électronique chez debian.org. La plupart de ces informations ne sont
395 pas accessibles au public. Pour plus de détails au sujet de cette base de
396 données, reportez-vous à sa documentation en ligne disponible à l'adresse <url
397 id="&url-debian-db-doc;">.
399 Vous y tiendrez à jour les informations vous concernant.
401 <sect id="key-maint">Gérer votre clé publique
403 Soyez très vigilant en utilisant votre clé privée. Ne la placez pas sur un
404 serveur public ou sur des machines multi-utilisateurs telles que les serveurs
405 Debian (voir <ref id="server-machines">). Sauvegardez vos clés et gardez-en une
406 copie hors connexion. Lisez la documentation fournie avec votre logiciel et la
407 <url id="&url-pgp-faq;" name="FAQ PGP">.
409 Si vous ajoutez des signatures ou des identifiants à votre clé publique, vous
410 pouvez mettre à jour le porte-clés Debian en envoyant votre clé publique à
411 <tt>&keyserver-host;</tt>. Si vous voulez ajouter ou supprimer une clé, envoyez
412 un courrier à &email-debian-keyring;. Les procédures d'extraction de clé
413 décrites dans <ref id="registering"> s'appliquent ici.
415 Vous pouvez trouver une présentation approfondie de la gestion de clé Debian
416 dans la documentation du paquet <package>debian-keyring</package>.
419 <sect id="voting">Voter
421 Debian, sans être une vraie démocratie, dispose d'outils à
422 caractère démocratique et utilise un procédé démocratique pour élire son chef
423 ou pour approuver une résolution. Ces procédures sont décrites dans la <url
424 id="&url-constitution;" name="Constitution Debian">.
426 Un processus démocratique ne fonctionne bien que si tout le monde participe au
427 vote, c'est pourquoi vous devez voter. Pour cela, vous devez vous inscrire à la
428 liste &email-debian-devel-announce; car les annonces de votes sont publiées sur
429 cette liste. Si vous voulez suivre les débats qui précèdent un vote,
430 inscrivez-vous à liste &email-debian-vote;.
432 La liste de toutes les propositions (passées et présentes) est disponible à la
433 page <url id="&url-vote;" name="Informations sur les votes Debian">. Vous y
434 trouverez aussi des informations complémentaires sur la procédure à suivre pour
438 <sect id="inform-vacation">Prendre des vacances courtoisement
440 La plupart des développeurs prennent des vacances ; généralement, cela
441 signifie qu'ils ne peuvent ni travailler pour Debian, ni être joints par
442 courrier électronique si un problème se présentait. Les autres développeurs ont
443 besoin de savoir que vous êtes en vacances ; ainsi ils sauront comment
444 réagir en cas de problème. En général, cela signifie que les autres
445 développeurs sont autorisés à modifier votre paquet (voir <ref id="nmu">) en
446 cas de gros problème (bogues empêchant l'intégration dans la distribution, mise à jour de
447 sécurité, etc.) durant vos vacances.
449 Il y a deux choses à faire pour en informer les autres développeurs.
450 Premièrement, envoyez un courrier électronique indiquant vos dates de vacances
451 à &email-debian-private;, vous pouvez aussi donner quelques instructions pour
452 indiquer comment agir si un problème survenait. Notez bien que certaines
453 personnes ne sont pas intéressées par les annonces de vacances et ne veulent
454 pas les lire ; veuillez ajouter '[VAC] ' à l'objet de votre courrier pour
455 qu'il soit facilement filtré.
457 Deuxièmement, il faut mettre à jour la base de données Debian LDAP et vous
458 signaler « en vacances »<footnote><p><em>on vacation</em> en
459 anglais</footnote>(l'accès à cette information est réservé aux développeurs).
460 N'oubliez pas de retirer votre indicateur « en vacances » lorsque
461 celles-ci sont terminées !
463 <sect id="upstream-coordination">Coordination avec les développeurs amonts
465 Une grande part de votre travail de responsable Debian sera de rester en contact
466 avec les développeurs amonts. Parfois, les utilisateurs établissent des
467 rapports de bogue qui ne sont pas spécifiques à Debian. Vous devez transmettre
468 ces rapports de bogue aux développeurs amonts pour qu'ils soient corrigés dans
469 les prochaines versions. Il n'est pas de votre responsabilité de corriger les
470 bogues qui ne sont pas spécifiques à Debian. Toutefois, si vous êtes capable de
471 le faire, nous vous encourageons à contribuer au développement amont en
472 proposant un correctif qui corrige le bogue. Les utilisateurs et responsables
473 Debian proposent souvent des correctifs pour corriger des bogues amonts, il
474 vous faudra alors évaluer ce correctif puis le transmettre aux développeurs
477 Si vous avez besoin de modifier les sources d'un logiciel pour fabriquer un
478 paquet conforme à la charte Debian, alors vous devriez proposer un correctif
479 aux développeurs amonts pour qu'il soit inclus dans leur version. Ainsi, vous
480 n'aurez plus besoin de modifier les sources lors des mises à jour amonts
481 suivantes. Quels que soient les changements dont vous avez besoin, il faut
482 toujours essayer de rester dans la lignée des sources amonts.
484 <sect id="rc-bugs">Comment gérer les bogues empêchant l'intégration du paquet dans la distribution ?
486 Habituellement, vous devriez traiter les rapports de bogue sur vos paquets tel
487 que cela est décrit dans <ref id="bug-handling">. Cependant, il y a une
488 catégorie spéciale de bogues qui nécessite particulièrement votre
489 attention : les bogues empêchant l'intégration du paquet dans la
490 distribution<footnote>Traduction de l'anglais <em>Release-critical bug (RC
491 Bugs)</em></footnote>. Tous les rapports de bogue de gravité <em>critique</em>,
492 <em>grave</em> et <em>sérieuse</em><footnote>Respectivement <em>critical</em>,
493 <em>grave</em> et <em>serious</em> en anglais</footnote> sont considérés comme
494 ayant un impact sur la présence du paquet dans la prochaine version stable de
495 Debian. Ces bogues peuvent retarder la diffusion d'une distribution Debian
496 et/ou peuvent justifier la suppression d'un paquet d'une distribution gelée.
497 C'est pourquoi ces bogues ont besoin d'être corrigés au plus vite.
499 Les développeurs faisant partie de l'équipe d'<url id="&url-debian-qa;"
500 name="assurance qualité Debian"> surveillent ces bogues et essaient de vous
501 aider chaque fois qu'ils le peuvent. Si vous ne pouvez pas corriger un bogue de
502 ce type dans les deux semaines, vous devriez soit demander de l'aide en
503 envoyant un courrier à l'équipe d'assurance qualité (<em>QA group</em>) à
504 &email-debian-qa;, soit expliquer vos difficultés et présenter un plan pour
505 corriger le problème en répondant au rapport de bogue concerné. Si rien n'est
506 fait, des personnes de l'équipe d'assurance qualité pourraient chercher à
507 corriger votre paquet (voir <ref id="nmu">) après avoir tenté de vous contacter
508 (ils pourraient attendre moins longtemps que d'habitude pour faire leur mise à
509 jour s'il n'y a pas trace d'activité récente de votre part dans le système de
515 Si vous choisissez de quitter le projet Debian, procédez comme suit :
516 <enumlist compact="compact">
517 <item><p>abandonnez tous vos paquets comme décrit dans <ref
518 id="orphaning"> ;</item>
519 <item><p>envoyez un courrier électronique à &email-debian-private; indiquant
520 pourquoi vous quittez le projet ;</item>
521 <item><p>signalez aux responsables du porte-clés Debian que vous quittez le
522 projet en écrivant à &email-debian-keyring;.</item>
527 <chapt id="resources">Ressources pour le responsable Debian
529 Dans ce chapitre, vous trouverez une brève description des listes de diffusions,
530 des machines Debian qui seront à votre disposition en tant que responsable
531 Debian ainsi que toutes les autres ressources à votre disposition pour vous
532 aider dans votre travail de responsable.
534 <sect id="mailing-lists">Les listes de diffusion
536 Le serveur de liste de diffusion est <tt>&lists-host;</tt>.
538 Les archives des listes de diffusion sont consultables à <url
539 id="&url-lists-archives;">.
541 <sect1 id="core-devel-mailing-lists">Principales listes pour les responsables
543 Les principales listes de diffusion de Debian que les développeurs
544 devraient suivre sont :
546 <item>&email-debian-devel-announce;, utilisée pour les annonces importantes
547 faites aux responsables. Tous les responsables Debian sont censés être
548 inscrits à cette liste,</item>
549 <item>&email-debian-devel;, utilisée pour discuter de diverses questions
550 techniques relatives au développement,</item>
551 <item>&email-debian-policy; où l'on discute et vote les modifications de la
552 Charte Debian,</item>
553 <item>&email-debian-project;, utilisée pour discuter de questions non
557 Il existe d'autres listes de diffusion spécialisées dans différents thèmes.
558 Reportez-vous à la page <url id="&url-debian-lists-subscribe;"> pour en obtenir
561 <sect1 id="mailing-lists-subunsub">S'abonner et se désabonner
563 Pour vous abonner ou vous désabonner de n'importe quelle liste,
564 envoyez un courrier électronique à
565 <tt>debian-<var>foo</var>-REQUEST@&lists-host;</tt>, où
566 <tt>debian-<var>foo</var></tt> est le nom de la liste, avec le mot
567 <tt>subscribe</tt> dans le champ <em>Objet</em><footnote><p><em>Subject</em>
568 en anglais</footnote> pour vous abonner à la liste ou <tt>unsubscribe</tt>
569 pour vous désabonner.
571 Si vous préférez utiliser une page web pour vous inscrire à plusieurs listes,
572 celle-ci se trouve à l'adresse <url id="&url-debian-lists-subscribe;">.
574 Vous pouvez télécharger la liste des listes de diffusion et quelques
575 instructions à <url id="&url-debian-lists-txt;"> ou installer le paquet
576 <package>doc-debian</package> et en disposer localement dans le fichier
579 <sect1 id="mailing-lists-rules">Règles d'usage simple
581 Lorsque vous répondez aux messages d'une liste de diffusion, n'envoyez pas de
582 copie (<tt>CC</tt>) à l'auteur du courrier à moins qu'il ne l'ait demandé
583 explicitement. Quelqu'un qui envoie un message à une liste de diffusion se doit
584 d'y lire les réponses.
586 La multi-diffusion (envoyer le même message à plusieurs listes) est déconseillé.
587 Comme toujours sur Internet, veuillez réduire le texte cité des messages
588 auxquels vous répondez. En général, veuillez adhérer aux conventions usuelles
589 d'envoi de messages. Veuillez lire le <url id="&url-debian-lists;" name="code
590 de conduite"> pour plus d'information.
592 <sect1 id="mailing-lists-special">Listes spéciales
594 &email-debian-private; est une liste de diffusion destinée aux discussions
595 privées entre développeurs Debian. Elle doit être utilisée pour tout message
596 qui ne doit pas être publié, quelle qu'en soit la raison. C'est une liste à
597 faible trafic et les utilisateurs sont priés de ne l'utiliser qu'en cas de
598 réelle nécessité. De plus, il ne faut <em>jamais</em> faire suivre un courrier
599 de cette liste à qui que ce soit. Pour des raisons évidentes, les archives de
600 cette liste ne sont pas disponibles sur la toile. Vous pouvez les consulter en
601 visitant le répertoire <file>~debian/archive/debian-private</file> avec votre
602 compte sur <tt>lists.debian.org</tt>.
604 &email-debian-email; est une liste de diffusion fourre-tout. Elle est utilisée
605 pour les correspondances relatives à Debian qu'il serait utile d'archiver,
606 telles que des échanges avec les auteurs amonts à propos de licences, de bogues
607 ou encore des discussions sur le projet avec d'autres personnes.
609 <sect id="irc-channels">Canaux IRC
611 Plusieurs canaux IRC sont dédiés au développement Debian. Ils sont
612 principalement hébergés sur le réseau <url id="&url-openprojects;"
613 name="freenode"> (anciennement connu sous le nom de Open Projects Network).
614 L'entrée DNS <tt>irc.debian.org</tt> est simplement un alias vers
615 <tt>irc.openprojects.net</tt>.
617 Le principal canal pour Debian est <em>#debian</em>. Il s'agit d'un
618 canal important, généraliste, où les utilisateurs peuvent trouver des nouvelles
619 récentes dans le sujet et qui est administré par des robots. <em>#debian</em>
620 est destiné aux anglophones ; il existe également <em>#debian.de</em>,
621 <em>#debian-fr</em>, <em>#debian-br</em> et d'autres canaux avec des noms
622 semblables pour les personnes parlant d'autres langues.
624 Le canal principal pour le développement Debian est <em>#debian-devel</em>.
625 C'est un canal très actif avec habituellement plus de 150 personnes connectées
626 en permanence. C'est un canal pour les personnes qui travaillent sur Debian, ce
627 n'est pas un canal d'aide (il existe <em>#debian</em> pour cela). Il est
628 cependant ouvert à tous ceux qui veulent écouter (et apprendre). Le sujet est
629 toujours rempli d'informations intéressantes.
631 Comme <em>#debian-devel</em> est un canal ouvert, vous ne devriez pas y parler
632 de problèmes discutés sur &email-debian-private;. Il existe un canal protégé
633 par clé <em>#debian-private</em> dans ce but. La clé est disponible dans les
634 archives de debian-private à
635 <file>master.debian.org:&file-debian-private-archive;</file>, effectuez
636 simplement un <prgn>zgrep</prgn> avec <em>#debian-private</em> dans tous les
639 Il existe d'autres canaux dédiés à des sujets spécifiques. <em>#debian-bugs</em>
640 est utilisé pour la coordination des <em>chasses aux bogues</em>.
641 <em>#debian-boot</em> est utilisé pour la coordination du travail sur les
642 disquettes de démarrage (i.e. l'installeur). <em>#debian-doc</em> est utilisé
643 occasionnellement pour travailler sur la documentation comme celle que vous
644 lisez actuellement. D'autres canaux sont dédiés à une architecture ou un
645 ensemble de paquets : <em>#debian-bsd</em>, <em>#debian-kde</em>,
646 <em>#debian-jr</em>, <em>#debian-edu</em>, <em>#debian-sf</em> (paquet
647 SourceForge), <em>#debian-oo</em> (paquet OpenOffice), etc.
649 Certains canaux pour développeurs non anglophones existent, par exemple,
650 <em>#debian-devel-fr</em> pour les francophones intéressés dans le
651 développement de Debian.
654 <sect id="doc-rsrcs">Documentation
656 Ce document contient beaucoup d'informations très utiles aux développeurs
657 Debian, mais il ne peut pas tout contenir. La plupart des autres documents
658 intéressants sont référencés dans <url id="&url-devel-docs;" name="le coin du
659 développeur">. Prenez le temps de parcourir tous les liens, vous apprendrez
660 encore beaucoup de choses.
663 <sect id="server-machines">Les serveurs Debian
665 Debian possède plusieurs ordinateurs employés comme serveurs, dont la plupart hébergent
666 les fonctions critiques du projet Debian. La plupart des machines sont
667 utilisées pour des activités de portage et elles ont toutes un accès permanent
670 La plupart des machines peuvent être utilisées par les développeurs
671 tant qu'ils respectent les règles définies dans la <url
672 id="&url-dmup;" name="charte d'utilisation des machines Debian">.
674 Dans l'ensemble, vous pouvez faire usage de ces machines pour des buts relatifs
675 à Debian comme vous l'entendez. Veuillez cependant être gentil avec les
676 administrateurs système et ne pas utiliser de grandes quantités d'espace
677 disque, de ressource réseau ou CPU sans obtenir auparavant l'accord des
678 administrateurs. Habituellement, ces machines sont administrées par des
681 Veuillez prendre soin de votre mot de passe Debian ainsi que des clés SSH
682 installées sur les machines Debian. Évitez les méthodes de connexion ou d'envoi
683 de données qui envoient les mots de passe en clair par l'Internet comme telnet,
686 Veuillez ne pas déposer de données non relatives à Debian sur les serveurs
687 Debian à moins que vous n'ayez préalablement obtenu la permission de le faire.
689 La liste actuelle des machines Debian est disponible à <url
690 id="&url-devel-machines;">. Cette page web contient les noms des machines, les
691 informations de contact, les informations sur qui peut s'y connecter, les clés
694 Si vous avez un problème en utilisant un serveur Debian et si vous estimez que
695 les administrateurs système devraient en être avertis, l'équipe des
696 administrateurs système peut être jointe à
697 <email>debian-admin@lists.debian.org</email>.
699 Si votre problème est lié à un certain service ou n'est pas lié au système
700 (paquet à supprimer de l'archive ou suggestion pour le site web par exemple),
701 il vous faudra en général ouvrir un rapport de bogue sur un
702 « pseudo-paquet ». Reportez-vous à la section <ref id="submit-bug">
703 pour connaître la procédure à suivre.
705 <sect1 id="servers-bugs">Le serveur pour les rapports de bogues
707 <tt>bugs.debian.org</tt> est le serveur maître du système de suivi des bogues
708 (BTS<footnote><p>Système de suivi des bogues se dit <em>Bug Tracking
709 System</em> en anglais</footnote>). Si vous envisagez de manipuler les rapports
710 de bogue ou d'en faire une analyse statistique, ce sera le bon endroit pour le
711 faire. Informez la liste &email-debian-devel; de votre intention avant
712 d'implémenter quoi que ce soit afin d'éviter un travail en double ou un
713 gaspillage de temps machine.
715 Tous les développeurs Debian ont un compte sur
716 <tt>bugs.debian.org</tt>.
718 <sect1 id="servers-ftp-master">Le serveur ftp-master
720 Le serveur <tt>ftp-master.debian.org</tt> est le serveur maître de l'archive
721 Debian (exception faite des paquets non-US). En général, les mises à jour de
722 paquets se font sur ce serveur. Reportez-vous à la section <ref id="upload">
725 Les problèmes avec l'archive Debian FTP doivent généralement être rapportés
726 comme bogue sur le pseudo-paquet <package>ftp.debian.org</package> ou par
727 courrier électronique à &email-ftpmaster; ; reportez-vous à la section
728 <ref id="archive-manip"> pour connaître la procédure à suivre.
730 <sect1 id="servers-non-us">Le serveur non-US
732 Le serveur non-US <tt>non-us.debian.org</tt> est le serveur maître de la partie
733 non-US de l'archive Debian. Si vous avez besoin d'envoyer un paquet dans l'une
734 des sections non-US, envoyez-le vers ce serveur. Reportez-vous à la section
735 <ref id="upload-non-us"> pour en savoir plus.
737 Les problèmes avec l'archive de paquets non-US doivent généralement être
738 rapportés comme bogue sur le pseudo-paquet <package>nonus.debian.org</package>
739 pseudo-package (remarquez l'absence de trait d'union entre "non" et "us" dans
740 le nom du pseudo-paquet — c'est dû à la compatibilité descendante).
741 Rappelez-vous de vérifier si quelqu'un n'aurait pas déjà rempli un rapport de
742 bogue concernant le problème sur le <url
743 id="http://bugs.debian.org/nonus.debian.org" name="système de suivi des
746 <sect1 id="servers-www">Le serveur www-master
748 Le serveur web principal est <tt>www-master.debian.org</tt>. Il héberge les
749 pages web officielles, la facade de Debian pour la plupart des débutants.
751 Si vous rencontrez un problème avec un serveur web Debian, vous devez
752 généralement envoyer un rapport de bogue sur le pseudo-paquet
753 <package>www.debian.org</package>. Vérifiez d'abord sur le <url
754 id="http://bugs.debian.org/www.debian.org" name="système de suivi des bogues">
755 que personne ne l'a déjà rapporté avant vous.
757 <sect1 id="servers-people">Le serveur web people
759 <tt>people.debian.org</tt> est le serveur utilisé pour les pages personnelles
760 des développeurs concernant ce qui est lié à Debian.
762 Si vous avez des informations spécifiques Debian que vous voulez rendre
763 disponibles sur le web, vous pouvez le faire en les plaçant dans le répertoire
764 <file>public_html</file> de votre répertoire personnel sur
765 <tt>people.debian.org</tt>. Elles seront accessibles à l'adresse
766 <tt>http://people.debian.org/~<var>votre-user-id</var>/</tt>.
768 Vous ne devriez utiliser que cet emplacement particulier car il sera sauvegardé
769 alors que sur les autres serveurs, ce ne sera pas le cas.
771 Habituellement, la seule raison pour utiliser un serveur différent est que vous
772 avez besoin de publier des informations soumises aux restrictions d'export
773 américaines, dans ce cas, vous pouvez utiliser l'un des autres serveurs situés
774 en dehors des États-Unis, comme le serveur mentionné ci-dessus
775 <tt>non-us.debian.org</tt>.
777 Veuillez envoyer un courrier à &email-debian-devel; si vous avez une question.
779 <sect1 id="servers-cvs">Le serveur CVS
781 Notre serveur CVS est situé sur <tt>cvs.debian.org</tt>.
783 Si vous avez besoin d'un serveur CVS accessible par tous pour, par exemple,
784 coordonner le travail de plusieurs développeurs sur un paquet, vous pouvez
785 demander un espace CVS sur ce serveur.
787 Le serveur <tt>cvs.debian.org</tt> autorise les accès CVS locaux, les accès en
788 lecture seule pour les connexions client-serveur anonymes et les accès
789 client-serveur complets pour les connexions <prgn>ssh</prgn>. L'espace CVS peut
790 aussi être consulté par la toile à l'adresse <url id="&url-cvsweb;">.
792 Pour obtenir un espace CVS, envoyez une demande à l'adresse &email-debian-admin;
793 en précisant le nom de l'espace, le compte Debian propriétaire du répertoire
794 racine et pourquoi vous en avez besoin.
797 <sect id="devel-db">La base de données des développeurs
799 La base de données des développeurs à <url id="&url-debian-db;"> est un annuaire
800 LDAP de gestion des informations des développeurs Debian. Vous pouvez utiliser
801 cette ressource pour rechercher la liste des développeurs Debian. Pour plus
802 d'informations sur la façon de garder à jour vos informations dans la base des
803 développeurs, reportez-vous à <ref id="user-maint">. Une partie de ces
804 informations est également disponible à travers le service finger sur les
805 serveurs Debian, essayez <prgn>finger yourlogin@debian.org</prgn> pour voir ce
808 La base de données vous permet d'enregistrer d'autres informations ; par
810 clés publiques SSH qui seront installées automatiquement sur les machines
811 Debian officielles, ou des entrées DNS de type *debian.net. Ces fonctionnalités
812 sont documentées à <url id="&url-debian-db-mail-gw;">.
814 <!-- <sect id="servers-mirrors">Les miroirs des serveurs Debian
816 Les serveurs web et FTP Debian sont dupliqués sur d'autres serveurs.
817 Évitez de charger les serveurs originaux. Idéalement, les serveurs originaux
818 se contentent de copier leur contenu sur les miroirs de premier niveau et tous
819 les utilisateurs consultent les miroirs. Ainsi le projet Debian étale ses
820 besoins en bande passante sur plusieurs serveurs et plusieurs réseaux. Notez
821 que la duplication des données sur les miroirs est déclenchée par le serveur
822 maître. Ceci nous garantit que les miroirs sont aussi à jour que possible.
824 La liste des miroirs FTP/HTTP se trouve à l'adresse <url
825 id="&url-debian-mirrors;">. Vous trouverez plus d'information sur les miroirs
826 Debian à l'adresse <url id="&url-debian-mirroring;">. Cette page contient des
827 informations et des outils qui pourront vous aider si vous avez l'intention de
828 mettre en place votre propre miroir, que ce soit pour un usage interne ou pour
831 Les miroirs sont en général mis en oeuvre par des tiers qui veulent aider
832 Debian. C'est pourquoi les développeurs n'ont en général pas de compte sur ces
836 <sect id="archive">L'archive Debian
838 La distribution &debian-formal; est composée d'un grand nombre de paquets
839 (fichiers <tt>.deb</tt> : actuellement, à peu près &number-of-pkgs;) et de
840 quelques autres fichiers (comme la documentation et des images des disquettes
843 Voici un exemple d'arborescence pour une archive Debian complète :
845 &sample-dist-dirtree;
847 Comme vous pouvez le voir, le répertoire racine contient deux répertoires,
848 <file>dists/</file> et <file>pool/</file>. Le second est un ensemble de
849 répertoires où sont stockés les paquets. Ceux-ci sont manipulés grâce à la base
850 de données de l'archive et aux logiciels qui l'accompagnent. Le premier
851 répertoire contient les distributions <em>stable</em>, <em>testing</em> et
852 <em>unstable</em>. Les fichiers <file>Packages</file> et <file>Sources</file>
853 qui se trouvent dans les répertoires de distribution peuvent faire référence à
854 des fichiers du répertoire <file>pool/</file>. Le découpage en sous-répertoires
855 est identique d'un répertoire de distribution à l'autre . Ce que nous
856 exposerons ci-dessous pour la distribution <em>stable</em> est également
857 applicable aux distributions <em>unstable</em> et <em>testing</em>.
859 Le répertoire <file>dists/stable</file> contient trois répertoires nommés
860 <file>main</file>, <file>contrib</file> et <file>non-free</file>.
862 Dans chacune de ces sections, se trouve un répertoire contenant les paquets
863 sources (<file>source/</file>) et un répertoire pour chaque architecture
864 acceptée (<file>binary-i386/</file>, <file>binary-m68k/</file>, etc.).
866 La section <em>main</em> contient d'autres répertoires destinés aux images de
867 disquettes et à plusieurs documents essentiels pour installer la distribution
868 Debian sur une architecture particulière (<file>disk-i386/</file>,
869 <file>disk-m68k/</file>, etc).
873 La section <em>main</em> constitue la <strong>distribution &debian-formal;
874 officielle</strong>. Elle est officielle parce qu'elle est entièrement conforme
875 à toutes nos recommandations. Les deux autres sections divergent de ces
876 recommandations à différents degrés, elles <strong>ne</strong> font donc <strong>pas</strong>
877 officiellement partie de &debian-formal;.
879 Chaque paquet de la section <em>main</em> doit être conforme aux <url
880 id="&url-dfsg;" name="directives Debian pour le logiciel
881 libre"><footnote>Debian Free Software Guidelines</footnote> et à toutes les
882 autres recommandations décrites dans <url id="&url-debian-policy;" name="la
883 charte Debian"><footnote>Debian Policy Manual</footnote>. Les
884 DFSG<footnote><em>Debian Free Software Guidelines</em></footnote> constituent
885 notre définition de « logiciel libre ». Reportez-vous à la <em>charte
886 Debian</em> pour en savoir plus.
888 Les paquets de la section <em>contrib</em> doivent être conformes aux DFSG, mais
889 ne respectent pas d'autres contraintes. Ils peuvent, par exemple, dépendre de
890 paquets de la section <em>non-free</em>.
892 Les paquets qui ne sont pas conformes aux DFSG sont rangés dans la section
893 <em>non-free</em>. Bien que nous supportions l'usage de ces paquets et qu'ils
894 bénéficient de nos infrastructures (système de suivi des bogues, listes de
895 diffusion, etc), ces paquets <em>non-free</em> ne font pas partie de la
898 La <em>charte Debian</em> donne des définitions plus précises pour ces trois
899 sections. Les paragraphes précédents ne constituent qu'une introduction.
901 La séparation de l'archive en trois sections est importante pour toute personne
902 qui désire distribuer Debian, que ce soit par serveur FTP ou sur cédérom. Il
903 suffit de distribuer les sections <em>main</em> et <em>contrib</em> pour éviter
904 tout problème légal. Certains paquets de la section <em>non-free</em>
905 interdisent leur distribution à titre commercial par exemple.
907 D'un autre coté, un distributeur de cédérom pourra facilement vérifier
908 la licence de chacun des paquets de la section <em>non-free</em> et
909 ajouter tous les paquets qu'il pourra ajouter (dans
910 la mesure où cela varie énormément d'un distributeur à l'autre, ce travail ne
911 peut être fait par les développeurs Debian).
914 <sect1>Les architectures
916 À ses débuts, le noyau Linux existait uniquement pour les architectures Intel
917 x86 ; il en était de même pour Debian. Linux devenant de plus en plus
918 populaire, il a été porté vers d'autres architectures.
920 Le noyau 2.0 existe pour les architectures Intel x86, DEC Alpha, SPARC,
921 Motorola, 680x0 (Atari, Amiga, et Macintosh), MIPS et PowerPC. Le noyau 2.2
922 reconnaît de nouvelles architectures, comme ARM et UltraSPARC. Puisque Linux
923 reconnaît ces architectures, Debian a décidé qu'elle devait également les
924 accepter. C'est pourquoi plusieurs portages sont en cours ; en fait, il y
925 a aussi des portages vers d'autres noyaux. À coté d'<em>i386</em> (notre nom
926 pour Intel x86), nous avons, au moment où j'écris <em>m68k</em>,
927 <em>alpha</em>, <em>powerpc</em>, <em>sparc</em>, <em>hurd-i386</em>,
928 <em>arm</em>, <em>ia64</em>, <em>hppa</em>, <em>s390</em>, <em>mips</em>,
929 <em>mipsel</em> et <em>sh</em>.
931 &debian-formal; 1.3 est disponible uniquement pour <em>i386</em>. Debian 2.0
932 reconnaît les architectures <em>i386</em> et <em>m68k</em>. Debian 2.1 reconnaît
933 les architectures <em>i386</em>, <em>m68k</em>, <em>alpha</em> et
934 <em>sparc</em>. Debian 2.2 accepte en plus les architectures
935 <em>powerpc</em> et <em>arm</em>. Debian 3.0 accepte cinq
936 nouvelles architectures : <em>ia64</em>, <em>hppa</em>, <em>s390</em>,
937 <em>mips</em> et <em>mipsel</em>.
939 Pour chaque portage, vous trouverez des informations destinées aux développeurs
940 et utilisateurs sur la page <url id="&url-debian-ports;" name="Portage
945 Il existe deux types de paquets Debian : les paquets sources et les paquets
948 Les paquets sources sont constitués de deux ou trois fichiers : un fichier
949 <file>.dsc</file> et soit un fichier <file>.tar.gz</file>, soit un fichier
950 <file>.orig.tar.gz</file> et un fichier <file>.diff.gz</file>.
952 Si un paquet est développé spécifiquement pour le projet Debian et n'est pas
953 distribué en dehors de Debian, il n'y a qu'un fichier <file>.tar.gz</file> qui
954 contient les sources du programme. Si un paquet est distribué ailleurs, le
955 fichier <file>.orig.tar.gz</file> contient ce que l'on appelle <em>code source
956 amont</em>, c'est-à-dire, le code source distribué par le <em>mainteneur
957 amont</em> (il s'agit souvent de l'auteur du logiciel). Dans ce cas, le fichier
958 <file>.diff.gz</file> contient les modifications faites par le responsable
961 Le fichier <file>.dsc</file> liste tous les fichiers sources avec leurs sommes
962 de contrôle (<prgn>md5sums</prgn>) et quelques informations supplémentaires
963 concernant le paquet (responsable, version, etc).
966 <sect1>Les répertoires des distributions
968 L'organisation des répertoires présentée précédemment est elle-même englobée par
969 les <em>répertoires des distributions</em>. Chaque distribution est incluse
970 dans le répertoire <file>pool</file> à la racine de l'archive Debian.
972 En résumant, une archive Debian a un répertoire racine sur un serveur FTP. Par
973 exemple, sur le site miroir <ftpsite>ftp.us.debian.org</ftpsite>, l'archive
974 Debian se trouve dans <ftppath>/debian</ftppath> ce qui est un emplacement
975 courant. Un autre emplacement courant est <file>/pub/debian</file>.
977 Une distribution est composée de paquets sources et binaires et des
978 fichiers <file>Sources</file> et <file>Packages</file> correspondants qui
979 contiennent toutes les meta-informations sur les paquets. Les premiers sont
980 conservés dans le répertoire <file>pool/</file> tandis que les seconds sont
981 conservés dans le répertoire <file>dists/</file> de l'archive (pour
982 compatibilité descendante).
985 <sect2 id="sec-dists"><em>Stable</em>, <em>testing</em> et
988 Il y a toujours une distribution appelée <em>stable</em> (dans le répertoire
989 <file>dists/stable</file>), une distribution appelée <em>testing</em> (dans le
990 répertoire <file>dists/testing</file>) et une distribution appelée
991 <em>unstable</em> (dans le répertoire <file>dists/unstable</file>). Ceci
992 reflète le processus de développement du projet Debian.
994 Les développements se font sur la distribution
995 <em>unstable</em><footnote><p><em>unstable</em> signifie
996 « instable »</footnote> (c'est pourquoi elle est aussi appelée
997 <em>distribution de développement</em>). Chaque développeur Debian peut
998 modifier ses paquets à tout moment dans cette distribution. Ainsi son contenu
999 change tous les jours. Comme aucun effort particulier n'est fait pour s'assurer
1000 que tout fonctionne correctement dans cette distribution, elle est parfois
1001 littéralement « instable ».
1003 <ref id="testing"> est générée automatiquement en prenant les paquets de
1004 <em>unstable</em> s'ils satisfont à certains critères. Ces critères
1005 garantissent que les paquets de <em>testing</em> sont de bonne qualité. La mise
1006 à jour de <em>testing</em> est lancée chaque jour après que les nouveaux
1007 paquets ont été installés.
1009 Après une période de développement, quand le responsable de
1010 distribution<footnote><p><em>Release manager</em></footnote> le juge opportun,
1011 la distribution <em>testing</em> est gelée, ce qui signifie que les conditions
1012 à remplir pour qu'un paquet passe de <em>unstable</em> à <em>testing</em> sont
1013 durcies. Les paquets trop bogués sont supprimés et les seules mises à jours
1014 autorisées concernent les corrections de bogues. Après quelque temps, selon
1015 l'avancement, la distribution entre dans une phase de « gel complet »
1016 où les seules modifications acceptées concernent la procédure d'installation.
1017 Cette phase s'appelle un « cycle de test » et cela peut durer jusqu'à
1018 deux semaines. Il peut y avoir plusieurs cycles de tests avant que le
1019 responsable de distribution ne la déclare prête pour la diffusion. À la fin du
1020 dernier cycle de test, la distribution <em>frozen</em> devient <em>stable</em>,
1021 remplaçant l'ancienne distribution <em>stable</em> qui est enlevée à cette
1022 occasion (elle peut être retrouvée à l'adresse <tt>&archive-host;</tt>).
1024 Ce cycle de développement est basé sur l'idée que la distribution
1025 <em>unstable</em> devient <em>stable</em> après une période de test
1026 (<em>testing</em>). Une distribution contient inévitablement des bogues, même
1027 si elle est classée stable. C'est pourquoi les distributions stables sont mises
1028 à jour de temps en temps. Les corrections introduites sont testées avec une
1029 grande attention et sont ajoutées une à une à l'archive pour diminuer les
1030 risques d'introduire de nouveaux bogues. Vous pouvez trouver des paquets
1031 proposés pour les mises à jour de <em>stable</em> dans le répertoire
1032 <file>proposed-updates</file>. De temps en temps, les paquets de ce répertoire
1033 qui ne présentent pas de problème sont installés dans la distribution
1034 <em>stable</em> et le numéro de révision de cette distribution est incrémenté
1035 (« 3.0 » devient « 3.0r1 », « 2.0r4 » devient
1036 « 2.0r5 » et ainsi de suite).
1038 Notez que, pendant la période de gel, les développements continuent sur la
1039 distribution <em>unstable</em> car cette distribution reste en place.
1041 <sect2><em>Experimental</em>
1043 La distribution <em>experimental</em> est une distribution particulière. Ce n'est
1044 pas une distribution à part entière comme le sont <em>stable</em> et
1045 <em>unstable</em>. Elle est prévue pour servir de plate-forme de
1046 développement pour les projets expérimentaux qui risquent vraiment de
1047 détruire le système ou bien pour des logiciels qui sont vraiment trop
1048 instables pour être inclus dans la distribution <em>unstable</em> (mais pour
1049 lesquels une mise en paquet est justifiée). Les utilisateurs qui téléchargent
1050 et installent des paquets depuis <em>experimental</em> sont prévenus :
1051 on ne peut pas faire confiance à la distribution <em>experimental</em>.
1053 Si un logiciel peut causer des dégats importants, il sera sûrement
1054 préférable de le mettre dans la distribution <em>experimental</em>. Un
1055 système expérimental de fichier compressé, par exemple, devrait probablement
1056 aller dans <em>experimental</em>.
1058 Une nouvelle version amont qui ajoute de nouvelles fonctions tout en supprimant
1059 de nombreuses autres ne devra pas être téléchargée dans l'archive Debian,
1060 elle pourra cependant être téléchargée dans <em>experimental</em>. Une
1061 nouvelle version non finalisée d'un logiciel qui utilise une méthode de
1062 configuration complètement différente pourrait aller dans
1063 <em>experimental</em> au gré du responsable. Si vous travaillez sur un cas de
1064 mise à jour complexe ou incompatible, vous pouvez aussi utiliser
1065 <em>experimental</em> comme plate-forme d'intégration et ainsi fournir un
1068 Quelques logiciels expérimentaux peuvent cependant aller dans <em>unstable</em>,
1069 avec un avertissement dans la description mais ce n'est pas recommandé car
1070 les paquets de <em>unstable</em> se propagent dans <em>testing</em> et
1071 aboutissent dans <em>stable</em>. Vous ne devriez pas avoir peur d'utiliser
1072 <em>experimental</em> car ceci ne cause aucun souci aux ftpmasters, les
1073 paquets expérimentaux sont automatiquement enlevés quand vous envoyez le
1074 paquet dans <em>unstable</em> avec un numéro de version supérieur.
1076 Un nouveau logiciel qui ne risque pas d'endommager le système ira directement
1077 dans <em>unstable</em>.
1079 Une alternative à <em>experimental</em> consiste à utiliser vos pages
1080 personnelles sur le serveur <tt>people.debian.org</tt>.
1083 <sect1 id="codenames">Les noms de distribution
1085 Chaque distribution Debian diffusée a un <em>nom de code</em> : Debian 1.1
1086 s'appelle « buzz » ; Debian 1.2, « rex » ; Debian
1087 1.3 « bo » ; Debian 2.0, « hamm » ; Debian 2.1,
1088 « slink »; Debian 2.2 « potato » et Debian 3.0
1089 « woody ». Il y a aussi une pseudo-distribution nommée
1090 « sid », il s'agit de la distribution <em>unstable</em> ; comme
1091 les paquets vont de <em>unstable</em> à <em>testing</em> quand ils approchent
1092 de la stabilité, la distribution « sid » n'est jamais diffusée. En
1093 plus du contenu habituel d'une distribution Debian, « sid » contient
1094 des paquets pour des architectures qui ne sont pas encore officiellement
1095 reconnues ou pour lesquelles la distribution n'a pas encore été diffusée. Ces
1096 architectures seront intégrées ulterieurement à la distribution principale.
1098 Comme Debian est un projet de développement ouvert (i.e. tout le monde peut
1099 participer et suivre les développements), même les distributions
1100 <em>unstable</em> et <em>testing</em> sont disponibles sur les serveurs HTTP et
1101 FTP de Debian. Si nous avions nommé le répertoire qui contient la prochaine
1102 distribution à diffuser « testing », il aurait fallu changer son nom en
1103 « stable » au moment de la diffusion, ce qui aurait forcé les miroirs
1104 FTP à télécharger à nouveau la distribution complète (qui est plutôt volumineuse).
1106 D'un autre coté, si une distribution s'appelait <em>Debian-x.y</em> dès le
1107 départ, des personnes pourraient s'imaginer que la distribution Debian
1108 <em>x.y</em> est disponible. (Cela s'est produit par le passé, un distributeur
1109 avait gravé des cédéroms Debian 1.0 en utilisant une version de développement
1110 pré-1.0. C'est pour cette raison que la première version officielle était la
1111 version 1.1 et non la 1.0.)
1113 En conséquence, les noms de répertoire des distributions dans l'archive sont
1114 déterminés par leurs noms de code et non par leur statut (exemple :
1115 slink). Ces noms sont identiques pendant la période de développement et une
1116 fois la distribution diffusée ; des liens symboliques, qui peuvent être
1117 modifiés facilement, indiquent la distribution stable actuelle. Tout ceci
1118 explique pourquoi les répertoires des distributions sont nommés à partir des
1119 noms de code des distributions alors que <em>stable</em>, <em>testing</em> et
1120 <em>unstable</em> sont des liens symboliques qui pointent vers les répertoires
1123 <sect id="mirrors">Les miroirs Debian
1125 Les différentes archives de téléchargement et le site web disposent de plusieurs
1126 miroirs pour soulager les serveurs principaux d'une lourde charge. En fait,
1127 certains de ces serveurs ne sont pas publics et la charge est
1128 répartie sur une première série de serveurs. De cette façon, les
1129 utilisateurs ont toujours accès aux miroirs et s'y habituent, ce qui permet à
1130 Debian de mieux répartir les besoins en bande passante sur plusieurs serveurs et
1131 plusieurs réseaux différents et évitent aux utilisateurs de surcharger
1132 l'emplacement primaire. Notez que dans cette première série, les serveurs sont aussi à jour
1133 que possible car la mise à jour est déclenchée par les sites maîtres internes.
1135 Toutes les informations sur les miroirs Debian peuvent être trouvées à <url
1136 id="&url-debian-mirrors;">, y compris une liste des miroirs publics disponibles
1137 FTP/HTTP. Cette page utile inclut également des informations et des outils pour
1138 créer son propre miroir, soit en interne soit pour un accès public.
1140 Les miroirs sont en général mis en oeuvre par des tiers qui veulent aider
1141 Debian. C'est pourquoi les développeurs n'ont en général pas de compte sur ces
1144 <sect id="incoming-system">
1145 <heading>Le système Incoming
1147 Le système Incoming est responsable de la collecte des paquets mis à jour et de
1148 leur installation dans l'archive Debian. Il est constitué d'un ensemble de
1149 répertoires et de scripts qui sont installés à la fois sur
1150 <tt>&ftp-master-host;</tt> et sur <tt>&non-us-host;</tt>.
1152 Les paquets sont envoyés par tous les responsables Debian dans un répertoire
1153 nommé <file>unchecked</file>. Ce répertoire est parcouru toutes les 15 minutes
1154 par le script <prgn>katie</prgn> qui vérifie l'intégrité des paquets envoyés et
1155 les signatures de chiffrage. Si le paquet est considéré comme prêt à être
1156 installé, il est déplacé dans le répertoire <file>accepted</file>. S'il s'agit
1157 du premier envoi du paquet, il est déplacé dans le répertoire <file>new</file>
1158 où il attend l'approbation des ftpmasters. Si le paquet contient des fichiers
1159 devant être installés <em>à la main</em>, il est déplacé dans le répertoire
1160 <file>byhand</file> où il attend une installation manuelle par les ftpmasters.
1161 Sinon, si une erreur a été détectée, le paquet est refusé et il est déplacé
1162 dans le répertoire <file>reject</file>.
1164 Une fois que le paquet est accepté, le système envoie une confirmation par
1165 courrier au responsable et ferme les bogues corrigés par l'envoi, puis
1166 les compilateurs automatiques peuvent commencer la recompilation. Le paquet est
1167 maintenant accessible publiquement à <url id="&url-incoming;"> (une telle
1168 adresse n'existe pas pour les paquets de l'archive non-US) jusqu'à ce qu'il
1169 soit vraiment installé dans l'archive Debian. Ceci se produit seulement une
1170 fois par jour, le paquet est alors supprimé de <file>Incoming</file> et
1171 installé dans le pool avec les autres paquets. Une fois que toutes les autres
1172 mises à jour (générant des nouveaux fichiers d'index <file>Packages</file> et
1173 <file>Sources</file> par exemple) ont été effectuées, un script spécial est
1174 appelé pour demander aux miroirs primaires de se mettre à jour.
1176 Tous les développeurs Debian ont un droit d'écriture dans le répertoire
1177 <file>unchecked</file> pour pouvoir y envoyer leurs paquets, ils ont également
1178 accès au répertoire <file>reject</file> pour supprimer les mauvais envois ou
1179 déplacer certains fichiers dans le répertoire <file>unchecked</file>. Mais
1180 seuls les ftpmasters ont droit d'écriture dans les autres répertoires.
1181 C'est pourquoi vous ne pouvez pas supprimer un envoi une fois qu'il a été
1184 <sect1 id="delayed-incoming">Incoming différé
1186 Le répertoire <file>unchecked</file> comprend un sous-répertoire spécial,
1187 <file>DELAYED</file>. Celui-ci est lui-même subdivisé en neuf répertoires
1188 nommés <file>1-day</file> à <file>9-day</file>. Les paquets qui sont envoyés
1189 dans l'un de ces répertoires seront déplacés dans le vrai répertoire
1190 <file>unchecked</file> après le nombre correspondant de jours. Ceci est fait
1191 par un script qui est exécuté chaque jour et qui déplace les paquets entre les
1192 répertoires. Ceux qui sont dans « 1-day » sont installés dans
1193 <file>unchecked</file> alors que les autres sont déplacés dans le répertoire
1194 adjacent (par exemple, un paquet dans <file>5-day</file> sera déplacé dans
1195 <file>4-day</file>). Cette fonctionnalité est particulièrement utile pour les
1196 personnes qui effectuent des mises à jour indépendantes (NMU,
1197 « non-maintainer uploads »). Au lieu d'attendre avant d'envoyer la
1198 NMU, elle est envoyée dès qu'elle est prête dans l'un de ces répertoires
1199 <file>DELAYED/<var>x</var>-day</file>. Ceci laisse le nombre correspondant de
1200 jours au responsable pour réagir et envoyer lui-même une autre correction s'il
1201 n'est pas complètement satisfait par la NMU. Il peut également enlever
1202 complètement la NMU.
1204 L'utilisation de cette fonctionnalité de délai peut être simplifiée en
1205 l'intégrant à votre outil d'envoi. Par exemple, si vous utilisez
1206 <prgn>dupload</prgn> (voir <ref id="dupload">), vous pouvez ajouter cette
1207 partie à votre fichier de configuration :
1209 $delay = ($ENV{DELAY} || 7);
1211 fqdn => "&ftp-master-host;",
1212 login => "yourdebianlogin",
1213 incoming => "/org/ftp.debian.org/incoming/DELAYED/$delay-day/",
1217 Une fois que vous avez fait ce changement, <prgn>dupload</prgn> peut être
1218 utilisé pour envoyer facilement dans l'un des répertoires de délai ainsi :
1219 <example>DELAY=5 dupload --to delayed <changes-file></example>
1222 <heading>La distribution « testing »
1224 Les scripts qui mettent à jour la distribution <em>testing</em> sont exécutés
1225 chaque jour après l'installation des paquets mis à jour. Ils génèrent les
1226 fichiers <file>Packages</file> pour la distribution <em>testing</em>, mais ils
1227 le font d'une manière intelligente pour éviter toute incohérence et essayer de
1228 n'utiliser que des paquets sans bogues.
1230 L'inclusion d'un paquet de <em>unstable</em> est soumise aux
1231 conditions suivantes :
1232 <list compact="compact">
1233 <item><p>Le paquet doit avoir été disponible dans <em>unstable</em> depuis
1234 plusieurs jours ; le nombre précis dépend du champ d'urgence de
1235 l'envoi. Il s'agit de 10 jours pour une urgence faible, 5 jours pour une
1236 urgence moyenne et 2 jours pour une urgence élevée. Ces délais peuvent
1237 être doublés lors d'un gel de distribution ;</item>
1238 <item><p>Il doit avoir moins de bogues empêchant l'intégration dans la distribution que la
1239 version disponible dans <em>testing</em> ;</item>
1240 <item><p>Il doit être disponible pour toutes les architectures pour lesquelles
1241 il a été auparavant construit. <ref id="madison"> peut être
1242 intéressant pour vérifier cette information ;</item>
1243 <item><p>Il ne doit pas casser les dépendances d'un paquet qui est déjà
1244 disponible dans <em>testing</em> ;</item>
1245 <item><p>Les paquets dont il dépend doivent soit être déjà disponibles dans
1246 <em>testing</em> soit être acceptés dans <em>testing</em> au
1247 même moment (et ils doivent eux-mêmes respecter tous ces
1251 Les scripts génèrent certains fichiers pour expliquer
1252 pourquoi certains paquets sont maintenus hors de <em>testing</em>. Ils sont
1253 disponibles à <url id="&url-testing-maint;">. Sinon, il est possible
1254 d'utiliser le programme <prgn>grep-excuses</prgn> inclus dans le paquet
1255 <package>devscripts</package>. Il peut facilement être mis dans la <manref
1256 section="5" name="crontab"> pour rester informé de la progression de ses
1257 paquets dans <em>testing</em>.
1259 Le fichier <file>update_excuses</file> ne donne pas toujours la raison précise
1260 pour laquelle un paquet est refusé, on peut avoir à la chercher soi-même en
1261 regardant ce qui serait cassé avec l'inclusion du paquet. La <url
1262 id="&url-testing-maint;" name="vue d'ensemble de testing"> donne plus
1263 d'informations à propos des problèmes courants qui peuvent occasionner cela.
1265 Parfois, certains paquets n'entrent jamais dans <em>testing</em> parce que le
1266 jeu des inter-relations est trop compliqué et ne peut être résolu par le
1267 script. Dans ce cas, le responsable de version doit être contacté et il forcera
1268 l'inclusion du paquet.
1270 <sect id="pkg-info">Informations sur un paquet
1274 <sect1 id="pkg-info-web">Sur le web
1276 Chaque paquet a plusieurs pages web dédiées.
1277 <tt>http://&packages-host;/<var>package-name</var></tt> affiche chaque version
1278 du paquet disponible dans les différentes distributions. Les informations
1279 détaillées par version incluent la description du paquet, les dépendances et
1280 des liens pour récupérer le paquet.
1282 Le système de suivi des bogues trie les bogues par paquet. Vous pouvez regarder
1283 les bogues de chaque paquet à
1284 <tt>http://&bugs-host;/<var>package-name</var></tt>.
1286 <sect1 id="madison">L'outil <prgn>madison</prgn>
1288 <prgn>madison</prgn> est un outil en ligne de commande qui est disponible sur
1289 <tt>&ftp-master-host;</tt> et sur <tt>&non-us-host;</tt>. Il utilise un seul
1290 argument qui correspond au nom du paquet. Il affiche comme résultat quelle
1291 version du paquet est disponible pour chaque combinaison d'architecture et de
1292 distribution. Un exemple l'expliquera mieux.
1295 $ madison libdbd-mysql-perl
1296 libdbd-mysql-perl | 1.2202-4 | stable | source, alpha, arm, i386, m68k, powerpc, sparc
1297 libdbd-mysql-perl | 1.2216-2 | testing | source, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc
1298 libdbd-mysql-perl | 1.2216-2.0.1 | testing | alpha
1299 libdbd-mysql-perl | 1.2219-1 | unstable | source, alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc</example>
1301 Dans cet exemple, vous pouvez voir que la version dans <em>unstable</em> diffère
1302 de celle de <em>testing</em> et qu'il y a eu une NMU binaire seulement pour
1303 l'architecture alpha. À chaque fois, le paquet a été recompilé sur la plupart
1306 <sect id="pkg-tracking-system">Le système de suivi des paquets
1308 Le système de suivi des paquets (PTS)<footnote>« Package Tracking
1309 System »</footnote> est un outil pour suivre par courrier l'activité
1310 concernant un paquet source. Il suffit simplement de s'inscrire à un
1311 paquet source pour recevoir les courriers liés à celui-ci. Vous
1312 recevez les mêmes courriers que le responsable. Chaque courrier envoyé par le
1313 PTS est classé et associé à l'un des mots-clés listés ci-dessous. Ceci vous
1314 permettra de sélectionner les courriers que vous voulez recevoir.
1316 Par défaut, vous recevrez :
1319 <item>Tous les rapports de bogue et les discussions qui
1322 <tag><tt>bts-control</tt>
1323 <item>Les courriers de contrôle notifiant le changement d'état de l'un des
1326 <tag><tt>upload-source</tt>
1327 <item>Le courrier de confirmation de <prgn>katie</prgn> quand un paquet
1328 source envoyé a été accepté.
1330 <tag><tt>katie-other</tt>
1331 <item>Les autres courriers d'avertissement et d'erreur de
1332 <prgn>katie</prgn> (comme une incohérence de forçage pour les champs
1333 section ou priorité).
1335 <tag><tt>default</tt>
1336 <item>Tout courrier non automatique envoyé au PTS par les personnes qui
1337 veulent contacter les inscrits au paquet.
1339 <tag><tt>summary</tt>
1340 <item>À l'avenir, vous pourriez recevoir des courriers de résumé pour vous
1341 tenir informé de l'état du paquet (statistiques sur les bogues, vue
1342 générale du portage, progression dans <em>testing</em>,
1347 Vous pouvez également décider de recevoir plus d'informations :
1349 <tag><tt>upload-binary</tt>
1350 <item>Le courrier d'information de <prgn>katie</prgn> quand un paquet
1351 binaire envoyé est accepté (pour vérifier que votre paquet est
1352 recompilé pour toutes les architectures).
1355 <item>Les modifications CVS<footnote><p><em>CVS commits</em></footnote> si le
1356 responsable a mis en place un système pour faire suivre les
1357 notifications de modifications vers le PTS.
1361 <sect1 id="pts-commands">L'interface de courrier du PTS
1363 Vous pouvez contrôler votre (vos) inscription(s) au PTS en envoyant différents
1364 commandes à <email>pts@qa.debian.org</email>.
1367 <tag><tt>subscribe <srcpackage> [<email>]</tt>
1368 <item>Inscrit <var>email</var> aux communications liées au paquet source
1369 <var>srcpackage</var>. L'adresse de l'expéditeur est utilisé si le
1370 second argument n'est pas présent. Si <var>srcpackage</var> n'est pas
1371 un paquet source valide, vous obtiendrez un avertissement. Cependant,
1372 s'il s'agit d'un paquet binaire valide, le PTS vous inscrira pour le
1373 paquet source correspondant.
1375 <tag><tt>unsubscribe <srcpackage> [<email>]</tt>
1376 <item>Supprime une inscription précédente au paquet source
1377 <var>srcpackage</var> en utilisant l'adresse spécifiée ou l'adresse de
1378 l'expéditeur si le second argument n'est pas rempli.
1380 <tag><tt>which [<email>]</tt>
1381 <item>Liste les inscriptions pour l'expéditeur ou pour l'adresse indiquée
1382 si elle est spécifiée.
1384 <tag><tt>keyword [<email>]</tt>
1385 <item>Donne les mots-clés que vous acceptez. Chaque courrier envoyé par le
1386 PTS est associé à un mot-clé et vous ne recevez que les courriers associés
1387 aux mots-clés que vous avez acceptés. Voici la liste des mots-clés
1390 <item><tt>bts</tt> : courriers venant du système de gestion de bogues (BTS) Debian
1391 <item><tt>bts-control</tt> : réponses aux courriers envoyés à
1392 <email>control@bugs.debian.org</email>
1393 <item><tt>summary</tt> : courriers de résumé automatique sur l'état
1395 <item><tt>cvs</tt> : notifications de modifications CVS
1396 <item><tt>upload-source</tt> : annonce d'un nouvel envoi de paquet
1397 source qui a été accepté
1398 <item><tt>upload-binary</tt> : annonce d'un nouvel envoi de binaire
1400 <item><tt>katie-other</tt> : autres courriers des ftpmasters
1401 (incohérence de forçage, etc.)
1402 <item><tt>default</tt> : tous les autres courriers (ceux qui ne sont
1406 <tag><tt>keyword <srcpackage> [<email>]</tt>
1407 <item>Identique à l'élément précédent, mais pour un paquet source donné
1408 car vous pouvez sélectionner un ensemble de mots-clés différent pour
1409 chaque paquet source.
1411 <tag><tt>keyword [<email>] {+|-|=} <list of keywords></tt>
1412 <item>Accepte (+) ou refuse (-) les courriers associés au(x) mot(s)-clé(s).
1413 Définit la liste (=) des mots-clés acceptés.
1415 <tag><tt>keyword <srcpackage> [<email>] {+|-|=} <list of keywords></tt>
1416 <item>Identique à l'élément précédent, mais remplace la liste des mots-clés
1417 pour le paquet source indiqué.
1419 <tag><tt>quit | thanks | --</tt>
1420 <item>Arrête le traitement des commandes. Toutes les lignes suivantes sont
1421 ignorées par le robot.
1424 <sect1 id="pts-mail-filtering">Filtrer les courriers du PTS
1426 Une fois que vous vous êtes inscrit à un paquet, vous recevrez les courriers
1427 envoyés à <tt><var>srcpackage</var>@packages.qa.debian.org</tt>. Ces courriers
1428 ont des en-têtes spéciaux ajoutés pour vous permettre de les filtrer dans des
1429 boîtes aux lettres avec <prgn>procmail</prgn>. Les en-têtes ajoutés sont
1430 <tt>X-Loop</tt>, <tt>X-PTS-Package</tt>, <tt>X-PTS-Keyword</tt> et
1431 <tt>X-Unsubscribe</tt>.
1433 Voici un exemple d'en-têtes ajoutés pour une notification d'envoi de
1434 source sur le paquet <package>dpkg</package> :
1436 X-Loop: dpkg@&pts-host;
1438 X-PTS-Keyword: upload-source
1439 X-Unsubscribe: echo 'unsubscribe dpkg' | mail pts@qa.debian.org
1442 <sect1 id="pts-cvs-commit">Faire suivre les modifications de CVS vers le PTS
1444 Si vous utilisez un référentiel CVS accessible publiquement pour maintenir votre
1445 paquet Debian, vous pouvez vouloir faire suivre les notifications de
1446 modifications vers le PTS pour que les inscrits (par exemple, des
1447 co-responsables) puissent suivre de près l'évolution du paquet.
1449 C'est très facile à mettre en place. Une fois que votre référentiel génère des
1450 notifications de modifications, vous devez simplement vous assurer qu'il envoie une
1451 copie de tous ces courriers à <tt><var>srcpackage</var>_cvs@&pts-host;</tt>.
1452 Seules les personnes qui ont accepté le mot-clé <em>cvs</em> recevront les
1455 <sect id="ddpo">Vue d'ensemble des paquets d'un développeur
1457 Un portail web pour l'Assurance Qualité (QA) est disponible à <url
1458 id="&url-ddpo;"> qui affiche un tableau de tous les paquets d'un
1459 développeur (y compris ceux pour lequel il est co-responsable). Le tableau donne
1460 un bon résumé sur les paquets d'un développeur : nombre de bogues par
1461 gravité, liste des versions disponibles, état des tests et des liens vers
1462 d'autres informations utiles.
1464 C'est une bonne idée de vérifier régulièrement vos données pour ne pas oublier
1465 de bogues ouverts et pour ne pas oublier quels paquets sont sous votre
1469 <chapt id="pkgs">Gestion des paquets
1471 Ce chapitre contient des informations relatives à la création, l'envoi, la
1472 maintenance et le portage des paquets.
1474 <sect id="upload">La mise à jour d'un paquet
1475 <sect1>Nouveaux paquets
1477 Si vous voulez créer un nouveau paquet pour la distribution Debian, vous devriez
1478 commencer par consulter la liste des <url id="&url-wnpp;" name="paquets en
1479 souffrance et paquets souhaités">. Vous pourrez ainsi vérifier que personne ne
1480 travaille déjà sur ce paquet et éviter un double travail. Consultez aussi cette
1481 page si vous voulez en savoir plus.
1483 Supposons que personne ne travaille sur le paquet que vous visez, vous devez
1484 alors envoyer un rapport de bogue (voir <ref id="submit-bug">) concernant le
1485 pseudo-paquet <package>wnpp</package>. Ce courrier devra décrire le paquet que
1486 vous projetez de créer, la licence de ce paquet et l'URL à laquelle le source
1487 peut être téléchargé. Cette liste n'est pas limitative.
1489 Le sujet de votre rapport de bogue devra être <ITP<footnote><p><em>Intent To
1490 Package</em> : intention de mise en paquet</footnote> :
1491 <var>NomDuPaquet</var> — <var>courte description</var>>, en remplaçant
1492 <var>NomDuPaquet</var> par le nom du paquet. La gravité du bogue sera
1493 <em>wishlist</em>. Si vous le jugez nécessaire, envoyez une copie à
1494 &email-debian-devel; en mettant cette adresse dans le champ
1495 <tt>X-Debbugs-CC:</tt> de l'en-tête du message. N'utilisez pas le champ
1496 <tt>CC:</tt> car de cette manière le sujet du message ne contiendrait pas le
1499 Il faudra aussi ajouter une entrée <tt>Closes: bug#<var>nnnnn</var></tt> dans le
1500 fichier <file>changelog</file> du nouveau paquet. Cette indication fermera
1501 automatiquement le rapport de bogue à l'installation du nouveau paquet sur les
1502 serveurs d'archivage (voir <ref id="upload-bugfix">).
1504 Plusieurs raisons nous poussent à demander aux responsables
1505 d'annoncer leur intention :
1507 <item>Les responsables ont ainsi la possibilité de puiser dans l'expérience
1508 des autres responsables et cela leur permet de savoir si une autre
1509 personne travaille déjà dessus.
1510 <item>D'autres personnes qui envisagent de travailler sur le même paquet
1511 apprendront ainsi qu'il existe déjà un volontaire, l'effort peut alors
1512 être partagé.</item>
1513 <item>Cela permet aux autres responsables de connaître le nouveau
1514 paquet mieux que ne le permettent la description d'une ligne et l'habituelle
1515 entrée de type changelog <em>Initial release</em> postée sur
1516 <tt>debian-devel-changes</tt>.
1517 <item>C'est une information utile pour
1518 les gens qui utilisent la distribution <em>unstable</em> et qui sont nos
1519 premiers testeurs. Nous devons faciliter la tâche de ces gens.
1520 <item>Avec ces annonces, les développeurs Debian et toutes les autres personnes
1521 intéressées peuvent se faire une meilleure idée des évolutions et des
1522 nouveautés du projet.
1525 <sect1 id="changelog-entries">
1526 <heading>Ajouter une entrée à <file>debian/changelog</file></heading>
1528 Les modifications que vous apportez au paquet doivent être notifiées dans le
1529 fichier <file>debian/changelog</file>. Ces notes doivent donner une
1530 description concise des changements, expliquer pourquoi (si ce n'est pas
1531 clair) et indiquer si des rapports de bogue ont été clos. Il faut aussi indiquer
1532 quand le paquet a été terminé. Ce fichier sera installé dans
1533 <file>/usr/share/doc/<var>paquet</var>/changelog.Debian.gz</file> ou
1534 <file>/usr/share/doc/<var>paquet</var>/changelog.gz</file> pour un paquet
1537 Le fichier <file>debian/changelog</file> a une structure précise comportant
1538 différents champs. Le champ <em>distribution</em> est décrit dans <ref
1539 id="upload-dist">. Vous trouverez plus d'informations sur la structure de ce
1540 fichier dans la section « <file>debian/changelog</file> » de la
1541 <em>charte Debian</em>.
1543 Les entrées du fichier <file>changelog</file> peuvent être
1544 utilisées pour fermer des rapports de bogue au moment où le paquet est
1545 installé dans l'archive. Voir la section <ref id="upload-bugfix">.
1547 Par convention, l'entrée changelog d'un paquet qui contient une nouvelle version
1548 amont ressemble à :
1550 * new upstream version
1553 Quelques outils peuvent vous aider à créer des entrées et à finaliser le fichier
1554 <file>changelog</file> pour une livraison — voir les sections <ref
1555 id="devscripts"> et <ref id="dpkg-dev-el">.
1559 <sect1 id="upload-checking">Vérifier le paquet avant de l'envoyer
1561 Avant d'envoyer votre paquet, vous devriez faire quelques tests de base. Vous
1562 devriez au moins faire les tests suivants (il vous faut une ancienne version
1565 <item>Installez le paquet et vérifiez que le logiciel fonctionne. Si le
1566 paquet existait déjà dans une version plus ancienne, faites une mise à
1568 <item>Exécutez <prgn>lintian</prgn> sur votre paquet. Vous pouvez exécuter
1569 <prgn>lintian</prgn> comme suit : <tt>lintian -v
1570 <var>package-version</var>.changes</tt>. Ce programme fera une
1571 vérification sur les paquets source et binaire. Si vous ne comprenez pas
1572 les messages générés par <prgn>lintian</prgn>, essayez l'option
1573 <tt>-i</tt>. Cette option rendra <prgn>lintian</prgn> beaucoup plus
1574 bavard dans sa description du problème.
1576 En principe, un paquet pour lequel <prgn>lintian</prgn> génère des erreurs
1577 (elles commencent par <tt>E</tt>) <em>ne doit pas</em> être installé dans
1580 Pour en savoir plus sur <prgn>lintian</prgn>, reportez-vous à la section
1581 lintian <ref id="lintian">.
1582 <item>Faites régresser le paquet vers sa version précédente si elle existe
1583 — cela permet de tester les scripts <file>postrm</file> et
1585 <item>Désinstallez le paquet et réinstallez-le.
1589 <sect1>Générer le fichier « changes »
1591 Chaque nouvelle version d'un paquet installé sur les archives FTP Debian doit
1592 être accompagnée d'un fichier <file>.changes</file>. Ce fichier explique à
1593 l'administrateur de l'archive Debian ce qu'il doit faire du paquet. Il est en
1594 général créé par <prgn>dpkg-genchanges</prgn> au cours du processus de
1595 fabrication du paquet.
1597 Le fichier <file>changes</file> est un fichier de contrôle qui contient les
1598 champs suivants :
1600 &control-file-fields;
1602 Tous ces champs sont obligatoires pour une installation sur les serveurs Debian.
1603 Vous pouvez consulter la liste des champs de contrôle dans la <url
1604 id="&url-debian-policy;" name="charte Debian"> pour connaître les valeurs que
1605 prennent ces champs. Vous pouvez fermer un rapport de bogue automatiquement
1606 avec le champ <tt>Description</tt> (voir <ref id="upload-bugfix">).
1609 <sect2>L'archive des sources amonts
1611 La première fois qu'un paquet est installé dans l'archive pour une version amont
1612 donnée, le fichier <file>tar</file> de cette version amont doit être
1613 téléchargé et mentionné dans le fichier <file>.changes</file>. Par la suite,
1614 ce fichier <file>tar</file> sera utilisé pour générer les fichiers
1615 <file>diff</file> et <file>.dsc</file> et il ne sera pas nécessaire de le
1616 télécharger à nouveau.
1618 Par défaut, <prgn>dpkg-genchanges</prgn> et <prgn>dpkg-buildpackage</prgn>
1619 incluront le fichier <file>tar</file> amont si et seulement si le numéro de
1620 révision du paquet source est 0 ou 1, ce qui indique une nouvelle version
1621 amont. Ce comportement peut être modifié en utilisant <tt>-sa</tt> pour
1622 l'inclure systématiquement ou <tt>-sd</tt> pour ne jamais l'inclure.
1624 Si la mise à jour ne contient pas le fichier <file>tar</file> des sources
1625 originaux, <prgn>dpkg-source</prgn> <em>doit</em>, pour construire les
1626 fichiers <file>.dsc</file> et <file>diff</file> de la mise à jour, utiliser
1627 un fichier <tt>tar</tt> identique à l'octet près à celui déjà présent dans
1631 <sect2 id="upload-dist">Choisir une distribution
1633 Le champ <tt>Distribution</tt>, qui provient de la première ligne du fichier
1634 <file>debian/changelog</file>, indique à quelle distribution le paquet est
1637 Il existe plusieurs valeurs possibles pour ce champ : « stable »,
1638 « unstable », « testing-proposed-updates » et
1639 « experimental ». En fait, il y a deux autres possibilités :
1640 « stable-security » et « testing-security ». Cependant,
1641 ces dernières sont utilisées par l'équipe de sécurité ; n'envoyez pas
1642 de paquets dedans sans l'accord de celle-ci.
1644 Il est techniquement possible d'envoyer un paquet dans plusieurs distributions
1645 en même temps, mais ceci n'a habituellement aucun sens d'utiliser cette
1646 fonctionnalité car les dépendances d'un paquet peuvent varier selon les
1647 distributions. En particulier, il est absurde de combiner la distribution
1648 <em>experimental</em> avec tout autre chose.
1651 <sect3 id="upload-stable">Mettre à jour un paquet de la distribution
1654 Livrer un paquet pour la distribution <em>stable</em> signifie que le paquet
1655 sera dirigé vers le répertoire <file>stable-proposed-updates</file> des
1656 archives Debian pour y être testé avant d'être effectivement inclus dans
1659 Une livraison pour la distribution <em>stable</em> requiert des soins
1660 supplémentaires. Un paquet de cette distribution ne devrait être mis à jour
1661 que dans les cas suivants :
1663 <item>un problème de sécurité (un avis de sécurité Debian<footnote>Debian
1664 security advisory</footnote>),
1665 <item>un problème fonctionnel vraiment critique,
1666 <item>un paquet devenu ininstallable,
1667 <item>un paquet indisponible pour une architecture.
1670 Il est fortement déconseillé de changer quoi que ce soit si ce
1671 n'est pas important car même une modification triviale peut provoquer un
1672 bogue. Livrer une nouvelle version amont d'un logiciel pour
1673 corriger un problème de sécurité est désapprouvé ; dans la plupart
1674 des cas, la bonne solution consiste à prendre le correctif correspondant de
1675 la nouvelle version amont et à l'appliquer à l'ancienne (faire un
1676 rétro-portage<footnote><em>backport</em></footnote> du correctif).
1678 Les paquets livrés pour <em>stable</em> doivent être compilés avec la
1679 distribution <em>stable</em> pour que leurs dépendances se limitent aux
1680 bibliothèques (et autres paquets) disponibles dans <em>stable</em> ;
1681 un paquet livré pour la distribution <em>stable</em> qui dépend d'une
1682 bibliothèque qui n'est disponible que dans <em>unstable</em> sera rejeté.
1683 Modifier les dépendances d'autres paquets (en manipulant le champ
1684 <tt>Provides</tt> ou les fichiers shlibs) et, peut-être, rendre ces paquets
1685 ininstallables, est fortement déconseillé.
1687 L'équipe responsable de la distribution<footnote><em>the Release
1688 team</em></footnote> (joignable à l'adresse &email-debian-release;)
1689 évaluera régulièrement le contenu de <em>stable-proposed-updates</em> et
1690 décidera si votre paquet peut être inclus dans la distribution
1691 <em>stable</em>. Soyez précis (et, si nécessaire, prolixe) quand vous
1692 décrivez, dans le fichier changelog, vos changements pour une livraison
1693 vers <em>stable</em>, sinon le paquet ne sera pas pris en considération.
1695 <sect3 id="upload-t-p-u">Mettre à jour un paquet de la distribution
1696 <em>testing-proposed-updates</em>
1698 La distribution <em>testing</em> est peuplée avec des paquets en provenance
1699 d'<em>unstable</em> selon des règles expliquées dans <ref id="testing">.
1700 Cependant, le responsable de distribution peut stopper les scripts de
1701 <em>testing</em> quand il veut geler la distribution. Dans ce cas, vous
1702 pouvez envoyer vos paquets vers <em>testing-proposed-updates</em> pour
1703 fournir des paquets corrigés durant le gel.
1705 Souvenez-vous que les paquets envoyés là ne sont pas traités automatiquement,
1706 ils doivent passer entre les mains du responsable de version. Vous devez
1707 donc avoir une bonne raison pour les y envoyer. Pour savoir ce que
1708 représente une bonne raison aux yeux du responsable de version, vous
1709 devriez lire les instructions données qu'il envoie régulièrement sur
1710 &email-debian-devel-announce;.
1712 Vous ne devriez pas envoyer un paquet à <em>testing-proposed-updates</em> quand
1713 vous pouvez le mettre à jour par <em>unstable</em>. Si vous ne pouvez faire
1714 autrement (par exemple, parce que vous avez une nouvelle version dans
1715 <em>unstable</em>), vous pouvez l'utiliser, mais il est recommandé de
1716 demander l'autorisation du responsable de distribution auparavant.
1718 <sect1 id="uploading">Mettre à jour un paquet
1720 <sect2 id="upload-ftp-master">Installer un paquet sur
1723 Pour installer un paquet, vous avez besoin d'un compte sur
1724 <ftpsite>&ftp-master-host;</ftpsite>, ce que vous devriez déjà avoir en tant
1725 que développeur Debian. Si vous utilisez <prgn>scp</prgn> ou
1726 <prgn>rsync</prgn> pour télécharger vos paquets, placez-les dans
1727 &us-upload-dir;. Si vous utilisez un FTP anonyme, placez-les dans
1728 &upload-queue;. Attention, il est préférable de transférer le fichier
1729 <tt>changes</tt> en dernier. Dans le cas contraire, votre livraison pourrait
1730 être rejetée car l'outil de maintenance de l'archive pourrait lire le fichier
1731 <tt>changes</tt> et constater que les fichiers ne sont pas tous présents. Si
1732 vous ne voulez pas vous embêter avec l'ordre de transfert des fichiers, vous
1733 pouvez tout simplement copier vos fichiers dans un répertoire temporaire de
1734 <tt>ftp-master</tt> et les déplacer ensuite vers &us-upload-dir;.
1736 <em>Note :</em> ne téléchargez pas sur <tt>ftp-master</tt> de paquet
1737 concernant la cryptographie qui appartiendrait à <em>contrib</em> ou <em>non-free</em>.
1738 Ces logiciels doivent aller sur <tt>non-us</tt> (voir <ref
1739 id="upload-non-us">). De plus, les paquets contenant un logiciel protégé par
1740 des brevets américains ne peuvent pas être envoyés sur
1741 <tt>ftp-master</tt> ; selon le cas, ils peuvent peut-être pourtant être
1742 envoyés vers <file>non-US/non-free</file> (le paquet est dans
1743 <em>non-free</em> à cause de problèmes de distribution et non pas à cause de
1744 la licence du logiciel). Quand vous ne pouvez télécharger sur
1745 <tt>ftp-master</tt>, vous ne pouvez pas non plus télécharger sur
1746 <tt>chiark</tt> ou <tt>erlangen</tt>. Si vous ne savez pas si votre paquet
1747 est protégé par un brevet ou s'il est soumis aux lois de contrôle des
1748 exportations américaines, posez la question sur la liste
1749 &email-debian-devel;.
1751 Les paquets <ref id="dupload"> ou <ref id="dput"> pourront vous faciliter le
1752 travail lors du téléchargement. Ces programmes, bien pratiques, aident à
1753 automatiser le processus d'envoi de paquet vers Debian
1755 Après avoir téléchargé votre paquet, vous pouvez vérifier ce qu'en
1756 fera le logiciel de maintenance de l'archive en exécutant
1757 <prgn>dinstall</prgn> sur votre fichier <file>.changes</file> :
1758 <example>dinstall -n foo.changes</example>.
1759 Notez que <prgn>dput</prgn> peut le faire automatiquement pour vous.
1761 <sect2 id="upload-non-us">Installer un paquet sur <tt>non-US</tt>
1763 Comme nous l'avons dit un peu plus haut, les programmes soumis au contrôle des
1764 exportations américaines ne doivent pas être installés sur
1765 <tt>ftp-master</tt>. Installez le paquet sur
1766 <ftpsite>non-us.debian.org</ftpsite> dans le répertoire &non-us-upload-dir;
1767 (<ref id="dupload"> et <ref id="dput"> avec les options adéquates peuvent
1768 tous deux être utilisés pour cela). Par défaut, vous pouvez utiliser le même
1769 <em>login/mot de passe</em> que pour <tt>ftp-master</tt>. Si vous utilisez
1770 une connexion FTP anonyme pour le téléchargement, placez vos fichiers dans le
1771 répertoire &upload-queue;.
1773 Tout comme sur <tt>ftp-master</tt>, vous pouvez vérifier votre téléchargement
1774 avec : <example>dinstall -n foo.changes</example>
1776 Attention, les personnes résidant aux États-Unis et les citoyens américains sont
1777 soumis à des restrictions sur l'exportation des logiciels de cryptographie.
1778 Au moment où j'écris, les citoyens américains peuvent exporter quelques
1779 logiciels de cryptographie soumis à une obligation de déclaration auprès du
1780 département du commerce américain. Toutefois, cette restriction a été
1781 abandonnée pour des logiciels qui sont déjà disponibles en dehors des
1782 États-Unis. En conséquence, tout logiciel de cryptographie de la section
1783 <em>main</em> de l'archive Debian qui ne dépend d'aucun paquet d'une autre
1784 section — il ne doit pas dépendre de <em>non-US/main</em> — peut
1785 être téléchargé sur <tt>ftp-master</tt> ou l'une de ses files d'attente
1788 La <em>charte Debian</em> n'empêche pas les résidents et citoyens américains de
1789 livrer des paquets sur <tt>non-US</tt> mais ils devront être vigilants en le
1790 faisant. Nous recommandons aux responsables concernés de prendre toutes les
1791 précautions nécessaires, <em>y compris la consultation d'un juriste</em>,
1792 pour s'assurer qu'ils n'enfreignent pas une loi américaine en livrant un
1793 paquet sur <tt>non-US</tt>.
1795 Pour les paquets des sections <em>non-US/main</em> et <em>non-US/contrib</em>,
1796 les responsables devraient au moins suivre la <url id="&url-u.s.-export;"
1797 name="procédure décrite par le gouvernement américain">. Les responsables de
1798 paquets <em>non-US/non-free</em> devront en plus consulter les <url
1799 id="&url-notification-of-export;" name="règles de déclaration d'exportation
1800 pour les logiciels commerciaux">.
1802 Cette section a pour seul but d'informer, elle n'a pas valeur de conseil
1803 juridique. Une fois encore, nous recommandons aux résidents et citoyens
1804 américains de consulter un juriste avant de livrer un paquet sur
1808 <sect2>Installer un paquet via <tt>chiark</tt>
1810 Si votre connexion vers <tt>ftp-master</tt> est lente, vous avez plusieurs
1811 possibilités. L'une d'elles consiste à télécharger vos fichiers dans
1812 <file>Incoming</file> en passant par le serveur <tt>chiark</tt> en Europe.
1813 Pour les détails, consultez <url id="&url-chiark-readme;">.
1815 Attention, ne téléchargez pas de paquet contenant un logiciel soumis aux lois de
1816 contrôle des exportations américaines sur <tt>chiark</tt>. Les paquets
1817 téléchargés sur ce serveur sont redirigés vers <tt>ftp-master</tt>, les
1818 indications de la section <ref id="upload-ftp-master"> sont applicables ici
1821 Le programme <prgn>dupload</prgn> est capable de télécharger sur
1822 <tt>chiark</tt> ; consultez la documentation de ce programme pour en
1826 <sect2>Installer un paquet via <tt>erlangen</tt>
1828 Vous pouvez aussi accéder à un serveur situé en Allemagne : il vous suffit
1829 d'ouvrir une connexion anonyme sur <url id="&url-upload-erlangen;">.
1831 Le téléchargement fait sur ce serveur doit être aussi complet que s'il était
1832 fait dans le répertoire <file>Incoming</file> sur <tt>ftp-master</tt> : il
1833 doit comporter le fichier <file>.changes</file> et tous les fichiers
1834 mentionnés dans ce dernier. Le serveur vérifie que le fichier
1835 <file>.changes</file> est bien signé avec la clé PGP d'un développeur Debian
1836 pour éviter que des faux paquets n'atteignent <tt>ftp-master</tt>. Vérifiez
1837 bien que le champ <tt>Maintainer</tt> du fichier <file>.changes</file>
1838 contient <em>votre</em> adresse électronique. De même que sur
1839 <tt>ftp-master</tt>, cette adresse est ensuite utilisée pour toutes les
1842 Il n'est pas nécessaire de déplacer votre fichier dans un autre répertoire après
1843 le téléchargement, contrairement au serveur <tt>chiark</tt>. Vous devriez
1844 ensuite recevoir un courrier du serveur expliquant ce qu'il a fait de votre
1845 paquet. Normalement, il devrait avoir été déplacé vers
1846 <tt>ftp-master</tt> ; vous serez informé par le même biais si une erreur
1847 s'est produite au cours du processus.
1849 Attention, ne téléchargez pas de paquet contenant un logiciel soumis aux lois de
1850 contrôle des exportations américaines sur <tt>erlangen</tt>. Les paquets
1851 téléchargés sur ce serveur sont redirigés vers <tt>ftp-master</tt>, les
1852 indications de la section <ref id="upload-ftp-master"> sont applicables ici
1855 Le programme <prgn>dupload</prgn> est capable de télécharger sur
1856 <tt>erlangen</tt> ; consultez la documentation de ce programme pour en
1860 <sect2>Les autres serveurs
1862 Un autre serveur est disponible aux États-Unis ; c'est un bon point de
1863 repli quand il est difficile de joindre <tt>ftp-master</tt>. Livrez vos
1864 paquets à l'adresse <url id="&url-upload-samosa;"> comme vous le feriez sur
1867 Il existe aussi un serveur au Japon : téléchargez vos paquet par FTP
1868 anonyme sur <url id="&url-upload-jp;">.
1872 <sect1 id="upload-announce">Annoncer une mise à jour
1874 Quand un paquet est mis à jour, une annonce doit être envoyée sur l'une des
1875 listes « debian-changes ». Ceci est maintenant géré automatiquement
1876 par le logiciel de gestion de l'archive quand il est exécuté (en principe, une
1877 fois par jour). Vous devez juste utiliser une version récente de
1878 <package>dpkg-dev</package> (>= 1.4.1.2). Le courrier généré par le logiciel
1879 de maintenance de l'archive contiendra le fichier <file>.changes</file> signé
1880 que vous avez livré avec votre paquet. Précédemment, cette charge revenait à
1881 <prgn>dupload</prgn> ; vérifiez que vous avez bien configuré
1882 <prgn>dupload</prgn> pour qu'il n'envoie pas ces annonces (cherchez
1883 <tt>dinstall_runs</tt> dans la documentation de <prgn>dupload</prgn>).
1885 Si un paquet est mis à jour avec un champ <tt>Distribution:</tt> à
1886 <em>stable</em>, l'annonce est envoyée sur la liste &email-debian-changes;.
1887 S'il est mis à jour avec un champ <tt>Distribution:</tt> à <em>unstable</em> ou
1888 <em>experimental</em>, l'annonce est envoyée sur la liste
1889 &email-debian-devel-changes;.
1891 <sect1 id="upload-notification">
1892 <heading>Notification de l'installation d'un nouveau paquet</heading>
1894 Les administrateurs de l'archive Debian sont responsables de l'installation des
1895 mises à jour. La plupart des mises à jour sont gérées quotidiennement par le
1896 logiciel de gestion de l'archive <prgn>katie</prgn>. Les mises à jour de
1897 paquets sur la distribution <em>unstable</em> sont installées
1898 ainsi. Dans les autres cas et notamment dans le cas d'un nouveau paquet,
1899 celui-ci sera installé manuellement. Il peut s'écouler jusqu'à un mois entre le
1900 téléchargement d'un paquet vers un serveur et son installation effective. Soyez
1903 Dans tous les cas, vous recevrez un accusé de réception par courrier
1904 électronique indiquant que votre paquet a été installé et quels rapports de
1905 bogues ont été clos. Lisez attentivement ce courrier et vérifiez que tous les
1906 rapports de bogue que vous vouliez clore sont bien dans cette liste.
1908 L'accusé de réception indique aussi la section dans laquelle le paquet a été
1909 installé. S'il ne s'agit pas de votre choix, vous recevrez un second courrier
1910 qui vous informera de cette différence (voir ci-dessous).
1912 <sect2 id="override-file">Le fichier <em>override</em>
1914 Les champs <tt>Section</tt> et <tt>Priority</tt> du fichier
1915 <file>debian/control</file> n'indiquent ni où le paquet sera installé dans
1916 l'archive Debian, ni sa priorité. Afin de conserver la cohérence de
1917 l'archive, ce sont les administrateurs qui contrôlent ces champs. Les valeurs
1918 du fichier <file>debian/control</file> sont juste des indications.
1920 Les administrateurs de l'archive indiquent les sections et priorités des paquets
1921 dans le fichier <em>override</em>. Si ce fichier <em>override</em> et le
1922 fichier <file>debian/control</file> de votre paquet diffèrent, vous en serez
1923 informé par courrier électronique quand votre paquet sera installé dans
1924 l'archive. Vous pourrez corriger votre fichier <em>debian/control</em> avant
1925 votre prochain téléchargement ou alors vous pourrez vouloir modifier le
1926 fichier <em>override</em>.
1928 Pour modifier la section dans laquelle un paquet est archivé, vous devez d'abord
1929 vérifier que fichier <file>debian/control</file> est correct. Ensuite,
1930 envoyez un courrier à &email-override; ou un rapport de bogue sur le
1931 pseudo-paquet <package>ftp.debian.org</package> demandant la modification de
1932 la section ou de la priorité de votre paquet. Exposez bien les raisons qui
1933 vous amènent à demander ces changements.
1935 Pour en savoir plus sur les <em>fichiers override</em>, reportez-vous à <manref
1936 section="8" name="dpkg-scanpackages">, &file-bts-mailing; et &file-bts-info;.
1939 <sect id="nmu">Mise à jour indépendante
1941 Dans certaines circonstances, il est nécessaire qu'une personne autre que le
1942 responsable d'un paquet fasse une mise à jour de ce paquet. Ce type de
1943 mise à jour est désigné en anglais par l'expression <em>non-maintainer
1944 upload (NMU)</em>. Dans le présent document, nous traduisons librement
1945 cette expression par « mise à jour indépendante ».
1947 Ces mises à jour indépendantes de binaires font de temps en temps partie du
1948 travail normal des porteurs qui compilent les paquets pour d'autres
1949 architectures (voir <ref id="porting">). Un développeur peut aussi faire
1950 des mises à jour indépendantes quand il corrige le paquet d'un autre
1951 développeur pour éliminer un problème de sécurité ou un bogue bloquant. Cela
1952 se produit plus particulièrement en période de gel de la distribution de
1953 développement ou quand le responsable officiel du paquet ne peut pas
1954 fournir une correction dans un délai raisonnable.
1956 Ce chapitre contient des informations qui vous expliqueront quand et comment
1957 faire des mises à jour indépendantes. Une distinction fondamentale doit
1958 être faite entre les mises à jour indépendantes sources et les mises à
1959 jour indépendantes binaires. Elle est explicitée dans la section suivante.
1961 <sect1 id="nmu-terms">Terminologie
1963 Deux nouvelles expressions sont introduites dans cette section :
1964 « mise à jour indépendante source » et « mise à jour
1965 indépendante binaire ». Ces expressions ont une définition précise dans le
1966 monde Debian. Elles correspondent toutes deux au même type d'activité ;
1967 elles impliquent toutes deux qu'une personne fait une mise à jour d'un paquet
1968 alors qu'elle n'est pas officiellement responsable de ce paquet. C'est pourquoi
1969 nous qualifions ces mises à jours
1970 d'<em>indépendantes</em><footnote>Contrairement à ce que pourrait laisser
1971 entendre cette traduction de <em>non-maintainer upload</em>, il n'est pas
1972 question d'agir sans prévenir le responsable au préalable (voir <ref
1973 id="nmu-guidelines">).</footnote>.
1975 Une mise à jour indépendante source est une livraison de paquet faite par une
1976 personne qui n'est pas le responsable officiel de ce paquet avec pour objectif
1977 de corriger un bogue dans le paquet. Une mise à jour indépendante source
1978 implique toujours une modification des sources du paquet, même s'il ne s'agit
1979 que d'un changement dans le fichier <file>debian/changelog</file>. Ce
1980 changement peut tout aussi bien concerner la partie amont du source que la
1981 partie spécifique à Debian. Une mise à jour indépendante source peut aussi
1982 inclure des paquets spécifiques à une architecture tout comme un fichier
1983 <em>diff</em> modifié.
1985 Une mise à jour indépendante binaire est constitué par la recompilation et
1986 l'archivage d'un paquet pour une architecture donnée. Il s'agit souvent du
1987 résultat d'un effort de portage. Une mise à jour indépendante binaire est la
1988 livraison d'un paquet compilé (souvent pour une autre architecture) à condition
1989 que cette compilation n'ait pas nécessité de modifications des sources. Dans de
1990 nombreux cas, les porteurs sont obligés de modifier les sources pour les rendre
1991 compilables sur leur architecture cible ; il s'agira alors d'une mise à
1992 jour indépendante source et non d'une mise à jour indépendante binaire. Comme
1993 vous pouvez le remarquer, nous ne faisons pas de distinction entre les mises à
1994 jour indépendantes faites par des porteurs et les autres mises à jour
1997 Les mises à jour indépendantes sources et binaires sont toutes deux couvertes
1998 par l'expression « mise à jour indépendante »
1999 (NMU<footnote><p>Non-maintainer upload</footnote>). Pourtant, cela conduit
2000 souvent à des confusions car beaucoup associent « mise à jour
2001 indépendante » et « mise à jour indépendante source ». Il faut
2002 donc rester vigilant. Dans ce chapitre, si nous utilisons l'expression
2003 « mise à jour indépendante » seule, il s'agit des deux types de
2007 <sect1 id="nmu-who">Qui peut faire une mise à jour indépendante ?
2009 Seuls les responsables Debian officiels peuvent faire des mises à jour
2010 indépendantes. Un responsable officiel est une personne dont la clé est dans le
2011 porte-clés Debian. Toute personne est invitée à télécharger les paquets sources
2012 pour corriger des bogues ; au lieu de faire des mises à jour
2013 indépendantes, ils pourront soumettre les correctifs qui le méritent au système
2014 de suivi des bogues. Les responsables apprécient presque toujours les
2015 correctifs et les rapports de bogue soignés.
2018 <sect1 id="nmu-when">Quand faire une mise à jour indépendante
2021 Les recommandations pour déterminer quand faire une mise à jour indépendante
2022 source dépendent de la distribution visée (i.e. <em>stable</em>,
2023 <em>unstable</em> ou <em>experimental</em>). Les porteurs, ayant une activité
2024 particulière, obéissent à des règles légèrement différentes (voir <ref
2025 id="source-nmu-when-porter">).
2027 Quand une bogue de sécurité est détecté, l'équipe de sécurité peut faire une
2028 mise à jour indépendante. Veuillez vous reporter à <ref id="bug-security"> pour
2029 plus d'informations.
2031 Pendant le cycle de mise au point (<em>release cycle</em>, voir <ref
2032 id="sec-dists">), les livraisons qui corrigent les bogues de gravité
2033 <em>sérieuse</em> (i.e. <em>serious</em>) et supérieures sont encouragées et
2034 acceptées. Même pendant cette période, vous devriez tenter d'entrer en contact
2035 avec le responsable du paquet ; il pourrait bien être sur le point de
2036 livrer un paquet corrigé lui aussi. Comme pour n'importe quelle mise à jour
2037 indépendante source, les recommandations de la section <ref
2038 id="nmu-guidelines"> doivent être respectées. Des exceptions spéciales sont
2039 effectuées pour <ref id="qa-bsp">.
2041 Envoyer des corrections de bogues vers <em>unstable</em> par une autre personne
2042 que le responsable ne devrait être fait qu'en suivant ce protocole :
2045 <item>Vérifiez que les bogues du paquet qui devraient être corrigés par la
2046 mise à jour indépendante sont bien référencés dans le système de suivi des
2047 bogues. S'ils n'y sont pas, faites des rapports de bogue
2049 <item>Attendez la réponse du responsable quelques jours. Si vous n'obtenez
2050 aucune réponse, vous pouvez l'aider en lui envoyant le correctif qui
2051 corrige le bogue. N'oubliez pas de marquer le bogue avec le mot-clé
2052 « patch ».
2053 <item>Patientez quelques jours. Si vous n'avez toujours aucune réponse du
2054 responsable, envoyez-lui un courrier annonçant votre intention
2055 d'effectuer une mise à jour indépendante du paquet. Préparez la NMU comme
2056 décrit dans <ref id="nmu-guidelines">, testez-la soigneusement sur votre
2057 machine (cf. <ref id="upload-checking">). Re-vérifiez que votre correctif
2058 n'a aucun effet de bord inattendu. Assurez-vous que votre correctif est
2059 aussi minimaliste et non intrusif que possible.
2060 <item>Envoyez votre paquet à incoming dans <file>DELAYED/7-day</file> (cf.
2061 <ref id="delayed-incoming">), envoyez le correctif final au responsable
2062 par le BTS et expliquez-lui qu'il a 7 jours pour réagir s'il veut annuler
2064 <item>Suivez ce qui se passe, vous êtes responsable pour tout bogue que vous
2065 auriez introduit avec votre NMU. Vous devriez probablement utiliser le
2066 <ref id="pkg-tracking-system"> (PTS) pour vous tenir informé de l'état du
2067 paquet après votre NMU.
2070 Parfois, le responsable de version ou un groupe organisé de
2071 développeurs peut annoncer une certaine période de temps au cours de laquelle
2072 les règles de mise à jour indépendante seront plus souples. Ceci implique
2073 habituellement une période plus courte d'attente avant d'envoyer des
2074 correctifs et une période de délai plus courte. Il est important de noter que
2075 même au cours de ces « chasses aux bogues », la personne
2076 désirant faire la mise à jour indépendante doit remplir des bogues et
2077 contacter en premier le développeur, et ensuite seulement passer à
2080 <sect1 id="nmu-guidelines">Comment faire une mise à jour indépendante
2083 Les règles qui suivent s'appliquent aux porteurs tant qu'ils jouent le double
2084 rôle de correcteur de bogue et de porteur. Si un porteur doit modifier le
2085 paquet source, cette mise à jour est automatiquement une mise à jour
2086 indépendante source et est soumise aux règles qui suivent. Si un porteur
2087 construit un paquet binaire recompilé, les règles sont différentes (voir <ref
2088 id="porter-guidelines">.
2090 Tout d'abord, il est capital que ces mises à jour indépendantes soient aussi peu
2091 intrusives que possible. Ne faites pas de ménage, ne modifiez pas le nom des
2092 modules ou des fichiers, ne déplacez pas les répertoires ; plus
2093 généralement, ne corrigez pas ce qui n'est pas cassé. Faites un correctif aussi
2094 petit que possible. Si certaines choses froissent votre sens de l'esthétique,
2095 parlez-en au responsable du paquet, au responsable amont ou soumettez un
2096 rapport de bogue. Quoiqu'il en soit, les changements esthétiques <em>ne doivent
2097 pas</em> être effectués lors d'une mise à jour indépendante.
2100 <sect2 id="nmu-version">Numéro de version pour les mises à jour
2101 indépendantes sources
2103 Chaque fois que vous modifiez un paquet, le numéro de version de ce paquet doit
2104 changer, même pour la plus triviale des modifications. Notre système de
2105 gestion de paquets s'appuie sur ces numéros de version.
2107 Si vous faites une mise à jour indépendante <em>(NMU)</em>, vous devez ajouter
2108 un numéro de version mineur à la partie <var>debian-revision</var> du numéro
2109 de version (la partie qui suit le dernier trait d'union). Ce numéro
2110 supplémentaire débutera à « 1 ». Prenons pour exemple le paquet
2111 « foo » qui porte le numéro de version 1.1-3. Dans l'archive, le
2112 fichier de contrôle du paquet source serait <file>foo_1.1-3.dsc</file>. La
2113 version amont est « 1.1 » et la révision Debian est
2114 « 3 ». La mise à jour indépendante suivante ajouterait le numéro de
2115 version mineur « .1 » au numéro de révision Debian; le nouveau
2116 fichier de contrôle du paquet source serait alors
2117 <file>foo_1.1-3.1.dsc</file>.
2119 Le numéro de révision mineur est nécessaire pour éviter de prendre un numéro de
2120 version au responsable officiel du paquet, ce qui pourrait perturber son
2121 travail. Cela a aussi l'avantage de montrer clairement que le paquet n'a pas
2122 été livré par le responsable officiel.
2124 S'il n'y a pas de partie <var>debian-revision</var> dans le numéro de version du
2125 paquet, il faut en créer une en démarrant à « 0.1 ». S'il est
2126 absolument nécessaire qu'une personne qui n'est pas responsable d'un paquet
2127 fasse une livraison basée sur une nouvelle version amont, cette personne doit
2128 choisir « 0.1 » comme numéro de révision Debian. Le mainteneur du
2129 paquet doit, lui, démarrer sa numérotation à « 1 ».
2132 <sect2 id="nmu-changelog">
2133 <heading>Les mises à jour indépendantes sources doivent être
2134 mentionnées dans le fichier changelog</heading>
2136 Une personne qui fait une mise à jour indépendante source doit ajouter une
2137 entrée dans le fichier <file>changelog</file> qui indique les bogues corrigés
2138 et qui précise pourquoi cette mise à jour était nécessaire. Cette entrée
2139 comportera l'adresse de la personne ayant fait la mise à jour ainsi que la
2142 Par convention, dans le cas d'une mise à jour indépendante source
2143 <em>(NMU)</em>, l'entrée du fichier changelog débute par la ligne
2146 * Non-maintainer upload
2150 <sect2 id="nmu-patch">Mise à jour indépendante source et système de
2153 Un développeur qui n'est pas responsable d'un paquet doit faire aussi peu de
2154 modifications que possible et doit toujours envoyer ses modifications au
2155 système de suivi des bogues au format diff unifié (<tt>diff -u</tt>).
2157 Et si vous recompilez simplement le paquet ? Si vous avez simplement besoin
2158 de recompiler le paquet pour une seule architecture, vous pouvez faire une
2159 NMU binaire seulement comme décrit dans <ref id="binary-only-nmu"> qui ne
2160 nécessite pas qu'un correctif soit envoyé. Si vous désirez que le paquet soit
2161 recompilé pour toutes les architectures, vous devez alors faire une NMU
2162 source et vous devrez envoyer un correctif.
2164 Si la mise à jour indépendante source (<em>source NMU</em>) corrige des bogues,
2165 ceux-ci doivent être marqués <em>fixed</em> (corrigé) dans le système de
2166 suivi des bogues plutôt que clos. Par convention, seul le responsable du
2167 paquet et la personne qui a ouvert le rapport de bogue peuvent clore ce
2168 rapport. Heureusement, le système d'archivage Debian reconnaît les mises à
2169 jours indépendantes et positionne correctement le statut des bogues à
2170 <em>fixed</em> si la personne qui fait la mise à jour a listé tous les bogues
2171 dans le fichier changelog en utilisant la syntaxe <tt>Closes:
2172 bug#<var>nnnnn</var></tt> (voir <ref id="upload-bugfix"> pour en savoir plus
2173 sur la fermeture de bogue par le fichier <file>changelog</file>). Ce passage
2174 au statut <em>fixed</em> assure que chacun sait que le bogue est corrigé par
2175 une mise à jour indépendante tout en laissant le rapport de bogue ouvert
2176 jusqu'à ce que le responsable du paquet incorpore les modifications de cette
2177 mise à jour dans la version officielle du paquet.
2179 Après avoir fait une mise à jour indépendante, il vous faudra aussi ouvrir un
2180 nouveau rapport de bogue qui inclura un correctif contenant toutes les
2181 modifications que vous avez faites. Sinon, vous pouvez envoyer cette
2182 information aux bogues qui sont fixés par votre NMU. Le responsable officiel
2183 pourra choisir d'appliquer le correctif, il pourra aussi employer une autre
2184 méthode pour régler le problème. Certains bogues sont corrigés dans la
2185 version amont, ce qui est une bonne raison pour annuler les modifications
2186 d'une mise à jour indépendante. Si le responsable choisit de mettre à jour le
2187 paquet plutôt que d'utiliser les correctifs de la mise à jour indépendante,
2188 il devra s'assurer que cette nouvelle version corrige effectivement chacun
2189 des bogues corrigés dans la mise à jour indépendante.
2191 De plus, le responsable officiel devrait <em>toujours</em> conserver les entrées
2192 documentant une mise à jour indépendante dans le fichier
2193 <file>changelog</file>.
2196 <sect2 id="nmu-build">Fabriquer une mise à jour indépendante source
2198 Les paquets faisant l'objet d'une mise à jour indépendante source sont
2199 construits comme les autres. Sélectionnez une distribution en utilisant les
2200 règles décrites dans la section <ref id="upload-dist"> et construisez un
2201 fichier <tt>.changes</tt> classique avec tout ce qui l'accompagne
2202 conformément à la description <ref id="uploading">. En fait, toutes les
2203 prescriptions de la section <ref id="upload"> sont applicables ici.
2205 Vérifiez que vous n'avez pas modifié la valeur du champ <tt>maintainer</tt> dans
2206 le fichier <file>debian/control</file>. Votre nom, mentionné dans l'entrée du
2207 fichier <file>debian/changelog</file> concernant la mise à jour, sera utilisé
2208 pour signer le fichier <file>.changes</file>.
2210 <sect1 id="ack-nmu">Valider une mise à jour indépendante
2212 Si l'un de vos paquets a subi une mise à jour indépendante, vous devez récupérer
2213 les changements dans votre copie des sources. Ceci est aisé, vous avez
2214 simplement à appliquer le correctif qui vous a été envoyé. Une fois ceci fait,
2215 vous devez fermer les bogues qui ont été marqués comme fixés par la mise à
2216 jour. Vous pouvez soit les fermer manuellement en envoyant les courriers
2217 nécessaires au BTS soit ajouter les <tt>closes: #nnnn</tt> nécessaires dans
2218 l'entrée du changelog de votre prochain envoi.
2220 Dans tous les cas, vous ne devriez pas être perturbé par la NMU. Une NMU n'est
2221 pas une attaque personnelle contre le responsable. C'est une preuve que le
2222 paquet est important pour quelqu'un et qu'il est désireux de vous aider dans
2223 votre travail, vous devriez donc lui être reconnaissant. Vous pouvez également
2224 lui demander s'il serait intéressé pour vous aider sur une base plus régulière
2225 comme co-responsable ou responsable de secours (cf. <ref
2226 id="collaborative-maint">).
2229 <sect id="porting">Le portage
2231 Debian accepte un nombre croissant d'architectures. Même si vous n'êtes pas un
2232 porteur et même si vous n'utilisez qu'une architecture, il est de votre
2233 responsabilité de développeur d'être attentif aux questions de
2234 portabilité. C'est pourquoi il est important que vous lisiez ce chapitre
2235 même si vous n'êtes pas un porteur.
2237 Porter un paquet consiste à faire un paquet binaire pour une architecture
2238 différente de celle du paquet binaire fait par le responsable du paquet.
2239 C'est une activité remarquable et essentielle. En fait, les porteurs sont
2240 à l'origine de la plupart des compilations de paquets Debian. Pour un
2241 paquet binaire <em>i386</em>, par exemple, il faut compter une
2242 recompilation pour chaque autre architecture, soit un total de
2243 &number-of-arches; recompilations.
2246 <sect1 id="kind-to-porters">Être gentil avec les porteurs
2248 Les porteurs ont une tâche remarquable et difficile car ils doivent gérer un
2249 grand nombre de paquets. Idéalement, tout paquet source devrait compiler sans
2250 modification. Malheureusement, c'est rarement le cas. Cette section contient
2251 une liste d'erreurs commises régulièrement par les responsables Debian —
2252 problèmes courants qui bloquent souvent les porteurs et compliquent inutilement
2255 Ici, le mot d'ordre est de répondre rapidement aux rapports de bogues et
2256 remarques soulevées par les porteurs. Traitez-les courtoisement, comme s'ils
2257 étaient co-responsables de vos paquets (ce qu'ils sont d'une certaine manière).
2258 Merci pour votre indulgence envers des rapports de bogue succincts ou peu
2259 clairs ; faites de votre mieux pour éliminer le problème.
2261 Les problèmes les plus couramment rencontrés par les porteurs sont causés par
2262 des erreurs de mise en paquet dans le paquet source. Voici un
2263 pense-bête pour les choses auxquelles vous devez être attentif :
2266 Vérifiez que les champs <tt>Build-Depends</tt> et
2267 <tt>Build-Depends-Indep</tt> du fichier <file>debian/control</file> sont
2268 corrects. Le meilleur moyen de le vérifier est d'utiliser le paquet
2269 <package>debootstrap</package> pour créer un environnement
2270 <em>unstable</em> <em>chrooté</em>. Dans cet environnement
2271 <em>chrooté</em> il faudra installer le paquet
2272 <package>build-essential</package> et tous les paquets mentionnés dans
2273 les champs <tt>Build-Depends</tt> et <tt>Build-Depends-Indep</tt>.
2274 Ensuite, vous essayerez de fabriquer votre paquet dans cet
2275 environnement. Ces étapes peuvent être automatisées en utilisant le
2276 programme <prgn>pbuilder</prgn> qui est fourni par le paquet de même
2279 Consultez la <url id="&url-debian-policy;" name="charte Debian"> pour en
2280 savoir plus sur les dépendances de fabrication.
2283 Ne choisissez pas d'autre valeur que <em>all</em> ou <em>any</em> pour
2284 le champ architecture sans avoir de bonnes raisons pour le faire. Trop
2285 souvent, les développeurs ne respectent pas les instructions de la <url
2286 id="&url-debian-policy;" name="charte Debian">. Choisir la valeur
2287 « i386 » est la plupart du temps incorrect.
2290 Vérifiez que votre paquet source est bon. Faites <tt>dpkg-source -x
2291 <var>package</var>.dsc</tt> pour vous assurer que le paquet se
2292 décompresse correctement. En utilisant le résultat de ce test,
2293 construisez votre paquet binaire à l'aide de la commande
2294 <prgn>dpkg-buildpackage</prgn>.
2297 Vérifiez que les fichiers <file>debian/files</file> et
2298 <file>debian/substvars</file> ne sont pas dans votre paquet source. Ils
2299 doivent être effacés par la cible <em>clean</em> de
2300 <file>debian/rules</file>.
2303 Assurez-vous que vous ne vous appuyez pas sur des éléments de
2304 configuration ou des logiciels installés ou modifiés localement. Par
2305 exemple, vous ne devriez jamais appeler des programmes du répertoire
2306 <file>/usr/local/bin</file> ou de répertoires équivalents. Essayez de ne
2307 pas vous appuyer sur des logiciels configurés de manière spéciale.
2308 Essayez de construire votre paquet sur une autre machine, même s'il
2309 s'agit de la même architecture.
2312 Ne vous appuyez pas sur une installation préexistante de votre paquet
2313 (un sous-cas de la remarque précédente).
2316 Si possible, ne vous appuyez pas sur une particularité présente dans un
2317 compilateur précis ou dans une certaine version d'un compilateur. Si
2318 vous ne pouvez pas faire autrement, assurez-vous que les dépendances de
2319 fabrication reflètent bien cette restriction. Dans ce cas, vous cherchez
2320 sûrement les problèmes car quelques architectures pourraient choisir un
2321 compilateur différent.
2324 Vérifiez que votre <file>debian/rules</file> distingue les cibles
2325 <em>binary-arch</em> et <em>binary-indep</em> comme l'exige la charte
2326 Debian. Vérifiez que ces cibles sont indépendantes l'une de l'autre,
2327 c'est-à-dire, qu'il n'est pas nécessaire d'invoquer l'une de ces cibles
2328 avant d'invoquer l'autre. Pour vérifier cela, essayez d'exécuter
2329 <tt>dpkg-buildpackage -b</tt>.
2334 <sect1 id="porter-guidelines">Instructions pour les mises à jour des
2337 Si le paquet se construit tel quel sur l'architecture que vous visez, vous avez
2338 de la chance et votre travail est facile. Cette section s'applique dans ce
2339 cas ; elle décrit comment construire et installer correctement votre
2340 paquet binaire dans l'archive Debian. Si vous devez modifier le paquet pour le
2341 rendre compilable sur votre architecture cible vous devez faire une mise à jour
2342 des sources, consultez la section <ref id="nmu-guidelines">.
2344 Pour un envoi de portage, ne faites pas de changement dans les sources. Vous
2345 n'avez pas besoin de modifier les fichiers du paquet source (cela inclut le
2346 fichier <file>debian/changelog</file>).
2348 La manière d'invoquer <prgn>dpkg-buildpackage</prgn> est la suivante :
2349 <tt>dpkg-buildpackage -B -m<var>adresse-porteur</var></tt>. Bien sûr, remplacez
2350 <var>adresse-porteur</var> par votre adresse électronique. Cette commande
2351 construira les parties du paquet qui dépendent de l'architecture, en utilisant
2352 la cible <em>binary-arch</em> de <file>debian/rules</file>.
2354 <sect2 id="binary-only-nmu">
2355 Mises à jour indépendantes binaires ou recompilations
2357 Parfois l'envoi du portage initial pose problème car l'environnement dans lequel
2358 le paquet a été construit n'était pas bon (bibliothèques plus à jour ou
2359 obsolètes, mauvais compilateur, etc.). Il se peut que vous ayez à le recompiler
2360 dans un environnement mis à jour. Cependant, dans ce cas, vous devez changer
2361 le numéro de version pour que les mauvais anciens paquets soient remplacés dans
2362 l'archive Debian (<prgn>katie</prgn> refuse d'installer de nouveaux paquets
2363 s'ils n'ont pas un numéro de version supérieur à celui actuellement
2364 disponible). Malgré les modifications nécessaires du changelog, ce type de mise
2365 à jour reste une mise à jour indépendante binaire — il n'est pas
2366 nécessaire de reconsidérer le statut des paquets binaires des autres
2367 architectures pour les marquer périmés ou à recompiler.
2369 Ces recompilations nécessitent des numéros de version « magiques »
2370 pour que le système de maintenance de l'archive comprennent que, bien qu'il y
2371 ait une nouvelle version, il n'y a pas eu de modification des sources. Si vous
2372 ne faites pas cela correctement, les administrateurs de l'archive rejetteront
2373 votre mise à jour (car il n'y aura pas de code source associé).
2375 Cette magie associée à une mise à jour par recompilation est déclenchée en
2376 utilisant un troisième nombre dans la partie debian du numéro de version. Si,
2377 par exemple, la dernière version du paquet que vous recompilez était
2378 « 2.9-3 », votre mise à jour portera le numéro
2379 « 2.9-3.0.1 ». Si cette version était « 3.4-2.1 » votre
2380 mise à jour portera le numéro « 3.4-2.1.1 ».
2383 <sect2 id="source-nmu-when-porter">
2384 Quand faire une mise à jour indépendante source pour un portage ?
2386 Les porteurs qui font des mises à jour indépendantes sources suivent
2387 généralement les instructions de la section <ref id="nmu"> tout comme les
2388 non-porteurs. Les délais d'attente sont cependant plus courts car les
2389 porteurs doivent manipuler un grand nombre de paquets. À nouveau, la
2390 situation diffère selon la distribution visée.
2392 Si vous êtes porteur et faites une mise à jour pour <em>unstable</em>, les
2393 instructions précédentes sont applicables à deux différences près. Tout
2394 d'abord, le temps d'attente raisonnable — délai entre le moment où vous
2395 envoyez un rapport au système de suivi des bogues et le moment où vous pouvez
2396 faire une mise à jour indépendante <em>(NMU)</em> — est de sept jours.
2397 Ce délai peut être raccourci si le problème est crucial et met l'effort de
2398 portage en difficulté : c'est à la discrétion de l'équipe de portage.
2399 (Souvenez-vous, il ne s'agit pas d'un règlement, mais de recommandations
2400 communément acceptées)
2402 Deuxième différence, les porteurs qui font des mises à jour indépendantes
2403 sources doivent choisir une gravité <em>sérieuse</em> (i.e. <em>serious</em>)
2404 ou supérieure quand ils envoient leur rapport au système de suivi des bogues.
2405 Ceci assure qu'un paquet source unique permet de produire un paquet binaire
2406 pour chaque architecture supportée au moment de la sortie de la distribution.
2407 Il est très important d'avoir un paquet source et un paquet binaire pour
2408 toutes les architectures pour être conforme à plusieurs licences.
2410 Les porteurs doivent éviter d'implémenter des contournements pour des bogues de
2411 l'environnement de compilation, du noyau ou de la libc. Quelques fois, ces
2412 contournements sont inévitables. Si vous devez faire quelque chose de ce
2413 genre, marquez proprement vos modifications avec des <tt>#ifdef</tt> et
2414 documentez votre contournement pour que l'on sache le retirer une fois que le
2415 problème aura disparu.
2417 Les porteurs peuvent aussi avoir une adresse où ils publient le résultat de leur
2418 travail pendant le délai d'attente. Ainsi, d'autres personnes peuvent
2419 bénéficier du travail du porteur même pendant ce délai. Bien sûr, ces
2420 adresses n'ont rien d'officiel, alors soyez sur vos gardes si vous les
2424 <sect1 id="porter-automation">
2425 <heading>Infrastructure de portage et automatisation</heading>
2427 Il existe une infrastructure et plusieurs outils pour faciliter l'automatisation
2428 du portage des paquets. Cette section contient un bref aperçu de cette
2429 automatisation et du portage de ces outils ; veuillez vous reporter à la
2430 documentation des paquets ou les références pour une information complète.</p>
2433 <heading>Listes de diffusion et pages web</heading>
2435 Les pages web contenant l'état de chaque portage peuvent être trouvées à <url
2436 id="&url-debian-ports;">.
2438 Chaque portage de Debian possède sa propre liste de diffusion. La liste des
2439 listes de diffusion de portage peut être trouvée à <url
2440 id="&url-debian-port-lists;">. Ces listes sont utilisées pour coordonner les
2441 porteurs et pour mettre en relation les utilisateurs d'un portage donné avec les
2446 <heading>Outils pour les porteurs</heading>
2448 Les descriptions de plusieurs outils de portage peuvent être trouvés dans les
2449 <ref id="tools-porting">.</p>
2453 <heading><package>buildd</package></heading>
2455 Le système <package>buildd</package> est un système distribué pour la
2456 compilation d'une distribution. Il est habituellement utilisé en conjonction
2457 avec des automates de compilation ; ce sont des machines
2458 « esclaves » qui récupèrent des paquets sources et tentent de les
2459 compiler. Il est aussi possible d'interagir par courrier électronique avec ce
2460 système. Cette interface est utilisée par les porteurs pour récupérer un
2461 paquet source (en général, un paquet qui ne peut être compilé
2462 automatiquement) et travailler dessus.
2464 <package>buildd</package> n'est pas disponible sous forme de paquet ;
2465 pourtant, la plupart des équipes de porteurs l'utilisent aujourd'hui ou ont
2466 prévu de l'utiliser bientôt. L'outil de construction automatisé réel est dans
2467 le paquet <package>sbuild</package>, voir la description dans <ref
2468 id="sbuild">. Le système <package>buildd</package> regroupe également un
2469 ensemble de composants très utiles, continuellement utilisés, mais non encore
2470 mis en paquet, tels que <prgn>andrea</prgn> et <prgn>wanna-build</prgn>.
2472 Une partie des informations produites par <package>buildd</package> —
2473 utiles pour les porteurs — est disponible sur la toile à l'adresse <url
2474 id="&url-buildd;">. Ces informations incluent les résultats produits toutes
2475 les nuits par <prgn>andrea</prgn> (dépendances des sources) et
2476 <prgn>quinn-diff</prgn> (paquets à recompiler).
2478 Nous sommes très fiers de ce système car il a de nombreux usages potentiels. Des
2479 groupes de développeurs indépendants peuvent utiliser ce système pour créer
2480 différentes saveurs de Debian — qui peuvent être ou ne pas être
2481 intéressantes pour tous (par exemple, une version de Debian compilée avec des
2482 vérifications relatives à <prgn>gcc</prgn>). Ce système nous permettra aussi
2483 de recompiler rapidement toute une distribution.
2487 <sect id="collaborative-maint">
2488 Maintenance collaborative
2490 « Maintenance collaborative » est un terme décrivant le partage des
2491 devoirs de la maintenance d'un paquet Debian par plusieurs personnes. Cette
2492 collaboration est presque toujours une bonne idée car il en résulte
2493 généralement une meilleure qualité et un temps de correction de bogues plus
2494 petit. Il est fortement recommandé que les paquets de priorité
2495 <tt>Standard</tt> ou qui font partie de la base aient des co-responsables.
2497 Habituellement, il y a un responsable principal et un ou plusieurs
2498 co-responsables. Le responsable principal est celui dont le nom est indiqué
2499 dans le champ <tt>Maintainer</tt> du fichier <file>debian/control</file>. Les
2500 co-responsables sont tous les autres responsables.
2502 Dans sa forme la plus simple, ajouter un nouveau co-responsable est assez
2505 <item><p> Donner au co-responsable un accès aux sources à partir desquelles vous
2506 construisez le paquet. Habituellement, cela implique que vous utilisiez un
2507 système de contrôle de version comme <prgn>CVS</prgn> ou
2508 <prgn>Subversion</prgn>.
2510 <item><p> Ajouter les nom et adresse correctes du co-responsable au champ
2511 <tt>Uploaders</tt> dans la partie globale du fichier
2512 <file>debian/control</file>.
2514 Uploaders: John Buzz <jbuzz@debian.org>, Adam Rex <arex@debian.org>
2518 En utilisant le PTS (<ref id="pkg-tracking-system">), les
2519 co-responsables devraient s'inscrire eux-mêmes aux paquets sources
2525 <sect id="archive-manip">
2526 <heading>Déplacer, effacer, changer de nom, adopter et abandonner des paquets
2528 Certaines manipulations de l'archive ne sont pas accessibles avec le processus
2529 de mise à jour automatisé. Elles sont appliquées manuellement par les
2530 développeurs. Ce chapitre décrit ce qu'il faut faire dans ces situations.
2532 <sect1 id="moving-pkgs">Déplacer des paquets
2534 Parfois, un paquet pourra changer de section. Une nouvelle version d'un paquet
2535 de la section <tt>non-free</tt> pourrait, par exemple, être distribuée sous
2536 licence GNU GPL ; dans ce cas, le paquet doit être déplacé dans la section
2537 <tt>main</tt> ou <tt>contrib</tt><footnote><p>Reportez-vous à la <url
2538 id="&url-debian-policy;" name="charte Debian"> pour savoir dans quelle section
2539 un paquet doit être classé.</footnote>.
2541 Si vous avez besoin de modifier la section de l'un de vos paquets, modifiez les
2542 informations de contrôle du paquet pour le placer dans la section désirée et
2543 téléchargez à nouveau votre paquet dans l'archive. Reportez-vous à la <url
2544 id="&url-debian-policy;" name="charte Debian"> pour en savoir plus. Si votre
2545 nouvelle section est valide, il sera déplacé automatiquement. Si ce n'est pas
2546 le cas, contactez les ftpmasters pour comprendre ce qui s'est passé.
2548 Si vous avez besoin de modifier la sous-section de l'un de vos paquets
2549 (<tt>devel</tt> ou <tt>admin</tt> par exemple), la procédure est légèrement
2550 différente. Modifiez la sous-section dans le fichier de contrôle de votre
2551 paquet et téléchargez-le. Il vous faudra ensuite demander la modification du
2552 fichier <em>override</em> comme décrit dans la section <ref
2553 id="override-file">.
2556 <sect1 id="removing-pkgs">Supprimer des paquets
2558 Si, pour une raison ou une autre, vous avez besoin de supprimer un paquet de
2559 l'archive (disons qu'il s'agit d'une vieille bibliothèque devenue inutile, que
2560 l'on conservait pour des raisons de compatibilité), il vous faudra envoyer un
2561 rapport de bogue concernant le pseudo-paquet <tt>ftp.debian.org</tt> et
2562 demander sa suppression. N'oubliez pas de préciser de quelle distribution le
2563 paquet doit être supprimé. Normalement, vous ne devriez avoir à supprimer que
2564 des paquets de <em>unstable</em> ou de <em>experimental</em>. Les paquets de
2565 <em>testing</em> ne sont pas supprimés directement. Ils sont plutôt enlevés
2566 automatiquement après que le paquet a été supprimé de <em>unstable</em> et
2567 si aucun paquet de <em>testing</em> n'en dépend.
2569 Vous devez également détailler les raisons justifiant cette demande. Ceci a pour
2570 but d'éviter les suppressions non désirées et de garder une trace de la raison
2571 pour laquelle un paquet a été supprimé. Par exemple, vous pouvez fournir le nom
2572 du paquet qui remplace celui à supprimer.
2574 Vous ne pouvez demander la suppression d'un paquet que si vous en
2575 êtes le responsable. Si vous voulez supprimer un autre paquet, vous devez
2576 obtenir l'accord de son dernier responsable.
2578 Si vous ne savez pas bien si un paquet peut être supprimé, demandez l'avis des
2579 autres développeurs sur la liste &email-debian-devel;. Le programme
2580 <prgn>apt-cache</prgn> du paquet <package>apt</package> pourra aussi vous être
2581 utile. La commande <tt>apt-cache showpkg <var>paquet</var> </tt> vous
2582 indiquera, entre autres, les paquets qui dépendent de <var>paquet</var>.
2584 Une fois que le paquet a été supprimé, les bogues du paquet doivent être gérés.
2585 Soit ils sont réattribués à un autre paquet dans le cas où le code actuel a
2586 évolué en un autre paquet (par exemple, <tt>libfoo12</tt> a été supprimé parce
2587 que <tt>libfoo13</tt> le remplace) ou ils sont fermés si le logiciel ne fait
2588 simplement plus partie de Debian.
2590 <sect2>Supprimer des paquets dans <tt>Incoming</tt>
2592 Par le passé, il était possible de supprimer un paquet de <file>Incoming</file>.
2593 Cependant, ce n'est plus possible depuis la mise en place du nouveau système
2594 de file d'attente. Il vous faudra télécharger une nouvelle version de votre
2595 paquet avec un numéro de version postérieur à celui que vous voulez
2596 remplacer. Les deux versions seront installées dans l'archive mais seule la
2597 plus récente sera accessible dans <em>unstable</em> car la précédente sera
2598 immédiatement remplacée par la nouvelle. Toutefois, si vous testez
2599 correctement vos paquets, le besoin d'en remplacer un ne devrait pas être
2602 <sect1>Remplacer un paquet ou changer son nom
2604 Il peut vous arriver de vous tromper en nommant un paquet et avoir besoin de
2605 changer son nom. Dans ce cas, vous devrez intervenir en deux étapes. D'abord, modifiez
2606 votre fichier <file>debian/control</file> pour que votre nouveau paquet
2607 remplace et entre en conflit avec l'ancien paquet que vous voulez remplacer
2608 (Reportez-vous à la <url id="&url-debian-policy;" name="charte Debian"> pour
2609 les détails). Une fois que votre paquet est installé dans l'archive, faites un
2610 rapport de bogue concernant le pseudo-paquet <tt>ftp.debian.org</tt> et
2611 demandant la suppression du paquet mal nommé. N'oubliez pas de réattribuer
2612 correctement les bogues du paquet en même temps.
2614 D'autres fois, vous pouvez commettre une erreur en construisant le paquet et
2615 désirez le remplacer. La seule façon de faire est d'incrémenter le numéro
2616 de version et d'envoyer une nouvelle version. L'ancienne version expirera de la
2617 façon habituelle. Notez que ceci s'applique à chaque partie de votre paquet, y
2618 compris les sources : si vous désirez remplacer l'archive source amont de
2619 votre paquet, vous devez l'envoyer avec un numéro de version différent. Une
2620 possibilité simple est de remplacer <file>foo_1.00.orig.tar.gz</file> par
2621 <file>foo_1.00+0.orig.tar.gz</file>. Cette restriction donne à chaque fichier
2622 du site ftp un nom unique ce qui garantit la consistance dans le réseau des
2625 <sect1 id="orphaning">Abandonner un paquet
2627 Si vous ne pouvez plus maintenir un paquet, vous devez en informer les autres et
2628 faire le nécessaire pour qu'il soit marqué <em>abandonné</em> (i.e.
2629 <em>orphaned</em>). Vous devriez aussi remplacer votre nom par <tt>Debian QA
2630 Group &orphan-address;</tt> dans le champ <tt>maintainer</tt> du paquet et
2631 faire un rapport de bogue sur le pseudo-paquet <package>wnpp</package>. Le
2632 titre de votre rapport de bogue devrait être
2633 « <tt>O<footnote><p><em>Orphaned</em> : abandonné.</footnote>:
2634 <var>paquet</var> — <var>courte description</var></tt> » pour
2635 indiquer que le paquet est abandonné. La gravité du bogue sera
2636 <em>normale</em>. Si vous le jugez nécessaire, envoyez une copie à
2637 &email-debian-devel; en mettant cette adresse dans le champ X-Debbugs-CC: de
2638 l'en-tête du message. N'utilisez pas le champ CC: car de cette manière le sujet
2639 du message ne contiendra pas le numéro du bogue.
2641 Si le paquet est particulièrement important pour la distribution, il vous faudra
2642 faire un rapport de bogue sur le pseudo-paquet <package>wnpp</package>,
2643 l'intituler « <tt>RFA<footnote><p><em>Request For Adoption</em> :
2644 offre d'adoption.</footnote>: <var>paquet</var> — <var>courte
2645 description</var></tt> » et lui affecter la gravité <em>importante</em>.
2646 Envoyez une copie de votre rapport de bogue à la liste debian-devel comme
2649 Reportez-vous à la page WNPP<footnote><p><em>Work-needing and prospective
2650 packages</em> : paquets en souffrance et paquets souhaités.</footnote>
2651 <url id="&url-wnpp;"> pour en savoir plus.
2653 <sect1 id="adopting">Adopter un paquet
2655 Une liste des paquets en attente de nouveau responsable est disponible à la page
2656 <url id="&url-wnpp;" name="paquets en souffrance et paquets souhaités">. Si
2657 vous voulez prendre en charge un paquet de cette liste, reportez-vous à la page
2658 mentionnée ci-dessus pour connaître la procédure à suivre.
2660 Prendre un paquet parce qu'il vous semble que celui-ci est négligé n'est pas
2661 correct — ce serait un détournement de paquet. Vous pouvez prendre
2662 contact avec le responsable actuel et lui demander si vous pouvez prendre en
2663 charge ce paquet. Vous ne pouvez le faire sans son accord. Qu'il vous ignore
2664 n'est pas une raison suffisante pour le faire. Si vous avez le sentiment qu'un
2665 responsable est parti sans prévenir depuis un moment, demandez-le sur la liste
2666 &email-debian-private;. Vous pouvez également informer le groupe QA (cf. <ref
2669 Si vous reprenez un vieux paquet, vous voudrez sûrement que le système de suivi
2670 des bogues indique que vous êtes le responsable du paquet. Cela se produira
2671 automatiquement une fois que vous aurez installé une nouvelle version du paquet
2672 dans l'archive avec le champ <tt>Maintainer</tt> à jour. Cela peut prendre
2673 quelques heures après le téléchargement. Si vous pensez ne pas avoir de mise à
2674 jour à faire pour un moment, vous pouvez utiliser <ref
2675 id="pkg-tracking-system"> pour recevoir les rapports de bogue. Cependant,
2676 assurez-vous que cela ne pose aucun problème à l'ancien responsable de
2677 continuer à recevoir les bogues durant ce temps.
2680 <sect id="bug-handling">Gérer les bogues
2682 Vous trouverez souvent, en tant que responsable de paquet, des bogues dans
2683 d'autres paquets ou vous aurez des bogues rapportés sur vos paquets et qui
2684 doivent être réattribués. Les <url id="&url-bts-control;" name="instructions du
2685 BTS"> peuvent vous indiquer comment faire cela. Vous pouvez trouver plus
2686 d'informations sur la façon de faire des rapports de bogue dans <ref
2689 <sect1>Superviser les rapports de bogue
2691 Si vous voulez être un bon responsable, consultez régulièrement la page du <url
2692 id="&url-bts;" name="système de suivi des bogues">. Cette page contient tous
2693 les rapports de bogue qui concernent vos paquets. Vous pouvez les vérifier avec
2694 cette page : <tt>http://&bugs-host;/<var>yourlogin</var>@debian.org</tt>.
2696 Les responsables interagissent avec le système de suivi des bogues en utilisant
2697 l'adresse électronique <tt>&bugs-host;</tt>. Vous trouverez une documentation
2698 sur les commandes disponibles à l'adresse <url id="&url-bts;"> ou, si vous avez
2699 installé le paquet <package>doc-debian</package>, dans les fichiers locaux
2702 Certains trouvent utile de recevoir régulièrement une synthèse des rapports de
2703 bogues ouverts. Si vous voulez recevoir une synthèse hebdomadaire relevant tous
2704 les rapports de bogue ouverts pour vos paquets, vous pouvez configurer
2705 <prgn>cron</prgn> comme suit :
2707 # Synthèse hebdomadaire des rapports de bogue qui me concernent &cron-bug-report;
2709 Remplacez <var>address</var> par votre adresse officielle de responsable Debian.
2711 <sect1 id="bug-answering">Répondre à des rapports de bogue
2713 Assurez-vous que toutes vos discussions concernant les bogues sont envoyées au
2714 rapporteur du bogue et au bogue lui-même (<email>123@bugs.debian.org</email>
2715 par exemple). Si vous rédigez un nouveau courrier et que vous ne vous souvenez
2716 plus de l'adresse du rapporteur de bogue, vous pouvez utiliser l'adresse
2717 <email>123-submitter@bugs.debian.org</email> pour contacter le rapporteur
2718 <em>et</em> enregistrer votre courrier dans le journal du bogue (ce qui veut
2719 dire que vous n'avez pas besoin d'envoyer une copie du courrier à
2720 <email>123@bugs.debian.org</email>).
2722 Une fois que vous avez traité un rapport de bogue (i.e. que vous l'avez
2723 corrigé), marquez-le comme <em>done</em> (fermez-le) en envoyant un message
2724 d'explication à <email>123-done@bugs.debian.org</email>. Si vous corrigez un
2725 bogue en changeant et en envoyant une nouvelle versions du paquet, vous pouvez
2726 fermer le bogue automatiquement comme décrit dans <ref id="upload-bugfix">.
2728 Vous ne devez <em>jamais</em> fermer un rapport de bogue en envoyant la commande
2729 <tt>close</tt> à l'adresse &email-bts-control;.Si vous le faites, le rapporteur
2730 n'aura aucune information sur la clôture de son rapport.
2732 <sect1 id="bug-housekeeping">Gestion générale des bogues
2734 En tant que responsable de paquet, vous trouverez fréquemment des bogues dans
2735 d'autres paquets ou vous aurez des bogues sur vos paquets qui sont en fait des
2736 bogues sur d'autres paquets. Les fonctions intéressantes du système de suivi
2737 des bogues pour les développeurs sont décrites dans la <url
2738 id="&url-bts-devel;" name="documentation du BTS pour les développeurs Debian">.
2739 Les <url id="&url-bts-control;" name="instructions du BTS"> documentent les
2740 opérations techniques du BTS, telles que comment remplir, réassigner, regrouper
2741 et marquer des bogues. Cette section contient des lignes directrices pour gérer
2742 vos propres bogues, définies à partir de l'expérience collective des
2743 développeurs Debian.
2745 Remplir des rapports de bogue pour des problèmes que vous trouvez dans d'autres
2746 paquet est l'une des « obligations civiques » du responsable,
2747 reportez-vous à <ref id="submit-bug"> pour les détails. Cependant, gérer les
2748 bogues de vos propres paquets est encore plus important.
2750 Voici une liste des étapes que vous pouvez suivre pour gérer un rapport de
2754 Décider si le rapport correspond à un bogue réel ou non. Parfois, les
2755 utilisateurs exécutent simplement un programme de la mauvaise façon car
2756 ils n'ont pas lu la documentation. Si c'est votre diagnostic, fermez
2757 simplement le bogue avec assez d'informations pour laisser l'utilisateur
2758 corriger son problème (donnez des indications vers la bonne
2759 documentation et ainsi de suite). Si le rapport de bogue revient
2760 régulièrement, vous devriez vous demander si la documentation est assez
2761 bonne ou si le programme ne devrait pas détecter une mauvaise
2762 utilisation pour donner un message d'erreur informatif. Il s'agit d'un
2763 problème qui peut être présenté à l'auteur amont.
2765 Si le rapporteur de bogue n'est pas d'accord avec votre décision de
2766 fermeture du bogue, il peut le ré-ouvrir jusqu'à ce que vous trouviez un
2767 accord sur la façon de le gérer. Si vous n'en trouvez pas, vous pouvez
2768 marquer le bogue avec <tt>wontfix</tt> pour indiquer aux personnes que
2769 le bogue existe, mais ne sera pas corrigé. Si cette situation n'est pas
2770 acceptable, vous (ou le rapporteur) pouvez vouloir demander une décision
2771 par le comité technique en réattribuant le bogue à
2772 <package>tech-ctte</package> (vous pouvez utiliser la commande
2773 <tt>clone</tt> du BTS si vous désirez garder le bogue comme rapporté sur
2774 votre paquet). Avant de faire cela, veuillez lire la <url
2775 id="&url-tech-ctte;" name="procédure recommandée">.
2778 Si le rapport de bogue est réel, mais est causé par un autre paquet,
2779 réattribuez simplement le bogue à l'autre paquet. Si vous ne savez pas à
2780 quel paquet il doit être réattribué, vous pouvez demander de l'aide sur
2781 &email-debian-devel; ou vous pouvez le réattribuer à
2782 <package>debian-policy</package> pour les laisser décider dans quel
2783 paquet est située l'erreur.
2785 Parfois, vous devez également ajuster la gravité du bogue pour qu'elle
2786 corresponde à notre définition de gravité des bogues. C'est dû au
2787 fait que les gens tendent à augmenter la gravité des bogues pour
2788 s'assurer que leurs bogues seront corrigés rapidement. La gravité de
2789 certains bogues peut même être rétrogradée en <em>wishlist</em> (souhait)
2790 quand le changement demandé est seulement d'ordre cosmétique.
2793 Le rapporteur de bogue peut avoir oublié de fournir certaines
2794 informations. Dans ce cas, vous devez lui demander les informations
2795 nécessaires. Vous pouvez utiliser la marque <tt>moreinfo</tt> (plus
2796 d'info) sur le bogue. De plus, si vous ne pouvez pas reproduire le
2797 bogue, vous pouvez le marquer comme <tt>unreproducible</tt> (non
2798 reproductible). Une personne qui arriverait à reproduire le bogue est
2799 alors invitée à fournir plus d'informations sur la façon de le
2800 reproduire. Après quelques mois, si cette information n'a été envoyée
2801 par personne, le bogue peut être fermé.
2804 Si le bogue est lié à l'empaquètement, vous devez simplement le
2805 corriger. Si vous ne pouvez pas le corriger vous-même, marquez alors le
2806 bogue avec <tt>help</tt> (aide). Vous pouvez également demander de
2807 l'aide sur &email-debian-devel; ou &email-debian-qa;. S'il s'agit d'un
2808 problème amont, vous devez faire suivre le rapport à l'auteur amont.
2809 Faire suivre un bogue n'est pas suffisant, vous devez vérifier à chaque
2810 version si le bogue a été corrigé ou non. S'il a été corrigé, vous le
2811 fermez simplement, sinon vous devez le rappeler à l'auteur. Si vous avez
2812 les compétences nécessaires, vous pouvez préparer un correctif pour
2813 corriger le bogue et l'envoyer en même temps à l'auteur. Assurez-vous
2814 d'envoyer le correctif au BTS et marquez le bogue avec <tt>patch</tt>
2818 Si vous avez corrigé un bogue sur votre copie locale ou si un correctif
2819 a été inclus dans le référentiel CVS, vous pouvez marquer le bogue avec
2820 <tt>pending</tt> (en attente) pour informer que le bogue est corrigé et
2821 qu'il sera fermé lors du prochain envoi (ajoutez le <tt>closes:</tt>
2822 dans le <file>changelog</file>). C'est particulièrement utile si
2823 plusieurs développeurs travaillent sur le même paquet.
2826 Une fois que le paquet corrigé est disponible dans la distribution
2827 <em>unstable</em>, vous pouvez fermer le bogue. Ceci peut être fait
2828 automatiquement, pour cela, reportez-vous à <ref id="upload-bugfix">.
2832 <sect1 id="bug-security">Gérer les bogues de sécurité
2834 À cause de leur nature sensible, les bogues liés à la sécurité doivent être
2835 soigneusement traités. L'équipe de sécurité de Debian est là pour coordonner
2836 cette activité, pour faire le suivi des problèmes de sécurité en cours, pour
2837 aider les responsables ayant des problèmes de sécurité ou pour les corriger
2838 elle-même, pour envoyer les annonces de sécurité et pour maintenir le site
2839 security.debian.org.
2841 <sect2 id="bug-security-you">Que faire si vous apprenez l'existence d'un
2842 problème de sécurité ?
2844 Si vous prenez connaissance d'un bogue lié à un problème de sécurité sur un
2845 paquet Debian, que vous soyez ou non le responsable, regroupez les
2846 informations pertinentes sur le problème et contactez rapidement l'équipe de
2847 sécurité à &email-security-team;. Les informations utiles incluent, par
2852 les versions du paquet connues pour être affectées par le bogue. Vérifiez
2853 chaque version présente dans les distributions maintenues par Debian ainsi
2854 que dans <em>testing</em> et dans <em>unstable</em>,
2857 la nature d'une solution si elle est disponible (Les correctifs sont
2858 particulièrement utiles),
2861 tout paquet corrigé que vous avez vous-même préparé (envoyez seulement les
2862 fichiers <file>.diff.gz</file> et <file>.dsc</file>),
2865 toute information nécessaire pour l'annonce de sécurité (voir <ref
2866 id="bug-security-advisories">).
2870 <sect2 id="bug-security-confidentiality">Confidentialité
2872 À la différence de la plupart des autres activités au sein de Debian, les
2873 informations sur les problèmes de sécurité doivent parfois être gardées en
2874 privé pour un certain temps. Cette décision dépend de la nature du problème
2875 et de l'existence d'une solution correspondante et également s'il s'agit d'un
2876 fait connu publiquement.
2878 Il existe plusieurs façons pour un développeur de prendre connaissance d'un
2879 problème de sécurité :
2883 il le remarque sur un forum publique (liste de diffusion, site web, etc.),
2886 quelqu'un remplit un rapport de bogue,
2889 quelqu'un l'informe par courrier privé.
2893 Dans les deux premiers cas, l'information est publique et il est important
2894 d'avoir une solution le plus vite possible. Dans le dernier cas, cependant, ce
2895 n'est peut-être pas une information publique. Dans ce cas, il existe quelques
2896 options possibles pour traiter le problème :
2900 si le problème est trivial (comme des fichiers temporaires non sécurisés),
2901 il n'y a pas besoin de garder le secret sur le problème et une correction
2902 devrait être effectuée et diffusée,
2905 si le problème est grave (exploitable à distance, possibilité d'accéder
2906 aux privilèges d'administratation), il est préférable de partager cette
2907 information avec d'autres vendeurs et de coordonner une diffusion.
2908 L'équipe de sécurité garde des contacts avec les différentes organisations
2909 et individus et peut prendre soin des actions à mener.
2914 Dans tous les cas, si la personne qui indique le problème demande à ne pas
2915 diffuser l'information, cela devrait être respecté avec l'évidente exception
2916 d'informer l'équipe de sécurité (assurez-vous d'informer l'équipe de sécurité
2917 que l'information ne doit pas être révélée).
2919 <p>Veuillez noter que si le secret est nécessaire, vous ne pourrez pas envoyer
2920 un correctif vers <em>unstable</em> (ou ailleurs) puisque les informations de
2921 changelog et de diff sont publiques pour <em>unstable</em>.
2923 <p>Il existe deux raisons pour diffuser l'information même si le secret est
2924 demandé : le problème est connu depuis un certain temps ou le problème ou
2925 son exploitation est devenu public.
2927 <sect2 id="bug-security-advisories">Annonces de sécurité
2929 Les annonces de sécurité ne sont émises que pour la distribution actuelle
2930 diffusée <em>stable</em>, pas pour <em>testing</em> ou <em>unstable</em>.
2931 Quand elle est diffusée, l'annonce est envoyée à la liste de diffusion
2932 &email-debian-security-announce; et elle est postée sur <url
2933 id="&url-debian-security-advisories;" name="la page de sécurité">. Les
2934 annonces de sécurité sont écrites et postées par l'équipe de sécurité.
2935 Cependant, ils ne verront aucun inconvénient à ce qu'un responsable leur
2936 apporte des informations ou écrive une partie du texte. Les informations qui
2937 devraient être présentes dans une annonce incluent :
2940 une description du problème et de sa portée, y compris :
2943 le type du problème (escalade de privilège, déni de service,
2947 comment il peut être exploité,
2950 si le problème peut être exploité à distance ou localement,
2953 comment le problème a été corrigé,
2958 les numéros de version des paquets affectés,
2961 les numéros de version des paquets corrigés,
2964 une information sur la façon de récupérer les paquets mis à jour,
2967 des références à des annonces amont, des identifiants <url
2968 id="http://cve.mitre.org" name="CVE"> et toute autre information utile
2969 pour recouper les références de la vulnérabilité.
2973 <sect2 id="bug-security-building">
2974 <heading>Préparer les paquets pour corriger des problèmes de sécurité
2976 Une façon d'assister l'équipe de sécurité dans ses travaux est de fournir des
2977 paquets corrigés convenables pour une annonce de sécurité pour la version
2978 <em>stable</em> de Debian
2980 Quand une mise à jour de la version <em>stable</em> est effectuée, un soin
2981 particulier doit être apporté pour éviter de modifier le comportement du
2982 système ou d'introduire de nouveaux bogues. Pour cela, faites le moins de
2983 changements possibles pour corriger le bogue. Les utilisateurs et les
2984 administrateurs s'attendent à un comportement identique dans une version
2985 lorsque celle-ci est effectuée, donc tout changement qui est fait est
2986 susceptible de casser le système de quelqu'un. Ceci est spécialement vrai pour
2987 les bibliothèques : assurez-vous ne de jamais changer l'API ou l'ABI,
2988 quelque minimal que soit le changement.
2990 Cela veut dire que passer à une version amont supérieure n'est pas une bonne
2991 solution. À la place, les changements pertinents devraient être rétro-portés
2992 vers la version présente dans la distribution <em>stable</em> de Debian.
2993 Habituellement, les développeurs amont veulent bien aider. Sinon, l'équipe de
2994 sécurité Debian peut le faire.
2996 Dans certains cas, il n'est pas possible de rétro-porter un correctif de
2997 sécurité, par exemple, quand de grandes quantités de code source doivent être
2998 modifiées ou réécrites. Si cela se produit, il peut être nécessaire de passer à
2999 une nouvelle version amont. Cependant, vous devez toujours coordonner cela avec
3000 l'équipe de sécurité au préalable.
3002 Il existe une autre règle de conduite liée à cela : testez toujours vos
3003 changements. Si une exploitation du problème existe, essayez-là et
3004 vérifiez qu'elle réussit sur le paquet non corrigé et échoue sur le paquet
3005 corrigé. Testez aussi les autres actions normales car parfois un correctif de
3006 sécurité peut casser de manière subtile des fonctionnalités qui ne semblent pas
3009 Examinez et testez autant que possible vos changements. Vérifiez les différences
3010 avec la version précédente de manière répétée (<prgn>interdiff</prgn> et
3011 <prgn>debdiff</prgn> sont des outils utiles pour cela). Lors de la construction
3012 de la correction, gardez les points suivants à l'esprit :
3016 Assurez-vous que vous avez pour cible la bonne distribution dans votre
3017 fichier <file>debian/changelog</file>. Pour <em>stable</em>, il s'agit de
3018 <tt>stable-security</tt> et pour <em>testing</em>, c'est
3019 <tt>testing-security</tt> et pour l'ancienne distribution stable, c'est
3020 <tt>oldstable-security</tt>. Ne ciblez pas
3021 <var>distribution</var>-proposed-updates !
3024 Assurez-vous que le numéro de version est correct. Il doit être plus élevé
3025 que celui du paquet actuel, mais moins que ceux des paquets des versions
3026 des distributions suivantes. En cas de doute, testez-le avec <tt>dpkg
3027 --compare-versions</tt>. Pour <em>testing</em>, il doit y avoir un numéro
3028 de version supérieur dans <em>unstable</em>. S'il n'y en a pas encore (par
3029 exemple, si <em>testing</em> et <em>unstable</em> ont la même version),
3030 vous devez envoyer une nouvelle version vers <em>unstable</em> en premier.
3033 Ne faites pas d'envoi de source seul si votre paquet possède un ou
3034 plusieurs paquets binary-all (n'utilisez pas l'option <tt>-S</tt> de
3035 <prgn>dpkg-buildpackage</prgn>). L'infrastructure <prgn>buildd</prgn> ne
3036 construira pas ceux-ci. Ce point s'applique aux envois de paquets normaux
3040 Si la source amont a été envoyée auparavant à security.debian.org (par une
3041 précédente mise à jour de sécurité), construisez le paquet sans la source
3042 amont (<tt>dpkg-buildpackage -sd</tt>). Sinon, construisez-le avec le
3043 source complet (<tt>dpkg-buildpackage -sa</tt>).
3046 Assurez-vous d'utiliser exactement le même nom <file>*.orig.tar.gz</file>
3047 que celui utilisé dans l'archive normale, sinon il ne sera pas possible de
3048 déplacer plus tard le correctif de sécurité dans l'archive principale.
3051 Assurez-vous, lors de la compilation du paquet, de compiler sur un système
3052 propre, dont tous les paquets appartiennent à la distribution pour laquelle vous
3053 construisez le paquet. Si vous n'avez pas un tel système, vous pouvez
3054 utiliser l'une des machines de debian.org (voir <ref
3055 id="server-machines">) ou mettez en place un chroot (voir <ref id=
3056 "pbuilder"> et <ref id="debootstrap">).
3060 <sect2 id="bug-security-upload">Mettre à jour le paquet corrigé
3062 Vous <em>NE DEVEZ PAS</em> envoyer un paquet dans la file d'attente des envois de sécurité
3063 sans l'accord préalable de l'équipe de sécurité. Si le paquet ne remplit pas
3064 exactement les impératifs de l'équipe, il causera beaucoup de problèmes, ainsi
3065 que des délais dans la gestion de l'envoi indésirable.
3067 Vous <em>NE DEVEZ PAS</em> envoyer votre correction dans
3068 <em>proposed-updates</em> sans vous coordonner avec l'équipe de sécurité. Les
3069 paquets seront copiés de security.debian.org dans le répertoire
3070 <file>proposed-updates</file> automatiquement. Si un paquet avec le même numéro
3071 de version ou un numéro plus grand est déjà installé dans l'archive, la mise à
3072 jour de sécurité sera rejetée par le système d'archive. Ainsi, la distribution
3073 <em>stable</em> se retrouvera à la place sans la mise à jour de sécurité de ce
3076 Une fois que vous avez créé et testé le nouveau paquet et qu'il a été approuvé
3077 par l'équipe de sécurité, il doit être envoyé pour être installé dans les
3078 archives. Pour les envois de sécurité, l'adresse d'envoi est
3079 <tt>ftp://security.debian.org/pub/SecurityUploadQueue/</tt>.
3082 Une fois que l'envoi vers la file d'attente de sécurité a été accepté, le paquet sera
3083 automatiquement recompilé pour toutes les architectures et stocké pour
3084 vérification par l'équipe de sécurité.
3087 Les envois en attente d'acceptation ou de vérification ne sont accessibles que
3088 par l'équipe de sécurité. C'est nécessaire car il pourrait y avoir des
3089 correctifs pour des problèmes de sécurités qui ne peuvent pas encore être
3093 Si une personne de l'équipe de sécurité accepte un paquet, il sera installé sur
3094 security.debian.org ainsi que dans le répertoire
3095 <var>distribution</var>-proposed-updates qui convient sur ftp-master ou dans
3098 <sect1 id="upload-bugfix">Quand les rapports de bogue sont-ils fermés par
3099 une mise à jour ?
3101 Si vous corrigez un bogue dans vos paquets, il est de votre responsabilité de
3102 fermer le rapport de bogue associé. Cependant, vous ne devez pas le fermer
3103 avant que le paquet n'ait été accepté dans l'archive Debian. C'est pourquoi,
3104 vous pouvez et vous devez clore le rapport dans le système de suivi des bogues
3105 une fois que vous avez reçu l'avis indiquant que votre nouveau paquet a été
3106 installé dans l'archive.
3108 Cependant, il est possible d'éviter d'avoir à fermer manuellement les bogues
3109 après l'envoi — indiquez simplement les bogues corrigés dans le fichier
3110 <file>changelog</file> en suivant une syntaxe précise. Par exemple :
3113 acme-cannon (3.1415) unstable; urgency=low
3115 * Frobbed with options (closes: Bug#98339)
3116 * Added safety to prevent operator dismemberment, closes: bug#98765,
3118 * Added man page. Closes: #98725.
3121 Techniquement parlant, l'expression régulière suivante Perl est utilisée :
3124 /closes:\s*(?:bug)?\#\s*\d+(?:,\s*(?:bug)?\#\s*\d+)*/ig
3127 L'auteur préfère la syntaxe <tt>closes: #<var>XXX</var></tt>, car c'est l'une
3128 des plus concises et des plus faciles à intégrer dans le texte du fichier
3129 <file>changelog</file>.
3131 Si vous entrez un numéro de bogue incorrect ou si vous en oubliez un dans le
3132 fichier <file>changelog</file>, n'hésitez pas à annuler tout dommage que
3133 l'erreur a entrainé. Pour réouvrir un bogue fermé par erreur, envoyez une
3134 commande <tt>reopen <var>XXX</var></tt> au robot de contrôle du système de
3135 suivi des bogues. Pour fermer tous les bogues restants qui ont été corrigés par
3136 votre envoi, envoyez le fichier <file>.changes</file> à
3137 <email>XXX-done@bugs.debian.org</email> où <var>XXX</var> est le numéro du
3140 Rappelez-vous qu'il n'est pas obligatoire de fermer les bogues en utilisant le
3141 <file>changelog</file> tel que décrit ci-dessus — si vous désirez
3142 simplement fermer les bogues qui n'ont rien à voir avec l'un de vos envois,
3143 faites-le simplement en envoyant une explication à
3144 <email>XXX-done@bugs.debian.org</email>.
3146 <chapt id="best-pkging-practices">
3147 <heading>Les meilleurs pratiques pour la construction des paquets
3149 La qualité de Debian est principalement due à la <url id="&url-debian-policy;"
3150 name="charte Debian"> qui définit explicitement les obligations que tous les
3151 paquets doivent suivre. Mais c'est également grâce à une histoire partagée
3152 d'expériences qui va au-delà de la charte Debian, une accumulation d'années
3153 d'expérience pour la construction des paquets ; des développeurs de grand
3154 talent ont créé de bons outils qui vous aideront, vous, responsable Debian, à
3155 créer et maintenir d'excellents paquets.
3158 Ce chapitre fournit les meilleurs pratiques pour les développeurs Debian. Ce ne
3159 sont que des recommandations, non pas des obligations ou des règles. Ce sont
3160 seulement des astuces et conseils subjectifs et des liens collectés pour les
3161 développeurs Debian. Prenez et choisissez ce qui vous convient le mieux.
3163 <sect id="bpp-debian-rules">
3164 <heading>Les meilleures pratiques pour le fichier <file>debian/rules</file></heading>
3166 Les recommandations suivantes s'appliquent au fichier <file>debian/rules</file>.
3167 Comme ce fichier contrôle le processus de compilation et qu'il sélectionne les
3168 fichiers inclus dans le paquet (directement ou indirectement), il s'agit
3169 habituellement du fichier sur lequel les responsables passent le plus de temps.
3172 <sect1 id="helper-scripts">Scripts d'aide
3174 La raison sous-jacente à l'utilisation des scripts d'aide dans le fichier
3175 <file>debian/rules</file> est que cela permet aux responsables d'utiliser et de
3176 partager une logique commune pour un grand nombre de paquets. Prenez, par
3177 exemple, l'installation des entrées de menu : vous avez besoin de
3178 placer un fichier dans <file>/usr/lib/menu</file> et d'ajouter des commandes aux
3179 scripts de maintenance pour enregistrer et désenregistrer ces entrées de menu.
3180 Comme il s'agit d'une chose très commune, pourquoi chaque
3181 responsable devrait-il écrire sa propre version, parfois avec des bogues ?
3182 Supposons également que le répertoire de menu soit modifié, chaque paquet
3183 devrait être modifié.
3185 Les scripts d'aide peuvent résoudre ces problèmes. En supposant que vous vous
3186 conformiez aux conventions attendues par le script d'aide, celui-ci prend soin
3187 de tous les détails. Les changements dans la charte peuvent alors être faits
3188 dans le script d'aide, les paquets ont alors simplement besoin d'être
3189 reconstruits avec la nouvelle version du script et sans aucun changement
3192 L'<ref id="tools"> contient plusieurs systèmes d'aide. Le plus
3193 courant et le meilleur (à notre avis) système est <package>debhelper</package>.
3194 Les précédents systèmes d'aide comme <package>debmake</package> étaient
3195 « monolithiques » : vous ne pouviez pas choisir quelles parties
3196 intéressantes vous pouviez utiliser, mais vous êtiez obligé de choisir le
3197 système pour tout faire. <package>debhelper</package>, à l'inverse, consiste en
3198 un certain nombre de petits programmes <prgn>dh_*</prgn>. Par exemple,
3199 <prgn>dh_installman</prgn> installe et compresse les pages de manuel,
3200 <prgn>dh_installmenu</prgn> installe les fichiers de menu et ainsi de suite.
3201 Ainsi, il offre une flexibilité suffisante pour pouvoir utiliser les scripts
3202 d'aide quand ils sont utiles, en complément de commandes définies manuellement
3203 dans le fichier <file>debian/rules</file>.
3205 Vous pouvez débuter avec <package>debhelper</package> par lire <manref
3206 name="debhelper" section="1"> et en regardant les exemples fournis avec le
3207 paquet. <prgn>dh_make</prgn> du paquet <package>dh-make</package> (voir <ref
3208 id="dh-make">) peut être utilisé pour convertir un paquet source
3209 « vierge » en une version utilisant <package>debhelper</package>. Ce
3210 raccourci ne devrait cependant pas vous faire croire que vous n'avez pas besoin
3211 de comprendre les scripts individuels <prgn>dh_*</prgn>). Si vous comptez
3212 utiliser un système d'aide, vous devez prendre le temps d'apprendre à utiliser
3213 ce système pour savoir ce que vous pouvez en attendre ainsi que son
3216 Plusieurs personnes pensent que des fichiers <file>debian/rules</file> vierges
3217 sont préférables car vous n'avez pas à apprendre les détails internes d'un
3218 quelconque système d'aide. La décision vous appartient complètement. Utilisez ce
3219 qui vous convient. Plusieurs exemples de fichiers <file>debian/rules</file> sont
3220 disponibles à <url id="&url-rules-files;">.
3222 <!-- Pour vous aider dans votre effort d'empaquètement, vous pouvez
3223 utiliser les scripts d'aide. Les meilleurs scripts disponibles sont fournis
3224 par <package>debhelper</package>. Avec <prgn>dh_make</prgn> (paquet
3225 <package>dh-make</package>), vous pouvez générer en quelques secondes un
3226 paquet qui est presque prêt. Cependant, cette apparente simplicité cache un
3227 grand nombre de choses faites par les scripts d'aide. Vous devez savoir ce
3228 qu'ils font, c'est pourquoi vous êtes fortement encouragé à lire les pages de
3229 manuel correspondantes, en commençant par <manref section="1" name="debhelper">. C'est
3230 nécessaire parce que vous devez comprendre ce qui se passe pour être capable
3231 de les utiliser sagement et pour pouvoir corriger des bogues de manière
3234 debhelper est très utile car il vous permet de suivre la plus récente
3235 charte Debian sans faire beaucoup de modifications car les changements qui
3236 peuvent être automatisés sont presque toujours faits automatiquement par un
3237 script debhelper. De plus, il offre suffisamment de flexibilité pour que vous
3238 soyez capable de l'utiliser en conjonction avec des invocations de shell
3239 écrites à la main à l'intérieur du fichier <file>rules</file>.
3241 Vous pouvez cependant décider de ne pas utiliser de script d'aide et
3242 tout de même écrire d'excellents fichiers <file>rules</file>. Plusieurs
3243 exemples sont disponibles à <url id="&url-rules-files;">.
3246 <sect1 id="multiple-patches">
3247 <heading>Appliquer des correctifs sur les sources ou appliquer des
3248 correctifs lors de la construction ?</heading>
3250 Les gros paquets peuvent avoir plusieurs bogues que vous devez corriger.
3251 Si vous corrigez sans faire attention les bogues dans les
3253 vous ne pourrez pas différencier facilement les
3254 nombreux correctifs que vous aurez appliqués. Cela peut devenir trés
3255 compliqué de mettre à jour le paquet avec une nouvelle version amont qui
3256 intègre certains correctifs (mais pas tous). Vous ne pouvez pas prendre
3257 l'ensemble des correctifs (par exemple, dans les fichiers <file>.diff.gz</file>) et
3258 décider quels correctifs il vous faut enlever parceque les bogues ont été
3261 Une bonne solution est de conserver des correctifs séparés sous le répertoire
3262 <file>debian</file> et de les appliquer lors de la compilation. Le paquet
3263 <package>dbs</package> fournit un moyen pratique pour appliquer ces correctifs
3264 lors de la compilation (et de les enlever lors du nettoyage). Le paquet
3265 <package>dbs</package> fournit également des facilités pour créer des
3266 correctifs et garder une trace de leur utilité. Comme toujours lorsque vous
3267 utilisez des outils des maintenance, vous devez lire la documentation
3268 associée. Le paquet <package>hello-dbs</package> est un exemple simple qui
3269 présente comment utiliser <package>dbs</package>.
3272 <sect1 id="multiple-binary">Paquets binaires multiples
3274 Un simple paquet source va souvent permettre de construire plusieurs paquets
3275 binaires différents, que ce soit pour fournir plusieurs saveurs du même
3276 paquet (par exemple, les différents paquets <package>vim-*</package>) ou pour
3277 créer plusieurs petits paquets au lieu d'un seul gros (par exemple, si
3278 l'utilisateur peut installer que la partie dont il a besoin et ainsi
3279 économiser de l'espace disque).
3281 Le second cas peut facilement être géré dans le fichier
3282 <file>debian/rules</file>. Vous avez simplement besoin de déplacer les fichiers
3283 appropriés du répertoire de construction dans les arborescence temporaires du
3284 paquet. Vous pouvez le faire en utilisant <prgn>install</prgn> (approche
3285 vierge) ou <prgn>dh_install</prgn> (du <package>debhelper</package>).
3286 Assurez-vous de vérifier les différentes permutations de paquets, en
3287 garantissant que vous avez bien défini les dépendances entre les paquets dans
3288 le fichier <file>debian/control</file>.
3290 Le premier cas est un peu plus diffile car il implique de multiples
3291 recompilations du même logiciel, mais avec différentes options de
3292 configuration. Le paquet <package>vim</package> est un exemple de la façon de
3293 gérer cela avec un fichier rules écrit à la main.
3295 <!-- &FIXME; Find a good debhelper example with multile configure/make cycles
3299 <sect id="bpp-debian-maint-scripts">
3300 <heading>Les meilleures pratiques pour les scripts de
3301 maintenance</heading>
3303 Les scripts de maintenance incluent les fichiers <file>debian/postinst</file>,
3304 <file>debian/preinst</file>, <file>debian/prerm</file> et
3305 <file>debian/postrm</file>. Ces scripts prennent soin de la configuration
3306 d'installation ou de désinstallation des paquets, ce qui n'est pas simplement créer ou
3307 +supprimer des fichiers et des répertoires. Les instructions suivantes
3308 complètent la <url id="&url-debian-policy;" name="charte Debian">.
3310 Les scripts de maintenance doivent être idempotents. Cela veut dire que vous
3311 devez vous assurer que rien de grave ne se produit si un script est appelé deux
3312 fois là où il ne devrait habituellement être appelé qu'une fois.
3314 Les entrée et sortie standard peuvent être redirigées (par exemple, dans des
3315 tubes<footnote><p>pipes</p></footnote>) pour des besoins d'enregistrement
3316 d'activité, donc vous ne devez pas supposer que ce sont des tty.
3318 Tous les affichages et les configurations interactives devraient être
3319 minimisées. Quand cela est nécessaire, vous devriez utiliser le paquet
3320 <package>debconf</package> pour l'interface. Rappelez-vous que, dans tous les
3321 cas, l'affichage ne doit se faire que dans l'étape de configuration,
3322 <tt>configure</tt> du script de post-installation, <file>postinst</file>.
3324 Gardez les scripts de maintenance aussi simples que possible. Nous vous
3325 suggérons d'utiliser des scripts shell POSIX purs. Rappelez-vous, que si vous
3326 avez besoin d'une fonctionnalité de Bash, le script de maintenance doit
3327 l'indiquer dans sa première ligne. Un shell POSIX ou Bash sont préférés à
3328 Perl car ils permettent à <package>debhelper</package> d'ajouter facilement des
3329 parties aux scripts.
3331 Si vous modifiez les scripts de maintenance, assurez-vous de tester la
3332 suppression du paquet, la double installation et la purge complète. Assurez-vous
3333 qu'il ne reste rien d'un paquet purgé, c'est-à-dire, que la purge doit enlever
3334 tout fichier créé, directement ou indirectement, par les scripts de
3337 Si vous avez besoin de vérifier l'existence d'une commande, vous devriez
3338 utiliser quelque chose comme :
3339 <example>if [ -x /usr/sbin/install-docs ]; then ...</example>
3341 Si vous ne désirez pas mettre en dur le chemin de la commande dans le script de
3342 maintenance, la fonction de shell suivante conforme à POSIX peut vous
3347 Vous pouvez utiliser cette fonction pour rechercher le <tt>$PATH</tt> pour un
3348 nom de commande passé en argument. Il renvoie vrai (zéro) si la commande a été
3349 trouvé et faux sinon. Il s'agit réellement de la façon la plus portable de faire
3350 car <tt>command -v</tt>, <prgn>type</prgn> et <prgn>which</prgn> ne sont pas
3351 POSIX. Bien que <prgn>which</prgn> soit une alternative acceptable car il est
3352 présent dans le paquet classé <em>required</em><package>debianutils</package>, il n'est pas
3353 présent dans la partition racine ; mais cela ne posera sans doute pas de
3357 <sect id="bpp-debian-control">
3358 <heading>Les meilleures pratiques pour le fichier
3359 <file>debian/control</file></heading>
3361 Les pratiques suivantes viennent en complément de la <url
3362 id="&url-debian-policy;ch-miscellaneous.html#s-descriptions"
3363 name="règles pour les descriptions de paquet">.</p>
3365 <sect1 id="bpp-pkg-desc">
3366 <heading>Écrire des descriptions utiles</heading>
3368 La description du paquet (telle qu'elle est définie dans le champ correspondant
3369 du fichier <file>control</file>) est habituellement la première
3370 information dont dispose l'utilisateur avant d'installer un paquet. Aussi,
3371 elle devrait fournir toutes les informations nécessaires pour le laisser
3372 décider de l'installation du paquet.
3374 Pour des raisons de cohérence et d'esthétique, vous devriez mettre en
3375 majuscule la première lettre du résumé de la description. Ne mettez pas
3376 de point à la fin. La description elle-même devrait n'être constituée
3377 que de phrases entières.
3379 Enfin, comme la première impression de l'utilisateur est basée sur cette
3380 description, vous devriez éviter les fautes d'orthographe et de grammaire.
3381 N'oubliez pas votre vérificateur orthographique.
3382 <prgn>ispell</prgn> possède une option spéciale (<tt>-g</tt>) pour
3383 cela : <example>ispell -d american -g debian/control</example>. Si
3384 vous voulez qu'une personne relise la description que vous avez l'intention
3385 d'utiliser, vous pouvez le demander sur &email-debian-l10n-english;.
3388 <sect1 id="bpp-upstream-info">
3389 <heading>Page d'accueil amont</heading>
3391 Nous vous recommandons d'ajouter l'adresse de la page d'accueil du paquet à la
3392 description du paquet dans le fichier <file>debian/control</file>. Cette
3393 information devrait être ajoutée à la fin de la description en utilisant le
3394 format suivant :
3397 Homepage: http://some-project.some-place.org/</example>
3399 Veuillez noter les espaces au début de la ligne, ils servent à séparer les
3400 lignes correctement. Pour voir un exemple de ce que cela affiche, veuillez vous
3401 reporter à <url id="&url-eg-desc-upstream-info;">.
3403 Ne mettez rien s'il n'existe pas de page pour le logiciel.
3406 Veuillez noter que nous espérons que ce champ sera remplacé par un
3407 vrai champ de <file>debian/control</file> que comprendraient <prgn>dpkg</prgn>
3408 et <tt>&packages-host;</tt>. Si vous ne voulez pas vous embêter à mettre la
3409 page d'accueil de la description dans ce nouveau champ, vous devriez
3410 probablement attendre qu'il soit disponible.</p>
3414 <!-- <sect1 id="pkg-mgmt-cvs">Managing a package with CVS
3416 &FIXME; presentation of cvs-buildpackage, updating sources
3417 via CVS (debian/rules refresh).
3421 <sect id="bpp-config-mgmt">
3422 <heading>Gestion de la configuration avec <package>debconf</package></heading>
3426 <package>Debconf</package> est un système de gestion de configuration qui
3427 peut être utilisé par les divers scripts de maintenance (principalement
3428 en post-installation dans le fichier <file>postinst</file>) pour demander à
3429 l'utilisateur des informations concernant la configuration du paquet. Il
3430 faut maintenant éviter les interactions directes avec l'utilisateur et
3431 préférer les interactions utilisant <package>debconf</package>. Ceci permettra
3432 à l'avenir des installations non interactives. <!-- pas de trait d'union
3433 entre non et adjectif -->
3435 Debconf est un bon outil, mais il est souvent mal utilisé. Plusieurs erreurs
3436 communes sont référencées dans la page de manuel <manref section="8"
3437 name="debconf-devel">. Vous devriez vraiment lire cette page si vous décidez
3442 <sect id="bpp-i18n">
3443 <heading>Internationalisation</heading>
3447 <sect1 id="bpp-i18n-debconf">Gestion des traductions de
3450 Comme les porteurs, les traducteurs ont une tâche difficile. Ils travaillent sur
3451 un grand nombre de paquets et doivent donc collaborer avec plusieurs
3452 responsables différents. De plus, la plupart du temps, l'anglais n'est pas leur
3453 langue maternelle, il se peut que vous deviez être particulièrement patient
3456 Le but de <package>debconf</package> était de faciliter la configuration des
3457 paquets aux responsables et aux utilisateurs. À l'origine, les
3458 traductions des questionnaires debconf étaient gérées avec
3459 <prgn>debconf-mergetemplate</prgn>. Cependant, cette technique est maintenant
3460 déconseillée ; la meilleure façon pour l'internationalisation de
3461 <package>debconf</package> est d'utiliser le paquet
3462 <package>po-debconf</package>. Cette méthode est plus facile et pour le
3463 responsable et pour les traducteurs ; des scripts de transition sont
3466 Lors de l'utilisation de <package>po-debconf</package>, la traduction est
3467 stockée dans des fichiers <file>po</file> (à l'instar des techniques de
3468 traduction de <prgn>gettext</prgn>). Des fichiers modèles contiennent les
3469 messages d'origine et indiquent quels sont les champs traduisibles. Quand vous
3470 modifiez l'état d'un champ traduisible en appelant
3471 <prgn>debconf-updatepo</prgn>, la traduction est marquée comme ayant besoin de
3472 l'attention des traducteurs. Puis, lors de la construction du paquet, le
3473 programme <prgn>dh_installdebconf</prgn> prendra soin de toute la magie
3474 nécessaire à l'ajout du modèle avec les traductions à jour dans les paquets
3475 binaires. Veuillez vous reporter à la page de manuel <manref name="po-debconf"
3476 section="7"> pour les détails.
3479 <sect1 id="bpp-i18n-docs">
3480 <heading>Documentation traduite</heading>
3482 La traduction de la documentation est cruciale pour les utilisateurs, mais elle
3483 représente un important travail. Il n'existe aucun moyen d'éliminer ce travail,
3484 mais vous pouvez faciliter les choses pour les traducteurs.
3486 Si vous êtes responsable d'une documentation quelle que soit sa taille, il est
3487 plus facile pour les traducteurs d'avoir accès à un système de contrôle de
3488 source. Ceci permet aux traducteurs de voir les différences entre deux versions
3489 de la documentation, pour, par exemple, qu'ils puissent voir ce qui a besoin
3490 d'être retraduit. Il est recommandé que le document traduit inclue une note à
3491 propos de la révision de contrôle du source sur laquelle la traduction est
3492 basée. Un système intéressant est fourni par <url id="&url-i18n-doc-check;"
3493 name="doc-check"> dans le paquet <package>boot-floppies</package> qui donne un
3494 aperçu de l'état de la traduction pour une langue donnée, en utilisant les
3495 commentaires structurés pour une révision donnée du fichier à traduire et, pour
3496 un fichier traduit, la révision du fichier d'origine sur laquelle la traduction
3497 est basée. Vous pouvez vouloir adapter et fournir ceci dans votre référentiel CVS.
3499 Si vous maintenez de la documentation au format XML ou SGML, nous vous suggérons
3500 d'isoler les informations indépendantes de la langue et de les définir
3501 comme des entités dans un fichier séparé qui sera inclus par les différentes
3502 traductions. Ceci aide, par exemple, à garder à jour les adresses pour
3507 <!-- , ils ne peuvent pas garder la trace de chaque changement dans les paquets
3508 pour être informé quand une chaîne de traduction n'est plus à jour.
3509 Heureusement, <package>debconf</package> peut automatiquement indiquer les
3510 traductions non à jour si les responsables de paquet suivent les quelques
3511 lignes de conduites de base décrites ci-dessous.
3513 Les traducteurs peuvent utiliser <prgn>debconf-getlang</prgn>
3514 (paquet <package>debconf-utils</package>) pour écrire un fichier
3515 <file>templates.xx</file> contenant à la fois les champs en anglais et
3516 localisés (où <em>xx</em> est le code de langue, qui peut être suivi par un
3517 code de pays). Ce fichier peut être placé dans le sous-répertoire
3518 <file>debian</file> sans aucun changement.
3520 Lors de la construction d'un paquet binaire, les fichiers
3521 <file>debian/templates.xx</file> sont regroupés avec
3522 <file>debian/templates</file> pour générer le fichier <file>templates</file>
3523 qui contient le paquet binaire. Ceci est fait automatiquement par
3524 <prgn>dh_installdebconf</prgn> (paquet <package>debhelper</package>). Si vous
3525 n'utilisez pas debhelper, vous pouvez faire la même chose avec
3526 <prgn>debconf-mergetemplate</prgn> (paquet
3527 <package>debconf-utils</package>).
3529 Quand le responsable du paquet a besoin de faire une mise à jour du
3530 fichier de modèle, il n'a qu'à changer <file>debian/templates</file>. Quand
3531 les chaînes en anglais de ce fichier et de <file>debian/templates.xx</file>
3532 diffèrent, les traducteurs savent que leur traduction n'est plus à jour.
3534 Veuillez vous reporter à la page sur les <url id="&url-debconf-l10n-help;"
3535 name="fichiers templates debconf de localisation"> du site web Debian, elle
3536 contient des instructions plus détaillées, y compris un exemple complet.
3539 <sect id="bpp-common-situations">
3540 <heading>Pratiques d'empaquètement communes</heading>
3543 <sect1 id="bpp-kernel">Kernel modules/patches
3546 &FIXME; Heavy use of kernel-package. provide files in
3547 /etc/modutils/ for module configuration.
3550 <sect1 id="bpp-autotools">
3551 <heading>Paquets utilisant <prgn>autoconf</prgn>/<prgn>automake</prgn>
3553 Conserver à jour les fichiers d'<prgn>autoconf</prgn>, <file>config.sub</file>
3554 et <file>config.guess</file>, est critique pour les porteurs, spécialement pour
3555 les architectures plus changeantes. De très bonnes pratiques d'empaquetage
3556 utilisant <prgn>autoconf</prgn> et/ou <prgn>automake</prgn> ont été regroupées
3557 dans &file-bpp-autotools; du paquet <package>autotools-dev</package>. Vous êtes
3558 vivement encouragé à lire ce fichier et à suivre les recommandations indiquées.
3561 <sect1 id="bpp-libraries">Bibliothèques
3563 Les bibliothèques ont toujours été difficiles à empaqueter pour diverses
3564 raisons. La charte impose plusieurs contraintes pour faciliter la maintenance
3565 et pour garantir que les mises à jour sont aussi simples que possible quand une
3566 nouvelle version amont est disponible. Une erreur dans une bibliothèque peut
3567 rendre défectueux une douzaine de paquets qui en dépendent.
3569 Les bonnes pratiques d'empaquètement des bibliothèques ont été regroupées dans
3570 <url id="&url-libpkg-guide;" name="le guide d'empaquètement des
3573 <sect1 id="bpp-docs">Documentation
3575 Assurez-vous de suivre les <url id="&url-debian-policy;ch-docs.html"
3576 name="règles sur la documentation">.</p>
3578 Si votre paquet contient de la documentation construite à partir de XML ou SGML,
3579 nous vous recommandons de ne pas fournir le source XML ou SGML dans le(s)
3580 paquet(s) binaire(s). Si les utilisateurs désirent avoir le source de la
3581 documentation, ils peuvent récupérer le paquet source.</p>
3583 La charte spécifie que la documentation doit être fournie au format HTML.
3584 Nous vous recommandons également de la fournir au format PDF et texte simple si
3585 c'est adapté et qu'une sortie de qualité est possible. Cependant, il n'est
3586 généralement pas approprié de fournir des versions en texte simple pour la
3587 documentation dont le format source est du HTML.</p>
3589 Les principaux manuels fournis devraient être enregistrés par le paquet
3590 <package>doc-base</package> à l'installation. Reportez-vous à la documentation
3591 du paquet <package>doc-base</package> pour plus d'information.</p>
3595 <sect1 id="bpp-other">Types spécifiques de paquets
3597 Plusieurs types spécifiques de paquets ont des sous-chartes spéciales et des
3598 règles et pratiques d'empaquètement correspondantes :
3601 Les paquets liés à Perl ont leur <url id="&url-perl-policy;" name="charte
3602 Perl">, quelques exemples de paquets qui suivent cette charte sont
3603 <package>libdbd-pg-perl</package> (module perl binaire) ou
3604 <package>libmldbm-perl</package> (module perl indépendant de
3608 Les paquets liés à Python ont leur charte python ; voir
3609 &file-python-policy; dans le paquet <package>python</package>.
3612 Les paquets liés à Emacs ont leur <url id="&url-emacs-policy;"
3613 name="charte Emacs">.
3616 Les paquets liés à Java ont leur <url id="&url-java-policy;" name="charte
3620 Les paquets liés à Ocaml ont leur propre charte que l'on trouve dans
3621 &file-ocaml-policy; du paquet <package>ocaml</package>. Un bon exemple est
3622 le paquet source <package>camlzip</package>.
3625 Les paquets fournissant des DTDs XML ou SGML devraient se conformer aux
3626 recommandations que l'on peut trouver dans le paquet
3627 <package>sgml-base-doc</package>
3629 Les paquets Lisp devraient s'enregistrer avec le paquet
3630 <package>common-lisp-controller</package> pour lequel vous pouvez vous
3631 reporter à &file-lisp-controller;.
3637 <chapt id="beyond-pkging">
3638 <heading>Au-delà de l'empaquètement
3640 Debian, c'est beaucoup plus que de l'empaquètement de logiciels et de
3641 la maintenance de paquets. Ce chapitre contient des informations sur les
3642 façons, souvent vraiment importantes, de contribuer à Debian au-delà de la
3643 simple création et maintenance de paquets.
3645 En tant qu'organisation de volontaires, Debian repose sur la liberté de
3646 choisir ce sur quoi l'on désire travailler et de choisir la
3647 partie la plus importante à laquelle on veut consacrer son temps.
3649 <sect id="submit-bug">
3650 <heading>Rapporter des bogues
3652 Nous vous encourageons à remplir des rapports de bogue quand vous trouvez des
3653 bogues dans les paquets Debian. En fait, les développeurs Debian sont souvent
3654 les testeurs de première ligne. Trouver et rapporter les bogues dans les
3655 paquets d'autres développeurs améliore la qualité de Debian.
3657 Essayez de soumettre le bogue à partir d'un compte utilisateur normal sur lequel vous
3658 pouvez recevoir des courriers. Ne soumettez pas de bogues en tant
3661 Assurez-vous que le bogue n'a pas déjà été rapporté. Essayez de
3662 faire du bon boulot quand vous rapportez le bogue et indiquez l'emplacement
3663 exact. Vous pouvez également parcourir les bogues d'autres paquets, en les
3664 regroupant s'ils sont indiqués plus d'une fois, ou en modifiant la gravité d'un
3665 bogue à « fixed » quand ils ont déjà été corrigés. Notez cependant
3666 que si vous n'êtes ni le rapporteur du bogue, ni le responsable du paquet, vous
3667 ne devriez pas fermer réellement le bogue (à moins que vous n'ayez la
3668 permission sécurisée du responsable).
3670 De temps en temps, vous pourrez vouloir vérifier ce qui s'est passé à propos des
3671 bogues que vous avez rapportés. Saisissez cette occasion pour fermer les bogues
3672 que vous ne pouvez plus reproduire. Pour trouver tous les bogues que vous avez
3673 rapportés, vous avez simplement besoin d'aller à
3674 <tt>http://&bugs-host;/from:<your-email-addr></tt>.
3676 <sect1 id="submit-many-bugs">Ouvrir un grand nombre de rapports d'un seul
3679 Ouvrir un grand nombre de rapports pour le même problème sur un grand nombre de
3680 paquets — plus de dix — est une pratique que nous déconseillons.
3681 Prenez toutes les mesures possibles pour éviter cette situation. Si le problème
3682 peut être détecté automatiquement par exemple, ajoutez un nouveau test dans le
3683 paquet <package>lintian</package> pour générer une erreur ou un avertissement.
3685 Si vous ouvrez plus de dix rapports sur le même sujet, il est préférable
3686 d'indiquer votre intention sur la liste &email-debian-devel;. Cela donnera à
3687 d'autres développeurs la possibilité de vérifier que le problème existe
3688 vraiment. De plus, cela permet d'éviter que plusieurs responsables ne rédigent
3689 les mêmes rapports de bogue simultanément.
3691 Quand vous envoyez un grand nombre de rapports sur le même sujet, vous devriez
3692 les envoyer à <email>maintonly@bugs.debian.org</email> pour qu'ils ne soient
3693 pas redirigés vers les listes de diffusions.
3696 <sect id="qa-effort">Effort d'assurance qualité
3698 <sect1 id="qa-daily-work">Travail journalier
3700 Bien qu'il y ait un groupe de personnes dédiées à l'assurance qualité, les
3701 devoirs de QA ne leur sont pas exclusivement réservés. Vous pouvez participer à
3702 cet effort en conservant vos paquets aussi exempts de bogues que possible et
3703 aussi corrects que possible selon <prgn>lintian</prgn> (reportez-vous à <ref
3704 id="lintian">). Si cela vous paraît impossible, vous devriez alors envisager
3705 d'abandonner certains de vos paquets (reportez-vous à <ref id="orphaning">).
3706 Sinon, vous pouvez demander de l'aide à d'autres personnes pour qu'elles
3707 puissent rattraper votre retard dans la correction des bogues (vous pouvez
3708 demander de l'aide sur &email-debian-qa; ou &email-debian-devel;). En même
3709 temps, vous pouvez rechercher des co-responsables (reportez-vous à <ref
3710 id="collaborative-maint">).
3712 <sect1 id="qa-bsp">Les chasses aux bogues
3714 De temps en temps, le groupe d'assurance qualité organise des chasses aux
3715 bogues<footnote><em>Bug Squashing Party</em></footnote> pour essayer de
3716 supprimer le plus de problèmes possible. Elles sont annoncées sur
3717 &email-debian-devel-announce; et l'annonce explique quel domaine sera visé
3718 pendant la chasse : habituellement, il s'agit des bogues empêchant
3719 l'intégration du paquet dans la distribution (« Release Critical »),
3720 mais il peut arriver qu'ils décident d'aider à finir une transition majeure
3721 (comme une nouvelle version de Perl qui demande la recompilation de tous les
3724 Les règles pour les mises à jour indépendantes sont différentes au cours de la
3725 chasse parce que l'annonce de la chasse est considérée comme une annonce
3726 préalable pour les mises à jour indépendantes. Si vous avez des paquets qui
3727 peuvent être affectées par la chasse (parce qu'ils ont des bogues critiques par
3728 exemple), vous devriez envoyer une mise à jour pour chaque bogue correspondant
3729 pour expliquer leur état actuel et ce que vous attendez de la chasse. Si vous
3730 ne voulez pas d'une mise à jour indépendante ou si vous n'êtes intéressé que
3731 par un correctif ou si vous gérerez votre bogue vous-même, veuillez l'expliquer
3734 Les personnes qui participent à la chasse ont des règles spécifiques pour les
3735 mises à jour indépendantes, ils peuvent en faire une sans avertissement
3736 préalable s'ils envoient leur paquet avec un délai d'au moins 3 jours dans
3737 DELAYED/3-day. Toutes les autres règles de mise à jour indépendante
3738 s'appliquent comme habituellement, ils devraient envoyer le correctif de la
3739 mise à jour dans le BTS (pour l'un des bogues ouverts corrigé par la mise à
3740 jour ou pour un nouveau bogue marqué comme fixé). Ils devraient également
3741 respecter les souhaits du responsable s'il en a exprimés.
3743 Si une personne ne se sent pas à l'aise avec une mise à jour indépendante, elle
3744 devrait simplement envoyer un correctif au BTS. C'est de loin meilleur qu'une
3745 mise à jour défectueuse.
3747 <sect id="mia-qa">Gérer les responsables non joignables
3749 Si vous remarquez qu'un paquet manque de maintenance, vous devriez vous assurer
3750 que le responsable est toujours actif et qu'il continue à travailler sur
3751 ses paquets. Essayez de le contacter vous-même.
3753 Si vous n'obtenez aucune réponse après quelques semaines, vous devriez réunir
3754 toutes les informations utiles sur ce responsable. Commencez par vous
3755 connecter sur la <url id="&url-debian-db;" name="base de données des
3756 développeurs Debian"> et faites une recherche complète pour vérifier si le
3757 responsable est en vacances et quand il a été vu la dernière fois.
3758 Réunissez les noms des paquets importants dont il est responsable et tous
3759 les bogues critiques pour la distribution rapportés sur ceux-ci.
3761 Envoyez toutes ces informations à &email-debian-qa; pour laisser les personnes
3762 de la QA décider de ce qui est nécessaire.
3764 <sect id="contacting-maintainers">Contacter d'autres responsables
3766 Pendant vos activités dans Debian, vous aurez à contacter d'autres responsables
3767 pour différentes raisons. Vous pourrez vouloir discuter d'une nouvelle
3768 façon de coopérer au sein d'un ensemble de paquets liés, ou vous pouvez
3769 simplement rappeler à quelqu'un qu'une nouvelle version est disponible et
3770 que vous en avez besoin.
3772 Chercher l'adresse d'un responsable d'un paquet peut être fastidieux.
3773 Heureusement, il existe un alias de courrier simple,
3774 <tt><package>@&packages-host;</tt>, qui fournit un moyen d'envoyer
3775 un courrier à un responsable, quelle que soit son adresse (ou ses
3776 adresses). Remplacez <tt><package></tt> par le nom du paquet source
3779 Vous pouvez également vouloir contacter les personnes qui sont inscrites à un
3780 paquet de source donné par <ref id="pkg-tracking-system">. Vous pouvez le
3781 faire en utilisant l'adresse <tt><package-name>@&pts-host;</tt>.
3784 <sect id="newmaint">
3785 <heading>Interagir avec de futurs développeurs Debian
3787 Le succès de Debian dépend de sa capacité à attirer et retenir de nouveaux et
3788 talentueux volontaires. Si vous êtes un développeur expérimenté, nous vous
3789 recommandons de vous impliquer dans le processus d'apport des nouveaux
3790 responsables. Cette section décrit comment aider les futurs développeurs.
3793 <sect1 id="sponsoring">Parrainer des paquets
3795 Parrainer un paquet veut dire envoyer un paquet pour un responsable qui n'est
3796 pas encore autorisé à le faire lui-même, un candidat nouveau responsable.
3797 Parrainer un paquet veut aussi dire que vous en acceptez la responsabilité.
3799 Si vous désirez être volontaire pour être parrain, vous pouvez vous inscrire à
3800 <url id="&url-sponsors;">.
3802 Les nouveaux responsables ont habituellement certaines difficultés à créer des
3803 paquets Debian — ceci est bien compréhensible. C'est pourquoi le parrain
3804 est là, pour vérifier que le paquet parrainé est assez bon pour être inclus
3805 dans Debian. (Notez que si le paquet parrainé est nouveau, les ftpmasters
3806 devront également l'inspecter avant de l'intégrer)
3808 Effectuer un parrainage en signant simplement l'envoi ou en recompilant le
3809 paquet <strong>n'est définitivement pas recommandé</strong>. Vous devez
3810 construire le paquet source comme si vous vouliez construire l'un de vos
3811 paquets. Rappelez-vous que cela ne change rien si vous avez laissé le nom du
3812 candidat développeur dans le changelog et dans le fichier de
3813 contrôle, l'envoi peut toujours vous être attribué.
3815 Si vous êtes un gestionnaire de candidature pour un futur développeur, vous
3816 pouvez également être son parrain. Ainsi, vous pourrez vérifier comment le
3817 candidat gère la partie « Tâches et Capacités »<footnote>Tasks and
3818 Skills</footnote> de sa candidature.
3820 <sect1>Gérer les paquets parrainés
3822 En envoyant un paquet sponsorisé vers Debian, vous certifiez que le paquet
3823 atteint les standards minimum de Debian. Ceci implique que vous devez
3824 construire et tester le paquet sur votre propre système avant l'envoi.
3826 Vous ne pouvez pas simplement envoyer un fichier <file>.deb</file> binaire d'un
3827 filleul. En théorie, vous devriez seulement demander le fichier diff et
3828 l'emplacement de l'archive source d'origine et ensuite vous devriez récupérer
3829 le source et appliquer le diff vous-même. En pratique, vous pouvez vouloir
3830 utiliser le paquet source construit par votre filleul. Dans ce cas, vous devez
3831 vérifier qu'il n'a pas modifié les fichiers sources du fichier
3832 <file>.orig.tar.gz</file> qu'il fournit.
3834 N'ayez pas peur de répondre au filleul et de lui indiquer les changements qu'il
3835 doit faire. Cela prend souvent plusieurs échanges de courriers avant que le
3836 paquet ne soit dans un état acceptable. Être un parrain veut dire être un
3839 Une fois que le paquet a atteint les standards Debian, construisez le paquet
3842 dpkg-buildpackage -us -uc
3846 debsign -m <var>"Nom complet</var> <var>votre-adresse-courrier</var> <var>changes-file</var>
3848 avant de l'envoyer dans le répertoire Incoming.
3850 Le champ Maintainer du fichier <file>control</file> et le fichier
3851 <file>changelog</file> devraient lister la personne qui a fait l'empaquètement,
3852 c'est-à-dire, le filleul. Celui-ci recevra donc tous les courriers du système
3853 de suivi des bogues (BTS) à propos de son paquet.
3855 Si vous préférez laisser une trace plus visible de votre travail de parrainage,
3856 vous pouvez ajouter une ligne l'indiquant dans la plus récente entrée du
3859 Vous êtes encouragé à garder un ½il sur le suivi des paquets que vous parrainer
3860 en utilisant <ref id="pkg-tracking-system">.
3862 <sect1>Recommander un nouveau développeur
3864 Reportez-vous à la page sur les <url id="&url-newmaint-advocate;"
3865 name="recommandations pour un développeur prospectif"> sur le site web Debian.
3867 <sect1>Gérer les candidatures des nouveaux candidats
3869 Veuillez vous reporter à la <url id="&url-newmaint-amchecklist;" name="liste à
3870 vérifier pour les responsables de candidatures"> sur le site web Debian.
3874 <appendix id="tools">Aperçu des outils du responsable Debian
3876 Cette section contient un aperçu rapide des outils dont dispose le responsable.
3877 Cette liste n'est ni complète, ni définitive, il s'agit juste d'un guide
3878 des outils les plus utilisés.
3880 Les outils du responsable Debian sont destinés à améliorer le confort des
3881 responsables et libérer leur temps des tâches plus cruciales. Comme le dit
3882 Larry Wall, il y a plus d'une manière de le faire.
3884 Certaines personnes préfèrent utiliser des outils de haut niveau, d'autres pas.
3885 Debian n'a pas de position officielle sur la question ; tout outil
3886 conviendra du moment qu'il fait le boulot. C'est pourquoi cette section
3887 n'a pas été conçue pour indiquer à chacun quel outil il doit utiliser ou
3888 comment il devrait faire pour gérer sa charge de responsable Debian. Elle
3889 n'est pas non plus destinée à favoriser l'utilisation d'un outil aux
3892 La plupart des descriptions de ces outils proviennent des descriptions de leurs
3893 paquets. Vous trouverez plus d'informations dans les documentations de ces
3894 paquets. Vous pouvez aussi obtenir plus d'informations avec la commande
3895 <tt>apt-cache show <package_name></tt>.</p>
3898 <sect id="tools-core">
3899 <heading>Outils de base</heading>
3901 Les outils suivants sont pratiquement nécessaires à tout responsable.</p>
3904 <sect1 id="dpkg-dev">
3905 <heading><package>dpkg-dev</package></heading>
3907 Le paquet <package>dpkg-dev</package> contient les outils (y compris
3908 <prgn>dpkg-source</prgn>) nécessaires pour déballer, fabriquer et livrer des
3909 paquets Debian source. Ces utilitaires fournissent les fonctionnalités de bas
3910 niveau indispensables pour créer et manipuler les paquets ; en tant que
3911 tels, ils sont indispensables à tout responsable Debian.
3913 <sect1 id="debconf">
3914 <heading><package>debconf</package></heading>
3916 Le paquet <package>debconf</package> fournit une interface unifiée pour
3917 configurer les paquets interactivement. Il est indépendant de l'interface et
3918 permet une configuration en mode texte, par une interface HTML ou par boîtes de
3919 dialogues. D'autres types d'interface peuvent être ajoutés sous forme de
3922 Vous trouverez la documentation de ce paquet dans le paquet
3923 <package>debconf-doc</package>.
3925 Beaucoup pensent que ce système devrait être utilisé pour tout paquet
3926 nécessitant une configuration interactive ; reportez-vous à <ref
3927 id="bpp-config-mgmt">. <package>debconf</package> n'est pas requis par la
3928 <em>charte Debian</em> pour le moment ; cependant, cela pourra changer.
3931 <sect1 id="fakeroot">
3932 <package>fakeroot</package>
3934 <package>fakeroot</package> simule les privilèges <em>root</em>. Cela permet de
3935 fabriquer un paquet sans être root (en général, les paquets installent des
3936 fichiers appartenant à <em>root</em>). Si vous avez installé
3937 <package>fakeroot</package>, vous pouvez construire un paquet en tant que
3938 simple utilisateur avec : <tt>dpkg-buildpackage -rfakeroot</tt>.
3941 <sect id="tools-lint">
3942 <heading>Outils du paquet lint</heading>
3944 Selon le « Free On-line Dictionary of Computing » (FOLDOC),
3945 « lint » est « un outil de traitement de langage C qui contient
3946 beaucoup plus de tests complets sur le code que n'en font habituellement les
3947 compilateurs C. ». Les outils du paquet lint aide les responsables de
3948 paquet à trouver automatiquement des problèmes habituels et des violations de
3949 charte dans leurs paquets</p>
3951 <sect1 id="lintian">
3952 <heading><package>lintian</package></heading>
3954 <package>lintian</package> dissèque les paquets pour y repérer des bogues et des
3955 manquements aux règles de développement. Il contient des tests automatisés pour
3956 vérifier de nombreuses règles et quelques erreurs courantes.
3958 Vous devriez récupérer la dernière version de <package>lintian</package> depuis
3959 <em>unstable</em> régulièrement et vérifier tous vos paquets. Notez que
3960 l'option <tt>-i</tt> donne des explications détaillées sur la signication de
3961 chaque erreur, la partie concernée dans la charte et le moyen habituel de
3964 Veuillez vous reporter à <ref id="upload-checking"> pour plus d'informations sur
3965 comment et quand utiliser Lintian.
3967 Vous pouvez aussi obtenir un résumé de tous les problèmes reportés par Lintian
3968 sur vos paquets à <url id="&url-lintian;">. Ces rapports contiennent la sortie
3969 de la dernière version de <prgn>lintian</prgn> sur l'ensemble de la
3970 distribution de développement (<em>unstable</em>).
3974 <heading><package>linda</package></heading>
3976 <package>linda</package> est un autre vérificateur de paquet. Il est sembable à
3977 <package>lintian</package>, mais il a un jeu de tests différents. Il est écrit
3978 en Python plutôt qu'en Perl.</p>
3982 <sect id="tools-helpers">
3983 <heading>Aides pour le fichier <file>debian/rules</file></heading>
3985 Des outils de construction de paquets rendent le processus d'écriture du fichier
3986 <file>debian/rules</file> plus facile. Veuillez voir les <ref
3987 id="helper-scripts"> pour plus d'informations sur les raisons pour lesquelles
3988 ils peuvent être désirables ou non.
3990 <sect1 id="debhelper">
3991 <heading><package>debhelper</package></heading>
3993 Le paquet <package>debhelper</package> regroupe un ensemble de programmes qui
3994 peuvent être utilisés dans <file>debian/rules</file> pour automatiser les
3995 tâches courantes relatives à la fabrication des paquets Debian binaires. Ce
3996 paquet contient des utilitaires pour installer différents fichiers, les
3997 compresser, ajuster leurs droits et intégrer votre paquet dans le système de
4000 Au contraire d'autres approches, <package>debhelper</package> est divisé en
4001 plusieurs petits utilitaires qui agissent de manière cohérente. Ce découpage
4002 permet un contrôle des opérations plus fin que d'autres « <em>outils
4003 debian/rules</em> ».
4005 Il existe aussi un certain nombre de petites extensions
4006 <package>debhelper</package> trop volatiles pour être documentées. Vous en
4007 listerez la plupart en faisant <tt>apt-cache search ^dh-</tt>.
4011 <sect1 id="debmake">
4012 <heading><package>debmake</package></heading>
4014 <package>debmake</package> — un précurseur de <package>debhelper</package>
4015 — est un assistant moins modulaire pour manipuler le fichier
4016 <file>debian/rules</file>. Il inclut deux programmes principaux :
4017 <prgn>deb-make</prgn>, utile au développeur Debian pour convertir un paquet
4018 source normal (non-Debian) en paquet source Debian, et <prgn>debstd</prgn> qui
4019 regroupe le type de fonction que l'on trouve dans <package>debhelper</package>.
4021 Le consensus actuel est que l'usage de <package>debmake</package> est
4022 déconseillé au profit de <package>debhelper</package>, mais ce n'est pas une
4023 erreur d'utiliser <package>debmake</package>.
4026 <sect1 id="dh-make">
4027 <heading><package>dh-make</package>
4029 Le paquet <package/dh-make/ contient <prgn/dh_make/, un programme qui crée un
4030 squelette de fichiers nécessaires à la construction d'un paquet Debian à partir
4031 d'une arborescence source. Comme le nom le suggère, <prgn/dh_make/ est une
4032 ré-écriture de <package/debmake/ et ses fichiers modèles utilisent les
4033 programmes dh_* de <package/debhelper/.
4035 Quoique les fichiers de règles générés par <prgn/dh_make/ constituent en général
4036 une base suffisante pour un paquet fonctionnel, ce ne sont que les
4037 fondations : la charge incombe toujours au responsable d'affiner
4038 les fichiers générés et de rendre le paquet complètement fonctionnel et
4039 en conformité avec la charte.
4043 <heading><package>yada</package></heading>
4045 Le paquet <package>yada</package> est un autre assistant pour la création de
4046 paquets. Il utilise un fichier <file>debian/packages</file> pour générer
4047 <file>debian/rules</file> et d'autres fichiers nécessaires dans le
4048 sous-répertoire <file>debian/</file>.
4050 Remarque : <package>yada</package> est qualifié de « quasiment non
4051 maintenu » par son responsable, Charles Briscoe-Smith. Son usage est donc
4057 <heading><package>equivs</package></heading>
4059 <package>equivs</package> est un autre paquet pour faire des paquets. Il est
4060 souvent conseillé pour un usage local, si vous avez besoin de faire un paquet
4061 pour satisfaire des dépendances. Il est aussi parfois utilisé pour faire des
4062 « méta-paquets » qui sont des paquets dont l'unique objet est de
4063 dépendre d'autres paquets.</p>
4068 <sect id="tools-builders">
4069 <heading>Constructeurs de paquets</heading>
4071 Les paquets suivants aident le processus de construction des paquets, en général
4072 en contrôlant <prgn>dpkg-buildpackage</prgn> ainsi que gérant le support de
4075 <sect1 id="cvs-buildpackage">
4076 <heading><package>cvs-buildpackage</package></heading>
4078 Le paquet <package>cvs-buildpackage</package> permet de mettre à jour ou de
4079 récupérer des paquets sources dans un référentiel CVS, il permet de fabriquer
4080 un paquet Debian depuis le référentiel CVS et il assiste le développeur lors de
4081 l'intégration de modifications amonts dans le référentiel.
4083 Ce paquet fournit l'infrastructure facilitant l'utilisation de CVS pour le
4084 responsable Debian. Il permet de conserver des branches CVS distinctes pour les
4085 distributions <em>stable</em>, <em>unstable</em> et probablement
4086 <em>experimental</em> et de bénéficier des avantages d'un système de contrôle
4090 <sect1 id="debootstrap">
4091 <heading><package>debootstrap</package></heading>
4093 Le paquet <package>debootstrap</package> vous permet d'amorcer un système Debian
4094 de base à n'importe quel endroit dans votre système de fichier. Par
4095 « système de base », nous entendons le strict minimum nécessaire pour
4096 fonctionner et installer le reste du système.
4098 Avoir un système comme celui-ci peut vous servir de différentes manières. Vous
4099 pouvez, par exemple, déplacer votre racine dans ce système avec
4100 <prgn>chroot</prgn> pour tester vos dépendances de fabrication. Vous pouvez
4101 aussi l'utiliser pour voir comment se comporte votre paquet quand il est
4102 installé dans un environnement minimum.
4105 <sect1 id="pbuilder">
4106 <heading><package>pbuilder</package></heading>
4108 <package>pbuilder</package> construit un système « chrooté » et
4109 compile des paquets dans ce système. Ceci est très utile pour vérifier que les
4110 dépendances de compilation de votre paquet sont correctes et pour vous assurer
4111 qu'aucune dépendance de construction inutile ou incorrecte n'existe dans le
4112 paquet résultant. </sect1>
4115 <heading><package>sbuild</package></heading>
4117 <package>sbuild</package> est un autre compilateur automatique. Il peut être
4118 aussi utilisé dans un environnement « chrooté ». Il peut être utilisé
4119 seul ou comme partie d'un environnement de compilation distribué en réseau.
4120 Comme le précédent, c'est une partie du système utilisé par les porteurs pour
4121 construire des paquets binaires pour toutes les architectures disponibles.
4122 Veuillez vous reporter à <ref id="buildd"> pour plus d'informations et à <url
4123 id="&url-buildd;"> pour voir le système en fonctionnement.</p>
4127 <sect id="uploaders">
4128 <heading>Téléchargeurs de paquets</heading>
4130 Les paquets suivants aident à automatiser ou à simplifier le processus d'envoi
4131 de paquets dans l'archive officielle.</p>
4133 <sect1 id="dupload">
4134 <heading><package>dupload</package></heading>
4136 Le paquet <package>dupload</package> contient un script du même nom pour mettre
4137 à jour des paquets dans l'archive Debian, tracer ces mises à jour et les
4138 annoncer par courrier électronique automatiquement. Vous pouvez le configurer
4139 pour faire des mises à jour à d'autres endroits et avec d'autres méthodes.
4143 <heading><package>dput</package></heading>
4145 Le script <package>dput</package> fait à peu près la même chose que
4146 <package>dupload</package>, mais il le fait différemment. Il a aussi quelques
4147 fonctions supplémentaires telles que la possibilité de vérifier la signature
4148 GnuPG et les sommes de contrôles avant le téléchargement et la possibilité de
4149 démarrer <prgn>dinstall</prgn> en mode simulation (<em>dry-run</em>) après le
4155 <sect id="tools-maint-automate">
4156 <heading>Automatisation de la maintenance</heading>
4158 Les outils suivants aident à automatiser les différentes tâches de maintenance
4159 par l'ajout des entrées de changelog ou de lignes de signatures, par la
4160 recherche de bogues à partir d'Emacs ou par l'utilisation du plus récent fichier
4161 officiel <file>config.sub</file>.</p>
4164 <sect1 id="devscripts">
4165 <heading><package>devscripts</package></heading>
4167 Le paquet <package>devscripts</package> contient des scripts et outils qui sont
4168 très utiles pour maintenir vos paquets Debian. Parmi ces scripts, vous
4169 trouverez <prgn>debchange</prgn> et <prgn>dch</prgn> qui manipulent votre
4170 fichier <file>debian/changelog</file> depuis la ligne de commande et
4171 <prgn>debuild</prgn> qui est construit au-dessus de
4172 <prgn>dpkg-buildpackage</prgn>. L'outil <prgn>bts</prgn> est également très
4173 utile pour mettre à jour l'état des rapports de bogue depuis la ligne de
4174 commande. Le programme <prgn>uscan</prgn> peut être utilisé pour suivre les
4175 nouvelles versions amonts de vos paquets. Le programme <prgn>debrsign</prgn>
4176 peut être utilisé pour signer à distance un paquet avant de l'envoyer, ce qui
4177 est agréable quand la machine sur laquelle vous construisez le paquet est
4178 différente de celle où résident vos clés GPG.</p>
4180 Vérifiez la page de manuel <manref section="1" name="devscripts"> pour une liste
4181 complète des scripts disponibles.
4183 <sect1 id="autotools-dev">
4184 <heading><package>autotools-dev</package></heading>
4186 Contient les meilleurs pratiques pour des personnes assurant la maintenance de
4187 paquets qui utilisent <prgn>autoconf</prgn> et/ou <prgn>automake</prgn>.
4188 Contient également des fichiers canoniques <file>config.sub</file> et
4189 <file>config.guess</file> qui sont connus pour fonctionner avec tous les
4190 portages Debian.</p>
4193 <sect1 id="dpkg-repack">
4194 <heading><package>dpkg-repack</package></heading>
4196 <prgn>dpkg-repack</prgn> crée un paquet Debian à partir d'un paquet qui
4197 a déjà été installé. Si des changements ont été effectués sur le paquet quand il
4198 a été décompressé (par exemple, des fichiers dans <file>/etc</file> ont été
4199 modifés), le nouveau paquet héritera de ces changements.</p>
4201 Cet utilitaire peut faciliter la copie de paquet d'un ordinateur vers un autre
4202 ou la re-création de paquets installés sur un système, mais qui ne sont plus
4203 disponibles ailleurs ou pour stocker l'état actuel d'un paquet avant de le
4208 <heading><package>alien</package></heading>
4210 <prgn>alien</prgn> convertit des paquets binaires entre différents formats de
4211 paquets, y compris des paquets Debian, RPM (RedHat), LSB (Linux Standard Base),
4212 Solaris et Slackware.</p>
4215 <sect1 id="debsums">
4216 <heading><package>debsums</package></heading>
4218 <prgn>debsums</prgn> vérifie des paquets installés par rapport à leur somme de
4219 hachage MD5. Veuillez noter que tous les paquets n'ont pas de sommes MD5 car
4220 elles ne sont pas requises par la charte.</p>
4223 <sect1 id="dpkg-dev-el">
4224 <heading><package>dpkg-dev-el</package></heading>
4226 <package>dpkg-dev-el</package> fournit des macros Emacs Lisp qui apportent une
4227 aide lors de l'édition des fichiers du répertoire <file>debian</file> de votre
4228 paquet. À l'édition de <file>debian/changelog</file>, par exemple, vous
4229 disposez de fonctions pour finaliser une version et consulter la liste des
4230 rapports de bogue ouverts.</p>
4234 <sect id="tools-porting">
4235 <heading>Outils de portage</heading>
4237 Les outils suivants facilitent le travaile des porteurs et la compilation
4240 <sect1 id="quinn-diff">
4241 <heading><package>quinn-diff</package></heading>
4243 <package>quinn-diff</package> est utilisé pour localiser les différences d'une
4244 architecture à l'autre. Il pourrait vous dire, par exemple, quels paquets de
4245 l'architecture <var>X</var> doivent être portés sur l'architecture
4248 <sect1 id="dpkg-cross">
4249 <heading><package>dpkg-cross</package></heading>
4251 <package>dpkg-cross</package> est un outil qui installe les bibliothèques et les
4252 en-têtes nécessaires à une compilation
4253 croisée<footnote><p><em>cross-compilation</em></footnote> d'une manière
4254 similaire à <package>dpkg</package>. De plus, les paquets
4255 <prgn>dpkg-buildpackage</prgn> et <prgn>dpkg-shlibdeps</prgn> ont été
4256 améliorés pour accepter les compilations croisées.
4258 <sect id="tools-doc">
4259 <heading>Documentation et information</heading>
4261 Les paquets suivants fournissent des informations pour les responsables ou de
4262 l'aide pour construire de la documentation
4264 <sect1 id="debiandoc-sgml">
4265 <heading><package>debiandoc-sgml</package></heading>
4267 <package>debiandoc-sgml</package> fournit la DTD DebianDoc SGML qui est
4268 habituellement utilisée pour la documentation Debian. Ce manuel, par exemple,
4269 est écrit en DebianDoc. Il fournit également des scripts pour construire et
4270 décliner le source en de multiples formats de sortie.</p>
4272 La documentation sur la DTD peut être trouvée dans le paquet
4273 <package>debiandoc-sgml-doc</package>.</p>
4276 <sect1 id="debian-keyring">
4277 <heading><package>debian-keyring</package></heading>
4279 Contient les clés publiques GPG et PGP des développeurs Debian. Voir <ref
4280 id="key-maint"> et la documentation du paquet pour plus d'informations.</p>
4283 <sect1 id="debview">
4284 <heading><package>debview</package></heading>
4286 <package>debview</package> fournit un mode Emacs pour voir les paquets binaires
4287 Debian. Ceci vous permet d'examiner un paquer sans le décompresser.</p>
4291 <!-- FIXME : tag heading suspect -->
4294 <package>debget</package>
4296 Le paquet <package>debget</package> contient un script qui peut être
4297 utile pour télécharger des paquets depuis l'archive Debian. Vous pouvez, par
4298 exemple, l'utiliser pour télécharger des paquets sources (bien que <tt>apt-get
4299 source <package></tt> fasse à peu près la même chose).
4302 <!-- FIXME: add the following
4318 debaux: too new, unmaintained?
4319 dh-make-perl: too new, unmaintained?
4327 <!-- Keep this comment at the end of the file
4332 sgml-minimize-attributes:nil
4333 sgml-always-quote-attributes:t
4335 sgml-indent-data:nil
4336 sgml-parent-document:nil
4337 sgml-exposed-tags:nil
4338 sgml-declaration:nil
4339 sgml-local-catalogs:nil
4340 sgml-local-ecat-files:nil