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;
7 <!-- CVS revision of this document -->
8 <!entity cvs-rev "$Revision: 1.28 $">
10 <!-- if you are translating this document, please notate the RCS
11 revision of the developers reference here -->
13 <!entity cvs-en-rev "1.88">
19 - bugs in upstream versions should be reported upstream!
20 - add information on how to get accounts on different architectures
21 - talk about CVS access, other ways to submit problems
22 - add information on how you can contribute w/o being an official
24 - "official port maintainer" ? (cf. glibc-pre2.1)
29 <title>Référence du développeur Debian
31 <author>Adam Di Carlo, responsable actuel <email>aph@debian.org</email>
32 <author>Christian Schwarz <email>schwarz@debian.org</email>
33 <author>Ian Jackson <email>ijackson@gnu.ai.mit.edu</email>
35 <author>version française par Antoine Hulin <email>antoine.hulin@origan.fdn.org</email>
36 <author>et les membres de la liste
37 <email>debian-l10n-french@lists.debian.org</email>
38 <version>Version &version;, &date-fr; (version française 20020315).
43 Copyright ©1998 – 2001 Adam Di Carlo</copyrightsummary>
45 Copyright ©1997, 1998 Christian Schwarz.</copyrightsummary>
48 Ce manuel est un logiciel libre ; il peut être redistribué et/ou modifié selon
49 les termes de la licence publique générale du projet GNU (GNU GPL), telle que
50 publiée par la « Free Software Foundation » (version 2 ou toute
54 Il est distribué dans l'espoir qu'il sera utile, mais <em>sans aucune
55 garantie</em>, sans même la garantie implicite d'une possible valeur marchande
56 ou d'une adéquation à un besoin particulier. Consultez la licence publique générale
57 du projet GNU pour plus de détails.
60 Une copie de la licence publique générale du projet GNU est disponible dans le
61 fichier &file-GPL; de la distribution &debian-formal; ou sur la toile : <url
62 id="&url-gpl" name="la licence publique générale du projet GNU">. Vous pouvez
63 également l'obtenir en écrivant à la &fsf-addr;.
73 <chapt id="scope">Introduction
75 <sect>Portée de ce document
78 Le but de ce document est de donner une vue d'ensemble des procédures à
79 suivre et des ressources mises à la disposition des développeurs Debian.
82 Les procédures décrites ci-après expliquent entre autre comment devenir
83 responsable Debian (<ref id="new-maintainer">), comment installer des nouveaux
84 paquets dans l'archive (<ref id="upload">), quand et comment faire un portage
85 ou une mise à jour du paquet d'un autre responsable (<ref id="nmu">), comment
86 déplacer, effacer ou abandonner un paquet (<ref id="archive-manip">) et
87 comment gérer les bogues (<ref id="bug-handling">).
90 Les ressources présentées dans ce manuel incluent les listes de diffusion et
91 les serveurs (<ref id="servers">), une présentation de la structure de
92 l'archive Debian (<ref id="archive">), des explications sur les serveurs qui
93 acceptent les mises à jour de paquets (<ref id="upload-ftp-master">) et une
94 présentation des outils qui peuvent aider un responsable à améliorer la
95 qualité de ses paquets (<ref id="tools">).
98 Ce manuel de référence ne présente pas les aspects techniques liés aux paquets
99 Debian. Il ne décrit pas non plus comment les créer. Il ne décrit pas
100 non plus les règles que doivent respecter les paquets Debian. Cette
101 information est disponible dans le <url id="&url-debian-policy;" name="Debian
105 De plus ce document <em>n'est pas l'expression d'une politique
106 officielle</em>. Il contient de la documentation sur le système Debian et des
107 conseils pratiques largement suivis. C'est une sorte de guide pratique.
113 <sect>Introduction à la version française
118 Bien que ce document soit en français, l'activité de responsable Debian
119 implique une maîtrise de la langue anglaise. Le projet Debian est un projet
120 international auquel participent des japonais, néo-zélandais, américains,
121 allemands, finlandais, français, espagnols, danois...
124 En conséquence la langue utilisée dans toutes les listes de diffusion
125 destinées aux développeurs est l'anglais et les rapports de bogue doivent être
126 rédigés en anglais. En fait, sauf exception rare, tout dialogue avec les
127 autres responsables Debian se fera en anglais quelque soit le média.
133 Cette section liste les termes techniques qui ont un sens spécifique
134 dans le projet Debian. Pour chacune de ces expressions vous trouverez la
135 traduction française utilisée dans ce manuel, une définition et une
136 référence à la section du manuel qui traite de ce sujet.
140 <item><em>Upload</em> : mise à jour, téléchargement (parfois
141 livraison). Opération qui consiste à télécharger un nouveau paquet
142 ou une nouvelle version de paquet dans l'archive Debian (<ref
145 <item><em>Non-maintainer upload (NMU)</em> : mise à jour indépendante.
146 Téléchargement d'une nouvelle version de paquet dans l'archive
147 Debian par une personne qui n'est pas officiellement responsable de ce
148 paquet(<ref id="nmu">).
150 <item><em>NMU source</em> : mise à jour indépendante source. Il
151 s'agit d'une mise à jour indépendante pour un paquet source (<ref
154 <item><em>NMU binaire</em> : mise à jour indépendante binaire.
155 Mise à jour indépendante pour un paquet binaire(<ref id="nmu-terms">).
157 <item><em>Bug Tracking System (BTS)</em> : système de suivi des
158 bogues. Il s'agit du système utilisé par le projet Debian pour suivre
159 les bogues et leur correction (<ref id="bug-handling">).
161 <item><em>Bug submitter</em> : rapporteur du bogue. Personne qui
162 envoie un rapport de bogue au système de suivi des bogues(<ref
165 <item><em>Release critical bug</em> : bogue remettant en cause la
166 distribution. Bogues de gravité <em>critique</em>, <em>grave</em>
167 et <em>sérieuse</em>. Ces bogues ne doivent pas apparaître dans une
168 distribution <em>stable</em>. Ils doivent être corrigés ou bien les
169 paquets en cause doivent être supprimés (<ref id="rc-bugs">).
171 <item><em>Unstable</em> : Nom de la distribution en cours de
172 développement. Cette distribution contient les paquets envoyés par
173 les développeurs. Ceux-ci étant humains, elle est parfois cassée (<ref
176 <item><em>Testing</em> : Nom de la distribution en test. Cette
177 distribution reçoit les paquets des développeurs qui ont passé une
178 période de deux semaines dans <em>unstable</em> et pour lesquels aucun
179 bogue remettant en cause la distribution (cf. <em>Release critical bug</em>)
180 n'a été découvert. Cette distribution n'a pas été testée
181 en profondeur. Elle est cependant sensée être plus stable que
182 <em>unstable</em> (<ref id="sec-dists">).
184 <item><em>Stable</em> : Nom de la distribution dite stable. Cette
185 distribution a été testée, validée et diffusée (<ref
188 <item><em>Debian maintainer</em> : responsable Debian, développeur
189 Debian (parfois mainteneur). Personne qui fait officiellement
190 partie du projet Debian. Elle a accès aux serveurs Debian et participe
191 au développement — au sens large — de la distribution (<ref
192 id="developer-duties">). La plupart des responsables font de la mise
193 en paquet mais il existe d'autres activités telles que documentation,
194 site web, création des cédéroms, administration des serveurs...
196 <item><em>Upstream version</em> : version amont. Il s'agit du
197 logiciel tel qu'il est fournit par le responsable amont — par
198 opposition à la version fournie par la distribution Debian. (Voir
199 <ref id="upstream-coordination">.)
201 <item><em>Upstream maintainer</em> : responsable amont ou développeur
202 amont. Personne(s) responsable(s) du développement ou de la
203 maintenance d'un logiciel. En général le responsable amont n'a rien à
204 voir avec le projet Debian (<ref id="upstream-coordination">).
206 <item><em>Debian keyring</em> : porte-clés Debian. Le porte-clés
207 Debian contient les clés publiques de tous les responsables Debian (<ref
210 <item><em>Work-needing and prospective packages (WNPP)</em> : paquets en
211 souffrance et paquets souhaités. La liste des paquets en
212 souffrance indique les paquets qui n'ont plus de responsable. La liste
213 des paquets souhaités indique les logiciels que des utilisateurs
214 aimeraient bien voir dans la distribution (<ref id="upload">).
219 <chapt id="new-maintainer">Devenir responsable Debian
225 Vous avez lu toute la documentation, vous comprenez l'intérêt de tout ce qui
226 se trouve dans le paquet exemple <package>hello</package> et vous vous
227 apprêtez à mettre en paquet votre logiciel préféré. Comment devenir
228 responsable Debian et intégrer votre travail au projet ?
231 Si vous ne l'avez pas encore fait vous pouvez commencer par vous inscrire à la
232 liste &email-debian-devel;.
235 Pour cela, envoyez un courrier à l'adresse
236 &email-debian-devel-req; avec le mot <tt>subscribe</tt> dans la ligne
237 <em>Objet</em><footnote><em>Subject</em> en anglais</footnote> de votre
238 message. En cas de problème, contactez l'administrateur de la liste
239 &email-listmaster;. Vous trouverez plus d'information dans la section <ref
243 Vous suivrez les discussions de cette liste (sans poster) pendant quelques
244 temps avant de coder quoi que ce soit et vous informerez la liste de votre
245 intention de travailler sur quelque chose pour éviter de dupliquer le travail
249 Une autre liste intéressante est &email-debian-mentors;. Voir la section <ref
250 id="mentors"> pour les détails. Le canal IRC <tt>#debian</tt> sur le réseau
251 <em>Linux People IRC</em> (c.-à-d. <tt>irc.debian.org</tt>) pourra aussi être
255 Quand vous avez choisi la manière dont vous contriburez au projet
256 &debian-formal;, prenez contact avec les responsables Debian qui travaillent
257 sur des tâches similaires. Ainsi vous pouvez apprendre auprès de personnes
258 expérimentées. Si, par exemple, vous voulez mettre en paquet des logiciels
259 existants, trouvez-vous un parrain. Un parrain est une personne qui
260 travaillera sur vos paquets avec vous et les téléchargera dans l'archive
261 Debian une fois qu'il sera satisfait de votre mise en paquet. Pour trouver
262 un parrain, envoyez une demande de parrainage à la liste
263 &email-debian-mentors; en vous présentant et en décrivant votre paquet (voir
264 <ref id="sponsoring"> pour en savoir plus sur le sujet). Si vous préférez
265 porter Debian sur une architecture ou un noyau alternatif, abonnez vous aux
266 listes dédiées au portage et demandez-y comment démarrer. Finalement, si vous
267 êtes intéressé par la documentation ou l'assurance qualité (QA) vous pouvez
268 contacter les responsables qui travaillent déjà sur ces tâches et proposer des
269 rustines et des améliorations.
272 <sect id="registering">Devenir responsable Debian
275 Avant de décider de devenir responsable Debian, il vous faudra lire toute la
276 documentation disponible dans le <url id="&url-newmaint;" name="coin du
277 nouveau responsable">. Elle décrit toutes les étapes préparatoires qu'il vous
278 faudra franchir avant de déposer votre candidature.
280 Par exemple, avant d'être candidat, il vous faudra lire le
281 <url id="&url-social-contract;" name="contrat social Debian">. Devenir responsable
282 Debian implique que vous adhériez à ce contrat social
283 et que vous vous engagiez à le soutenir ; il est très important que les
284 responsables soient en accord avec les principes fondamentaux qui animent le
285 projet &debian-formal;. Lire le <url id="&url-gnu-manifesto;" name="Manifeste
286 GNU"> est aussi une bonne idée.
289 Le processus d'enregistrement a pour but de vérifier votre identité, vos
290 intentions et vos compétences. Le nombre de personnes travaillant pour
291 &debian-formal; a atteint &number-of-maintainers; et notre système est utilisé
292 dans plusieurs endroits très importants : nous devons rester
293 attentifs pour éviter un acte malveillant. C'est pourquoi nous contrôlons les
294 nouveaux responsables avant de leur donner un compte sur nos serveurs et les
295 autoriser à ajouter des paquets dans l'archive.
298 Pour devenir responsable, il faudra montrer que vous pouvez faire du bon travail
299 et être un bon contributeur. Pour cela, vous pourrez proposer des
300 rustines par le système de suivi des bogues (BTS) ou maintenir un paquet
301 parrainé pendant un temps. Nous attendons aussi des contributeurs qu'ils
302 soient intéressés par le projet dans son ensemble et pas uniquement par leurs
303 propes paquets. Si vous pouvez aider d'autres responsables en fournissant des
304 informations sur un bogue ou même avec une rustine, faite-le !
307 Pour votre candidature, vous devrez être familiarisé avec la philosophie du
308 projet Debian et avec sa documentation technique. Il vous faudra aussi une
309 clé GPG signée par un responsable Debian. Si votre clé GPG n'est pas encore
310 signée, vous devriez essayer de recontrer un responsable Debian pour le faire.
311 La <url id="&url-gpg-coord;" name="page de coordination des signatures de clé
312 GPG"> devrait vous aider à trouver un responsable Debian près de chez vous.
313 (Si vous ne trouvez pas de responsable près de chez vous, il existe un second
314 moyen pour valider votre identité. Vous pouvez envoyer une photo d'identité
315 signée avec votre clé GPG. Privilégiez tout de même la clé GPG signée pour
316 valider une identité. Reportez-vous à la <url id="&url-newmaint-id;"
317 name="page d'identification"> pour en savoir plus sur ces deux options.)
320 Si vous n'avez pas de clé OpenPGP, créez-la. Tout responsable a besoin d'une
321 clé OpenPGP pour signer et vérifier les mises à jour de paquets. Vous lirez
322 la documentation du logiciel de cryptographie que vous utiliserez car elle
323 contient des informations indispensables pour la sécurité de votre clé. Les
324 défaillances de sécurité sont bien plus souvent dues à des erreurs humaines
325 qu'à des problèmes logiciels ou à des techniques d'espionnage avancées. Voir
326 <ref id="key-maint"> pour plus d'information sur la gestion de votre clé
330 Debian utilise <prgn>GNU Privacy Guard</prgn> (paquet <package>gnupg</package>
331 version 1 ou supérieure comme standard de base). Vous pouvez aussi utiliser une
332 autre implémentation d'OpenPGP. OpenPGP est un standard ouvert basé sur la
333 <url id="&url-rfc2440;" name="RFC 2440">.
336 L'algorithme à clé publique recommandé pour les développements Debian est DSA
337 (parfois appelé « DSS » ou « DH\ElGamal »). Vous pouvez
338 aussi utiliser d'autres types de clés. La longueur de votre clé doit être au
339 minimum de 1024 bits ; il n'y a pas de raison d'utiliser une clé plus courte et le
340 faire serait beaucoup moins sûr. Votre clé doit être signée avec votre propre
341 identifiant ; cela évite les falsifications. <prgn>GNU Privacy Guard</prgn> le
342 fait automatiquement.
345 Si votre clé publique n'est pas sur un serveur public tel que &pgp-keyserv;,
346 reportez-vous à la documentation disponible localement dans &file-keyservs;.
347 Cette documentation explique comment mettre votre clé publique sur un serveur.
348 L'équipe <em>New maintainer</em> mettra votre clé publique sur les serveurs de
349 clés si elle n'y est pas déjà.
352 Certains pays limitent l'usage des logiciels de cryptographie. Cela ne
353 devrait cependant pas avoir d'impact sur l'activité d'un responsable de paquet
354 car il peut être tout à fait légal d'utiliser des logiciels de cryptographie
355 pour l'authentification plutôt que pour le cryptage (comme c'est le cas en
356 France). &debian-formal; ne nécessite en aucune manière de cryptographie en
357 tant que cryptage. Si vous vivez dans un pays où l'usage de la cryptographie
358 pour authentification est interdit, contactez-nous pour que nous prenions des
359 dispositions particulières.
362 Pour faire acte de candidature, il vous faut un responsable Debian qui
363 vérifiera votre candidature (un <em>avocat</em>). Après avoir contribué au
364 projet Debian pendant un temps, quand vous choisissez de devenir un
365 responsable Debian officiel, un responsable déjà enregistré avec qui vous
366 aurez travaillé dans les derniers mois devra exprimer que, d'après lui, vous
367 pouvez contribuer avec succès au projet Debian.
370 Quand vous avez trouvez un <em>avocat</em>, quand votre clé GPG est signée et
371 quand vous avez contribuez pendant un temps au projet vous êtes près pour
372 faire acte de candidature. Il vous suffit pour cela de vous enregistrer sur
373 notre <url id="&url-newmaint-apply;" name="page de candidature">. Ensuite,
374 votre avocat devra confirmer votre candidature. Quand il aura accompli cette
375 tâche, un responsable de candidature<footnote>Application manager</footnote>
376 sera désigné pour vous accompagner dans le processus d'enregistrement. Vous
377 pouvez toujours consulter le <url id="&url-newmaint-db;" name="tableau de bord
378 des candidatures"> pour connaître l'état de votre candidature.
382 Pour en savoir plus, consultez le <url id="&url-newmaint;" name="coin des
383 nouveaux responsables"> sur le site Debian. Assurez-vous de bien connaître
384 les étapes nécessaires au processus d'enregistrement avant vous porter
385 candidat. Vous gagnerez beaucoup de temps si vous êtes bien préparé.
388 <sect id="mentors">Mentors Debian
390 La liste de diffusion &email-debian-mentors; a été créée pour les
391 responsables débutants qui cherchent de l'aide pour leur première
392 création de paquet ainsi que pour des problèmes spécifiques aux
393 développeurs. Tout responsable débutant est invité à s'y inscrire
394 (voir <ref id="mailing-lists"> pour plus de détails).
397 Ceux qui préfèrent une aide personnalisée (via une correspondance
398 privée) doivent aussi poster dans cette liste, un développeur
399 expérimenté se portera volontaire pour les aider.
406 <chapt id="developer-duties">Les charges du responsable Debian
409 <sect id="user-maint">Mise à jour de vos références Debian
412 Une base de données LDAP contient de nombreuses informations concernant
413 les développeurs, vous pouvez y accéder à l'adresse <url
414 id="&url-debian-db;">. Vous pouvez modifier votre mot de passe (ce mot de
415 passe est diffusé sur la plupart des machines auxquelles vous avez accès),
416 votre adresse, votre pays, la latitude et la longitude de l'endroit où vous
417 résidez, vos numéros de téléphone et de fax, votre interpréteur de commande
418 préféré, votre surnom IRC, votre page web, votre adresse de courrier
419 électronique ainsi que l'alias que vous utilisez pour votre courrier
420 électronique chez debian.org. La plupart de ces informations ne sont pas
421 accessibles au public. Pour plus de détails au sujet de cette base de données
422 reportez-vous à sa documentation en ligne disponible à l'adresse <url
423 id="&url-debian-db-doc;">.
426 Vous y tiendrez à jour les informations vous concernant.
431 <sect id="key-maint">Gérer votre clé publique
434 Soyez très vigilant en utilisant votre clé privée. Ne la placez pas sur un
435 serveur public ou sur des machines multi-utilisateurs telles que
436 <tt>master.debian.org</tt>. Sauvegardez vos clés et gardez-en une copie hors
437 connexion. Lisez la documentation fournie avec votre logiciel et la <url
438 id="&url-pgp-faq;" name="FAQ PGP">.
441 Si vous ajoutez des signatures ou des identifiants à votre clé publique, vous
442 pouvez mettre à jour le porte-clés Debian en envoyant votre clé publique à
443 <tt>&keyserver-host;</tt>. Si vous voulez ajouter ou supprimer une clé, envoyez
444 un courrier à &email-debian-keyring;. Les procédures d'extraction de clé
445 décrites dans <ref id="registering"> s'appliquent ici.
448 Vous pouvez trouver une présentation approfondie de la gestion de clé Debian
449 dans la documentation du paquet <package>debian-keyring</package>.
454 <sect id="inform-vacation">Prendre des vacances courtoisement
457 La plupart des développeurs prennent des vacances ; généralement, cela signifie
458 qu'ils ne peuvent ni travailler pour Debian ni être joints par
459 courrier électronique si un problème se présentait. Les autres développeurs
460 ont besoin de savoir que vous êtes en vacances ; ainsi ils sauront comment
461 réagir en cas de problème. En général, cela signifie que les autres
462 développeurs sont autorisés à modifier votre paquet (voir <ref id="nmu">) en
463 cas de gros problème (bogues bloquants pour la distribution, mise à jour de
464 sécurité...) durant vos vacances.
467 Il y a deux choses à faire pour informer les autres développeurs.
468 Premièrement, envoyer un courrier électronique indiquant vos dates de vacances
469 à &email-debian-private;, vous pouvez aussi donner quelques instructions pour
470 indiquer comment agir si un problème survenait. Notez bien que certaines
471 personnes ne sont pas intéressées par les annonces de vacances et ne
472 veulent pas les lire ; ajoutez '[VAC] ' à l'objet de votre courrier
473 pour qu'il soit facilement filtré.
476 Deuxièmement, il faut mettre
477 à jour la base de données Debian LDAP et vous signaler « en
478 vacances » (l'accès à cette information est réservé aux développeurs).
479 N'oubliez pas de retirer votre indicateur « en vacances » lorsque
480 celles-ci sont terminées !
485 <sect id="upstream-coordination">Coordination avec les développeurs
489 Une grosse part de votre travail de responsable Debian sera de rester en
490 contact avec les développeurs amonts. Parfois, les utilisateurs établissent
491 des rapports de bogue qui ne sont pas spécifiques à Debian. Vous devez
492 transmettre ces rapports de bogue aux développeurs amonts pour qu'ils soient
493 corrigés dans les prochaines versions. Il n'est pas de votre responsabilité
494 de corriger les bogues qui ne sont pas spécifiques à Debian. Toutefois,
495 si vous êtes capable de le faire, nous vous encourageons à contribuer au
496 développement amont en proposant une rustine qui corrige ce bogue.
497 Les utilisateurs et responsables Debian proposent souvent des rustines
498 pour corriger des bogues amonts, il vous faudra alors évaluer cette
499 rustine puis la transmettre aux développeurs amonts.
502 Si vous avez besoin de modifier les sources d'un logiciel pour fabriquer un
503 paquet conforme à la charte Debian, alors vous devriez proposer une
504 rustine aux développeurs amonts pour qu'elle soit incluse dans leur
505 version. Ainsi, vous n'aurez plus besoin de modifier les sources lors des
506 mises à jour amonts suivantes. Quels que soient les changements dont vous
507 avez besoin, il faut toujours essayer de rester dans la lignée des sources
514 <sect id="rc-bugs">Gestion des bogues bloquants pour la distribution
517 Les bogues bloquants pour la distribution<footnote>Traduction de l'anglais
518 <em>Release critical bug (RCB)</em></footnote> sont les bogues de gravité
519 <em>critique</em>, <em>grave</em> et <em>sérieuse</em><footnote>Respectivement
520 <em>critical</em>, <em>grave</em> et <em>serious</em> en anglais</footnote>.
521 Ces bogues peuvent retarder la diffusion d'une distribution Debian et/ou
522 peuvent justifier la suppression d'un paquet d'une distribution gelée. C'est
523 pourquoi ces bogues ont besoin d'être corrigés au plus vite. Vous devez être
524 conscient que certains développeurs faisant partie de l'équipe d'<url
525 id="&url-debian-qa;" name ="assurance qualité Debian"> surveillent ces bogues
526 et essaient de vous aider chaque fois qu'ils le peuvent. Si vous ne pouvez pas
527 corriger un bogue de ce type dans les deux semaines, vous devriez soit
528 demander de l'aide en envoyant un courrier à l'équipe d'assurance qualité
529 (<em>QA group</em> &email-debian-qa;), soit expliquer vos difficultés et
530 présenter un plan pour corriger le problème en répondant au rapport de bogue
531 concerné. Si rien n'est fait, des personnes de l'équipe d'assurance qualité
532 pourraient chercher à corriger votre paquet (voir <ref id="nmu">) après avoir
533 tenté de vous contacter. Ils pourraient attendre moins longtemps que
534 d'habitude pour faire leur mise à jour s'il n'y a pas trace d'activité récente
535 de votre part dans le système de suivi des bogues.
539 <sect id="qa-effort">L'effort d'assurance qualité
542 Même s'il y a un groupe de personnes dédié à l'assurance qualité, cette
543 activité ne leur est pas réservée. Vous pouvez participer à cet effort en
544 éliminant, autant que faire se peut, tout bogue de vos paquets et en observant
545 les remarques émises par <prgn>lintian</prgn> (voir <ref id="lintian-reports">). Si cela
546 ne vous semble pas possible, il faudrait songer à abandonner certains
547 de vos paquets (voir <ref id="orphaning">). Vous pouvez aussi
548 demander l'aide d'autres personnes pour rattraper votre retard dans la liste
549 des bogues (vous pouvez demander de l'aide sur les listes &email-debian-qa;
550 et &email-debian-devel;).
553 <sect id="mia-qa">Responsables injoignables
555 Si vous remarqué qu'un paquet manque d'attention, assurez-vous que le
556 responsable est toujours actif et continuera à travailler sur son paquet.
557 Essayez de le contacter.
560 Si vous n'obtenez pas de réponse après quelques semaines, rassemblez toutes
561 les informations utiles sur ce responsable. Commencez par consulter la <url
562 id="http://db.debian.org" name="base de données des développeurs"> pour
563 déterminer si le responsable est en vacances et quand il a été vu pour la
564 dernère fois. Listez les paquets importants gérés par ce responsable et les
565 bogues bloquants pour la distribution qui concernent ces paquets.
568 Envoyez toutes ces informations à &email-debian-qa; pour que l'équipe
569 d'assurance qualité prenne les mesures nécessaires.
571 <sect>Démissionner courtoisement
573 Si vous choisissez de quitter le projet Debian, procédez comme suit :
577 Abandonnez tous vos paquets comme décrit dans <ref id="orphaning">.
580 Envoyez un courrier électronique à &email-debian-private; indiquant
581 comment vous quittez le projet.
584 Signalez aux responsables du porte-clés Debian que vous quittez le
585 projet en écrivant à &email-debian-keyring;.
593 <chapt id="servers">Listes de diffusion, serveurs et autres machines
596 Dans ce chapitre vous trouverez une très brève description des listes de
597 diffusion Debian, des principaux serveurs Debian et des autres machines
598 auxquelles vous aurez accès en tant que développeur.
602 <sect id="mailing-lists">Les listes de diffusion
605 Le serveur de liste de diffusion est <tt>&lists-host;</tt>. Envoyez un
606 courrier électronique à <tt>debian-<var>foo</var>-REQUEST@&lists-host;</tt>,
607 où <tt>debian-<var>foo</var></tt> est le nom de la liste, avec le mot
608 <tt>subscribe</tt> dans le champ <em>Objet</em><footnote><em>Subject</em> en
609 anglais</footnote> pour vous abonner à la liste ou <tt>unsubscribe</tt> pour
610 vous désabonner. Vous trouverez des instructions plus détaillées pour vous
611 abonner et vous désabonner aux adresses <url
612 id="&url-debian-lists-subscribe;">, <url id="&url-debian-lists;"> ou
613 localement dans le fichier &file-mail-lists; si vous avez installé le paquet
614 <package>doc-debian</package>.
617 Lorsque vous répondez aux messages d'une liste de diffusion,
618 n'envoyez pas de copie (<tt>CC</tt>) à l'auteur du courrier à moins
619 qu'il ne l'ait demandé explicitement. Quelqu'un qui envoie un message à une
620 liste de diffusion se doit d'y lire les réponses.
623 Les principales listes de diffusion Debian sont :
625 <item> &email-debian-devel; ;
626 <item> &email-debian-policy; ;
627 <item> &email-debian-user; ;
628 <item> &email-debian-private; ;
629 <item> &email-debian-announce; et
630 <item> &email-debian-devel-announce;.
633 Un développeur devrait, au minimum, être inscrit à la liste
634 &email-debian-devel-announce;.
637 Il existe d'autres listes de diffusion spécialisées dans différents thèmes.
638 Reportez-vous à la page <url id="&url-debian-lists-subscribe;"> pour en
639 obtenir la liste complète. Nous déconseillons l'usage des correspondances
640 croisées (envoyer le même message à plusieurs listes).
643 &email-debian-private; est une liste de diffusion destinée aux discussions
644 privées entre développeurs Debian. Elle doit être utilisée pour tout message
645 qui ne doit pas être publié, quelqu'en soit la raison. C'est une liste à
646 faible trafic et les utilisateurs sont priés de ne l'utiliser qu'en cas de
647 réelle nécessité. De plus, il ne faut <em>jamais</em> faire suivre un courrier
648 de cette liste à qui que ce soit. Pour des raisons évidentes, les archives de
649 cette liste ne sont pas disponible sur la toile. Vous pouvez les consulter en
650 visitant le répertoire <file>~debian/archive/debian-private</file> avec votre
651 compte sur <tt>master.debian.org</tt>.
654 &email-debian-email; est une liste de diffusion fourre-tout. Elle est utilisée
655 pour les correspondances relatives à Debian qu'il serait utile d'archiver, telles
656 que des échanges avec les auteurs amonts à propos de licences, de bogues ou encore
657 des discussions sur le projet avec d'autres personnes.
660 Comme toujours sur internet, éliminez les lignes inutiles quand vous citez
661 le message auquel vous répondez. Plus généralement, respectez
662 les conventions habituelles lorsque vous envoyez des messages.
665 Les archives des listes de diffusion sont disponibles en ligne à l'adresse
666 <url id="&url-lists-archives;">.
671 <sect id="server-machines">Les serveurs Debian
674 Les serveurs Debian sont bien connus et hébergent les fonctions
675 critiques du projet Debian. Tout développeur se doit de savoir ce qu'ils sont
676 et à quoi ils servent.
679 Si vous avez un problème en utilisant un serveur Debian et si vous estimez que
680 les administrateurs système devraient en être avertis, vous trouverez
681 l'adresse d'un responsable pour cette machine à la page <url
682 id="&url-devel-machines;">. Si votre problème n'est pas lié au système
683 (paquet à supprimer ou suggestion pour le site web par exemple), il vous
684 faudra en général ouvrir un rapport de bogue sur un
685 « pseudo-paquet ». Reportez-vous à la section <ref id="submit-bug">
686 pour connaître la procédure à suivre.
691 <sect1 id="servers-master">Le serveur maître
694 <tt>master.debian.org</tt> est le serveur maître du système de suivi des
695 bogues (BTS<footnote>Système de suivi des bogues se dit <em>Bug Tracking
696 System</em> en anglais</footnote>). Si vous envisagez de manipuler les
697 rapports de bogue ou d'en faire une analyse statistique ce sera le bon endroit
698 pour le faire. Informez la liste &email-debian-devel; de votre intention
699 avant d'implémenter quoi que ce soit afin d'éviter un travail en double
700 ou le gaspillage de temps machine.
703 Tous les développeurs Debian ont un compte sur <tt>master.debian.org</tt>.
704 Prenez grand soin de votre mot de passe. Évitez les méthodes de connexion et
705 de téléchargement qui envoient votre mot de passe en clair sur internet.
708 Si vous rencontrez un problème avec <tt>master.debian.org</tt> tel qu'un
709 disque plein, une activité suspecte ou autre, envoyez un courrier
710 électronique à &email-debian-admin;.
715 <sect1 id="servers-ftp-master">Le serveur ftp-master
718 Le serveur ftp-master (<tt>ftp-master.debian.org</tt> ou <tt>
719 auric.debian.org</tt>) est le serveur maître de l'archive Debian
720 (exception faite des paquets non-US). En général, les mises à jour de
721 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 contre le pseudo-paquet <package>ftp.debian.org</package> ou par
727 courrier électronique à &email-ftpmaster; ; reportez-vous à la section <ref
728 id="archive-manip"> pour connaître la procédure à suivre.
733 <sect1 id="servers-www">Le serveur WWW
736 Le serveur web principal, <tt>www.debian.org</tt>, est aussi connu sous le nom
737 <tt>klecker.debian.org</tt>. Tous les développeurs ont un compte sur cette
741 Si vous désirez publier quelques informations spécifiques à Debian sur la
743 vous pouvez le faire en les déposant dans le sous-répertoire
744 <file>public_html</file> de votre répertoire personnel sur
745 <tt>klecker.debian.org</tt>. Toute information déposée à cet endroit est
746 accessible à l'adresse <tt>http://people.debian.org/~<var>user-id</var>/</tt>.
747 Vous devriez préférer ce serveur aux autres car les répertoires
748 <file>public_html</file> du serveur <tt>klecker.debian.org</tt> sont
749 sauvegardés. Ce n'est pas le cas sur les autres serveurs. N'utilisez pas ces
750 serveurs pour publier des informations sans rapport avec le projet Debian
751 avant d'en avoir obtenu la permission. Pour toute question supplémentaire,
752 adressez-vous à la liste &email-debian-devel;.
755 Si vous rencontrez un problème avec un serveur web Debian, vous devez
756 généralement envoyer un rapport de bogue contre le pseudo-paquet
757 <package>www.debian.org</package>. Vérifiez d'abord sur le <url
758 id="http://bugs.debian.org/www.debian.org" name="système de suivi des bogues">
759 que personne ne l'a déjà rapporté avant vous.
764 <sect1 id="servers-cvs">Le serveur CVS
767 Le serveur <tt>cvs.debian.org</tt> est aussi connu sous le nom
768 <tt>klecker.debian.org</tt> (déjà présenté plus haut). Si vous avez besoin
769 d'un serveur CVS accessible par tous pour, par exemple, coordonner le travail
770 de plusieurs développeurs sur un paquet, vous pouvez demander un espace sur ce
774 Le serveur <tt>cvs.debian.org</tt> autorise les accès CVS locaux, les accès en
775 lecture seule pour les connexions client-serveur anonymes et les accès
776 client-serveur complets pour les connexions <prgn>ssh</prgn>. L'espace CVS peut
777 aussi être consulté par la toile à l'adresse <url id="&url-cvsweb;">.
780 Pour obtenir un espace CVS, envoyez une demande à l'adresse
781 &email-debian-admin; en précisant le nom de l'espace, le propriétaire du
782 répertoire racine et pourquoi vous en avez besoin.
787 <sect1 id="servers-mirrors">Les miroirs des serveurs Debian
790 Les serveurs web et FTP Debian sont dupliqués sur d'autres serveurs. Évitez de
791 charger les serveurs originaux. Idéalement, les serveurs originaux se
792 contentent de copier leur contenu sur les miroirs de premier niveau et
793 tous les utilisateurs consultent les miroirs. Ainsi le projet Debian étale
794 ces besoins en bande passante sur plusieurs serveurs et plusieurs réseaux.
795 Notez que la duplication des données sur les miroirs est déclenchée par le
796 serveur maître. Ceci nous garantit que les miroirs sont aussi à jour que
800 La liste des miroirs FTP (et en général HTTP) se trouve à l'adresse <url
801 id="&url-debian-mirrors;">. Vous trouverez plus d'information sur les miroirs
802 Debian à l'adresse <url id="&url-debian-mirroring;">. Cette page contient des
803 informations et des outils qui pourront vous aider si vous avez l'intention de
804 mettre en place votre propre miroir, que ce soit pour un usage interne ou
805 pour un accès public.
808 Les miroirs sont en général mis en oeuvre par des tiers qui veulent aider
809 Debian. C'est pourquoi les développeurs n'ont en général pas de compte sur ces
815 <sect id="other-machines">Les autres machines Debian
818 Vous aurez peut-être accès à d'autres machines Debian. Vous pouvez utiliser
819 ces machines pour des tâches en rapport avec le projet Debian. Soyez gentils
820 avec les administrateurs et ne consommez pas des montagnes d'espace disque, de
821 bande passante ou de temps machine sans en avoir d'abord reçu l'autorisation.
822 En général, ces machines sont gérés par des volontaires et sont utilisées pour
823 des activités de portage.
826 Vous trouverez une liste des autres machines mises à la disposition des
827 développeurs Debian à l'adresse <url id="&url-devel-machines;">.
833 <chapt id="archive">L'archive Debian
838 La distribution &debian-formal; est composée d'un grand nombre de paquets Debian
839 (fichiers <tt>.deb</tt> : à peu près &number-of-pkgs;) et de quelques
840 autres fichiers (documentation, images des disquettes d'installation,
844 Voici un exemple d'arborescence pour une archive Debian complète :
847 &sample-dist-dirtree;
850 Comme vous pouvez le voir, le répertoire racine contient deux répertoires,
851 <tt>dists/</tt> et <tt>pool/</tt>. Le second est un ensemble de répertoires où
852 sont stockés les paquets. Ceux-ci sont manipulés grâce à la base de données de
853 l'archive et aux logiciels qui l'accompagnent. Le premier répertoire contient
854 les distributions <em>stable</em>, <em>testing</em> et <em>unstable</em>. Le
855 découpage en sous-répertoires est identique d'un répertoire de distribution à
856 l'autre ; nous nous contenterons donc d'exposer ce découpage pour la
857 distribution <em>stable</em>. Les fichiers <tt>Packages</tt> et
858 <tt>Sources</tt> qui se trouvent dans les répertoires de distribution peuvent
859 faire référence à des fichiers du répertoire <tt>pool/</tt>.
863 Le répertoire <tt>dists/stable</tt> contient trois répertoires nommés
864 <tt>main</tt>, <tt>contrib</tt> et <tt>non-free</tt>.
867 Dans chacune de ces sections se trouve un répertoire contenant les paquets
868 sources (<tt>source/</tt>), un répertoire pour chaque architecture supportée
869 (<tt>binary-i386/</tt>, <tt>binary-m68k/</tt>, etc) et un répertoire pour les
870 paquets indépendants de l'architecture (<tt>binary-all/</tt>).
873 La section <em>main</em> contient d'autres répertoires destinés aux images de
874 disquettes et à quelques documentations essentielles pour installer la
875 distribution Debian sur une architecture particulière (<tt>disk-i386/</tt>,
876 <tt>disk-m68k/</tt>, etc).
879 Les répertoires <tt>binary-*/</tt> et <tt>source/</tt> sont à nouveau
880 divisés en <em>sous-sections</em>.
887 La section <em>main</em> constitue la <strong>distribution &debian-formal;
888 officielle</strong>. Elle est officielle parce qu'elle est conforme à toutes
889 nos recommandations. Les deux autres sections divergent de ces recommandations
890 à différents degrés, elles ne font donc pas officiellement partie de
894 Chaque paquet de la section <em>main</em> doit être conforme aux <url
895 id="&url-dfsg;" name="Debian Free Software Guidelines"> et à toutes les autres
896 recommandations décrites dans <url id="&url-debian-policy;" name="le Debian
897 Policy Manual">. Les DFSG<footnote><em>Debian Free Software
898 Guidelines</em></footnote> constituent notre définition de <em>logiciel
899 libre</em>. Reportez-vous au <em>Debian Policy Manual</em> pour en savoir
903 Les paquets de la section <em>contrib</em> doivent être conformes aux DFSG
904 mais ne respectent pas d'autres contraintes. Ils peuvent par exemple dépendre
905 de paquets de la section <em>non-free</em>.
908 Les paquets qui ne sont pas conformes aux DFSG sont rangés dans la section
909 <em>non-free</em>. Bien que nous supportions l'usage de ces paquets et qu'ils
910 bénéficient de nos infrastructures (système de suivi des bogues, listes de
911 diffusion, etc), ces paquets <em>non-free</em> ne font pas partie de la
915 Le <em>Debian Policy Manual</em> donne des définitions plus précises pour ces trois sections.
916 Les paragraphes précédants ne constituent qu'une introduction.
919 La séparation de l'archive en trois sections est
920 importante pour toute personne qui désire distribuer Debian, que ce soit par
921 serveur FTP ou sur cédérom. Il suffit de distribuer les sections <em>main</em>
922 et <em>contrib</em> pour éviter tout problème légal. Certains paquets de la
923 section <em>non-free</em> interdisent leur distribution à titre commercial par
927 D'un autre coté, un distributeur de cédérom pourra facilement vérifier
928 individuellement les licences des paquets de la section <em>non-free</em> et
929 ajouter autant de paquets qu'il est autorisé à le faire sur ses cédéroms (dans
930 la mesure où cela varie énormément d'un distributeur à l'autre ce travail ne
931 peut être fait par les développeurs Debian).
935 <sect>Les architectures
938 À ses débuts, le noyau Linux existait uniquement pour les architectures Intel
939 x86 ; il en était de même pour Debian. Linux devenant de plus
940 en plus populaire, il a été porté vers d'autres architectures. <p> Le noyau
941 2.0 existe pour les architectures Intel x86, DEC Alpha, SPARC, Motorola, 680x0
942 (Atari, Amiga, et Macintosh), MIPS et PowerPC. Le noyau 2.2 supporte encore
943 plus d'architectures dont ARM et UltraSPARC. Puisque Linux supporte ces
944 architectures, Debian a décidé qu'il devait les supporter aussi. C'est
945 pourquoi plusieurs portages sont en cours ; en fait il y a aussi des portages
946 vers d'autres noyaux. À coté d'<em>i386</em> (notre nom pour Intel x86), nous
947 avons, au moment où j'écris <em>m68k</em>, <em>alpha</em>, <em>powerpc</em>,
948 <em>sparc</em>, <em>hurd-i386</em>, et <em>arm</em>.
951 &debian-formal; 1.3 est disponible uniquement pour <em>i386</em>. Debian 2.0
952 supporte les architectures <em>i386</em> et <em>m68k</em>. Debian 2.1
953 supporte les architectures <em>i386</em>, <em>m68k</em>, <em>alpha</em> et
954 <em>sparc</em>. Debian 2.2 ajoute le support de l'architecture
958 Vous trouverez des informations destinées aux développeurs à propos d'un
959 portage particulier sur la page <url id="&url-debian-ports;" name="Portage
965 <sect>Les sous-sections
968 Les sections <em>main</em>, <em>contrib</em> et <em>non-free</em> sont
969 divisées en sous-sections pour simplifier le processus d'installation et la
970 maintenance de l'archive Debian. Ces sous-sections ne sont pas définies
971 formellement, à l'exception peut-être de la sous-section <em>base</em>.
972 Elles existent pour simplifier l'organisation des paquets et la navigation
973 dans la liste des paquets disponibles. Reportez-vous à la distribution
974 courante pour connaître la liste des sous-sections disponibles.
977 Notez qu'avec l'introduction de la nouvelle organisation de l'archive (voir le
978 répertoire racine <em>pool/</em>), les sous-sections matérialisées par des
979 répertoires pourraient disparaître à l'avenir. Elles seront cependant
980 conservées dans le champ <tt>Section</tt> de l'en-tête des paquets.
988 Il existe deux types de paquets Debian : les paquets sources et les
992 Les paquets sources sont constitués de deux ou trois fichiers :
996 un fichier <tt>.dsc</tt> et un fichier <tt>.tar.gz</tt> ou,
999 un fichier <tt>.dsc</tt>, un fichier <tt>.orig.tar.gz</tt> et un
1000 fichier <tt>.diff.gz</tt>.
1005 Si un paquet est développé spécifiquement pour le projet Debian et n'est pas
1006 distribué en dehors de Debian, il n'y a qu'un fichier <tt>.tar.gz</tt> qui
1007 contient les sources du programme. Si un paquet est distribué ailleurs, le
1008 fichier <tt>.orig.tar.gz</tt> contient ce que l'on appelle <em>code source
1009 amont</em>, c'est-à-dire le code source distribué par le <em>mainteneur
1010 amont</em> (il s'agit souvent de l'auteur du logiciel). Dans ce cas, le
1011 fichier <tt>.diff.gz</tt> contient les modifications faites par le responsable
1015 Le fichier <tt>.dsc</tt> liste tous les fichiers sources avec leurs sommes de
1016 contrôle (<prgn>md5sums</prgn>) et quelques informations supplémentaires
1017 concernant le paquet (responsable, version, etc).
1022 <sect>Les répertoires des distributions
1025 L'organisation des répertoires présentée précédemment est elle-même englobée
1026 par les <em>répertoires des distributions</em>. Chaque distribution est
1027 incluse dans le répertoire <tt>pool</tt> à la racine de l'archive Debian.
1030 En résumant, une archive Debian a un répertoire racine sur un serveur FTP. Par
1031 exemple, sur le site miroir <ftpsite>ftp.us.debian.org</ftpsite>, l'archive
1032 Debian se trouve dans <ftppath>/debian</ftppath> ce qui est un emplacement
1033 courant. Un autre emplacement courant est <tt>/pub/debian</tt>.
1036 Une distribution est composée de paquets Debian sources et binaires et des
1037 fichiers <tt>Sources</tt> et <tt>Packages</tt> correspondants. Ces derniers
1038 contiennent la description de tous les paquets. Les premiers sont
1039 conservés dans le répertoire <tt>pool/</tt> tandis que les seconds sont
1040 conservés dans le répertoire <tt>dists/</tt> de l'archive (pour des questions
1041 de compatibilité descendante)
1046 <sect1 id="sec-dists"><em>Stable</em>, <em>testing</em> et
1050 Il y a toujours une distribution appelée <em>stable</em> (dans le répertoire
1051 <tt>dists/stable</tt>), une distribution appelée <em>testing</em> (dans le
1052 répertoire <tt>dists/testing</tt>) et une distribution appelée
1053 <em>unstable</em> (dans le répertoire <tt>dists/unstable</tt>). Ceci reflète
1054 le processus de développement du projet Debian.
1057 Les développements se font sur la distribution <em>unstable</em><footnote>
1058 <em>unstable</em> signifie « instable »</footnote> (c'est pourquoi
1059 elle est aussi appelée <em>distribution de développement</em>). Chaque
1060 développeur Debian peut modifier ses paquets à tout moment dans cette
1061 distribution. Ainsi son contenu change tous les jours. Comme aucun effort
1062 particulier n'est fait pour s'assurer que tout fonctionne correctement dans
1063 cette distribution, elle est parfois <em>instable</em>.
1066 Les paquets sont copiés de <em>unstable</em> vers <em>testing</em> s'ils
1067 satisfont certains critères. Pour entrer dans la distribution <em>testing</em>
1068 un paquet doit faire partie de l'archive depuis deux semaines et ne doit pas
1069 avoir de bogue bloquant pour la distribution (<em>RC bug</em>). Passé cette
1070 période, le paquet sera installé dans <em>testing</em> dès que les paquets
1071 dont il dépend y seront. Ce processus est automatique. Vous pouvez consulter
1072 quelques notes sur ce système ainsi que les <tt>update_excuses</tt> (qui
1073 indiquent quels paquets sont candidats, lesquels ne le sont pas et pourquoi) à
1074 l'adresse <url id="&url-testing-maint;">.
1077 Après une période de développement, quand le responsable de
1078 distribution<footnote><em>Release manager</em></footnote> le juge opportun, la
1079 distribution <em>testing</em> est gelée, ce qui signifie que les conditions à
1080 remplir pour qu'un paquet passe de <em>unstable</em> à <em>testing</em> sont
1081 durcies. Les paquets trop bogués sont supprimés et les seules mises à jours
1082 autorisées concernent les corrections de bogues. Après quelques temps,
1083 selon l'avancement, la distribution entre dans une phase de
1084 « gel complet » où les seules modifications acceptées concernent la
1085 procédure d'installation. Cette phase s'appelle un « cycle de test »
1086 et cela peut durer jusqu'à deux semaines. Il peut y avoir plusieurs cycles de
1087 tests avant que le responsable de distribution ne la déclare prête pour la
1088 diffusion. À la fin du dernier cycle de test, la distribution <em>frozen</em>
1089 est renommée <em>stable</em>, remplaçant l'ancienne distribution <em>stable</em> qui
1090 est enlevée à cette occasion (elle peut être retrouvée à l'adresse
1091 <tt>&archive-host;</tt>).
1094 Ce cycle de développement est basé sur l'idée que la distribution
1095 <em>instable</em> devient <em>stable</em> après une période de test
1096 (<em>testing</em>). Une distribution contient inévitablement des
1097 bogues, même si elle est classée stable. C'est pourquoi les distributions
1098 stables sont mises à jour de temps en temps. Les corrections introduites sont
1099 testées avec une grande attention et ajoutées individuellement à l'archive
1100 pour diminuer les risques d'introduire de nouveaux bogues. Vous pouvez trouver
1101 des paquets proposés pour les mises à jour de <em>stable</em> dans le
1102 répertoire <tt>proposed-updates</tt>. De temps en temps, les paquets de ce
1103 répertoire qui ne présentent pas de problème sont installés dans la
1104 distribution <em>stable</em> et le numéro de révision de cette distribution
1105 est incrémenté (« 1.3 » devient « 1.3r1 »,
1106 « 2.0r2 » devient « 2.0r3 » et ainsi de suite).
1109 Notez que pendant la période de gel les développements continuent sur la
1110 distribution instable car cette distribution reste en place.
1113 <sect1><em>Experimental</em>
1116 La distribution <em>experimental</em> est une distribution particulière. Ce
1117 n'est pas une distribution à part entière comme le sont <em>stable</em> et
1118 <em>unstable</em>. Elle est prévue pour servir de plate-forme de développement
1119 pour les projets expérimentaux qui ont de grandes chances de détruire le
1120 système ou bien pour des logiciels qui sont vraiment trop instables pour être
1121 inclus dans la distribution <em>unstable</em> (mais pour qui une mise en
1122 paquet est justifiée). Les utilisateurs qui téléchargent et
1123 installent des paquets depuis
1124 <em>experimental</em> sont prévenus : on ne peut pas faire confiance à la
1125 distribution <em>experimental</em>.
1128 Si un logiciel risque de causer des dégats importants, il sera
1129 sûrement préférable de le mettre dans la distribution <em>experimental</em>.
1130 Un système de fichier compressé, par exemple, devrait probablement aller dans
1131 <em>experimental</em>.
1134 Une nouvelle version amont qui ajoute de nouvelles fonctions tout en
1135 supprimant de nombreuses autres ne devra pas être téléchargée dans l'archive
1136 Debian, elle pourra cependant être téléchargée dans <em>experimental</em>. Une
1137 nouvelle version non finalisée d'un logiciel qui utilise une méthode de
1138 configuration complètement différente pourrait aller dans
1139 <em>experimental</em> au gré du responsable. Si vous travaillez sur
1140 un cas de mise à jour complexe ou incompatible vous pouvez aussi utiliser
1141 <em>experimental</em> comme plate-forme d'intégration et ainsi fournir un
1145 Quelques logiciels expérimentaux peuvent aller dans <em>unstable</em>, avec un
1146 avertissement dans la description mais ce n'est pas recommandé car les paquets
1147 de <em>unstable</em> se propagent dans <em>testing</em> et aboutissent dans
1151 Un nouveau logiciel qui ne risque pas d'endommager le système ira
1152 directement dans <em>unstable</em>.
1155 Une alternative à <em>experimental</em> consiste à utiliser vos pages
1156 personnelles sur le serveur <tt>people.debian.org</tt>
1157 (<tt>klecker.debian.org</tt>).
1159 <sect id="codenames">Les noms de distribution
1162 Chaque distribution Debian diffusée a un nom : Debian 1.1 s'appelle
1163 « buz » ; Debian 1.2, « rex » ; Debian 1.3 « bo » ;
1164 Debian 2.0, « hamm » ; Debian 2.1, « slink »; Debian 2.2
1165 « potato » et Debian 3.0 « woody ». Il y a aussi une pseudo-distribution nommée
1166 « sid », il s'agit de la distribution <em>unstable</em> ; comme les
1167 paquets vont de <em>unstable</em> à <em>testing</em> quand ils approchent de
1168 la stabilité, la distribution « sid » n'est jamais diffusée. En plus
1169 du contenu habituel d'une distribution Debian, « sid » contient des
1170 paquets pour des architectures qui ne sont pas encore officiellement
1171 supportées ou pour lesquelles la distribution n'a pas encore été diffusée. Ces
1172 architectures doivent rejoindre les architectures supportées à une date
1176 Comme Debian est un projet de développement ouvert (i.e. tout le monde peut
1177 participer et suivre les développements) même les distributions
1178 <em>unstable</em> et <em>testing</em> sont disponibles sur les serveurs HTTP
1182 Si nous avions nommé le répertoire qui contient la prochaine version àc
1183 diffuser « testing », il aurait fallu le renommer
1184 « stable » au moment de la diffusion, ce qui aurait forcé les
1185 miroirs FTP à re-télécharger la distribution complète (qui est plutôt
1189 D'un autre coté, si une distribution s'appelle <em>Debian-x.y</em> dès le
1190 départ, des personnes pourraient s'imaginer que la distribution Debian
1191 <em>x.y</em> est disponible. (Cela s'est produit par le passé, un distributeur
1192 avait gravé des cédéroms Debian 1.0 en utilisant une version de développement
1193 pré-1.0. C'est pour cette raison que la première version officielle était la
1194 version 1.1 et non la 1.0.)
1197 En conséquence, les noms de répertoire des distributions dans l'archive sont
1198 déterminés par leurs noms de code et non par leur statut (exemple : slink). Ces
1199 noms sont identiques pendant la période de développement et une fois la
1200 distribution diffusée ; des liens symboliques, qui peuvent être modifiés
1201 facilement, indiquent la distribution stable actuelle.
1204 Tout ceci explique pourquoi les répertoires des distributions sont nommés à
1205 partir des noms de code des distributions alors que <em>stable</em>,
1206 <em>testing</em> et <em>unstable</em> sont des liens
1207 symboliques qui pointent vers les répertoires appropriés.
1213 <chapt id="upload">La mise à jour d'un paquet
1216 <sect>Nouveaux paquets
1219 Si vous voulez créer un nouveau paquet pour la distribution Debian vous
1220 devriez commencer par consulter la liste des <url id="&url-wnpp;"
1221 name="paquets en souffrance et paquets souhaités">. Vous pourrez ainsi
1222 vérifier que personne ne travaille déjà sur ce paquet et éviter un double
1223 travail. Consultez aussi cette page si vous voulez en savoir plus.
1226 Supposons que personne ne travaille sur le paquet que vous visez, vous devez
1227 alors envoyer un rapport de bogue (voir <ref id="submit-bug">) concernant le
1228 pseudo-paquet <tt>wnpp</tt>. Ce
1229 courrier devra décrire le paquet que vous projetez de créer, la licence de ce
1230 paquet et l'URL à laquelle le source peut être téléchargé. Cette liste n'est
1234 Le sujet de votre rapport de bogue devra être <ITP<footnote><em>Intent To
1235 Package</em> : intention de mise en paquet</footnote> :
1236 <var>NomDuPaquet</var> — <var> courte description </var>>, en remplaçant
1237 <var>NomDuPaquet</var> par le nom du paquet. La gravité du bogue sera
1238 <em>whishlist</em>. Si vous le jugez nécessaire, envoyez une copie à
1239 &email-debian-devel; en mettant cette adresse dans le champ
1240 <tt>X-Debbugs-CC:</tt> de l'en-tête du message. N'utilisez pas le champ
1241 <tt>CC:</tt> car de cette manière le sujet du message ne contiendrait pas le
1245 Il faudra aussi ajouter une entrée
1246 <tt>Closes: bug#<var>nnnnn</var></tt> dans le fichier <file>changelog</file>
1247 du nouveau paquet. Cette indication fermera automatiquement le rapport de
1248 bogue à l'installation du nouveau paquet sur les serveurs d'archivage (voir
1249 <ref id="upload-bugfix">).
1252 Il y a plusieurs raisons qui nous poussent à demander aux responsables d'annoncer
1253 leurs intentions :
1257 Les responsables ont ainsi la possibilité de puiser dans l'expérience
1258 des autres responsables et cela leur permet de savoir si une autre personne
1259 travaille déjà dessus.
1262 D'autres personnes qui envisagent de travailler sur le même paquet
1263 apprendront ainsi qu'il existe déjà un volontaire, l'effort peut alors
1267 Cela permet aux autres responsables d'en savoir plus sur le nouveau
1268 paquet que ne le permettent la description d'une ligne et l'habituelle
1269 entrée « <em>Initial release</em> » que l'on trouve dans les
1270 fichiers <em>changelog</em> qui sont postés sur
1271 <tt>debian-devel-changes</tt>.
1274 C'est une information utile pour les gens qui utilisent la
1275 distribution <em>unstable</em> et qui sont nos premiers testeurs. Nous
1276 devons faciliter la tâche de ces gens.
1279 Avec ces annonces, les développeurs Debian et toutes les autres personnes
1280 intéressées peuvent se faire une meilleure idée des évolutions et nouveautés du
1286 <sect id="changelog-entries">Ajouter une entrée à
1287 <file>debian/changelog</file>
1290 Les modifications que vous apportez au paquet doivent être tracées dans le
1291 fichier <file>debian/changelog</file>. Ces traces doivent donner une
1292 description concise des changements, expliquer pourquoi (si ce n'est pas
1293 clair) et indiquer si des rapports de bogues sont clos. Il faut aussi indiquer
1294 quand le paquet a été terminé. Ce fichier sera installé dans
1295 <file>/usr/share/doc/<var>paquet</var>/changelog.Debian.gz</file> ou
1296 <file>/usr/share/doc/<var>paquet</var>/changelog.gz</file> pour un paquet
1300 Le fichier <file>debian/changelog</file> a une structure précise comportant
1301 différents champs. Le champ <em>distribution</em> est décrit dans <ref
1302 id="upload-dist">. Vous trouverez plus d'information sur la structure de ce
1303 fichier dans le <em>Debian Policy Manual</em> section
1304 « <file>debian/changelog</file> ».
1307 Les entrées du fichier <file>changelog</file> peuvent être utilisées pour
1308 fermer des rapports de bogue au moment où le paquet est installé dans
1309 l'archive. Voir la section <ref id="upload-bugfix">.
1312 Par convention, l'entrée changelog d'un paquet qui contient une nouvelle
1313 version amont ressemble à :
1315 * new upstream version
1319 Quelques outils peuvent vous aider à créer des entrées et finaliser
1320 <file>changelog</file> pour une livraison — voir les sections <ref
1321 id="devscripts"> et <ref id="dpkg-dev-el">.
1323 <sect id="upload-checking">Vérifier le paquet avant la mise à jour
1326 Avant de mettre à jour votre paquet vous ferez quelques tests de base. Vous
1327 devrez au moins faire les tests suivants (il vous faut une ancienne version
1331 Installez le paquet et vérifiez que le logiciel fonctionne. Si le
1332 paquet existait déjà dans une version plus ancienne, faites une mise à
1336 Exécutez <prgn>lintian</prgn> sur votre paquet. Vous pouvez exécuter
1337 <prgn>lintian</prgn> comme suit : <tt>lintian -v
1338 <var>package-version</var>.changes</tt>. Ce programme fera une
1339 vérification sur les paquets source et binaire. Si vous ne comprenez
1340 pas les messages générés par <prgn>lintian</prgn> essayez l'option
1341 <tt>-i</tt>. Cette option rendra <prgn>lintian</prgn> beaucoup plus
1342 bavard dans sa description du problème.
1344 En principe, un paquet pour lequel
1345 <prgn>lintian</prgn> génère des erreurs (elles commencent par
1346 <tt>E</tt>) <em>ne doit pas</em> être installé dans l'archive.
1348 Pour en savoir plus sur <prgn>lintian</prgn> reportez-vous à la
1349 section lintian <ref id="lintian">.
1352 Faites régresser le paquet
1353 vers sa version précédente si elle existe — cela permet de tester les
1354 scripts <tt>postrm</tt> et <tt>prerm</tt>.
1357 Désinstallez le paquet et réinstallez-le.
1363 <sect>Générer le fichier « changes »
1365 Chaque nouvelle version d'un paquet installé sur les archives FTP Debian doit
1366 être accompagnée d'un fichier <tt>.changes</tt>. Ce fichier explique à
1367 l'administrateur de l'archive Debian ce qu'il doit faire du paquet. Il est en
1368 général créé par <prgn>dpkg-genchanges</prgn> au cours du processus de
1369 fabrication du paquet.
1372 Le fichier <tt>changes</tt> est un fichier de contrôle qui contient les champs
1376 &control-file-fields;
1379 Tous ces champs sont obligatoires pour une installation sur les serveurs
1380 Debian. Vous pouvez consulter la liste des champs de contrôle dans le
1381 <url id="&url-debian-policy;" name="Debian Policy Manual"> pour connaître
1382 les valeurs que prennent ces champs. Vous pouvez fermer un rapport de bogue
1383 automatiquement avec le champ <tt>Description</tt> (voir <ref
1384 id="upload-bugfix">).
1387 <sect1>L'archive des sources amonts
1389 La première fois qu'un paquet est installé dans l'archive pour une version
1390 amont donnée, le fichier <tt>tar</tt> de cette version amont doit être
1391 téléchargé et mentionné dans le fichier <tt>.changes</tt>. Par la suite, ce
1392 fichier <tt>tar</tt> sera utilisé pour générer les fichiers <tt>diff</tt> et
1393 <tt>.dsc</tt> et il ne sera pas nécessaire de le télécharger à nouveau.
1396 Par défaut, <prgn>dpkg-genchanges</prgn> et <prgn>dpkg-buildpackage</prgn>
1397 incluront le fichier <tt>tar</tt> amont si et seulement si le numéro de
1398 révision du paquet source est 0 ou 1, ce qui indique une nouvelle version
1399 amont. Ce comportement peut être modifié en utilisant <tt>-sa</tt> pour
1400 l'inclure systématiquement ou <tt>-sd</tt> pour ne jamais l'inclure.
1403 Si la mise à jour ne contient pas le fichier <tt>tar</tt> des sources
1404 originaux, <prgn>dpkg-source</prgn> <em>doit</em>, pour construire les
1405 fichiers <tt>.dsc</tt> et <tt>diff</tt> de la mise à jour, utilisez un fichier
1406 <tt>tar</tt> identique à l'octet près à celui sur le serveur. Si pour une
1407 raison ou pour une autre il y a une différence, la nouvelle version de ce
1408 fichier doit à nouveau être incluse dans la mise à jour (en utilisant l'option
1409 <tt>-sa</tt> par exemple).
1414 <sect1 id="upload-dist">Choisir une distribution
1417 Le champ <tt>Distribution</tt>, qui provient de la première ligne du fichier
1418 <file>debian/changelog</file>, indique à quelle distribution le paquet est
1422 Il y a trois valeurs possibles pour ce champ : <em>stable</em>,
1423 <em>unstable</em> et <em>experimental</em> . En temps
1424 normal, les paquets sont téléchargés dans <em>unstable</em>.
1427 Vous devriez éviter de combiner <em>stable</em> avec d'autres cibles à cause
1428 des problèmes potentiels de dépendance de bibliothèque (pour votre paquet et
1429 pour les paquets fabriqués par le démon de compilation pour les autres
1430 architectures). Se reporter à <ref id="upload-stable"> pour savoir quand et
1431 comment faire une mise à jour de <em>stable</em>.
1434 Notez bien que combiner <em>experimental</em> avec quelque distribution
1435 que ce soit n'a pas de sens.
1438 <sect2 id="upload-stable">Mettre à jour un paquet de la distribution <em>stable</em>
1441 Livrer un paquet pour la distribution <em>stable</em> signifie que le paquet
1442 sera dirigé vers le répertoire <tt>proposed-updates</tt> des archives Debian
1443 pour y être testé avant d'être effectivement inclus dans <em>stable</em>.
1446 Une livraison pour la distribution <em>stable</em> requière des soins
1447 supplémentaires. Un paquet de cette distribution ne devrait être mis à jour
1448 que dans les cas suivants :
1451 <item>un problème de sécurité (un avis de sécurité
1452 Debian<footnote>Debian security advisory.</footnote>),
1453 <item>un probleme fonctionnel vraiment critique,
1454 <item>un paquet devenu ininstallable,
1455 <item>un paquet indisponible pour une architecture.
1459 Il est fortement déconseillé de changer quoi que ce soit si ce n'est pas
1460 important car même une modification triviale peut causer un bogue plus
1461 tard. Livrer une nouvelle version amont d'un logiciel pour corriger un
1462 problème de sécurité est désapprouvé ; dans la plupart des cas la
1463 bonne solution consiste à prendre la rustine correspondante de la
1464 nouvelle version amont et à l'appliquer à l'ancienne (faire un
1465 portage (<em>backport</em>) de la rustine.
1468 Les paquets livrés pour <em>stable</em> doivent être compilés avec la
1469 distribution <em>stable</em> pour que leurs dépendances se limitent aux
1470 bibliothèques (et autres paquets) disponibles dans <em>stable</em> ;
1471 un paquet livré pour la distribution <em>stable</em> qui dépend d'une
1472 bibliothèque qui n'est disponible que dans <em>unstable</em> sera rejeté.
1473 Modifier les dépendances d'autres paquets (en manipulant le champ
1474 <tt>Provides</tt> ou les fichiers shlibs) et, peut-être, rendre ces paquets
1475 ininstallables, est fortement déconseillé.
1478 L'équipe responsable de la distribution<footnote><em>the Release
1479 team</em></footnote> (joignable à l'adresse &email-debian-release;) évaluera
1480 régulièrement le contenu de <em>proposed-updates</em> et décidera si votre
1481 paquet peut être inclus dans la distribution <em>stable</em>. Soyez précis
1482 (et, si nécéssaire, généreux) quand vous décrivez, dans le fichier changelog,
1483 vos changements pour une livraison vers <em>stable</em> sinon le paquet ne
1488 <sect id="uploading">Mettre à jour un paquet
1491 <sect1 id="upload-ftp-master">Installer un paquet sur
1495 Pour installer un paquet vous avez besoin d'un compte sur
1496 <ftpsite>ftp-master</ftpsite>, ce que vous devez avoir en tant que
1497 développeur Debian. Si vous utilisez <prgn>scp</prgn> ou <prgn>rsync</prgn>
1498 pour télécharger vos paquets, placez-les dans
1499 <tt>&us-upload-dir;</tt>. Si vous utilisez un FTP anonyme,
1500 placez-les dans <ftppath>/pub/UploadQueue/</ftppath>. Attention, il est
1501 préférable de transférer le fichier <tt>changes</tt> en dernier. Dans le cas
1502 constraire, votre livraison pourrait être rejetée car l'outil de maintenance
1503 de l'archive pourrait lire le fichier <tt>changes</tt> et constater que les
1504 fichiers ne sont pas tous présents. Si vous ne voulez pas vous embêter avec
1505 l'ordre de transfert des fichiers, vous pouvez tout simplement copier vos
1506 fichiers dans un répertoire temporaire de <tt>ftp-master</tt> et les déplacer
1507 ensuite vers <tt>&us-upload-dir;</tt>.
1510 <em>Note :</em> ne téléchargez pas de paquet contenant un logiciel
1511 protégé par des brevets américains sur <tt>ftp-master</tt>, de même n'y
1512 téléchargez pas de paquet cryptographique qui appartiendrait a
1513 <em>contrib</em> ou <em>non-free</em>. Quand vous ne pouvez télécharger sur
1514 <tt>ftp-master</tt>, vous ne pouvez pas non plus télécharger sur
1515 <tt>chiark</tt> ou <tt>erlangen</tt>. Les livraisons de ces logiciels doivent
1516 aller sur <tt>non-us</tt> (voir <ref if="upload-non-us">). Si vous ne savez
1517 pas si votre paquet est protégé par un brevet ou s'il est soumis aux lois de
1518 contrôle des exportations américaines posez la question sur la liste
1519 &email-debian-devel;.
1522 Les paquets <package>dupload</package> ou <package>dput</package> pourront
1523 vous faciliter le travail lors du téléchargement. Ces programmes, bien
1524 pratique, sont configurés par défaut pour
1525 se connecter par FTP sur les serveurs <tt>ftp-master</tt>,
1526 <tt>chiark</tt> et <tt>erlangen</tt>. Ils peuvent aussi être configurés pour
1527 utiliser <prgn>ssh</prgn> ou <prgn>rsync</prgn>. Se reporter à <manref
1528 name="dupload" section="1">, <manref name="dupload" section="5"> et <manref
1529 name="dput" section="1"> pour en savoir plus.
1532 Après avoir téléchargé votre paquet, vous pouvez vérifier ce qu'en fera le
1533 logiciel de maintenance de l'archive en exécutant <prgn>dinstall</prgn>
1534 sur votre fichier <file>.changes</file> :
1536 <example>dinstall -n foo.changes</example>
1542 <sect1 id="upload-non-us">Installer un paquet sur <tt>non-US</tt>
1546 Comme nous l'avons dit un peu plus haut, les programmes soumis au contrôle des
1547 exportations américain ne doivent pas être installés sur <tt>ftp-master</tt>.
1548 Installez le paquet sur <ftpsite>non-us.debian.org</ftpsite> dans le
1549 répertoire <tt>&non-us-upload-dir;</tt> (<ref id="dupload"> et <ref
1550 id="dput">, avec les options adéquates, peuvent tous deux être utilisés pour
1551 cela). Par défaut, vous pouvez utiliser le même <em>login/mot de passe</em>
1552 que pour <tt>ftp-master</tt>. Si vous utilisez
1553 une connexion FTP anonyme pour le téléchargement, placez vos fichiers dans le
1554 répertoire <ftppath>/pub/UploadQueue/</ftppath>.
1557 Tout comme sur <tt>ftp-master</tt>, vous pouvez vérifier votre téléchargement
1560 <example>dinstall -n foo.changes</example>
1564 Attention, les personnes résidant aux États-Unis et les citoyens américains
1565 sont soumis à des restrictions sur l'exportation des logiciels de
1566 cryptographie. Au moment où j'écris, les citoyens américains peuvent exporter
1567 quelques logiciels de cryptographie soumis à une obligation de déclaration
1568 auprès du département du commerce américain. Toutefois, cette restriction a
1569 été abandonnée pour des logiciels qui sont déjà disponible en dehors des
1570 États-Unis. En conséquence, tout logiciel de cryptographie de la section
1571 <em>main</em> de l'archive Debian qui ne dépend d'aucun paquet d'une
1572 autre section — il ne doit pas dépendre de <em>non-US/main</em> —
1573 peut être téléchargé sur ftp-master ou l'une de ses files d'attente décrites
1578 Le <em>Debian Policy Manual</em> n'empêche pas les résidents et citoyens
1579 américains de livrer des paquets sur <tt>non-US</tt> mais ils devront être
1580 vigilants en le faisant. Nous recommandons aux responsables concernés de
1581 prendre toutes les précautions nécessaires, <em>y compris la consultation d'un
1582 juriste</em>, pour s'assurer qu'ils n'enfreignent pas une loi américaine en
1583 livrant un paquet sur <tt>non-US</tt>.
1586 Pour les paquets des sections <em>non-US/main</em> et <em>non-US/contrib</em>
1587 les responsables devraient au moins suivre la <url id="&url-u.s.-export;"
1588 name="procédure décrite par le gouvernement américain">. Les responsables de
1589 paquets <em>non-US/non-free</em> devront en plus consulter les <url
1590 id="&url-notification-of-export;" name="règles de déclaration d'exportation
1591 pour les logiciels commerciaux">.
1594 Cette section a pour seul but d'informer, elle n'a pas valeur de conseil
1595 juridique. Une fois encore, nous recommandons aux résidents et citoyens
1596 américains de consulter un juriste avant de livrer un paquet sur
1600 <sect1>Installer un paquet via <tt>chiark</tt>
1603 Si votre connexion vers <tt>ftp-master</tt> est lente, vous avez plusieurs
1604 possibilités. L'une d'elles consiste à télécharger vos fichiers dans
1605 <tt>Incoming</tt> en passant par le serveur <tt>chiark</tt> en Europe. Pour
1606 les détails consultez <url id="&url-chiark-readme;">.
1609 Attention, ne téléchargez pas de paquet contenant un logiciel soumis aux
1610 lois de contrôle des exportations américaines sur <tt>chiark</tt>.
1611 Les paquets téléchargés sur ce serveur sont redirigés vers <tt>ftp-master</tt>,
1612 les indications de la section <ref id="upload-ftp-master"> sont applicables ici
1616 Le programme <prgn>dupload</prgn> est capable de télécharger sur
1617 <tt>chiark</tt> ; consultez la documentation de ce programme pour en savoir
1622 <sect1>Installer un paquet via <tt>erlangen</tt>
1625 Vous pouvez aussi accéder à un serveur situé en Allemagne : il vous suffit
1626 d'ouvrir une connexion anonyme sur :
1629 <url id="&url-upload-erlangen;">.
1632 Le téléchargement fait sur ce serveur doit être aussi complet que s'il
1633 était fait dans le répertoire <tt>Incoming</tt> sur <tt>ftp-master</tt> :
1634 il doit comporter le fichier <file>.changes</file> et tous les fichiers
1635 mentionnés dans ce dernier. Le serveur vérifie que le fichier
1636 <tt>.changes</tt> est bien signé avec la clé PGP d'un développeur Debian pour
1637 éviter que des faux paquets n'atteignent <tt>ftp-master</tt>. Vérifiez bien
1638 que le champ <tt>Maintainer</tt> du fichier <tt>.changes</tt> contient
1639 <em>votre</em> adresse électronique. De même que sur <tt>ftp-master</tt>,
1640 cette adresse est ensuite utilisée pour toutes les réponses.
1643 Il n'est pas nécessaire de déplacer votre fichier dans un autre répertoire
1644 après le téléchargement, contrairement au serveur <tt>chiark</tt>. Vous
1645 devriez ensuite recevoir un courrier du serveur expliquant ce qu'il a fait de
1646 votre paquet. Normalement, il devrait avoir été déplacé vers
1647 <tt>ftp-master</tt> ;
1648 vous serez informé par le même biais si une erreur s'est produite au cours du
1652 Attention, ne téléchargez pas de paquet contenant un logiciel soumis aux
1653 lois de contrôle des exportations américaines sur <tt>erlangen</tt>.
1654 Les paquets téléchargés sur ce serveur sont redirigés vers <tt>ftp-master</tt>,
1655 les indications de la section <ref id="upload-ftp-master"> sont applicables ici
1659 Le programme <prgn>dupload</prgn> est capable de télécharger sur
1660 <tt>erlangen</tt> ; consultez la documentation de ce programme pour en savoir
1667 <sect1>Les autres serveurs
1670 Un autre serveur est disponible aux États-Unis ; c'est un bon point
1671 de repli quand il est difficile de joindre <tt>ftp-master</tt>. Livrez vos
1672 paquets à l'adresse <url id="&url-upload-samosa;"> comme vous le feriez sur
1675 Il existe aussi un serveur au Japon : téléchargez vos paquet par FTP
1676 anonyme sur <url id="&url-upload-jp;">.
1681 <sect id="upload-announce">Annoncer une mise à jour
1684 Quand un paquet est mis à jour, une annonce doit être envoyée sur l'une des
1685 listes « debian-changes ». Ceci est maintenant géré automatiquement
1686 par le logiciel de gestion de l'archive quand il est exécuté (en principe une
1687 fois par jour). Vous devez juste utiliser une version récente de
1688 <package>dpkg-dev</package> (>= 1.4.1.2). Le courrier généré par le
1689 logiciel de maintenance de l'archive contiendra le fichier <tt>.changes</tt>
1690 signé que vous avez livré avec votre paquet. Précédemment, cette charge
1691 revenait à <prgn>dupload</prgn> ; vérifiez que vous avez bien configuré
1692 <prgn>dupload</prgn> pour qu'il n'envoie pas ces annonces (cherchez
1693 <tt>dinstall_runs</tt> dans la documentation de <prgn>dupload</prgn>).
1696 Si un paquet est mis à jour avec un champ <tt>Distribution:</tt> à
1697 <em>stable</em>, l'annonce est envoyée sur la liste :
1700 <tt> &email-debian-changes;.</tt>
1703 S'il est mis à jour avec un champ <tt>Distribution:</tt> à <em>unstable</em>
1704 ou <em>experimental</em>, l'annonce est envoyée sur la liste
1705 &email-debian-devel-changes;.
1708 Le programme <prgn>dupload</prgn> est suffisamment intelligent pour déterminer
1709 où devra aller l'annonce et pour envoyer le courrier sur la bonne liste. Voir <ref
1715 <sect id="upload-notification">
1716 <heading>Notification de l'installation d'un nouveau paquet</heading>
1719 Les administrateurs de l'archive Debian sont responsables de l'installation
1720 des mises à jour. La plupart des mises à jour sont gérées
1721 quotidiennement par le logiciel de gestion de l'archive <prgn>katie</prgn>.
1723 de paquets sur la distribution <em>unstable</em>, en particulier, sont
1724 installés ainsi. Dans les autres cas et notamment dans le cas d'un nouveau
1725 paquet, celui-ci sera installé manuellement. Il peut s'écouler jusqu'à un mois
1726 entre le téléchargement d'un paquet vers un serveur et son installation
1727 effective. Soyez patients.
1730 Dans tous les cas vous recevrez un accusé de réception par courrier
1731 électronique indiquant que votre paquet a été installé et quels rapports
1732 de bogues ont été clos. Lisez attentivement ce courrier et vérifiez que tous
1733 les rapports de bogues que vous vouliez clore sont bien dans cette liste.
1736 L'accusé de réception indique aussi la section dans laquelle le paquet a
1737 été installé. S'il ne s'agit pas de votre choix, vous recevrez un second
1738 courrier qui vous informera de cette différence (voir plus loin).
1743 <sect1 id="override-file">Le fichier <em>override</em>
1746 Les champs <tt>Section</tt> et <tt>Priority</tt> du fichier
1747 <file>debian/control</file> n'indiquent ni où le paquet sera installé dans
1748 l'archive Debian ni sa priorité. Afin de conserver la
1749 cohérence de l'archive, ce sont les administrateurs qui contrôlent ces
1750 champs. Les valeurs du fichier <file>debian/control</file> sont juste des
1754 Les administrateurs de l'archive indiquent les sections et priorités des paquets
1755 dans le fichier <em>override</em>. Si ce fichier <em>override</em> et le
1756 fichier <file>debian/control</file> de votre paquet diffèrent, vous en serez
1757 informé par courrier électronique quand votre paquet sera installé dans
1758 l'archive. Vous pourrez corriger votre fichier <em>debian/control</em>
1759 avant votre prochain téléchargement ou alors vous aurez envie de modifier le
1760 fichier <em>override</em>.
1763 Pour modifier la section dans laquelle un paquet est archivé, vous devez
1764 d'abord vérifier que fichier <file>debian/control</file> est correct. Ensuite,
1765 envoyez un courrier à &email-override; ou un rapport de bogue sur le pseudo
1766 paquet <package>ftp.debian.org</package> demandant la modification de la
1767 section ou de la priorité de votre paquet. Exposez bien les raisons qui vous
1768 amènent à demander ces changements.
1771 Pour en savoir plus sur le fichier <em>override</em>, reportez-vous à <manref
1772 name="dpkg-scanpackages" section="8">, &file-bts-mailing; et &file-bts-info;.
1777 <chapt id="nmu">Mise à jour indépendante
1780 Dans certaines circonstances il est nécessaire qu'une personne autre que le
1781 responsable d'un paquet fasse une mise à jour de ce paquet. Ce type de mise à
1782 jour est désigné en anglais par l'expression <em>non-maintainer upload
1783 (NMU)</em>. Dans le présent document, nous traduisons librement cette
1784 expression par « mise à jour indépendante ».
1787 Ces mises à jour indépendantes font partie du travail normal des porteurs qui
1788 compilent les paquets pour d'autres architectures (voir <ref id="porting">).
1789 Nous faisons aussi des mises à jour indépendantes quand un développeur Debian
1790 corrige le paquet d'un autre développeur pour éliminer un trou de sécurité
1791 ou un bogue paralysant. Cela se produit plus particulièrement en période de
1792 gel de la distribution de développement ou quand le responsable officiel du
1793 paquet ne peut pas fournir une correction dans un délai raisonnable.
1796 Ce chapitre contient des informations qui vous expliqueront quand et comment
1797 faire des mises à jour indépendantes. Une distinction fondamentale doit être
1798 faite entre les mises à jour indépendantes sources et les mises à jour
1799 indépendantes binaires. Elle est explicitée dans la section suivante.
1802 <sect id="nmu-terms">Terminologie
1805 Deux nouvelles expressions sont introduites dans cette section :
1806 « mise à jour indépendante source » et « mise à
1807 jour indépendante binaire ». Ces expressions ont une définition
1808 précie dans le monde Debian. Elles correspondent toutes deux au même type
1809 d'activité ; elles impliquent toutes deux qu'une personne fait une mise à
1810 jour d'un paquet alors qu'elle n'est pas officiellement responsable de ce
1811 paquet. C'est pourquoi nous qualifions ces mises à jours
1812 d'<em>indépendantes</em><footnote>Contrairement à ce que pourrait laisser
1813 entendre cette traduction de <em>non-maintainer upload</em>, il n'est pas
1814 question d'agir sans prévenir le responsable au préalable (voir <ref
1815 id="nmu-guidelines">).</footnote>.
1818 Une mise à jour indépendante source est une livraison de paquet faite par
1819 une personne qui n'est pas le responsable officiel de ce paquet avec pour
1820 objectif de corriger un bogue dans le paquet. Une mise à jour indépendante
1821 source implique toujours une modification des sources du paquet, même s'il
1822 ne s'agit que d'un changement dans le fichier <file>debian/changelog</file>.
1823 Ce changement peut tout aussi bien concerner la partie amont du source que la
1824 partie spécifique à Debian. Une mise à jour indépendante source peut aussi
1825 inclure des paquets spécifiques à une architecture, un fichier <em>diff</em>
1826 modifié ou, plus rarement, des nouveaux sources amonts.
1829 Une mise à jour indépendante binaire est la recompilation et l'archivage
1830 d'un paquet pour une architecture donnée. Il s'agit souvent du résultat d'un
1831 effort de portage. Une mise à jour indépendante binaire est la livraison d'un
1832 paquet compilé (souvent pour une autre architecture) à condition que cette
1833 compilation n'ait pas nécessité de modifications des sources. Dans de
1834 nombreux cas, les porteurs
1835 sont obligés de modifier les sources pour les rendre compilables sur leur
1836 architecture cible ; il s'agira alors d'une mise à jour indépendante source et
1837 non d'une mise à jour indépendante binaire. Comme vous pouvez le remarquer,
1838 nous ne faisons pas de distinction entre les mises à jour indépendantes
1839 faites par des porteurs et les autres mises à jour indépendantes.
1842 Les mises à jour indépendantes sources et binaires sont toutes deux couvertes
1843 par l'expression « mise à jour indépendante »
1844 (NMU<footnote>Non-maintainer upload</footnote>). Pourtant cela conduit souvent
1845 à des confusions car beaucoup associent « mise à jour indépendante »
1846 et « mise à jour indépendante source ». Il faut donc rester
1847 vigilant. Dans ce chapitre, si nous utilisons « mise à jour
1848 indépendante » seul, il s'agit des deux types de livraisons.
1854 <sect id="nmu-who">Qui peut faire une mise à jour indépendante ?
1857 Seuls les responsables Debian officiels peuvent faire des mises à jour
1858 indépendantes. Un responsable officiel est une personne dont la clé est dans
1859 le porte-clés Debian. Toute personne est invitée à télécharger les paquets
1860 sources pour corriger des bogues ; au lieu de faire des mises à jour
1861 indépendantes, ils pourront soumettre les rustines qui le méritent au
1862 système de suivi des bogues. Les responsables apprécient presque toujours les
1863 rustines et les rapports de bogue soignés.
1866 <sect id="nmu-when">Quand faire une mise à jour indépendante source ?
1869 Les recommandations pour déterminer quand faire une mise à jour indépendante
1870 source dépendent de la distribution visée (i.e. stable, instable ou
1871 experimentale). Les porteurs, ayant une activité particulière, obéissent à des règles
1872 légèrement différentes (voir <ref id="source-nmu-when-porter">).
1875 Quand une faille de sécurité est détectée, un
1876 paquet corrigé doit être livré le plus tôt possible. Dans ce cas, un membre de
1877 l'équipe de sécurité Debian<footnote>Debian Security officer</footnote>
1879 avec le responsable du paquet pour s'assurer qu'un paquet corrigé sera livré dans
1880 un délai raisonnable (moins de 48 heures). Si le mainteneur ne peut
1881 fournir une mise à jour suffisamment vite ou s'il ne peut être joint à temps,
1882 l'équipe de sécurité pourra corriger le paquet (i.e. faire une mise à jour
1883 indépendante source).
1886 Pendant le cycle de mise au point (<em>release cycle</em>, voir <ref
1887 id="sec-dists">), les livraisons qui
1888 corrigent les bogues de gravité <em>sérieuse</em> (i.e. <em>serious</em>) et
1889 supérieures sont encouragées et acceptées. Même pendant cette période, vous
1890 devrez tenter d'entrer en contact avec le responsable du paquet ; il pourrait
1891 bien être sur le point de livrer un paquet corrigé lui aussi. Comme pour
1892 n'importe quelle mise à jour indépendante source, les recommandations de la
1893 section <ref id="nmu-guidelines"> doivent être respectées.
1896 Les mises à jour indépendantes sont aussi acceptable pour la distribution
1897 instable mais seulement en dernier ressort
1898 ou avec une autorisation. Essayez d'abord ce qui suit et si cela ne fonctionne
1899 pas il est probablement correct de faire une mise à jour indépendante
1900 <em>(NMU)</em> :
1905 Vérifiez que le bogue est bien référencé dans le système de suivi des
1906 bogues. S'il n'y est pas, faites un rapport de bogue.
1909 Envoyez un courrier au responsable du paquet et proposez votre aide
1910 pour corriger le bogue. Donnez-lui quelques jours.
1913 Lancez-vous. Corrigez le bogue et envoyez votre rustine au système de
1914 suivi des bogues. Construisez le paquet et testez-le comme décrit dans
1915 la section <ref id="upload-checking">. Utilisez le paquet chez vous.
1918 Attendez une réponse pendant quelques semaines.
1921 Envoyez un courrier au responsable lui demandant son accord pour faire
1922 une mise à jour indépendante <em>(NMU)</em>.
1925 Vérifiez une nouvelle fois que votre modification n'a pas d'effet de
1926 bord inattendu et qu'elle est aussi minimaliste et peu intrusive que
1930 Attendez une réponse une semaine encore.
1933 Faites votre mise à jour indépendante comme décrit dans la section
1934 <ref id="nmu-guidelines">.
1943 <sect id="nmu-guidelines">Comment faire une mise à jour indépendante
1947 Les règles qui suivent s'appliquent aux porteurs tant qu'ils jouent le double
1948 rôle de correcteur de bogue et de porteur. Si un porteur doit modifier le
1949 paquet source, cette mise à jour est automatiquement une mise à jour
1950 indépendante source et est soumise aux règles qui suivent. Si un porteur
1951 construit un paquet binaire recompilé, les règles sont différentes (voir <ref
1952 id="porter-guidelines">.
1955 Tout d'abord il est capital que ces mises à jour indépendantes soient aussi peu
1956 intrusives que possible. Ne faites pas de ménage, ne modifiez pas le nom des
1957 modules ou des fichiers, ne déplacez pas les répertoires ; plus généralement ne
1958 corrigez pas ce qui n'est pas cassé. Faites une rustine aussi petite que
1959 possible. Si certaines choses froissent votre sens de l'esthétique, parlez-en
1960 au responsable du paquet, au responsable amont ou soumettez un rapport de
1961 bogue. Quoiqu'il en soit, les changements esthétiques <em>ne doivent pas</em>
1962 être faits lors d'une mise à jour indépendante.
1968 <sect1 id="nmu-version">Numéro de version pour les mises à jour
1969 indépendantes sources
1972 Chaque fois que vous modifiez un paquet, le numéro de version de ce paquet doit
1973 changer, même pour la plus triviale des modifications. Notre système de
1974 gestion de paquets s'appuie sur ces numéros de version.
1977 Si vous faites une mise à jour indépendante <em>(NMU)</em>, vous devez ajouter
1978 un numéro de version mineur à la partie <var>debian-revision</var> du numéro
1979 de version (la partie qui suit le dernier trait d'union). Ce numéro
1980 supplémentaire débutera à « 1 ». Prenons pour exemple le paquet
1981 « foo » qui porte le numéro de version 1.1-3. Dans l'archive, le
1982 fichier de contrôle du paquet source serait <file>foo_1.1-3.dsc</file>. La
1983 version amont est « 1.1 » et la révision Debian est « 3 ».
1984 La mise à jour indépendante suivante ajouterait le numéro de version mineur
1985 « .1 » au numéro de révision Debian; le nouveau fichier de contrôle
1986 du paquet source serait alors <file>foo_1.1-3.1.dsc</file>.
1989 Le numéro de révision mineur est nécessaire pour éviter de prendre un numéro
1990 de version au responsable officiel du paquet, ce qui pourrait perturber son
1991 travail. Cela a aussi l'avantage de montrer clairement que le paquet n'a pas
1992 été livré par le responsable officiel.
1995 S'il n'y a pas de partie <var>debian-revision</var> dans le numéro de version
1996 du paquet, il faut en créer une en démarrant à « 0.1 ». S'il est
1997 absolument nécessaire qu'une personne qui n'est pas responsable d'un paquet
1998 fasse une livraison basée sur une nouvelle version amont, cette personne
1999 doit choisir « 0.1 » comme numéro de révision Debian. Le mainteneur
2000 du paquet doit, lui, démarrer sa numérotation à « 1 ». Notez que pour
2001 faire cela vous devrez utiliser <prgn>dpkg-buildpackage</prgn> avec l'option
2002 <tt>-sa</tt> pour le forcer à utiliser le nouveau paquet source (par défaut il
2003 reconnaît les numéros de révisions « 0 » ou « 1 » — il
2004 n'est pas suffisamment intelligent pour reconnaître « 0.1 »).
2007 Attention, les porteurs qui ne font que recompiler les paquets pour d'autres
2008 architectures n'ont pas besoin de renuméroter les paquets. Les porteurs ne
2009 doivent utiliser de nouveaux numéros de version que s'ils modifient les
2010 paquets sources qu'ils recompilent, c'est-à-dire s'ils font une mise à jour
2011 indépendante source et non une mise à jour indépendante binaire.
2017 <sect1 id="nmu-changelog">
2018 <heading>Les mises à jour indépendantes sources doivent être
2019 mentionnées dans le fichier changelog</heading>
2022 Une personne qui fait une mise à jour indépendante source doit ajouter une
2023 entrée dans le fichier <file>changelog</file> qui indique les bogues corrigés
2024 et qui précise pourquoi cette mise à jour était nécessaire. Cette entrée
2025 comportera l'adresse de la personne ayant fait la mise à jour ainsi que la
2029 Par convention, dans le cas d'une mise à jour indépendante source
2030 <em>(NMU)</em>, l'entrée du fichier changelog débute par la ligne
2033 * Non-maintainer upload
2040 <sect1 id="nmu-patch">Mise à jour indépendante source et système
2044 Un développeur qui n'est pas responsable d'un paquet doit faire aussi peu de
2045 modifications que possible et doit toujours envoyer ses modifications au
2046 système de suivi des bogues au format diff unifié (<tt>diff -u</tt>).
2049 En cas de simple recompilation du paquet, le processus diffère
2050 suivant que vous agissez en tant que porteur ou pas. Si vous faites une mise
2051 à jour indépendante qui ne nécessite rien de plus qu'une recompilation et
2052 n'agissez pas en temps que porteur (i.e. une nouvelle bibliothèque partagée
2053 est disponible, un bogue a été corrigé dans <package>debhelper</package>),
2054 vous devez tout de même ajouter une entrée dans le fichier <em>changelog</em>;
2055 il y aura donc une modification. Si vous êtes porteur, vous êtes probablement
2056 en train de faire une mise à jour indépendante binaire. (Note : ce système ne
2057 tient pas compte des porteurs qui font des recompilations — tenez cela pour
2058 une faiblesse de notre système de gestion des paquets.)
2061 Si la mise à jour indépendante source (<em>source NMU</em>) corrige des
2062 bogues, ceux-ci doivent être marqués <em>fixed</em> (corrigé) dans le système
2063 de suivi des bogues plutôt que clos. Par convention, seul le responsable du
2064 paquet et la personne qui a ouvert le rapport de bogue peuvent clore ce
2065 rapport. Heureusement, le système d'archivage Debian reconnait les mises à
2066 jours indépendantes et positionne correctement le statut des bogues à
2067 <em>fixed</em> si la personne qui fait la mise à jour a listé tous les
2068 bogues dans le fichier changelog en utilisant la syntaxe <tt>Closes:
2069 bug#<var>nnnnn</var></tt> (voir <ref id="upload-bugfix"> pour en savoir plus
2070 sur la fermeture de bogue par le fichier changelog). Ce passage au statut
2071 <em>fixed</em> assure que chacun sait que le bogue est corrigé par une mise
2072 à jour indépendante tout en laissant le rapport de bogue ouvert jusqu'à ce que
2073 le responsable du paquet incorpore les modifications de cette mise à jour dans
2074 la version officielle du paquet.
2077 Après avoir fait une mise à jour indépendante, il vous faudra aussi ouvrir un
2078 nouveau rapport de bogue qui inclura une rustine contenant toutes les
2079 modifications que vous avez faites.
2080 Le responsable officiel pourra choisir d'appliquer la rustine, il pourra aussi
2081 employer une autre méthode pour régler le problème. Certains bogues sont
2082 corrigés dans la version amont, ce qui est une bonne raison pour annuler les
2083 modifications d'une mise à jour indépendante. Si le responsable choisit de
2084 mettre à jour le paquet plutôt que d'utiliser les rustines de la mise à jour
2085 indépendante, il devra s'assurer que cette nouvelle version corrige
2086 effectivement chacun des bogues corrigés dans la mise à jour indépendante.
2089 De plus, le responsable officiel devrait <em>toujours</em> conserver les
2090 entrées documentant une mise à jour indépendante dans le fichier
2091 <file>changelog</file>.
2098 <sect1 id="nmu-build">Fabriquer une mise à jour indépendante source
2101 Les paquets faisant l'objet d'une mise à jour indépendante source sont
2102 construits comme les
2103 autres. Sélectionnez une distribution en utilisant les règles décrites dans
2104 la section <ref id="upload-dist"> et construisez un fichier <tt>.changes</tt>
2105 classique avec tout ce qui l'accompagne conformément à la description <ref
2109 En fait, toutes les prescriptions de la section <ref id="upload"> sont
2110 applicables ici, y compris l'obligation d'annoncer la mise à jour sur la liste
2114 Vérifiez que vous n'avez pas modifié la valeur du champ <tt>maintainer</tt>
2115 dans le fichier <file>debian/control</file>. Votre nom, mentionné dans
2116 l'entrée du fichier <file>debian/changelog</file> concernant la mise à jour,
2117 sera utilisé pour signer le fichier <tt>.changes</tt>.
2122 <chapt id="porting">Le portage
2125 Debian supporte un nombre croissant d'architectures. Même si vous n'êtes pas
2126 un porteur et même si vous n'utilisez qu'une architecture, il est de votre
2127 responsabilité de développeur d'être attentif aux questions de portabilité.
2128 C'est pourquoi il est important que vous lisiez ce chapitre même si vous
2129 n'êtes pas un porteur.
2132 Porter un paquet consiste à faire un paquet binaire pour une architecture
2133 différente de celle du paquet binaire fait par le responsable du paquet.
2135 activité remarquable et essentielle. En fait, les porteurs sont à l'origine
2136 de la plupart des compilations de paquet Debian. Pour un paquet binaire
2137 <em>i386</em>, par exemple, il faut compter une recompilation pour chaque
2138 autre architecture, soit un total de &number-of-arches; recompilations.
2143 <sect id="kind-to-porters">Être gentil avec les porteurs
2146 Les porteurs ont une tâche remarquable et difficile car ils doivent gérer un
2147 grand nombre de paquets. Idéalement, tout paquet source devrait compiler sans
2148 modification. Malheureusement, c'est rarement le cas. Cette section contient
2149 une liste d'erreurs commises régulièrement par les responsables Debian —
2150 problèmes courants qui bloquent souvent les porteurs et compliquent
2151 inutilement leur travail.
2154 Ici, le mot d'ordre est de répondre rapidement aux rapports de bogues et
2155 remarques soulevées par les porteurs. Traitez-les courtoisement, comme s'ils
2156 étaient co-responsables de vos paquets (ce qu'ils sont d'une certaine
2157 manière). Merci pour votre indulgence envers des rapports de bogues succincts ou
2158 peu clairs ; faites de votre mieux pour éliminer le problème.
2161 Les problèmes les plus couramment rencontrés par les porteurs sont causés par
2162 des erreurs de mise en paquet dans le paquet source. Voici une
2163 <em>checklist</em> de choses auxquelles vous devez être attentif :
2167 Vérifiez que les champs <tt>Build-Depends</tt> et
2168 <tt>Build-Depends-Indep</tt> du fichier <file>debian/control</file> sont
2169 corrects. Le meilleur moyen pour vérifier cela est d'utiliser le
2170 paquet <package>debootstrap</package> pour créer un environnement
2171 <em>unstable</em> <em>chrooté</em>. Dans cet environnement
2172 <em>chrooté</em> il faudra installer le paquet
2173 <package>build-essential</package> et tous les paquets mentionnés dans
2174 les champs <tt>Build-Depends</tt> et <tt>Build-Depends-Indep</tt>.
2175 Ensuite, vous essayerez de fabriquer votre paquet dans cette
2178 Consultez le <url id="&url-debian-policy;" name="Debian Policy
2179 Manual"> pour en savoir plus sur les dépendances de fabrication.
2181 Ne choisissez pas d'autre valeur que <em>all</em> ou <em>any</em> pour
2182 le champ architecture sans avoir de bonnes raisons pour le faire. Trop
2183 souvent, les développeurs ne respectent pas les instructions du
2184 <url id="&url-debian-policy;" name="Debian Policy Manual">. Choisir
2185 la valeur « i386 » est la plupart du temps incorrect.
2188 Vérifiez que votre paquet source est bon. Faites <tt>dpkg-source -x
2189 <var>package</var>.dsc</tt> pour vous assurer que le paquet se
2190 désarchive correctement. En utilisant le résultat de ce test,
2191 construisez votre paquet binaire à l'aide de la commande
2192 <tt>dpkg-buildpackage</tt>.
2195 Vérifiez que les fichiers <file>debian/files</file> et
2196 <file>debian/substvars</file> ne sont pas dans votre paquet source.
2197 Ils doivent être effacés par la cible <em>clean</em> de
2198 <file>debian/rules</file>.
2201 Assurez-vous que vous ne vous appuyez pas sur des éléments de
2202 configuration ou des logiciels installés ou modifiés localement. Par
2203 exemple, vous ne devriez jamais appeler des programmes du répertoire
2204 <file>/usr/local/bin</file> ou de répertoires équivalents. Essayez de ne pas vous
2205 appuyer sur des logiciels configurés de manière spéciale. Essayez de
2206 construire votre paquet sur une autre machine, même s'il s'agit de la
2210 Ne vous appuyez pas sur une installation préexistante de votre paquet
2211 (un sous-cas de la remarque précédente).
2214 Si possible, ne vous appuyez pas sur une particularité présente dans
2215 un compilateur précis ou dans certaine version d'un compilateur. Si
2216 vous ne pouvez pas faire autrement, assurez-vous que les dépendances
2217 de fabrication reflètent bien cette restriction. Dans ce cas, vous
2218 cherchez sûrement les problèmes car quelques architectures pourraient
2219 choisir un compilateur différent.
2222 Vérifiez que votre <file>debian/rules</file> distingue les cibles
2223 <em>binary-arch</em> et <em>binary-indep</em> comme l'exige le
2224 <em>Debian packaging manual</em>. Vérifiez que ces cibles sont
2225 indépendantes l'une de l'autre, c'est à dire qu'il n'est pas
2226 nécessaire d'invoquer l'une de ces cibles avant d'invoquer l'autre.
2227 Pour vérifier cela, essayez d'exécuter <tt>dpkg-buildpackage -b</tt>.
2234 <sect id="porter-guidelines">Instructions pour les mises à jour des
2238 Si le paquet se construit tel quel sur l'architecture que vous visez, vous avez
2239 de la chance et votre travail est facile. Cette section s'applique dans ce
2240 cas ; elle décrit comment construire et installer correctement votre mise à
2241 jour indépendante binaire dans l'archive Debian. Si vous devez modifier le
2242 paquet pour le rendre compilable sur votre architecture cible vous devez faire
2243 une mise à jour des sources, consultez la section <ref id="nmu-guidelines">.
2246 Pour une mise à jour indépendante binaire, ne faites pas de changement
2247 dans les sources. Vous n'avez pas besoin de modifier les fichiers du paquet
2248 source (cela inclut <file>debian/changelog</file>).
2251 La manière d'invoquer <prgn>dpkg-buildpackage</prgn> est la suivante :
2252 <tt>dpkg-buildpackage -B -e<var>adresse-porteur</var></tt>. Bien sûr,
2253 remplacez <var>adresse-porteur</var> par votre adresse électronique. Cette
2254 commande construira les portions du paquet qui dépendent de l'architecture, en
2255 utilisant la cible <em>binary-arch</em> de <file>debian/rules</file>.
2258 <sect1 id="recompile-nmu-versioning">
2259 <heading>Numéro de version des mises à jour indépendantes
2263 Parfois il est nécessaire de recompiler des paquets quand d'autres paquets,
2264 tels que les bibliothèques, ont été mis à jour. Dans ce cas, vous devez
2265 changer le numéro de version pour que le système de comparaison des numéros de
2266 version fonctionne correctement. Ce type de mise à jour reste une mise à jour
2267 indépendante binaire — il n'est pas nécessaire de reconsidérer le statut
2268 des paquets binaires des autres architectures pour les marquer périmés ou à
2272 Ces recompilations nécessitent des numéros de version « magiques » pour que le
2273 système de maintenance de l'archive comprennent que, bien qu'il y ait une
2274 nouvelle version, il n'y a pas eu de modification des sources. Si vous ne
2275 faites pas cela correctement, les administrateurs de l'archive rejetteront
2276 votre mise à jour (car il n'y aura pas de code source associé).
2279 Cette magie associée à une mise à jour par recompilation est déclenchée en
2280 utilisant un troisième nombre dans la partie debian du numéro de version. Si,
2281 par exemple, la dernière version du paquet que vous recompilez était
2282 « 2.9-3 », votre mise à jour portera le numéro
2283 « 2.9-3.0.1 ». Si cette version était « 3.4-2.1 » votre
2284 mise à jour portera le numéro « 3.4-2.1.1 ».
2289 <sect1 id="source-nmu-when-porter"> <heading>Quand faire une mise à
2290 jour indépendante source pour un portage ?</heading>
2293 Les porteurs qui font des mises à jour indépendantes sources suivent
2294 généralement les instructions de la section <ref id="nmu"> tout comme les
2295 non-porteurs. Les délais d'attente sont cependant plus courts car les porteurs
2296 doivent manipuler un grand nombre de paquets.
2297 À nouveau, la situation diffère selon la distribution visée.
2300 FIXME: commented out until I can work out how to upload to testing directly
2303 cruciale (i.e. rendre un paquet compilable sur une architecture supportée par
2304 la prochaine distribution) peut être installée <em>sans</em> délai pour la
2309 Si vous êtes porteur et faites une mise à jour pour <em>unstable</em>, les
2310 instructions précédentes sont applicables à deux différences près. Tout
2311 d'abord, le temps d'attente raisonnable — délai entre le moment où vous
2312 envoyez un rapport au système de suivi des bogues et le moment où vous pouvez
2313 faire une mise à jour indépendante <em>(NMU)</em> — est de sept jours. Ce
2314 délai peut être raccourci si le problème est crucial et met l'effort de
2315 portage en difficulté : c'est à la discrétion de l'équipe de portage.
2316 (Souvenez-vous, il ne s'agit pas d'un règlement mais de recommandations
2317 communément acceptées).
2320 Deuxième différence, les porteurs qui font des mises à jour indépendantes
2321 sources doivent choisir une gravité <em>sérieuse</em> (i.e.
2322 <em>serious</em>) ou supérieure quand ils envoient leur rapport au système de
2323 suivi des bogues. Ceci assure qu'un paquet source unique permet de produire un
2324 paquet binaire pour chaque architecture supportée au moment de la sortie de la
2325 distribution. Il est très important d'avoir un paquet source et un paquet
2326 binaire pour toutes les architectures pour être conforme à plusieurs licences.
2329 Les porteurs doivent éviter d'implémenter des contournements pour
2330 des bogues de l'environnement de compilation, du noyau ou de la libc. Quelques
2331 fois ces contournements sont inévitables. Si vous devez faire quelque chose de
2332 ce genre, marquez proprement vos
2333 modifications avec des <tt>#ifdef</tt> et documentez votre contournement pour
2334 que l'on sache le retirer une fois que le problème aura disparu.
2337 Les porteurs peuvent aussi avoir une adresse où ils publient le résultat de
2338 leur travail pendant le délai d'attente. Ainsi d'autres personnes peuvent
2339 bénéficier du travail du porteur même pendant ce délai. Bien sûr ces adresses
2340 n'ont rien d'officiel alors soyez sur vos gardes si vous les utilisez.
2345 <sect>Outils pour les porteurs
2348 Il y a plusieurs outils pour le travail de portage. Cette section contient
2349 une courte description de ces outils ; reportez-vous à la documentation de
2350 leurs paquets ou aux références citées ci-après pour une description complète.
2355 <sect1 id="quinn-diff">
2356 <heading><package>quinn-diff</package>
2359 <package>quinn-diff</package> est utilisé pour localiser les différences d'une
2360 architecture à l'autre. Il pourrait vous dire, par exemple, quels paquets de
2361 l'architecture <var>X</var> doivent être portés sur l'architecture <var>Y</var>.
2368 <heading><package>buildd</package>
2371 Le système <package>buildd</package> est un système distribué pour la
2372 compilation d'une distribution. Il est habituellement utilisé en conjonction
2373 avec des automates de compilation ; ce sont des machines « esclaves »
2374 qui récupèrent des paquets sources et tentent de les compiler. Il est aussi
2375 possible d'interagir par courrier électronique avec ce système. Cette
2376 interface est utilisée par les porteurs pour récupérer un paquet source (en
2377 général un paquet qui ne peut être compilé automatiquement) et travailler
2381 <package>buildd</package> n'est pas disponible sous forme de paquet ;
2382 pourtant, la plupart des équipes de porteurs l'utilisent aujourd'hui ou ont prévu
2383 de l'utiliser bientôt. Il regroupe un ensemble de composants très utiles,
2384 continuellement utilisés mais non encore mis en paquet, tels que
2385 <prgn>andrea</prgn>, <prgn>sbuild</prgn> et <prgn>wanna-build</prgn>.
2388 Une partie des informations produites par <package>buildd</package> — utiles
2389 pour les porteurs — est disponible sur la toile à l'adresse <url
2390 id="&url-buildd;">. Ces informations incluent les résultats produits toutes
2391 les nuits par <prgn>andrea</prgn> (dépendances des sources) et
2392 <prgn>quinn-diff</prgn> (paquets à recompiler). <p> Nous sommes très
2393 enthousiasmés par ce système car il a de nombreux usages potentiels. Des
2394 groupes de développeurs indépendants peuvent utiliser ce système pour créer
2395 différentes saveurs de la Debian — qui peuvent être ou ne pas être
2396 intéressantes pour tous (une version de Debian compilée avec des vérifications
2397 relatives à <prgn>gcc</prgn>). Ce système nous permettra aussi de recompiler
2398 rapidement toute une distribution.
2403 <sect1 id="dpkg-cross">
2404 <heading><package>dpkg-cross</package>
2407 <package>dpkg-cross</package> est un outil qui installe les bibliothèques et
2408 les entêtes nécessaires à une compilation croisée<footnote><em>cross-compilation</em>
2409 </footnote> d'une manière similaire à <package>dpkg</package>. De plus
2410 <prgn>dpkg-buildpackage</prgn> et <prgn>dpkg-shlibdeps</prgn> ont été
2411 améliorés pour supporter les compilations croisées.
2417 <chapt id="archive-manip">
2418 <heading>Déplacer, effacer, renommer, adopter et abandonner des
2422 Certaines manipulations de l'archive ne sont pas accessibles avec le processus
2423 de mise à jour automatisé. Elles sont appliquées manuellement par les
2424 développeurs. Ce chapitre décrit ce qu'il faut faire dans ces situations.
2429 <sect>Déplacer des paquets
2432 Parfois un paquet pourra changer de section. Une nouvelle version d'un paquet
2433 de la section <tt>non-free</tt> pourrait par exemple être distribuée sous
2434 licence LGP GNU ; dans ce cas le paquet doit être déplacé dans la section
2435 <tt>main</tt> ou <tt>contrib</tt><footnote> Reportez-vous au <url
2436 id="&url-debian-policy;" name="Debian Policy Manual"> pour savoir dans quelle
2437 section un paquet doit être classé.</footnote>.
2440 Si vous avez besoin de modifier la section de l'un de vos paquets, modifiez
2441 les informations de contrôle du paquet pour le placer dans la section désirée
2442 et téléchargez à nouveau votre paquet dans l'archive. Reportez-vous au
2443 <url id="&url-debian-policy;" name="Debian Policy Manual"> pour en savoir
2444 plus. Lisez attentivement le rapport d'installation qui vous sera envoyé lors
2445 de l'archivage de votre paquet. Si pour une raison ou une autre le paquet
2446 est toujours à son ancien emplacement, envoyez un rapport de bogue sur le
2447 pseudo-paquet <tt>ftp.debian.org</tt> demandant la suppression dudit paquet.
2448 Décrivez précisément vos manipulations car il pourrait s'agir d'un bogue dans
2449 le logiciel de gestion de l'archive.
2452 Si vous avez besoin de modifier la sous-section de l'un de vos paquets
2453 (<tt>devel</tt> ou <tt>admin</tt> par exemple) la procédure est légèrement
2454 différente. Modifiez la sous-section dans le fichier de contrôle de votre
2455 paquet et téléchargez-le. Il vous faudra ensuite demander la modification du
2456 fichier <em>override</em> comme décrit dans la section <ref
2457 id="override-file">.
2462 <sect id="removing-pkgs">Supprimer des paquets
2465 Si pour une raison ou une autre vous avez besoin de supprimer un paquet
2466 de l'archive (disons qu'il s'agit d'une vieille bibliothèque devenue inutile,
2467 que l'on conservait pour des raisons de compatibilité), il vous faudra
2468 envoyer un rapport de bogue concernant le pseudo-paquet
2469 <tt>ftp.debian.org</tt> et demandant sa suppression. N'oubliez pas de
2470 préciser de quelle distribution le paquet doit être supprimé.
2473 Si vous ne savez pas bien si un paquet peut être supprimé, demandez l'avis des
2474 autres développeurs sur la liste &email-debian-devel;. Le programme
2475 <prgn>apt-cache</prgn> du paquet <package>apt</package> pourra aussi vous être
2476 utile. La commande <tt>apt-cache showpkg <var>package</var> </tt> vous
2477 indiquera, entre autres, les paquets qui dépendent de <var>package </var>.
2479 <sect1>Supprimer des paquets dans <tt>Incoming</tt>
2481 Par le passé, il était possible de supprimer un paquet de <tt>Incomming</tt>.
2482 Ce n'est plus possible depuis la mise en place du nouveau système
2483 de file d'attente. Il vous faudra télécharger une nouvelle version de votre
2484 paquet avec un numéro de version postérieur à celui que vous voulez remplacer.
2485 Les deux versions seront installées dans l'archive mais seule la plus récente
2486 sera accessible dans <em>unstable</em> car la précédente sera immédiatement
2487 replacée par la nouvelle. Toutefois, si vous testez correctement vos paquets,
2488 le besoin d'en remplacer un ne devrait pas être trop fréquent.
2492 <sect>Remplacer ou renommer un paquet
2495 Il peut vous arriver de vous tromper en nommant un paquet et avoir besoin de le
2496 renommer. Dans ce cas, vous devrez intervenir en deux étapes. D'abord,
2497 modifiez votre fichier <file>debian/control</file> pour que votre paquet
2498 renommé remplace et entre en conflit avec le nom de paquet que vous voulez
2499 remplacer. Reportez-vous au <url id="&url-debian-policy;" name="Debian Policy
2500 Manual"> pour les détails. Une fois que votre paquet est installé dans
2501 l'archive, faites un rapport de bogue concernant le pseudo-paquet
2502 <tt>ftp.debian.org</tt> et demandant la suppression du paquet mal nommé.
2503 l'archive, faites un rapport de bogue concernant le pseudo-paquet
2504 <tt>ftp.debian.org</tt> et demandant la suppression du paquet mal nommé.
2510 <sect id="orphaning">Abandonner un paquet
2513 Si vous ne pouvez plus maintenir un paquet, vous devez en informer les autres
2514 et faire le nécessaire pour qu'il soit marqué <em>abandonné</em>(i.e.
2515 <em>orphaned</em>). Vous devriez aussi remplacer votre nom par <tt>Debian QA
2516 Group &orphan-address;</tt> dans le champ
2517 <tt>maintainer</tt> du paquet et faire un rapport de bogue sur le
2518 pseudo-paquet <tt>wnpp</tt>. Le titre de votre rapport de bogue devra être
2519 « <tt>O<footnote><em>Orphaned</em> : abandonné.</footnote>:
2520 <var>paquet</var> — <var>courte description</var></tt> » pour indiquer
2521 que le paquet est orphelin. La gravité du bogue sera <em>normale</em>.
2522 Si vous le jugez nécessaire, envoyez une copie à
2523 &email-debian-devel; en mettant cette adresse dans le champ X-Debbugs-CC: de
2524 l'en-tête du message. N'utilisez pas le champ CC: car de cette manière le
2525 sujet du message ne contiendra pas le numéro du bogue.
2528 Si le paquet est particulièrement important pour la distribution il vous
2529 faudra faire un rapport de bogue sur le pseudo-paquet <tt>wnpp</tt>, titrer
2530 « <tt>RFA<footnote><em>Request For Adoption</em> : offre
2531 d'adoption.</footnote>: <var>paquet</var> — <var>courte
2532 description</var></tt> » et lui affecter la gravité <em>importante</em>.
2533 Envoyez une copie de votre rapport de bogue à la liste debian-devel comme
2534 décrit précédemment.
2537 Reportez-vous à la page WNPP<footnote><em>Work-needing and prospective
2538 packages</em> : paquets en souffrance et paquets souhaités.</footnote> <url
2539 id="&url-wnpp;"> pour en savoir plus.
2545 <sect id="adopting">Adopter un paquet
2548 Une liste des paquets en attente de nouveau responsable est disponible à la
2549 page <url id="&url-wnpp;" name="Work-Needing and Prospective Packages">. Si
2550 vous voulez prendre en charge un paquet de cette liste reportez-vous à la page
2551 susmentionnée pour connaître la procédure à suivre.
2554 Prendre un paquet parce qu'il vous semble que celui-ci est négligé n'est pas
2555 correct — ce serait une prise d'otage. Vous pouvez prendre contact avec le
2556 responsable actuel et lui demander si vous pouvez prendre en charge ce paquet.
2557 Vous ne pouvez le faire sans son accord. Qu'il vous ignore n'est pas une
2558 raison suffisante pour le faire. Si vous avez le sentiment qu'un responsable
2559 est parti sans prévenir depuis un moment, demandez-le sur la liste
2560 &email-debian-private;.
2563 Si vous reprenez un vieux paquet, vous voudrez sûrement que le système de
2564 suivi des bogues indique que vous êtes le responsable du paquet. Cela se
2565 produira automatiquement une fois que vous aurez installé une nouvelle version
2566 du paquet dans l'archive avec le champ <tt>Maintainer</tt> à jour. Cela peut
2567 prendre quelques heures après le téléchargement. Si vous pensez ne pas avoir
2568 de mise à jour à faire pour un moment, envoyez un courrier électronique à
2569 &email-override; pour pouvoir recevoir les rapports de bogue.
2575 <chapt id="bug-handling">Gérer les bogues
2579 <sect>Superviser les rapports de bogues
2582 Si vous voulez être un bon responsable, consultez régulièrement la
2583 page du <url id="&url-bts;" name="système de suivi des bogues">. Cette page
2584 contient tous les rapports de bogue qui concernent vos paquets.
2587 Les responsables interagissent avec le système de suivi des bogues en
2588 utilisant l'adresse électronique <tt>bugs.debian.org</tt>. Vous trouverez une
2589 documentation sur les commandes disponibles à l'adresse <url id="&url-bts;">
2590 ou, si vous avez installé le paquet <package>doc-debian</package>, dans les
2591 fichiers locaux &file-bts-docs;.
2594 Certains trouvent utile de recevoir régulièrement une synthèse des rapports de
2595 bogues ouverts. Si vous voulez recevoir une synthèse hebdomadaire relevant
2596 tous les rapports de bogue ouverts pour vos paquets, vous pouvez configurer
2597 <prgn>cron</prgn> comme suit :
2601 # Synthèse hebdomadaire des rapports de bogue qui me concernent
2606 Remplacez <var>address</var> par votre adresse officielle de responsable
2612 <sect id="submit-bug">Ouvrir un rapport de bogue
2615 En tant que responsable Debian, vous trouvez des bogues dans d'autres paquets
2616 En tant que responsable Debian, vous trouvez des bogues dans d'autres paquets,
2617 ou bien vous voulez réassigner à d'autres paquets des rapports de bogue
2618 concernant vos paquets. La page d'aide du <url id="&url-bts-control;"
2619 name="système de suivi des bogues"> vous explique comment procéder.
2622 Nous vous encourageons à ouvrir des rapports de bogue s'il y a des problèmes.
2623 Essayez de soumettre ces rapports depuis un compte utilisateur où vous pouvez
2624 recevoir du courrier. Ne les envoyez pas en tant que <em>root</em>.
2627 Vérifiez que le bogue n'a pas encore été déclaré. Essayez de faire un travail
2628 propre en déclarant le bogue et en l'envoyant à la bonne adresse.
2631 Pour faire encore mieux, vous pouvez consulter d'autres paquets, grouper les
2632 bogues qui ont été rapportés plusieurs fois ou affecter la gravité
2633 <em>corrigé</em> (i.e. <em>fixed</em>) à un rapport dont le bogue a été
2634 corrigé. Attention, quand vous n'êtes ni le rapporteur d'un bogue ni le
2635 responsable du paquet vous ne devez pas clore le rapport (à moins que vous
2636 n'ayez l'autorisation du responsable).
2641 <sect>Répondre à des rapports de bogues
2644 Assurez-vous que toutes vos discussions concernant les bogues sont envoyées au
2645 rapporteur du bogue et au bogue lui-même (<email>123@bugs.debian.org</email>
2649 Vous ne devez <em>jamais</em> fermer un rapport de bogue en envoyant la
2650 commande <em>close</em> à l'adresse :
2653 <tt> &email-bts-control;</tt>
2656 Si vous le faites, le rapporteur n'aura aucun retour sur la clôture de son
2662 <sect id="upload-bugfix">Quand les rapports sont fermés par une
2666 Si vous corrigez un bogue dans vos paquets, il est de votre responsabilité de
2667 fermer le rapport de bogue associé. Pourtant vous ne devez pas le fermer avant
2668 que le paquet n'ait été accepté dans l'archive Debian. C'est pourquoi, vous
2669 pouvez et vous devez clore le rapport dans le système de suivi des bogues une
2670 fois que vous avez reçu l'avis indiquant que votre nouveau paquet a été
2671 installé dans l'archive.
2674 Si vous utilisez une version récente de <package>dpkg-dev</package> et que
2675 vous remplissez convenablement le fichier <file>changelog</file>, le logiciel de
2676 maintenance de l'archive fermera les rapports de bogue automatiquement. Tout ce
2677 que vous avez à faire est de respecter la syntaxe suivante dans votre fichier
2678 <file>debian/changelog</file> :
2680 acme-cannon (3.1415) unstable; urgency=low
2682 * Frobbed with options (closes: Bug#98339)
2683 * Added safety to prevent operator dismemberment, closes: bug#98765,
2685 * Added manpage. Closes: #98725.
2688 Techniquement parlant, l'expression régulière suivante est utilisée :
2690 /closes:\s*(?:bug)?\#\s*\d+(?:,\s*(?:bug)?\#\s*\d+)*/ig
2693 L'auteur préfère la syntaxe <tt>(closes: Bug#<var>XXX</var>)</tt>, car elle
2694 est facilement repérable dans le fichier <file>changelog</file>.
2697 Si vous voulez fermer un rapport de bogue manuellement — à l'ancienne — il
2698 suffit d'envoyer le fichier <tt>.changes</tt> à l'adresse
2699 <email>XXX-done@bugs.debian.org</email> où <var>XXX</var> est le numéro du
2705 <sect id="lintian-reports">Les rapports Lintian
2708 Vous devriez récupérer la dernière version de <package>lintian</package>
2709 depuis <em>unstable</em> régulièrement et vérifier tous vos paquets. Vous
2710 pouvez aussi chercher votre adresse électronique dans la page de <url
2711 id="&url-lintian;" name="rapport lintian">. Cette page, mise à jour
2712 automatiquement, contient les rapports lintian concernant la
2713 dernière version de la distribution (en général <em>unstable</em>) générés
2714 avec la dernière version de <package>lintian</package>.
2720 <sect>Ouvrir un grand nombre de rapports d'un seul coup
2723 Ouvrir un grand nombre de rapports pour le même problème sur un grand nombre de
2724 paquet — plus de dix — est une pratique que nous déconseillons. Prenez
2725 toutes les mesures possibles pour éviter cette situation. Si le problème peut
2726 être détecté automatiquement par exemple, ajoutez un nouveau test dans le
2727 paquet <package>lintian</package> pour générer une erreur ou un avertissement.
2730 Si vous ouvrez plus de dix rapports sur le même sujet, il est préférable
2731 d'indiquer votre intention sur la liste &email-debian-devel;. Cela donnera à
2732 d'autres développeurs la possibilité de vérifier que le problème existe
2733 vraiment. De plus, cela permet d'éviter que plusieurs responsables ne rédigent
2734 les mêmes rapports de bogue simultanément.
2737 Quand vous envoyez un grand nombre de rapports sur le même sujet, vous devriez
2738 les envoyer à <email>maintonly@bugs.debian.org</email> pour qu'ils ne soient
2739 pas redirigés vers les listes de diffusions.
2745 <chapt id="newmaint">
2746 <heading>Interaction avec les nouveaux responsables</heading>
2749 Ce chapitre décrit les procédures que doivent suivre les responsables
2750 Debian quand ils ont affaire à un futur responsable Debian.
2752 <sect id="sponsoring">Parrainer un paquet
2754 Parrainer un paquet signifie télécharger un paquet dans l'archive Debian pour
2755 un responsable qui n'est pas capable de le faire lui-même : un futur
2756 responsable. Parrainer un paquet signifie aussi assumer la responsabilité de
2760 Les nouveaux responsables éprouvent souvent quelques difficultés pour créer
2761 des paquets Debian — ce qui est bien compréhensible. C'est là que le parrain
2762 intervient. Il doit vérifier que le paquet est suffisamment bon pour intégrer
2763 la distribution. Notez que si le paquet est nouveau les administrateurs FTP
2764 devront eux aussi inspecter ce paquet avant de le laisser entrer.
2767 Parrainer un paquet en se contentant de recompiler le paquet ou de signer le
2768 téléchargement <strong>n'est franchement pas recommandé</strong>. Vous devez
2769 reconstruire le paquet source comme vous le feriez avec vos propres paquets.
2770 N'oubliez pas qu'il sera possible de voir que vous avez téléchargé un paquet
2771 même si vous avez laissé le nom du futur responsable dans les fichiers de
2772 contrôle et changelog.
2775 Si vous êtes responsable de candidature<footnote>Application
2776 manager</footnote> pour un développeur, vous pouvez aussi être son parrain. De
2777 cette manière, vous aurez la possibilité de vérifier vous-même comment ce
2778 candidat accomplit la partie « Tâches et compétences »<footnote>`Tasks and
2779 Skills'</footnote> de sa candidature.
2783 <sect>Aider un nouveau responsable
2786 Consultez la page <url id="&url-newmaint-advocate;" name="Aider un futur
2787 responsable"> sur le site du projet Debian.
2791 <sect>Suivre la candidature d'un nouveau responsable
2794 Consultez la page <url id="&url-newmaint-amchecklist;" name="Aide mémoire du
2795 responsable de candidature"> sur le site du projet Debian.
2802 <chapt id="tools">Aperçu des outils du responsable Debian
2805 Cette section contient un aperçu rapide des outils dont dispose le
2806 responsable. Cette liste n'est ni complète ni définitive, il s'agit juste
2807 d'un guide des outils les plus utilisés.
2810 Les outils du responsable Debian sont destinés à améliorer le confort des
2811 responsables et libérer leur temps des tâches plus cruciales. Comme le dit
2812 Larry Wall, il y a plus d'une manière de le faire.
2815 Certaines personnes préfèrent utiliser des outils de haut niveau, d'autres pas.
2816 Debian n'a pas de position officielle sur la
2817 question ; tout outil conviendra du moment qu'il fait le boulot. C'est pourquoi
2818 cette section n'a pas été conçue pour indiquer à chacun
2819 quel outil il devrait utiliser ou comment il devrait faire pour gérer sa
2820 charge de responsable Debian. Elle n'est pas non plus destinée à
2821 favoriser l'usage d'un outil aux dépens d'un autre.
2824 La plupart des descriptions de ces outils proviennent des descriptions de
2825 leurs paquets. Vous trouverez plus d'information dans les
2826 documentations de ces paquets.
2827 Vous pouvez aussi obtenir plus d'information avec la commande <tt>apt-cache
2828 show <var>package_name</var></tt>.
2832 <sect id="dpkg-dev">
2833 <heading><package>dpkg-dev</package>
2836 Le paquet <package>dpkg-dev</package> contient les outils (y compris
2837 <prgn>dpkg-source</prgn>) nécessaires pour déballer, fabriquer et livrer des
2838 paquets Debian source. Ces utilitaires fournissent les fonctionnalités de bas
2839 niveau indispensables pour créer et manipuler les paquets ; en tant que tels,
2840 ils sont indispensables à tout responsable Debian.
2846 <heading><package>lintian</package>
2849 <package>lintian</package> dissèque les paquets pour y repérer des bogues et
2850 des manquements aux règles de développement. Il contient des tests automatisés pour
2851 vérifier de nombreuses règles et quelques erreurs courantes. L'utilisation de
2852 <package>lintian</package> a déjà été discutée dans <ref id="upload-checking">
2853 et <ref id="lintian-reports">.
2856 <heading><package>debconf</package></heading>
2859 Le paquet <package>debconf</package> fournit une interface consistante pour
2860 configurer les paquets interactivement. Il est indépendant de l'interface et
2861 permet une configuration en mode texte, par une interface HTML ou par boîtes
2862 de dialogues. D'autres types d'interface peuvent être ajoutés sous forme
2866 Vous trouverez la documentation de ce paquet dans le paquet
2867 <package>debconf-doc</package>.
2870 Beaucoup pensent que ce système devrait être utilisé pour tout paquet
2871 nécessitant une configuration interactive. <package>debconf</package> n'est
2872 pas requis par le <em>Debian Policy Manual</em> pour le moment ; cela
2873 pourra changer dans le futur.
2876 <sect id="debhelper">
2877 <heading><package>debhelper</package>
2880 Le paquet <package>debhelper</package> regroupe un ensemble de programmes qui
2881 peuvent être utilisés dans <file>debian/rules</file> pour automatiser les
2882 tâches courantes relatives à la fabrication des paquets Debian binaires. Ce
2883 paquet contient des utilitaires pour installer différents fichiers, les
2884 compresser, ajuster leurs droits et intégrer votre paquet dans le
2885 système de menu Debian.
2888 Au contraire d'autres approches, <package>debhelper</package> est
2889 divisé en plusieurs petits utilitaires qui agissent de manière cohérente.
2890 Ce découpage permet un contrôle des opérations plus fin que
2891 d'autres outils « <em>debian/rules</em> ».
2894 Il existe aussi un certain nombre de petites extensions
2895 <package>debhelper</package> trop éphémères pour être documentées. Vous en
2896 listerez la plupart en faisant <tt>apt-cache search ^dh-</tt>.
2901 <heading><package>debmake</package>
2904 <package>debmake</package> — un précurseur de <package>debhelper</package> —
2905 est un assistant moins modulaire pour manipuler le fichier
2906 <file>debian/rules</file>. Il inclut deux programmes principaux :
2907 <prgn>deb-make</prgn>, utile au développeur Debian pour convertir un paquet
2908 source normal (non-Debian) en paquet source Debian, et <prgn>debstd</prgn> qui
2909 regroupe le type de fonction que l'on trouve dans
2910 <package>debhelper</package>.
2913 Le consensus actuel est que l'usage de <package>debmake</package> est
2914 déconseillé au profit de <package>debhelper</package> mais ce n'est pas une
2915 erreur d'utiliser <package>debmake</package>.
2920 <heading><package>yada</package>
2923 Le paquet <package>yada</package> est un autre assistant pour la création de
2924 paquets. Il utilise un fichier <file>debian/packages</file> pour générer
2925 <file>debian/rules</file> et d'autres fichiers nécessaires dans
2926 le sous-répertoire <file>debian/</file>.
2929 Remarque : <package>yada</package> est qualifié de « quasiment non
2930 maintenu » par son responsable, Charles Briscoe-Smith. Son usage est donc
2936 <heading><package>equivs</package>
2939 <package>equivs</package> est un autre paquet pour faire des paquets. Il est
2940 souvent conseillé pour un usage local, si vous avez besoin de faire un paquet
2941 pour satisfaire des dépendances. Il est aussi parfois utilisé pour faire des
2942 « méta-paquets » qui sont des paquets dont l'unique objet est de
2943 dépendre d'autres paquets.
2947 <sect id="cvs-buildpackage">
2948 <heading><package>cvs-buildpackage</package>
2951 Le paquet <package>cvs-buildpackage</package> permet de mettre à jour ou
2952 récupérer des paquets sources dans un référentiel CVS, il permet de fabriquer
2953 un paquet Debian depuis le référentiel CVS et il assiste le développeur lors
2954 de l'intégration de modifications amont dans le référentiel.
2957 Ce paquet fournit l'infrastructure facilitant l'utilisation de CVS
2958 pour le responsable. Il permet de conserver des branches CVS distinctes
2959 pour les distributions <em>stable</em>, <em>unstable</em> et probablement
2960 <em>experimental</em>.
2964 <heading><package>dupload</package>
2967 Le paquet <package>dupload</package> contient un script du même nom pour
2968 mettre à jour des paquets dans l'archive Debian, tracer ces mises à jour et
2969 les annoncer par courrier électronique automatiquement. Vous pouvez le
2970 configurer pour faire des mises à jour à d'autres endroits et avec d'autres
2975 <heading><package>dput</package>
2977 Le script <package>dput</package> fait à peu près la même chose que
2978 <package>dupload</package> mais il le fait différemment. Il a aussi quelques
2979 fonctions supplémentaires telles que la possibilité de vérifier la signature
2980 GnuPG et les sommes de contrôles avant le téléchargement et la possibilité de
2981 démarrer <tt>dinstall</tt> en mode simulation (<em>dry-run</em>) après le
2984 <sect id="fakeroot">
2985 <heading><package>fakeroot</package>
2988 <package>fakeroot</package> simule les privilèges <em>root</em>. Cela permet
2989 de fabriquer un paquet sans être root (en général les paquets installent des
2990 fichiers appartenant à <em>root</em>). Si vous avez installé
2991 <package>fakeroot</package> vous pouvez construire un paquet en étant
2992 utilisateur : <tt>dpkg-buildpackage -rfakeroot</tt>.
2995 <sect id="debootstrap">
2996 <heading><package>debootstrap</package>
2999 Le paquet <package>debootstrap</package> vous permet d'amorcer un système
3000 Debian de base à n'importe quel endroit dans votre système de fichier. Par
3001 « système de base » nous entendons le strict minimum nécéssaire pour
3002 fonctionner et installer le reste du système.
3005 Avoir un système comme celui-ci peut vous servir de différentes manières. Vous
3006 pouvez par exemple déplacer votre racine dans ce système avec
3007 <prgn>chroot</prgn> pour tester vos dépendances de fabrication. Vous pouvez
3008 aussi l'utiliser pour voir comment se comporte votre paquet quand il est
3009 installé dans un environnement minimum.
3012 <sect id="devscripts">
3013 <heading><package>devscripts</package>
3016 Le paquet <package>devscripts</package> contient quelques scripts et outils
3017 que vous trouverez peut-être utiles pour maintenir vos paquets Debian. Parmi
3018 ces scripts, vous trouverez <prgn>debchange</prgn> et <prgn>dch</prgn> qui
3019 manipulent votre fichier
3020 <file>debian/changelog</file> depuis la ligne de commande et
3021 <prgn>debuild</prgn> qui est construit au-dessus de
3022 <prgn>dpkg-buildpackage</prgn>.
3026 <sect id="dpkg-dev-el">
3027 <heading><package>dpkg-dev-el</package>
3030 <package>dpkg-dev-el</package> fournit des macros Emacs lisp qui apportent une
3031 aide lors de l'édition des fichiers du répertoire <file>debian</file> de votre
3032 paquet. À l'édition de <file>debian/changelog</file>, par exemple, vous
3033 disposez de fonctions pour finaliser une version et consulter la liste des
3034 rapports de bogue ouverts.
3038 <heading><package>debget</package>
3041 Le paquet <package>debget</package> contient un script qui peut être utile
3042 pour télécharger des paquets depuis l'archive Debian. Vous pouvez par exemple
3043 l'utiliser pour télécharger des paquets sources (bien que <tt>apt-get source
3044 <var>package</var></tt> fasse à peu près la même chose).
3048 <!-- FIXME: add the following
3064 <!-- Keep this comment at the end of the file
3069 sgml-minimize-attributes:nil
3070 sgml-always-quote-attributes:t
3072 sgml-indent-data:nil
3073 sgml-parent-document:nil
3074 sgml-exposed-tags:nil
3075 sgml-declaration:nil
3076 sgml-local-catalogs:nil
3077 sgml-local-ecat-files:nil
3080 <!-- vim:set tw=78:ts=8: -->