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.3 $">
10 <!-- if you are translating this document, please notate the RCS
11 revision of the developers reference here -->
13 <!entity cvs-en-rev "1.50">
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>Guide de 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.fr</email>
36 <author>avec la participation de Alain Meessen <email>ameessen@ulb.ac.be</email>
37 <author>et des membres de la liste
38 <email>debian-l10n-french@lists.debian.org</email>
39 <version>version &version;, 16 mars 2001
44 Copyright ©1998 – 2001 Adam Di Carlo</copyrightsummary>
46 Copyright ©1997, 1998 Christian Schwarz.</copyrightsummary>
49 Ce guide est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier
50 sous les termes de la Licence grand public GNU publiée par la FSF
51 (Free Software Foundation) dans sa version 2 (ou supérieure si vous le
55 Il est distribué dans l'espoir qu'il sera utile, mais <em>sans aucune
56 garantie</em>, sans même la garantie implicite d'une valeur commercialisable
57 ou d'une adéquation à un besoin particulier. Consulter la Licence grand
58 public pour plus de détails.
60 Une copie de la Licence grand public est disponible dans le fichier
61 &file-GPL; de la distribution Debian GNU-Linux ou sur le site web du <url
62 id="&url-gpl;" name="projet GNU">. Vous pouvez aussi l'obtenir en écrivant à
70 <chapt id="scope">Introduction
72 <sect>Portée de ce document
75 Le but de ce document est de donner une vue d'ensemble des procédures à
76 suivre et des ressources mises à la disposition des développeurs Debian.
79 Les procédures décrites ci-après décrivent entre autre comment devenir
80 responsable Debian (<ref id="new-maintainer">), comment installer des nouveaux
81 paquets dans l'archive (<ref id="upload">), quand et comment faire un portage
82 ou une mise à jour du paquet d'un autre responsable (<ref id="nmu">), comment
83 déplacer, effacer ou abandonner un paquet (<ref id="archive-manip">) et
84 comment gérer les bogues (<ref id="bug-handling">).
87 Les ressources présentées dans ce guide incluent les listes de diffusion et
88 les serveurs (<ref id="servers">), une présentation de la structure de
89 l'archive Debian (<ref id="archive">), des explications sur les serveurs qui
90 acceptent les mises à jours de paquets (<ref id="upload-ftp-master">) et une
91 présentation des outils qui peuvent aider un responsable pour améliorer la
92 qualité de ses paquets (<ref id="tools">).
95 Ce guide de référence ne présente pas les aspects techniques liés aux paquets
96 Debian. Il ne décrit pas non plus comment en générer.
97 <!-- OBSOLETE, please update translation
98 Vous trouverez cela dans
99 le <url id="&url-pkg-manual;" name="Debian Packaging Manual">. -->
101 guide ne présente pas non plus les règles que doivent respecter les paquets
102 Debian. Cette information est disponible dans la <url id="&url-debian-policy;"
103 name="Charte Debian">.
106 De plus ce document <em>n'est pas un règlement officiel</em>. Il contient de
107 la documentation sur le système Debian et des conseils pratiques largement
108 suivis. Il s'agit donc d'un document « normatif ».
114 <sect>Avertissement du traducteur
117 Bien que ce document soit en français, l'activité de responsable Debian
118 implique une maîtrise de la langue anglaise. Le projet Debian est un projet
119 international auquel participent des argentins, néo-zélandais, américains,
120 allemands, finlandais, français, espagnols...
123 En conséquence la langue utilisée dans toutes les listes de diffusion
124 destinées aux développeurs est l'anglais et les rapports de bogue doivent être
125 rédigés en anglais. En fait, sauf exception rare, tout dialogue avec les
126 autres responsables Debian se fera en anglais quelque soit le médium.
132 Cette section liste les termes techniques qui ont un sens spécifique
133 dans le projet Debian. Pour chacune de ces expressions vous trouverez la
134 traduction française utilisée dans ce guide, une définition et une
135 référence à la section du guide qui traite de ce sujet.
139 <item><em>Upload</em> : mise à jour, téléchargement (parfois
140 livraison). Opération qui consiste à télécharger un nouveau paquet
141 ou une nouvelle version de paquet dans l'archive Debian (<ref
144 <item><em>Non-maintainer upload (NMU)</em> : mise à jour indépendante.
145 Téléchargement d'une nouvelle version de paquet dans l'archive
146 Debian par une personne qui n'est pas officiellement responsable de ce
147 paquet(<ref id="nmu">).
149 <item><em>NMU source</em> : mise à jour indépendante source. Il
150 s'agit d'une mise à jour indépendante pour un paquet source (<ref
153 <item><em>NMU binaire</em> : mise à jour indépendante binaire.
154 Mise à jour indépendante pour un paquet binaire(<ref id="nmu-terms">).
156 <item><em>Bug Tracking System (BTS)</em> : système de suivi des
157 bogues. Il s'agit du système utilisé par le projet Debian pour tracer
158 les bogues et leur correction (<ref id="bug-handling">).
160 <item><em>Bug submitter</em> : rapporteur du bogue. Personne qui
161 envoie un rapport de bogue au système de suivi des bogues(<ref
164 <item><em>Release critical bug</em> : bogue remettant en cause la
165 distribution. Bogues de sévérité <em>critique</em>, <em>grave</em>
166 et <em>sérieux</em>. Ces bogues ne doivent pas apparaître dans une
167 distribution <em>stable</em>. Ils doivent être corrigés ou bien les
168 paquets en causes doivent être supprimés (<ref id="rc-bug">).
170 <item><em>Unstable</em> : Nom de la distribution en cours de
171 développement. Cette distribution contient les paquets envoyés par
172 les développeurs. Ceux-ci étant humains, elle est parfois cassée (<ref
175 <item><em>Testing</em> : Nom de la distribution en test. Cette
176 distribution reçoit les paquets des développeurs qui ont passé une
177 période de deux semaines dans <em>unstable</em> et pour lesquels aucun
178 bogue sévère n'a été découvert. Cette distribution n'a pas été testée
179 en profondeur. Elle est cependant sensée être plus stable que
180 <em>unstable</em> (<ref id="life-cycle">).
182 <item><em>Frozen</em> : Nom de la distribution gelée. Cette
183 distribution apparaît pendant quelques mois avant la sortie d'une
184 nouvelle distribution stable. Elle est destinée à être testée en
185 profondeur et ne reçoit que des corrections de bogues (<ref
188 <item><em>Stable</em> : Nom de la distribution dite stable. Cette
189 distribution a été testée, validée et diffusée (<ref
192 <item><em>Debian maintainer</em> : responsable Debian, développeur
193 Debian (parfois mainteneur). Personne qui fait officiellement
194 parti du projet Debian. Elle a accès aux serveurs Debian et participe
195 au développement -- au sens large -- de la distribution (<ref
196 id="developer-duties">). La plupart des responsables font de la mise
197 en paquet mais il existe d'autres activités telles que documentation,
198 site web, création des cédéroms, administration des serveurs...
200 <item><em>Upstream version</em> : version amont. Il s'agit du
201 logiciel tel qu'il est fournit par le responsable amont -- par
202 opposition à la version fournie par la distribution Debian. (Voir
203 <ref id="upstream-coordination">.)
205 <item><em>Upstream maintainer</em> : responsable amont ou développeur
206 amont. Personne(s) responsable(s) du développement ou de la
207 maintenance d'un logiciel. En général le responsable amont n'a rien à
208 voir avec le projet Debian (<ref id="upstream-coordination">).
210 <item><em>Debian keyring</em> : porte-clés Debian. Le porte-clés
211 Debian contient les clés publiques de tous responsables Debian (<ref
214 <item><em>Work-needing and prospective packages (WNPP)</em> : paquets en
215 souffrance et paquets souhaités. La liste des paquets en
216 souffrance indique les paquets qui n'ont plus de responsable. La liste
217 des paquets souhaités indique les logiciels que des utilisateurs
218 aimeraient bien voir dans la distribution (<ref id="upload">).
223 <chapt id="new-maintainer">Devenir responsable Debian
229 Vous avez lu toute la documentation, vous comprenez l'intérêt de tout ce qui
230 se trouve dans le paquet exemple <package>hello</package> et vous vous
231 apprêtez à mettre en paquet votre logiciel préféré. Comment devenir
232 responsable Debian et intégrer votre travail au projet ?
235 Si vous ne l'avez pas encore fait vous pouvez commencer par vous inscrire à la
236 liste &email-debian-devel;.
239 Pour cela, envoyez un courrier à l'adresse
240 &email-debian-devel-req; avec le mot <tt>subscribe</tt> dans la ligne
241 <em>Objet</em><footnote><em>Subject</em> en anglais</footnote> de votre
242 message. En cas de problème, contactez l'administrateur de la liste
243 &email-listmaster;. Vous trouverez plus d'information dans la section <ref
247 Vous suivrez les discussions de cette liste (sans poster) pendant quelques
248 temps avant de coder quoi que ce soit et vous informerez la liste de votre
249 intention de travailler sur quelque chose pour éviter de dupliquer le travail
253 Une autre liste intéressante est &email-debian-mentors;. Voir la section <ref
254 id="mentors"> pour les détails. Le canal IRC <tt>#debian</tt> sur le réseau
255 <em>Linux People IRC</em> (c-à-d <tt>irc.debian.org</tt>) pourra aussi être
261 <sect id="registering">Devenir responsable Debian
264 Avant de décider de devenir responsable Debian, il vous faudra lire le <url
265 id="&url-social-contract;" name="Contrat social Debian">. Vous faire
266 enregistrer comme responsable implique que vous adhériez à ce contrat social
267 et que vous vous engagiez à le soutenir ; il est très important que les
268 responsables soient en accord avec les principes fondamentaux qui animent le
269 projet Debian GNU-Linux. Lire le <url id="&url-gnu-manifesto;" name="Manifeste
270 GNU"> sera aussi une bonne idée.
273 Le processus d'enregistrement a pour but de vérifier votre identité et vos
274 intentions. Le nombre de personnes travaillant pour Debian GNU-Linux a atteint
275 &number-of-maintainers; et notre système est utilisé dans un certain nombre
276 d'endroits très importants nous devons rester attentifs pour éviter un acte
277 malveillant. C'est pourquoi nous contrôlons les nouveaux responsables avant de
278 leur donner un compte sur nos serveurs et les autoriser à ajouter des paquets
282 Pour votre enregistrement il sera nécessaire d'envoyer les informations
283 suivantes<footnote>Voir la page <url id="&url-newmaint-checklist;"
284 name="Checklist for applicants">.</footnote> au moment approprié après une
285 première prise de contact à l'adresse &email-new-maintainer; :
292 Le <em>login</em> que vous voudriez avoir sur <tt>master</tt> (maximum
293 huit caractères) ainsi que l'adresse qui sera utilisée pour votre
294 inscription à la liste &email-debian-private; (il s'agira soit de
295 votre adresse personnelle soit de votre adresse <tt>debian.org</tt>
296 fraîchement acquise).
299 Un numéro de téléphone où nous pouvons vous joindre. Souvenez vous que
300 l'équipe <em>New maintainer</em> appelle généralement le soir pour
301 limiter les coûts de communication longue distance. Ne donnez pas de
302 numéro professionnel à moins d'y être souvent le soir.
305 Une déclaration de vos intentions. C'est à dire sur quel paquet pensez
306 vous travailler, à quel portage comptez vous participer ou comment
307 vous comptez contribuer au projet.
310 Une déclaration indiquant que vous avez lu et acceptez de soutenir le
311 <url id="&url-social-contract;" name="Contrat social Debian">.
314 Un moyen de vérifier votre identité réelle. Les moyens suivants ferons
319 une clé OpenPGP signée par une signature connue telle qu'un
320 responsable Debian que vous aurez rencontré
321 <em>physiquement</em> ou un service d'authentification qui
322 vérifie votre identité (Verisign par exemple)<footnote>Un
323 service d'authentification qui vérifie votre adresse
324 électronique mais pas votre identité ne fera pas l'affaire.
328 une copie (numérisée ou photocopiée) de n'importe quel
329 document officiel prouvant votre identité (certificat de
330 naissance, carte d'identité, permis de conduire, etc...). Pour
331 un envoi électronique, signez avec votre clé OpenPGP.
337 Si vous n'avez pas de clé OpenPGP, créez-la. Tout responsable a besoin d'une
338 clé OpenPGP pour signer et vérifier les mises à jour de paquets. Vous lirez
339 la documentation du logiciel de cryptographie que vous utiliserez car elle
340 contient des informations indispensables pour la sécurité de votre clé. Les
341 défaillances de sécurité sont bien plus souvent dues à des erreurs humaines
342 qu'à des problèmes logiciels ou des techniques d'espionnage avancées. Voir
343 <ref id="key-maint"> pour plus d'information sur la gestion de votre clé
347 Debian utilise <prgn>GNU Privacy Guard</prgn> (paquet <package>gnupg</package>
348 version 1 ou supérieure comme standard de base). Vous pouvez aussi utiliser une
349 autre implémentation d'OpenPGP. OpenPGP est un standard ouvert basé sur la
350 <url id="&url-rfc2440;" name="RFC 2440">.
353 L'algorithme à clé publique recommandé pour les développements Debian est DSA
354 (parfois appelé « DSS » ou « DH\ElGamal »). Vous pouvez
355 aussi utiliser d'autres types de clés. La longueur de votre clé doit être au
356 minimum 1024 bits ; il n'y a pas de raison d'utiliser une clé plus courte et le
357 faire serait beaucoup moins sûr. Votre clé doit être signée avec votre propre
358 identifiant ; cela évite les falsifications. <prgn>GNU Privacy Guard</prgn> le
359 fait automatiquement.
362 Souvenez-vous que l'un des noms de votre clé doit correspondre à l'adresse de
363 mainteneur officiel que vous indiquez dans vos paquets. Par exemple, j'affecte
364 le responsable du paquet <package>developers-reference</package> à « Adam
365 Di Carlo <aph@debian.org> » ; alors l'un des identifiants de ma clé
366 doit être cette même valeur « Adam Di Carlo
367 <aph@debian.org> ».
370 Si votre clé publique n'est pas sur un serveur public tel que &pgp-keyserv;,
371 reportez vous à la documentation disponible localement dans &file-keyservs;.
372 Cette documentation explique comment mettre votre clé publique sur un serveur.
373 L'équipe <em>New maintainer</em> mettra votre clé publique sur les serveurs de
374 clés si elle n'y est pas déjà.
377 Pour cause de restriction sur le droit à l'exportation aux États-Unis,
378 certains paquets, dont <package>gnupg</package>, sont hébergés sur
379 des serveurs FTP en dehors des États-Unis. Vous trouverez les adresses
380 de ces serveurs dans le fichier <url id="&url-readme-non-us;">.
383 Certains pays limitent l'usage des logiciels de cryptographie. Cela ne
384 devrait cependant pas avoir d'impact sur l'activité d'un responsable de paquet
385 car il peut être tout à fait légal d'utiliser des logiciels de cryptographie
386 pour l'authentification plutôt que pour le cryptage (comme c'est le cas en
387 France). Le projet Debian ne nécessite en aucune manière de cryptographie en
388 tant que tel. Si vous vivez dans un pays où l'usage de la cryptographie pour
389 authentification est interdit contactez nous pour que nous prenions des
390 dispositions particulières.
393 Une fois que votre dossier est prêt et que votre clé publique est accessible sur
394 les serveurs de clés publiques, envoyez votre candidature sur la liste
395 &email-new-maintainer; pour être enregistré comme responsable Debian et
396 pouvoir ajouter vos paquets dans l'archive. Ce message doit contenir votre nom
397 et votre adresse électronique. Toutes les informations présentées plus tôt
398 seront requises une fois que votre <em>application manager</em> aura été
399 désigné. L'<em>application manager</em> est votre accompagnateur dans le
400 processus d'enregistrement et vous pouvez toujours lui demander où en est
401 votre candidature. Vous pouvez aussi consulter le <url id="&url-newmaint-db;"
402 name="tableau de bord des candidatures"> sur le site Debian.
405 Pour en savoir plus, consultez le <url id="&url-newmaint;" name="coin des
406 nouveaux responsables"> sur le site Debian.
409 Une fois que votre dossier aura été reçu et traité vous devriez être
410 contacté et recevoir les informations concernant votre compte Debian. Si vous
411 ne recevez rien pendant un mois, envoyez un message de relance demandant si
412 votre candidature initiale a bien été reçue. Ne renvoyez <em>pas</em> votre
413 candidature initiale, cela embrouillerait l'équipe <em>New maintainer</em>.
414 Soyez patient, en particulier à l'approche de la sortie d'une
415 distribution ; des erreurs ont parfois lieu et les gens peuvent manquer
416 de temps pour cette activité bénévole.
419 <sect id="mentors">Mentors Debian
421 La liste de diffusion &email-debian-mentors; a été créée pour les
422 responsables débutants qui cherchent de l'aide pour leur première
423 création de paquet ainsi que pour d'autres problèmes spécifiques aux
424 développeurs. Tout responsable débutant est invité à s'y inscrire
425 (voir <ref id="mailing-lists"> pour plus de détails).
428 Ceux qui préfèrent une aide personnalisée (via une correspondance
429 privée) doivent aussi poster dans cette liste, un développeur
430 expérimenté se portera volontaire pour les aider.
437 <chapt id="developer-duties">Les charges du responsable Debian
440 <sect>Mise à jour de vos références Debian
443 Une base de données LDAP contient de nombreuses informations concernant tous
444 les développeurs, vous pouvez y accéder à l'adresse <url
445 id="&url-debian-db;">. Vous pouvez modifier votre mot de passe (ce mot de
446 passe est diffusé sur la plupart des machines auxquelles vous avez accès),
447 votre adresse, votre pays, la latitude et la longitude de l'endroit où vous
448 résidez, vos numéros de téléphone et de fax, votre interpréteur de commande
449 préféré, votre surnom IRC, votre page web, votre adresse de courrier
450 électronique ainsi que l'alias que vous utilisez pour votre courrier
451 électronique chez debian.org. La plupart de ces informations ne sont pas
452 accessibles au public. Pour plus de détails au sujet de cette base de données
453 reportez-vous à sa documentation en ligne disponible à l'adresse <url
454 id="&url-debian-db-doc;">.
457 Vous y tiendrez à jour les informations vous concernant.
462 <sect id="key-maint">Gérer votre clé publique
465 Soyez très vigilant en utilisant votre clé privée. Ne la placez pas sur un
466 serveur public ou sur des machines multi-utilisateurs telles que
467 <tt>master.debian.org</tt>. Sauvegardez vos clés et gardez en une copie hors
468 connexion. Lisez la documentation fournie avec votre logiciel et la <url
469 id="&url-pgp-faq;" name="FAQ PGP">.
472 Si vous ajoutez des signatures ou des identifiants à votre clé publique, vous
473 pouvez mettre à jour le porte-clés Debian en envoyant votre clé publique à
474 <tt>&keyserver-host;</tt>. Si vous voulez ajouter ou supprimer une clé envoyez
475 un courrier à &email-debian-keyring;. Les procédures d'extraction de clé
476 décrites dans <ref id="registering"> s'appliquent ici.
479 Vous pouvez trouver une présentation approfondie de la gestion de clé Debian
480 dans la documentation du paquet <package>debian-keyring</package>.
485 <sect id="inform-vacation">Prendre des vacances courtoisement
488 La plupart des développeurs prennent des vacances, généralement cela signifie
489 qu'ils ne peuvent travailler pour Debian et qu'ils ne peuvent être joint par
490 courrier électronique si un problème se présentait. Les autres développeurs
491 ont besoin de savoir que vous êtes en vacances ainsi ils sauront comment
492 réagir en cas de problème. En général, cela signifie que les autres
493 développeurs sont autorisés à modifier votre paquet (voir <ref id="nmu">) en
494 cas de gros problème (bogues bloquants pour la distribution, mise à jour de
495 sécurité...) durant vos vacances.
498 Il y a deux choses à faire pour informer les autres développeurs.
499 Premièrement, envoyer un courrier électronique indiquant vos dates de vacances
500 à &email-debian-private;, vous pouvez aussi donner quelques instructions pour
501 indiquer comment agir si un problème survenait. Deuxièmement, il faut mettre
502 à jour la base de données Debian LDAP et vous signaler « en
503 vacances » (l'accès à cette information est réservé aux développeurs).
504 N'oubliez pas de retirer votre indicateur « en vacances » lorsque
505 celles-ci sont terminées.
510 <sect id="upstream-coordination">Coordination avec les développeurs
514 Une grosse part de votre travail de responsable Debian sera de rester en
515 contact avec les développeurs amonts car il vous faudra leur transmettre les
516 informations collectées par le système de suivi des bogues. Il n'est pas de
517 votre responsabilité de corriger les bogues qui ne sont pas spécifiques à
518 Debian. Il vous faudra plutôt transmettre ces rapports de bogue aux
519 développeurs amonts. Bien sûr, si vous êtes capables de les résoudre, vous
520 pouvez... De cette manière, ces bogues seront corrigés dans la prochaine
524 De temps en temps, vous trouverez un correctif attaché à un rapport de bogue.
525 Il vous faudra envoyer ce correctif en amont et vous assurer qu'il est bien
526 inclus dans la prochaine version amont (si les auteurs acceptent le correctif
530 Si vous avez besoin de modifier les sources amonts pour respecter la Charte
531 Debian, vous devriez proposer un joli correctif aux développeurs amonts. Une
532 fois ce correctif inclus, vous n'aurez plus besoin de modifier les sources
533 lors des mises à jours amonts suivantes.
536 Quelles que soient les changements dont vous avez besoin, il faut toujours
537 essayer de rester dans la lignée des sources amonts.
543 <sect id="rc-bug">Gestion des bogues bloquants pour la distribution
546 Les bogues bloquants pour la distribution<footnote>Traduction de l'anglais
547 <em>Release critical bug (RCB)</em></footnote> sont les bogues de sévérité
548 <em>critique</em>, <em>grave</em> et <em>sérieux</em><footnote>Respectivement
549 <em>critical</em>, <em>grave</em> et <em>serious</em> en anglais</footnote>.
550 Ces bogues peuvent retarder la diffusion d'une distribution Debian et/ou
551 peuvent justifier la suppression d'un paquet d'une distribution gelée. C'est
552 pourquoi ces bogues ont besoin d'être corrigés au plus vite. Vous devez être
553 conscient que certains développeurs faisant partie de l'équipe <url
554 id="&url-debian-qa;" name ="Assurance Qualité Debian"> surveillent ces bogues
555 et essaient de vous aider chaque fois qu'ils le peuvent. Si vous ne pouvez pas
556 corriger un bogue de ce type dans les deux semaines, vous devriez soit
557 demander de l'aide en envoyant un courrier à l'équipe d'assurance qualité
558 (<em>QA group</em> &email-debian-qa;), soit vous expliquer et présenter un
559 plan pour corriger le problème en envoyant un courrier au rapport de bogue
560 concerné. Si rien n'est fait, des personnes de l'équipe d'assurance qualité
561 pourraient chercher à corriger votre paquet (voir <ref id="nmu">) après avoir
562 tenté de vous contacter. Ils pourraient attendre moins longtemps que
563 d'habitude pour faire leur mise à jour s'il n'y a pas trace d'activité récente
564 de votre part dans le système de suivi des bogues.
568 <sect id="qa-effort">L'effort d'assurance qualité
571 Même s'il y a un groupe de personnes dédié à l'Assurance Qualité, cette
572 activité ne leur est pas réservée. Vous pouvez participer à cet effort en
573 éliminant, autant que faire ce peut, tout bogue de vos paquets et en observant
574 les remarques émises par lintian (voir <ref id="lintian-reports">). Si cela
575 vous semble tout à fait impossible, il faudrait songer à abandonner certains
576 de vos paquets, vous pourrez ainsi faire du bon travail avec les paquets dont
577 vous restez responsable (voir <ref id="orphaning">). Vous pouvez aussi
578 demander l'aide d'autres personnes pour rattraper votre retard dans la liste
579 des bogues (vous pouvez demander de l'aide sur les listes &email-debian-qa;
580 et &email-debian-devel;).
583 <sect>Démissionner courtoisement
585 Si vous choisissez de quitter le projet Debian, procédez comme suit :
589 Abandonnez tous vos paquets comme décrit dans <ref id="orphaning">.
592 Envoyez un courrier électronique à &email-debian-private; indiquant
593 comment vous quitter le projet.
596 Signalez aux responsables du porte-clés Debian que vous quittez le
597 projet en écrivant à &email-debian-keyring;.
605 <chapt id="servers">Listes de diffusion, serveurs et autres machines
608 Dans ce chapitre vous trouverez une très brève description des listes de
609 diffusion Debian, des principaux serveurs Debian et des autres machines
610 auxquelles vous aurez accès en tant que développeur.
614 <sect id="mailing-lists">Listes de diffusion
617 Le serveur de liste de diffusion est <tt>&lists-host;</tt>. Envoyez un
618 courrier électronique à <tt>debian-<var>foo</var>-REQUEST@&lists-host;</tt>,
619 où <tt>debian-<var>foo</var></tt> est le nom de la liste, avec le mot
620 <tt>subscribe</tt> dans le champ <em>Objet</em><footnote><em>Subject</em> en
621 anglais</footnote> pour vous abonner à la liste ou <tt>unsubscribe</tt> pour
622 vous en désabonner. Vous trouverez des instructions plus détaillées pour vous
623 abonner et vous désabonner aux adresses <url
624 id="&url-debian-lists-subscribe;">, <url id="&url-debian-lists;"> ou
625 localement dans le fichier &file-mail-lists; si vous avez installé le paquet
626 <package>doc-debian</package>.
629 Lorsque vous répondez aux messages d'une liste de diffusion,
630 n'envoyez pas de copie (<tt>CC</tt>) à l'auteur du courrier à moins
631 qu'il ne l'ait demandé explicitement. Quelqu'un qui envoie un message à une
632 liste de diffusion se doit d'y lire les réponses.
635 Les principales listes de diffusion Debian sont :
637 <item> &email-debian-devel;,
638 <item> &email-debian-policy;,
639 <item> &email-debian-user;,
640 <item> &email-debian-private;,
641 <item> &email-debian-announce; et
642 <item> &email-debian-devel-announce;.
645 Un développeur devrait, au minimum, être inscrit aux listes
646 &email-debian-private; et &email-debian-devel-announce;.
649 Il existe d'autres listes de diffusion spécialisées dans différents thèmes.
650 Reportez-vous à la page <url id="&url-debian-lists-subscribe;"> pour en
651 obtenir la liste complète. Nous déconseillons l'usage des correspondances
652 croisées (envoyer le même message à plusieurs listes).
655 &email-debian-private; est une liste de diffusion destinée aux discussions
656 privées entre développeurs Debian. Elle doit être utilisée pour tout message
657 qui ne doit pas être publié, quelqu'en soit la raison. C'est une liste à
658 faible trafic et les utilisateurs sont priés de ne l'utiliser qu'en cas de
659 réelle nécessité. De plus, il ne faut <em>jamais</em> faire suivre un courrier
660 de cette liste à qui que ce soit.
663 &email-debian-email; est une liste de diffusion fourre-tout. Elle est utilisée
664 pour les correspondances relatives à Debian qu'il serait utile d'archiver tel
665 que contacter les auteurs amonts à propos de licences ou de bogues ou encore
666 discuter du projet avec d'autres personnes.
669 Comme toujours sur internet, éliminez les lignes inutiles quand vous citez
670 le message auquel vous répondez dans la réponse. Plus généralement, respectez
671 les conventions habituelles lorsque vous envoyez des messages.
674 Les archives des listes de diffusion sont disponibles en ligne à l'adresse
675 <url id="&url-lists-archives;">.
680 <sect id="server-machines">Serveurs Debian
683 Les serveurs Debian sont des serveurs célèbres et hébergent les fonctions
684 critiques du projet Debian. Tout développeur se doit de savoir ce qu'ils sont
685 et à quoi ils servent.
688 Si vous avez un problème en utilisant un serveur Debian et si vous estimez que
689 les administrateurs système devraient en être avertis, vous trouverez
690 l'adresse d'un responsable pour cette machine à la page <url
691 id="&url-devel-machines;">. Si votre problème n'est pas lié au système
692 (paquet à supprimer ou suggestion pour le site web par exemple), il vous
693 faudra en général ouvrir un rapport de bogue sur un
694 « pseudo-paquet ». Reportez vous à la section <ref id="submit-bug">
695 pour connaître la procédure à suivre.
700 <sect1 id="servers-master">Le serveur maître
703 <tt>master.debian.org</tt> est le serveur maître du système de suivi des
704 bogues (BTS<footnote>Système de suivi des bogues se dit <em>Bug Tracking
705 System</em> en anglais</footnote>). Si vous envisagez de manipuler les
706 rapports de bogue ou d'en faire une analyse statistique ce sera le bon endroit
707 pour le faire. Informez la liste &email-debian-devel; de votre intention
708 avant d'implémenter quoi que ce soit afin d'éviter la duplication du travail
709 ou le gaspillage de temps machine.
712 Tous les développeurs Debian ont un compte sur <tt>master.debian.org</tt>.
713 Prenez grand soin de votre mot de passe. Évitez les méthodes de connexion et
714 de téléchargement qui envoient votre mot de passe en clair sur internet.
717 Si vous rencontrez un problème avec <tt>master.debian.org</tt> tel qu'un
718 disque plein, une activité suspecte ou autre, envoyez un courrier
719 électronique à &email-debian-admin;.
724 <sect1 id="servers-ftp-master">Le serveur ftp-master
727 Le serveur ftp-master (<tt>ftp-master.debian.org</tt> ou <tt>
728 auric.debian.org</tt>) est le serveur maître de l'archive Debian
729 (exception faite des paquets non-US). En général, les mises à jour de
730 paquet se font sur ce serveur. Reportez-vous à la section <ref id="upload">
734 Les problèmes avec l'archive Debian FTP doivent généralement être rapportés
735 comme bogue contre le pseudo-paquet <package>ftp.debian.org</package> ou par
736 courrier électronique à &email-ftpmaster;; reportez-vous à la section <ref
737 id="archive-manip"> pour connaître la procédure à suivre.
742 <sect1 id="servers-www">Le serveur WWW
745 Le serveur web principal, <tt>www.debian.org</tt>, est aussi connu sous le nom
746 <tt>klecker.debian.org</tt>. Tous les développeurs ont un compte sur cette
750 Si vous désirez publier quelques informations spécifiques à Debian sur la
752 vous pouvez le faire en les déposant dans le sous-répertoire
753 <file>public_html</file> de votre répertoire personnel sur
754 <tt>klecker.debian.org</tt>. Toute information déposée à cet endroit est
755 accessible à l'adresse <tt>http://people.debian.org/~<var>user-id</var>/</tt>.
756 Vous devriez préférer ce serveur aux autres car les répertoires
757 <file>public_html</file> du serveur <tt>klecker.debian.org</tt> sont sauvegardés. Ce
758 n'est pas le cas sur les autres serveurs. Ne publiez pas d'information sur
759 les serveurs Debian qui ne soient en relation avec Debian sans en avoir reçu
760 la permission. Pour toute question supplémentaire adressez-vous à la liste
761 &email-debian-devel;.
764 Si vous rencontrez un problème avec un serveur web Debian, vous devez
765 généralement soumettre un rapport de bogue contre le pseudo-paquet
766 <package>www.debian.org</package>. Vérifiez d'abord sur le <url
767 id="http://bugs.debian.org/www.debian.org" name="système de suivi des bogues">
768 que personne ne l'a déjà rapporté avant vous.
773 <sect1 id="servers-cvs">Le serveur CVS
776 Le serveur <tt>cvs.debian.org</tt> est aussi connu sous le nom
777 <tt>klecker.debian.org</tt> (déjà présenté plus haut). Si vous avez besoin
778 d'un serveur CVS accessible par tous pour, par exemple, coordonner le travail
779 de plusieurs développeurs sur un paquet, vous pouvez demander un espace sur ce
783 Le serveur <tt>cvs.debian.org</tt> autorise les accès CVS locaux, les accès en
784 lecture seul pour les connexions client-serveur anonyme et les accès
785 client-serveur complet pour les connexions <prgn>ssh</prgn>. L'espace CVS peut
786 aussi être consulté par la toile à l'adresse <url id="&url-cvsweb;">.
789 Pour obtenir un espace CVS, envoyez une demande à l'adresse
790 &email-debian-admin; en précisant le nom de l'espace, le propriétaire du
791 répertoire racine et pourquoi vous en avez besoin.
796 <sect1 id="servers-mirrors">Miroirs des serveurs Debian
799 Les serveurs web et FTP Debian sont répliqués sur d'autres serveurs. Évitez de
800 charger les serveurs originaux. Idéalement, les serveurs originaux se
801 contentent de répliquer leur contenu sur les miroirs de premier niveau et
802 tous les utilisateurs consultent les miroirs. Ainsi le projet Debian étale
803 ces besoins en bande passante sur plusieurs serveurs et plusieurs réseaux.
804 Notez que la réplication des données sur les miroirs est déclenchée par le
805 serveur maître. Ceci nous garantit que les miroirs sont aussi à jour que
809 La liste des miroirs FTP (et en général HTTP) se trouve à l'adresse <url
810 id="&url-debian-mirrors;">. Vous trouverez plus d'information sur les miroirs
811 Debian à l'adresse <url id="&url-debian-mirroring;">. Cette page contient des
812 informations et des outils qui pourront vous aider si vous avez l'intention de
813 mettre en place votre propre miroir, que ce soit pour un usage interne ou
814 pour un accès public.
817 Les miroirs sont en général mis en oeuvre par des tiers qui veulent aider
818 Debian. C'est pourquoi les développeurs n'ont en général pas de compte sur ces
824 <sect id="other-machines">Autres machines Debian
827 Vous aurez peut-être accès à d'autres machines Debian. Vous pouvez utiliser
828 ces machine pour des tâches en rapport avec le projet Debian. Soyez gentils
829 avec les administrateurs et ne consommez pas des montagnes d'espace disque, de
830 bande passante ou de temps machine sans en avoir d'abord reçu l'autorisation.
831 En général, ces machines sont gérés par des volontaires et sont utilisées pour
832 des activités de portage.
835 Vous trouverez une liste des autres machines misent à la disposition des
836 développeurs Debian à l'adresse <url id="&url-devel-machines;">.
842 <chapt id="archive">L'archive Debian
847 La distribution Debian est composée d'un grand nombre de paquets Debian
848 (fichiers <tt>.deb</tt> : à peu près &number-of-pkgs;) et de quelques
849 autres fichiers (documentation, images de disquette d'installation,
853 Voici un exemple d'arborescence pour une archive Debian complète :
856 &sample-dist-dirtree;
859 Comme vous pouvez le voir, le répertoire racine contient deux répertoires,
860 <tt>dists/</tt> et <tt>pool/</tt>. Le second est un ensemble de répertoires où
861 sont stockés les paquets. Ceux-ci sont manipulés grâce à la base de données de
862 l'archive et aux logiciels qui l'accompagnent. Le premier répertoire contient
863 les distributions <em>stable</em>, <em>testing</em> et <em>unstable</em>. Le
864 découpage en sous-répertoires est identique d'un répertoire de distribution à
865 l'autre nous nous contenterons donc d'exposer ce découpage pour la
866 distribution <em>stable</em>. Les fichiers <tt>Packages</tt> et
867 <tt>Sources</tt> qui se trouvent dans les répertoires de distribution peuvent
868 faire référence à des fichiers du répertoire <tt>pool/</tt>.
872 Le répertoire <tt>dists/stable</tt> contient trois répertoires nommées
873 <tt>main</tt>, <tt>contrib</tt> et <tt>non-free</tt>.
876 Dans chacune de ces sections se trouve un répertoire contenant les paquets
877 sources (<tt>source/</tt>), un répertoire pour chaque architecture supportée
878 (<tt>binary-i386/</tt>, <tt>binary-m68k/</tt>, etc) et un répertoire pour les
879 paquets indépendants de l'architecture (<tt>binary-all/</tt>).
882 La section <em>main</em> contient d'autres répertoires destinés aux images de
883 disquettes et à quelques documentations essentielles pour installer la
884 distribution Debian sur une architecture particulière (<tt>disk-i386/</tt>,
885 <tt>disk-m68k/</tt>, etc).
888 Les répertoires <tt>binary-*/</tt> et <tt>source/</tt> sont à nouveau
889 divisés en <em>sous-sections</em>.
896 La section <em>main</em> constitue la <strong>distribution Debian GNU-Linux
897 officielle</strong>. Elle est officielle parce qu'elle est conforme à toutes
898 nos recommandations. Les deux autres sections divergent de ces recommandations
899 à différents degrés, elles ne font donc pas officiellement partie de Debian.
902 Chaque paquet de la section <em>main</em> doit être conforme aux <url id="&url-dfsg;" name="Debian
903 Free Software Guidelines"> et à toutes les autres
904 recommandations décrites dans <url id="&url-debian-policy;" name="la Charte
905 Debian">. Les DFSG<footnote>Debian Free Software Guidelines</footnote>
906 constituent notre définition de <em>logiciel libre</em>. Reportez-vous à la
907 Charte Debian pour en savoir plus.
910 Les paquets de la section <em>contrib</em> doivent être conformes aux DFSG
911 mais ne respectent pas d'autres contraintes. Ils peuvent par exemple dépendre
912 de paquets de la section <em>non-free</em>.
915 Les paquets qui ne sont pas conformes aux DFSG sont rangés dans la section
916 <em>non-free</em>. Bien que nous supportions l'usage de ces paquets et qu'ils
917 bénéficient de nos infrastructures (système de suivi des bogues, listes de
918 diffusions, etc), ces paquets <em>non-free</em> ne font pas partie de la
922 La Charte Debian donne des définitions plus précises pour ces trois sections.
923 Les paragraphes précédant ne constituent qu'une introduction.
926 La séparation de la distribution en trois sections dès la racine est
927 importante pour toute personne qui désire distribuer Debian, que ce soit par
928 serveur FTP ou sur cédérom. Il suffit de distribuer les sections <em>main</em>
929 et <em>contrib</em> pour éviter tout problème légal. Certains paquets de la
930 section <em>non-free</em> interdisent leur distribution à titre commercial par
934 D'un autre coté, un distributeur de cédérom pourra facilement vérifier
935 individuellement les licences des paquets de la section <em>non-free</em> et
936 ajouter autant de paquets qu'il est autorisé à le faire sur ses cédéroms (dans
937 la mesure où cela varie énormément d'un distributeur à l'autre ce travail ne
938 peut être fait par les développeurs Debian).
945 À ses débuts, le noyau Linux existait uniquement pour les architectures Intel
946 x86 et supérieures ; il en était de même pour Debian. Linux devenant de plus
947 en plus populaire, il a été porté vers d'autres architectures. <p> Le noyau
948 2.0 existe pour les architectures Intel x86, DEC Alpha, SPARC, Motorola, 680x0
949 (Atari, Amiga, et Macintosh), MIPS et PowerPC. Le noyau 2.2 supporte encore
950 plus d'architectures dont ARM et UltraSPARC. Puisque Linux supporte ces
951 architectures, Debian a décidé qu'il devait les supporter aussi. C'est
952 pourquoi plusieurs portages sont en cours ; en fait il y a aussi des portages
953 vers d'autres noyaux. À coté d'<em>i386</em> (notre nom pour Intel x86), nous
954 avons, au moment où j'écris <em>m68k</em>, <em>alpha</em>, <em>powerpc</em>,
955 <em>sparc</em>, <em>hurd-i386</em>, et <em>arm</em>.
958 Debian GNU-Linux 1.3 est disponible uniquement pour <em>i386</em>. Debian 2.0
959 supporte les architectures <em>i386</em> et <em>m68k</em>. Debian 2.1
960 supporte les architectures <em>i386</em>, <em>m68k</em>, <em>alpha</em> et
961 <em>sparc</em>. Debian 2.2 ajoute le support de l'architecture
965 Vous trouverez des informations destinées aux développeurs à propos d'un
966 portage particulier sur la page <url id="&url-debian-ports;" name="Portage
975 Les sections <em>main</em>, <em>contrib</em> et <em>non-free</em> sont
976 divisées en sous-sections pour simplifier le processus d'installation et la
977 maintenance de l'archive Debian. Ces sous-sections ne sont pas définies
978 formellement, à l'exception peut-être de la sous-section <em>base</em>.
979 Elles existent pour simplifier l'organisation des paquets et la navigation
980 dans la liste des paquets disponibles. Reportez-vous à la distribution
981 courante pour connaître la liste des sous-sections disponibles.
984 Notez qu'avec l'introduction de la nouvelle organisation de l'archive (voir le
985 répertoire racine <em>pool/</em>), les sous-sections matérialisées par des
986 répertoires pourraient disparaître à l'avenir. Elles seront cependant
987 conservées dans le champ <tt>Section</tt> de l'en-tête des paquets.
995 Il existe deux types de paquets Debian : les paquets sources et les
999 Les paquets sources sont constitués de deux ou trois fichiers :
1003 un fichier <tt>.dsc</tt> et un fichier <tt>.tar.gz</tt> ou
1006 un fichier <tt>.dsc</tt>, un fichier <tt>.orig.tar.gz</tt> et un
1007 fichier <tt>.diff.gz</tt>.
1012 Si un paquet est développé spécifiquement pour le projet Debian et n'est pas
1013 distribué en dehors de Debian, il n'y a qu'un fichier <tt>.tar.gz</tt> qui
1014 contient les sources du programme. Si un paquet est distribué ailleurs, le
1015 fichier <tt>.orig.tar.gz</tt> contient ce que l'on appelle <em>code source
1016 amont</em>, c'est-à-dire le code source distribué par le <em>mainteneur
1017 amont</em> (il s'agit souvent de l'auteur du logiciel). Dans ce cas, le
1018 fichier <tt>.diff.gz</tt> contient les modifications faites par le responsable
1022 Le fichier <tt>.dsc</tt> liste tous les fichiers sources avec leurs sommes de
1023 contrôle (<prgn>md5sums</prgn>) et quelques informations supplémentaires
1024 concernant le paquet (responsable, version, etc).
1029 <sect>Répertoires des distributions
1032 L'organisation des répertoires présentée précédemment est elle-même englobée
1033 par les <em>répertoires des distributions</em>. Chaque distribution est
1034 incluse dans le répertoire <tt>pool</tt> à la racine de l'archive Debian.
1037 En résumant, une archive Debian a un répertoire racine sur un serveur FTP. Par
1038 exemple, sur le site miroir <ftpsite>ftp.us.debian.org</ftpsite>, l'archive
1039 Debian se trouve dans <ftppath>/debian</ftppath> ce qui est un emplacement
1040 courant. Un autre emplacement courant est <ftppath>/pub/debian</ftppath>.
1043 Une distribution est composée de paquets Debian sources et binaires et des
1044 fichiers <tt>Sources</tt> et <tt>Packages</tt> correspondants. Ces derniers
1045 contiennent tous les entêtes de descriptions des paquets. Les premiers sont
1046 conservés dans le répertoire <tt>pool/</tt> tandis que les seconds sont
1047 conservés dans le répertoire <tt>dists/</tt> de l'archive (pour des questions
1048 de compatibilité descendante)
1053 <sect1 id="life-cycle">Stable, testing, unstable et parfois frozen
1056 Il y a toujours une distribution appelée <em>stable</em> (dans le répertoire
1057 <tt>dists/stable</tt>), une distribution appelée <em>testing</em> (dans le
1058 répertoire <tt>dists/testing</tt>) et une distribution appelée
1059 <em>unstable</em> (dans le répertoire <tt>dists/unstable</tt>). Ceci reflète
1060 le processus de développement du projet Debian.
1063 Les développements se font sur la distribution <em>unstable</em><footnote>
1064 <em>unstable</em> signifie « instable ».</footnote> (c'est pourquoi
1065 elle est aussi appelée <em>distribution de développement</em>). Chaque
1066 développeur Debian peut modifier ses paquets à tout moment dans cette
1067 distribution. Ainsi son contenu change tous les jours. Comme aucun effort
1068 particulier n'est fait pour s'assurer que tout fonctionne correctement dans
1069 cette distribution, elle est parfois <em>instable</em>.
1072 Les paquets sont copier de <em>unstable</em> vers <em>testing</em> s'ils
1073 satisfont certains critères. Pour entrer dans la distribution <em>testing</em>
1074 un paquet doit faire partie de l'archive depuis deux semaines et ne doit pas
1075 avoir de bogue bloquant pour la distribution<footnote>Release critical
1076 bug</footnote>. Passée cette période, le paquet sera installé dans
1077 <em>testing</em> dès que les paquets dont il dépend y seront. Ce processus est
1081 Après une période de développement, quand le responsable de
1082 distribution<footnote>Release manager</footnote> le juge opportun, la
1083 distribution <em>testing</em> est renommée <em>frozen</em>. Une fois que cela
1084 est fait, aucun changement n'est autorisé sur cette distribution en dehors des
1085 corrections de bogue ; c'est pourquoi nous l'appelons <em>frozen<footnote>
1086 <em>frozen</em> signifie « gelée »</footnote></em>. Après un mois
1087 ou un peu plus selon l'avancement la distribution entre dans une phase de
1088 « gèle complet » où les seules modifications acceptées concernent la
1089 procédure d'installation. Cette phase s'appelle un « cycle de test »
1090 et cela peut durer jusqu'à deux semaines. Il peut y avoir plusieurs cycles de
1091 tests avant que le responsable de distribution ne la déclare prête pour la
1092 diffusion. À la fin du dernier cycle de test, la distribution <em>frozen</em>
1093 est renommée <em>stable</em>, remplaçant l'ancienne distribution stable qui
1094 est enlevée à cette occasion.
1097 Ce cycle de développement est basé sur l'idée que la distribution
1098 <em>instable</em> devient <em>stable</em> après une période de test en tant
1099 que distribution <em>gelée</em>. Une distribution contient inévitablement des
1100 bogues, même si elle est classée stable. C'est pourquoi les distributions
1101 stables sont mises à jour de temps en temps. Les corrections introduites sont
1102 testées avec une grande attention et ajoutées individuellement à l'archive
1103 pour diminuer les risques d'introduire de nouveaux bogues. Vous pouvez trouver
1104 des paquets proposés pour les mises à jour de <em>stable</em> dans le
1105 répertoire <tt>proposed-updates</tt>. De temps en temps, les paquets de ce
1106 répertoire qui ne présentent pas de problème sont installés dans la
1107 distribution <em>stable</em> et le numéro de révision de cette distribution
1108 est incrémenté (« 1.3 » devient « 1.3r1 »,
1109 « 2.0r2 » devient « 2.0r3 » et ainsi de suite).
1112 Notez que pendant la période de gèle les développements continuent sur la
1113 distribution instable car cette distribution reste en place quand
1114 <em>testing</em> devient <em>frozen</em>. Que quand la distribution
1115 <em>frozen</em> devient officiellement <em>stable</em> l'ancienne distribution
1116 stable est entièrement supprimée de l'archive Debian (elle reste cependant
1117 disponible à l'adresse <tt>&archive-host;</tt>).
1120 En résumé, les distributions <em>stable</em>, <em>testing</em> et
1121 <em>unstable</em> sont disponibles en permanence et de temps en temps, une
1122 distribution <em>frozen</em> apparaît pour quelques mois.
1131 <em>NOTE : Experimental ne fonctionne plus depuis la mise en place du
1132 <em>package pool</em>. Si la distribution Experimental est remise en service
1133 un jour, la présente section aura sûrement besoin d'une mise à jour.</em>
1136 La distribution <em>Experimental</em> est une distribution particulière. Ce
1137 n'est pas une distribution à part entière comme le sont <em>stable</em> et
1138 <em>unstable</em>. Elle est prévue pour servir de plate-forme de développement
1139 pour les projets expérimentaux qui ont de grandes chances de détruire le
1140 système. Les utilisateurs qui téléchargent et installent des paquets depuis
1141 <em>Experimental</em> sont prévenus : on ne peut pas faire confiance à la
1142 distribution <em>Experimental</em>.
1145 Les responsables doivent être très sélectifs quant à l'utilisation de la
1146 distribution <em>Experimental</em>. Même très instable, un paquet peut aller
1147 dans <em>unstable</em>; ajoutez juste quelques avertissements dans la
1148 description. Par contre, s'il y a une chance que logiciel endommage
1149 sérieusement le système, il est préférable de le mettre dans
1150 <em>Experimental</em>.
1153 Un système de fichier crypté, par exemple, devrait probablement aller dans
1154 <em>Experimental</em>. Une nouvelle version non finalisée d'un logiciel qui
1155 utilise une méthode de configuration complètement différente pourrait aller
1156 dans <em>Experimental</em> à la discrétion du responsable. Un nouveau logiciel
1157 qui a peu de chance d'endommager le système ira dans <em>unstable</em>. Si
1158 vous travaillez sur un cas de mise à jour complexe ou incompatible vous pouvez
1159 aussi utiliser <em>Experimental</em> comme plate-forme d'intégration et ainsi
1160 fournir un accès aux testeurs.
1163 Par contre, utiliser <em>Experimental</em> comme plate-forme n'est pas
1164 toujours la meilleure idée. Vous ne pouvez remplacer ou mettre à jour des
1165 paquets dans cet espace vous-même (c'est le logiciel de maintenance de
1166 l'archive qui s'en charge). De plus, il vous faudra penser à demander la
1167 suppression de vos paquets à l'équipe d'administration de l'archive une fois
1168 qu'ils seront installés dans <em>unstable</em>. Utiliser vos pages web
1169 personnelles sur le serveur <tt>klecker.debian.org</tt> est en général une
1170 meilleure idée, cela permet de décharger l'équipe de maintenance de l'archive.
1174 <sect id="codenames">Les noms de distribution
1177 Chaque distribution Debian diffusée a un nom: Debian 1.1 s'appelle
1178 « buz »; Debian 1.2, « rex »; Debian 1.3 « bo »;
1179 Debian 2.0, « hamm »; Debian 2.1, « slink » et Debian 2.2
1180 « potato ». Il y a aussi une pseudo-distribution nommée
1181 « sid », il s'agit de la distribution <em>unstable</em>; comme les
1182 paquets vont de <em>unstable</em> à <em>testing</em> quand ils approchent de
1183 la stabilité la distribution « sid » n'est jamais diffusée. En plus
1184 du contenu habituel d'une distribution Debian, « sid » contient des
1185 paquets pour des architectures qui ne sont pas encore officiellement
1186 supportées ou pour lesquelles la distribution n'a pas encore été diffusée. Ces
1187 architectures doivent rejoindre les architectures supportées à une date
1191 Comme Debian est un projet de développement ouvert (i.e. tout le monde peut
1192 participer et suivre les développements) même les distributions
1193 <em>unstable</em> et <em>testing</em> sont disponibles sur les serveurs HTTP
1197 Si nous avions nommé le répertoire qui contient la version candidate pour
1198 diffusion « testing », il aurait fallu le renommer
1199 « stable » au moment de la diffusion, ce qui aurait forcé les
1200 miroirs FTP à re-télécharger la distribution complète (qui est plutôt
1204 D'un autre coté, si une distribution s'appelle <em>Debian-x.y</em> dès le
1205 départ, des personnes pourraient s'imaginer que la distribution Debian
1206 <em>x.y</em> est disponible. (Cela s'est produit par le passé, un distributeur
1207 avait gravé des cédéroms Debian 1.0 en utilisant une version de développement
1208 pré-1.0. C'est pour cette raison que la première version officielle était la
1209 version 1.1 et non la 1.0.)
1212 En conséquence les noms de répertoire des distributions dans l'archive sont
1213 déterminés par leurs noms de code et non par leur statut (exemple : slink). Ces
1214 noms sont identiques pendant la période de développement et une fois la
1215 distribution diffusée ; des liens symboliques, qui peuvent être modifiés
1216 facilement, indiquent l'actuelle distribution stable.
1219 Tout ceci explique pourquoi les répertoires des distributions sont nommés à
1220 partir des noms de code des distributions alors que <em>stable</em>,
1221 <em>testing</em>, <em>unstable</em> et <em>frozen</em> sont des liens
1222 symboliques qui pointent vers les répertoires appropriés.
1228 <chapt id="upload">Mise à jour de paquet
1231 <sect>Annoncer un nouveau paquet
1234 Si vous voulez créer un nouveau paquet pour la distribution Debian vous
1235 devriez commencer par consulter la liste des <url id="&url-wnpp;"
1236 name="paquets en attente d'action et paquets prospectifs">. Vous pourrez ainsi
1237 vérifier que personne ne travaille déjà sur ce paquet et éviter de dupliquer
1238 le travail. Consultez aussi cette page si vous voulez en savoir plus.
1241 Supposons que personne ne travaille sur le paquet que vous visez, vous devez
1242 alors soumettre un rapport de bogue (voir <ref id="submit-bug">) sur le
1243 pseudo-paquet <tt>wnpp</tt> et envoyer une copie à &email-debian-devel;. Ce
1244 courrier devra décrire le paquet que vous projetez de créer, la licence de ce
1245 paquet et l'URL à laquelle le source peut être téléchargé. Cette liste n'est
1246 pas limitative. Le sujet de votre rapport de bogue devra être
1247 <ITP<footnote><em>Intent To Package</em>: intention de mise en
1248 paquet</footnote>: <var>NomDuPaquet</var> -- <var> courte description
1249 </var>>, en remplaçant <var>NomDuPaquet</var> par le nom du paquet. La
1250 sévérité du bogue sera <em>whishlist</em>. Il faudra aussi ajouter une entrée
1251 <tt>Closes: bug#<var>nnnnn</var></tt> dans le fichier <file>changelog</file>
1252 du nouveau paquet. Cette indication fermera automatiquement le rapport de
1253 bogue à l'installation du nouveau paquet sur les serveurs d'archivage (voir
1254 <ref id="upload-bugfix">).
1257 Il y a plusieurs raisons qui nous poussent à demander aux responsables d'annoncer
1258 leurs intentions :
1262 Les responsables ont ainsi la possibilité de puiser dans l'expérience
1263 des autres responsables et cela leur permet de savoir si une autre personne
1264 travaille déjà dessus.
1267 D'autres personnes qui envisagent de travailler sur le même paquet
1268 apprendront ainsi qu'il existe déjà un volontaire, l'effort peut alors
1272 Cela permet aux autres responsables d'en savoir plus sur le nouveau
1273 paquet que ne le permettent la description d'une ligne et l'habituelle
1274 entrée « <em>Initial release</em> » que l'on trouve dans les
1275 fichiers <em>changelog</em> qui sont postés sur
1276 <tt>debian-devel-changes</tt>.
1279 C'est une information utile pour les gens qui utilisent la
1280 distribution <em>unstable</em> et sont nos premiers testeurs. Nous
1281 devons faciliter la tâche de ces gens.
1284 Avec ces annonces, les développeurs Debian et toutes les autres personnes
1285 intéressées peuvent se faire une meilleure idée des évolutions et nouveautés du
1294 <sect id="uploading">Mettre à jour un paquet
1297 <sect1>Générer le fichier « changes »
1300 Chaque nouvelle version de paquet installé sur les archives FTP Debian doit
1301 être accompagnée par un fichier <tt>.changes</tt>. Ce fichier explique à
1302 l'administrateur de l'archive Debian ce qu'il doit faire du paquet. Il est en
1303 général créé par <prgn>dpkg-genchanges</prgn> au cours du processus de
1304 fabrication du paquet.
1307 Le fichier <tt>changes</tt> est un fichier de contrôle qui contient les champs
1311 &control-file-fields;
1314 Tous ces champs sont obligatoires pour une installation sur les serveurs
1315 Debian. <!-- OBSOLETE, please update translation
1316 Vous pouvez consulter la liste des champs de contrôle dans le
1317 <url id="&url-pkg-manual;" name="Debian Packaging Manual"> pour connaître
1318 les valeurs que prennent ces champs. --> Vous pouvez fermer un rapport de bogue
1319 automatiquement avec le champ <tt>Description</tt> (voir <ref
1320 id="upload-bugfix">). Nous ne verrons que le champ <tt>Distribution</tt> ici
1321 car il est directement lié aux règles d'administration de l'archive.
1326 <sect1 id="upload-dist">Choisir une distribution
1329 Le champ <tt>Distribution</tt>, qui provient du fichier
1330 <file>debian/changelog</file>, indique à quelle distribution le paquet est
1331 destiné. Il y a quatre valeurs possibles pour ce champ : <em>stable</em>,
1332 <em>unstable</em>, <em>frozen</em> et <em>experimental</em> ; ces valeurs
1333 peuvent aussi être combinées. Si, par exemple, Debian a été gelée et vous
1334 voulez mettre à jour une correction de bogue sur <em>frozen</em>, il faudra
1335 indiquer <em>frozen unstable</em> dans le champ distribution (se reporter à
1336 <ref id="upload-frozen"> pour savoir quand vous pouvez faire une mise à jour
1337 sur <em>frozen</em>). Notez bien qu'il n'y a pas de raison de combiner
1338 <em>experimental</em> avec quelque distribution que ce soit.
1341 Vous devriez éviter de combiner <em>stable</em> avec d'autres cibles à cause
1342 des problèmes potentiels de dépendance de bibliothèque (pour votre paquet et
1343 pour les paquets fabriqués par le démon de compilation pour les autres
1344 architectures). Notez encore que choisir la valeur <em>stable</em> pour ce
1345 champ signifie que le paquet sera dirigé vers le répertoire
1346 <tt>proposed-update</tt> des archives Debian pour y être testé avant d'être
1347 effectivement inclus dans <em>stable</em>. L'équipe responsable de la
1348 distribution<footnote><em>the release team</em></footnote> joignable à
1349 l'adresse &email-debian-release;) prendra la décision d'inclure ou de ne pas
1350 inclure votre paquet dans la distribution <em>stable</em>. C'est pourquoi vous
1351 pourrez choisir de leur envoyer un courrier expliquant les motifs qui vous ont
1352 incité à faire une mise à jour pour <em>stable</em>, si votre fichier
1353 <file>changelog</file> n'est pas suffisamment clair sur ce point.
1356 La première fois qu'un paquet est installé dans l'archive pour une version
1357 amont donnée, le fichier <tt>tar</tt> de cette version amont doit être
1358 téléchargé et mentionné dans le fichier <tt>.changes</tt>. Par la suite, ce
1359 fichier <tt>tar</tt> sera utilisé pour générer les fichiers <tt>diff</tt> et
1360 <tt>.dsc</tt> et il ne sera pas nécessaire de le re-télécharger.
1363 Par défaut, <prgn>dpkg-genchanges</prgn> et <prgn>dpkg-buildpackage</prgn>
1364 inclurons le fichier <tt>tar</tt> amont si et seulement si le numéro de
1365 révision du paquet source est 0 ou 1, ce qui indique une nouvelle version
1366 amont. Ce comportement peut être modifié en utilisant <tt>-sa</tt> pour
1367 l'inclure systématiquement ou <tt>-sd</tt> pour ne jamais l'inclure.
1370 Si la mise à jour ne contient pas le fichier <tt>tar</tt> des sources
1371 originaux, celui qui est utilisé par <prgn>dpkg-source</prgn> pour construire
1372 les fichiers <tt>.dsc</tt> et <tt>diff</tt> de la mise à jour <em>doit</em>
1373 être identique au fichier <tt>tar</tt> déjà téléchargé à l'octet près. Si pour
1374 une raison ou pour une autre, le fichier source original diffère de celui qui
1375 a été téléchargé précédemment, la nouvelle version de ce fichier doit à nouveau
1376 être incluse dans la mise à jour (en utilisant l'option <tt>-sa</tt> par
1384 <sect2 id="upload-frozen">Mettre à jour la distribution <em>frozen</em>
1387 Le gèle de la distribution est un moment crucial pour Debian. C'est une chance
1388 de pouvoir synchroniser et stabiliser notre distribution comme un tout
1389 cohérent. Il faut donc être très vigilant quand on fait une mise à jour
1390 pour <em>frozen</em>.
1393 Il est tentant de toujours mettre en paquet la dernière version d'un logiciel
1394 pour Debian mais il est bien plus important que le système soit stable et
1395 fonctionne de la manière attendue dans son ensemble.
1398 Le mot d'ordre pour télécharger vers <em>frozen</em> est : <strong>pas de code
1399 nouveau</strong>. C'est une chose difficile à quantifier, voici quelques
1405 Les correctifs pour les bogues de sévérité <em>critique</em>,
1406 <em>grave</em> ou <em>sérieux</em><footnote>respectivement
1407 <em>critical</em>, <em>grave</em> ou <em>serious</em></footnote> sont
1408 toujours autorisés pour les paquets qui doivent exister dans la
1412 Les correctifs pour les bogues de sévérité <em>critique</em>,
1413 <em>grave</em> ou <em>sérieux</em><footnote>respectivement
1414 <em>critical</em>, <em>grave</em> ou <em>serious</em></footnote> sont
1415 autorisés pour les paquets non indispensables uniquement s'ils
1416 n'ajoutent pas de nouvelle fonctionnalité.
1419 Les correctifs pour les bogues de sévérité <em>important</em>,
1420 <em>normal</em> et <em>mineur</em><footnote>respectivement
1421 <em>important</em>, <em>normal</em> et <em>minor</em></footnote> sont
1422 autorisés, bien que découragés, sur tous les paquets si et seulement
1423 s'ils n'ajoutent pas de nouvelle fonctionnalité.
1426 Les correctifs de sévérité <em>wishlist</em> ne sont pas autorisés (ce
1427 ne sont pas vraiment des bogues après tout).
1430 Les correctifs liés à la documentation sont autorisés car il est
1431 important d'avoir une bonne documentation.
1436 L'expérience montre qu'il y a 15% de chance d'introduire un nouveau bogue en
1437 corrigeant un autre bogue. L'introduction et la découverte d'un nouveau bogue
1438 retarde la mise à disposition de la distribution ou affaiblit le produit
1439 final. Il y a très peu de corrélation entre la sévérité du bogue corrigé et
1440 la sévérité du bogue introduit par le correctif.
1445 <sect1 id="upload-checking">Vérifier le paquet avant la mise à jour
1448 Avant de mettre à jour votre paquet vous ferez quelques tests de base. Vous
1449 devrez au moins faire les tests suivants (il vous faudra une ancienne version
1450 du paquet pour cela):
1454 Installez le paquet et vérifiez que le logiciel fonctionne. Si le
1455 paquet existait déjà dans une version plus ancienne, faites une mise à
1459 Exécutez <prgn>lintian</prgn> sur votre paquet. Vous pouvez exécuter
1460 <prgn>lintian</prgn> comme suit : <tt>lintian -v
1461 <var>package-version</var>.changes</tt>. Ce programme fera une
1462 vérification sur les paquets source et binaire. Si vous ne comprenez
1463 par les messages générés par <prgn>lintian</prgn> essayez l'option
1464 <tt>-i</tt>. Cette option rendra <prgn>lintian</prgn> beaucoup plus
1465 bavard dans sa description du problème. <p> Un paquet pour lequel
1466 <prgn>lintian</prgn> génère des erreurs (elles commencent par
1467 <tt>E</tt>) <em>ne doit pas</em> être installé dans l'archive.
1470 Pour en savoir plus sur <prgn>lintian</prgn> reportez-vous à la
1471 section lintian <ref id="lintian">. <item> Faites régresser le paquet
1472 vers sa version précédente si elle existe -- cela permet de tester les
1473 scripts <tt>postrm</tt> et <tt>prerm</tt>.
1476 Désinstallez le paquet et réinstallez-le.
1484 <sect1 id="upload-ftp-master">Installer un paquet sur
1488 Pour installer un paquet vous avez besoin d'un compte sur
1489 <ftpsite>ftp-master</ftpsite>, ce que vous devez avoir en temps que
1490 développeur Debian. Si vous utilisez <prgn>scp</prgn> ou <prgn>rsync</prgn>
1491 pour télécharger vos paquets, placez les dans
1492 <ftppath>&us-upload-dir;</ftppath>. Si vous utilisez un FTP anonyme, placez
1493 les dans <ftppath>/pub/UploadQueue/</ftppath>.
1496 <em>Note :</em> ne téléchargez pas de paquet soumis aux lois de contrôle des
1497 exportations U.S. sur le serveur <tt>ftp-master</tt>, ni sur les serveurs
1498 <tt>chiark</tt> et <tt>erlangen</tt>. Cet interdit couvre à peu près tous les
1499 logiciels de cryptographie ainsi que quelques logiciels liés aux logiciels de
1500 cryptographie comme les clients de courrier électronique qui utilisent le
1501 cryptage et l'authentification PGP. Ces logiciels doivent être téléchargés sur
1502 le serveur <tt>non-us</tt>. Reportez-vous à la section <ref
1503 id="upload-non-us"> pour en savoir plus. Si vous ne savez pas si votre paquet
1504 est soumis aux lois de contrôle des exportations U.S. posez la question sur la
1505 liste &email-debian-devel;.
1508 Le paquet <package>dupload</package> pourra vous faciliter le travail lors du
1509 téléchargement. Ce programme, bien pratique, est configuré par défaut pour
1510 se connecter par FTP sur les serveurs <tt>ftp-master</tt>,
1511 <tt>chiark</tt> et <tt>erlangen</tt>. Il peut aussi être configuré pour
1512 utiliser <prgn>ssh</prgn> ou <prgn>rsync</prgn>. Se reporter à <manref
1513 name="dupload" section="1"> et <manref name="dupload" section="5"> pour en
1517 Après avoir téléchargé votre paquet, vous pouvez vérifier ce qu'en fera le
1518 logiciel de maintenance de l'archive en exécutant <prgn>dinstall</prgn>
1519 sur votre fichier <file>.changes</file> :
1521 <example>dinstall -n foo.changes</example>
1527 <sect1 id="upload-non-us">Installer un paquet sur <tt>non-us</tt>
1531 Comme nous l'avons dit un peu plus haut, les programmes soumis au contrôle
1532 des exportations U.S. ne doivent pas être installés sur <tt>ftp-master</tt>.
1533 Pour installer votre paquet, utilisez <prgn>scp</prgn> ou alors ouvrez une
1534 session FTP sur <ftpsite>non-us.debian.org</ftpsite> en vous identifiant avec
1535 votre login. Par défaut, vous pouvez utiliser le même <em>login/mot de
1536 passe</em> que pour <tt>ftp-master</tt>.
1539 Le programme <prgn>dupload</prgn> est, lui aussi, capable de télécharger sur
1540 <tt>non-us</tt> ; consultez la documentation de ce programme pour en savoir
1544 Tout comme sur <tt>ftp-master</tt>, vous pouvez vérifier votre téléchargement
1547 <example>dinstall -n foo.changes</example>
1552 <sect1>Installer un paquet via <tt>chiark</tt>
1555 Si votre connexion vers <tt>ftp-master</tt> est lente, vous avez plusieurs
1556 alternatives. L'une d'elles consiste à télécharger vos fichiers dans
1557 <tt>Incoming</tt> en passant par le serveur <tt>chiark</tt> en Europe. Comme
1558 cette file d'attente des mises à jour est redirigée vers <tt>ftp-master</tt>,
1559 les indications de la section <ref id="upload-ftp-master"> sont applicable ici
1563 Le programme <prgn>dupload</prgn> est capable de télécharger sur
1564 <tt>chiark</tt> ; consultez la documentation de ce programme pour en savoir
1569 <sect1>Installer un paquet via <tt>erlangen</tt>
1572 Vous pouvez aussi accéder à un serveur situé en Allemagne : il vous suffit
1573 d'ouvrir une connexion anonyme sur :
1576 <url id="&url-upload-erlangen;">.
1579 Le téléchargement fait sur ce serveur doit être aussi complet que si il
1580 était fait dans le répertoire <tt>Incoming</tt> sur <tt>ftp-master</tt>,
1581 c'est à dire un fichier <file>.changes</file> et tous les fichiers mentionnés
1582 dans ce dernier. Le serveur vérifie que le fichier <tt>.changes</tt> est bien
1583 signé avec la clé PGP d'un développeur Debian pour éviter que des faux
1584 paquets n'atteignent <tt>ftp-master</tt>. Vérifiez bien que le champ
1585 <tt>Maintainer</tt> du fichier <tt>.changes</tt> contient <em>votre</em>
1586 adresse électronique. De même que sur <tt>ftp-master</tt>, cette adresse est
1587 ensuite utilisée pour toutes les réponses.
1590 Il n'est pas nécessaire de déplacer votre fichier dans un autre répertoire
1591 après le téléchargement, contrairement au serveur <tt>chiark</tt>. Vous
1592 devriez ensuite recevoir un courrier du serveur expliquant ce qu'il a fait de
1593 votre paquet. Normalement, il devrait être déplacé vers
1594 <tt>ftp-master</tt> ;
1595 vous serez informé par le même biais si une erreur s'est produite au cours du
1599 <em>Note :</em> ne téléchargez pas de paquets contenant des logiciels tombant
1600 sous le coup de la loi de contrôle des exportations U.S. sur
1601 <tt>erlangen</tt>. Comme les paquets téléchargés ici vont vers
1602 <tt>ftp-master</tt>, les règles décrites dans la section <ref
1603 id="upload-ftp-master"> sont appliquables ici aussi.
1606 Le programme <prgn>dupload</prgn> est capable de télécharger sur
1607 <tt>erlangen</tt> ; consultez la documentation de ce programme pour en savoir
1614 <sect1>Les autres serveurs
1617 Un autre serveur est disponible aux États-Unis ; c'est un bon point
1618 de repli quand il est difficile de joindre <tt>ftp-master</tt>. Livrez vos
1619 paquets à l'adresse <url id="&url-upload-samosa;"> comme vous le feriez sur
1622 Il existe aussi un serveur au Japon : téléchargez vos paquet par FTP
1623 anonyme sur <url id="&url-upload-jp;">.
1628 <sect id="upload-announce">Annoncer une mise à jour
1631 Quand un paquet est mis à jour, une annonce doit être envoyée sur l'une des
1632 listes « debian-changes ». Ceci est maintenant géré automatiquement
1633 par le logiciel de gestion de l'archive quand il est exécuté (en principe une
1634 fois par jour). Vous devez juste utiliser une version récente de
1635 <package>dpkg-dev</package> (>= 1.4.1.2). Le courrier généré par le
1636 logiciel de maintenance de l'archive contiendra le fichier <tt>.changes</tt>
1637 signé que vous avez livré avec votre paquet. Précédemment, cette charge
1638 revenait à <prgn>dupload</prgn> ; vérifiez que vous avez bien configuré
1639 <prgn>dupload</prgn> pour qu'il n'envoie pas ces annonces (cherchez
1640 <tt>dinstall_runs</tt> dans la documentation de <prgn>dupload</prgn>).
1643 Si un paquet est mis à jour pour la distribution <em>stable</em>, l'annonce
1644 est envoyée sur la liste :
1647 <tt> &email-debian-changes;.</tt>
1650 S'il est mis à jour pour les distributions <em>unstable</em>,
1651 <em>experimental</em> ou <em>frozen</em>, l'annonce est envoyée sur la liste
1652 &email-debian-devel-changes;.
1655 De temps en temps, il est nécessaire de mettre à jour simultanément les
1656 distributions <em>stable</em> et <em>unstable</em> ; cela est possible en
1657 indiquant les deux distributions sur la ligne <tt>Distribution:</tt>. Dans ce
1658 dernier cas, l'annonce sera faite sur les deux listes de diffusion citées
1662 Le programme <prgn>dupload</prgn> est suffisamment intelligent pour déterminer
1663 où devra aller l'annonce et envoyer le mail sur la bonne liste. Voir <ref
1669 <sect id="upload-notification">
1670 <heading>Notification d'installation d'un nouveau paquet</heading>
1673 Les administrateurs de l'archive Debian sont responsables de l'installation
1674 des mises à jour. Pour la plupart, les mises à jour sont gérées
1675 quotidiennement par le logiciel de gestion de l'archive <prgn>dak</prgn>
1676 (aussi appelé <prgn>katie</prgn> ou <prgn>dinstall</prgn>). Les mises à jour
1677 de paquets sur la distribution <em>unstable</em>, en particulier, sont
1678 installés ainsi. Dans les autres cas et notamment dans le cas d'un nouveau
1679 paquet, celui-ci sera installé manuellement. Il peut s'écouler jusqu'à un mois
1680 entre le téléchargement d'un paquet vers un serveur et son installation
1681 effective. Soyez patients.
1684 Dans tous les cas vous recevrez un accusé de réception par courrier
1685 électronique indiquant que votre paquet a été installé. Lisez attentivement ce
1686 courrier. Vous pourriez remarquer que votre paquet n'a pas été installé dans
1687 la section que vous aviez désignée. La raison de ce changement sera dans le
1693 <sect1 id="override-file">Le fichier <em>override</em>
1696 Les champs <tt>Section</tt> et <tt>Priority</tt> du fichier
1697 <file>debian/control</file> n'indiquent ni où le paquet sera installé dans
1698 l'archive Debian ni sa priorité. Afin de conserver la
1699 cohérence de l'archive, ce sont les administrateurs qui contrôlent ces
1700 champs. Les valeurs du fichier <file>debian/control</file> sont juste des
1704 Les administrateurs de l'archive tracent les sections et priorités des paquets
1705 dans le fichier <em>override</em>. De temps en temps, ce fichier doit être
1706 corrigé. Modifier le fichier <file>control</file> du paquet n'aura aucun
1707 effet. Il vous faudra écrire à &email-override; ou faire un rapport de bogue
1708 sur le pseudo-paquet <package>ftp.debian.org</package>.
1711 Pour en savoir plus sur le fichier <em>override</em>, reportez vous à <manref
1712 name="dpkg-scanpackages" section="8">, &file-bts-mailing; et &file-bts-info;.
1717 <chapt id="nmu">Mise à jour indépendante
1720 Dans certaines circonstances il est nécessaire qu'une personne autre que le
1721 responsable d'un paquet fasse une mise à jour de ce paquet. Ce type de mise à
1722 jour est désigné en anglais par l'expression <em>non-maintainer upload
1723 (NMU)</em>. Dans le présent document, nous traduisons librement cette
1724 expression par « mise à jour indépendante ».
1727 Ces mises à jour indépendantes font partie du travail normal des porteurs qui
1728 compilent les paquets pour d'autres architectures (voir <ref id="porting">).
1729 Nous faisons aussi des mises à jour indépendantes quand un développeur Debian
1730 corrige le paquet d'un autre développeur pour éliminer un trou de sécurité
1731 ou un bogue paralysant. Cela se produit plus particulièrement en période de
1732 gel de la distribution de développement ou quand le responsable officiel du
1733 paquet ne peut pas fournir un correctif dans un délai raisonnable.
1736 Ce chapitre contient des informations qui vous expliquerons quand et comment
1737 faire des livraisons indépendantes. Une distinction fondamentale doit être
1738 faite entre les mises à jour indépendantes sources et les mises à jour
1739 indépendantes binaires. Elle est explicitée dans la section suivante.
1742 <sect id="nmu-terms">Terminologie
1745 Deux nouvelles expressions sont introduites dans cette section :
1746 « mise à jour indépendante source » et « mise à
1747 jour indépendante binaire ». Ces expressions ont une définition bien
1748 spécifique dans le monde Debian. Elles correspondent toutes deux au même type
1749 d'activité ; elles impliquent toutes deux qu'une personne fasse une mise à
1750 jour d'un paquet alors qu'elle n'est pas officiellement responsable de ce
1751 paquet. C'est pourquoi nous qualifions ces mises à jours
1752 d'<em>indépendantes</em><footnote>Contrairement à ce que pourrait laisser
1753 entendre cette traduction de <em>non-maintainer upload</em>, il n'est pas
1754 question d'agir sans prévenir le responsable au préalable (voir <ref
1755 id="nmu-guidelines">).</footnote>.
1758 Une mise à jour indépendante source est une livraison de paquet faite par
1759 une personne qui n'est pas le responsable officiel de ce paquet avec pour
1760 objectif de corriger un bogue dans le paquet. Une mise à jour indépendante
1761 source implique toujours une modification des sources du paquet, même s'il
1762 ne s'agit que d'un changement dans le fichier <file>debian/changelog</file>.
1763 Ce changement peut tout aussi bien concerner la version amont du source que la
1764 partie du source spécifique à Debian.
1767 Une mise à jour indépendante binaire est une recompilation et un archivage
1768 d'un paquet pour une nouvelle architecture. Il s'agit souvent du résultat d'un
1769 effort de portage. Une mise à jour indépendante binaire est la livraison d'un
1770 paquet compilé (souvent pour une autre architecture) à condition qu'elle n'ait
1771 pas nécessité de modification des sources. Dans de nombreux cas, les porteurs
1772 sont obligés de modifier les sources pour les rendre compilables sur leur
1773 architecture cible ; il s'agira alors d'une mise à jour indépendante source et
1774 non d'une mise à jour indépendante binaire. Comme vous pouvez le remarquer
1775 nous ne faisons pas de distinction entre les mises à jour indépendantes des
1776 porteurs et les autres mises à jour indépendantes dans le vocabulaire.
1779 Les mises à jours indépendantes sources et binaires sont toutes deux couvertes
1780 par l'expression « mise à jour indépendante »
1781 (NMU<footnote>Non-maintainer upload</footnote>). Pourtant cela conduit souvent
1782 à des confusions car beaucoup associent « mise à jour indépendante »
1783 et « mise à jour indépendante source ». Il faut donc rester
1784 vigilant. Dans ce chapitre, si j'utilise « mise à jour
1785 indépendante » seul, il s'agit des deux types de livraison.
1791 <sect id="nmu-who">Qui peut faire une mise à jour indépendante
1794 Seuls les responsables Debian officiels peuvent faire des mises à jour
1795 indépendantes. Un responsable officiel est une personne dont la clé est dans
1796 le porte-clés Debian. Toute personne est invitée à télécharger les paquets
1797 sources pour corriger des bogues ; au lieu de faire des mises à jour
1798 indépendantes, ils pourront soumettre les correctifs qui le méritent au
1799 système de suivi des bogues. Les responsables apprécient presque toujours les
1800 rustines et les rapports de bogue soignés.
1803 <sect id="nmu-when">Quand faire une mise à jour indépendante source
1806 Les recommandations pour déterminer quand faire une mise à jour indépendante
1807 source dépendent de la distribution visée (i.e. stable, instable ou
1808 gelée). Les porteurs, ayant une activité particulière, obéissent à des règles
1809 légèrement différentes (voir <ref id="source-nmu-when-porter">).
1812 La distribution stable ne peut recevoir que des correctifs critiques ou des
1813 mises à jour de sécurité. Quand une faille de sécurité est détectée, un
1814 correctif doit être livré le plus tôt possible. Dans ce cas, le responsable de
1815 sécurité Debian<footnote>Debian Security Manager</footnote> entrera en contact
1816 avec le responsable du paquet pour s'assurer qu'un correctif sera livré dans
1817 un délai raisonnable (moins de 48 heures). Si le mainteneur ne peut pas
1818 fournir ce correctif suffisamment vite ou s'il ne peut être joint à temps, le
1819 responsable de sécurité pourra corriger le paquet (i.e. faire une mise à jour
1820 indépendante source).
1823 Pendant la phase de gel (voir <ref id="upload-frozen">), les livraisons qui
1824 corrigent les bogues de sévérité <em>sérieux</em> (i.e. <em>serious</em>) et
1825 supérieures sont encouragées et acceptées. Même pendant cette période, vous
1826 devrez tenter d'entrer en contact avec le responsable du paquet ; il pourrait
1827 bien être sur le point de livrer un paquet corrigé lui aussi. Comme pour
1828 n'importe quelle mise à jour indépendante source, les recommandations de la
1829 section <ref id="nmu-guidelines"> doivent être respectées.
1832 Les mises à jour indépendantes sont aussi acceptable pour la distribution
1833 instable mais seulement en dernier ressort
1834 ou avec une autorisation. Essayez d'abord ce qui suit, si cela ne fonctionne
1835 pas il est probablement correct de faire une mise à jour indépendante
1836 <em>(NMU)</em> :
1841 Vérifiez que le bogue est bien référencé dans le système de suivi des
1842 bogues. S'il n'y est pas, faite un rapport de bogue.
1845 Envoyez un courrier au responsable du paquet et proposez votre aide
1846 pour corriger le bogue. Donnez-lui quelques jours.
1849 Lancez-vous. Corrigez le bogue et envoyez votre rustine au système de
1850 suivi des bogues. Construisez le paquet et testez le comme décrit dans
1851 la section <ref id="upload-checking">. Utilisez le paquet chez vous.
1854 Attendez une réponse pendant quelques semaines.
1857 Envoyez un courrier au responsable lui demandant son accord pour faire
1858 une mise à jour indépendante <em>(NMU)</em>.
1861 Vérifiez une nouvelle fois que votre modification n'a pas d'effet de
1862 bord inattendu et qu'elle est aussi minimaliste et peu intrusive que
1866 Attendez une réponse une semaine encore.
1869 Faites votre mise à jour indépendante comme décrit dans la section
1870 <ref id="nmu-guidelines">.
1879 <sect id="nmu-guidelines">Comment faire une mise à jour indépendante
1883 Les règles qui suivent s'appliquent aux porteurs tant qu'ils jouent le double
1884 rôle de correcteur de bogue et de porteur. Si un porteur doit modifier le
1885 paquet source, cette mise à jour est automatiquement une mise à jour
1886 indépendante source et est soumise aux règles qui suivent. Si un porteur
1887 construit un paquet binaire recompilé les règles sont différentes (voir <ref
1888 id="porter-guidelines">.
1891 Tout d'abord il est capital que ces mises à jour indépendantes soient aussi peu
1892 intrusives que possible. Ne faites pas de ménage, ne modifiez pas le nom des
1893 modules ou des fichiers, ne déplacez pas les répertoires ; plus généralement ne
1894 corrigez pas ce qui n'est pas cassé. Faites une rustine aussi petite que
1895 possible. Si certaines choses froissent votre sens de l'esthétique, parlez en
1896 au responsable du paquet, au responsable amont ou soumettez un rapport de
1897 bogue. Quoiqu'il en soit, les changements esthétiques <em>ne doivent pas</em>
1898 être fait lors d'une mise à jour indépendante.
1904 <sect1 id="nmu-version">Numéro de version pour les mises à jour
1905 indépendantes sources
1908 Chaque fois que vous modifiez un paquet, le numéro de version de ce paquet doit
1909 changer, même pour la plus triviale des modifications. Notre système de
1910 gestion de paquets s'appuie sur ces numéros de version.
1913 Si vous faites une mise à jour indépendante <em>(NMU)</em>, vous devez ajouter
1914 un numéro de version mineur à la partie <var>debian-revision</var> du numéro
1915 de version (la partie qui suit le dernier trait d'union). Ce numéro
1916 supplémentaire débutera à « 1 ». Prenons pour exemple le paquet
1917 « foo » qui porte le numéro de version 1.1-3. Dans l'archive, le
1918 fichier de contrôle du paquet source serait <file>foo_1.1-3.dsc</file>. La
1919 version amont est « 1.1 » et la révision Debian est « 3 ».
1920 La mise à jour indépendante suivante ajouterait le numéro de version mineur
1921 « .1 » au numéro de révision Debian; le nouveau fichier de contrôle
1922 du paquet source serait alors <file>foo_1.1-3.1.dsc</file>.
1925 Le numéro de révision mineur est nécessaire pour éviter de prendre un numéro
1926 de version au responsable officiel du paquet, ce qui pourrait perturber son
1927 travail. Cela a aussi l'avantage de montrer clairement que le paquet n'a pas
1928 été livré par le responsable officiel.
1931 S'il n'y a pas de partie <var>debian-revision</var> dans le numéro de version
1932 du paquet, il faut en créer une en démarrant à « 0.1 ». S'il est
1933 absolument nécessaire qu'une personne qui n'est pas responsable d'un paquet
1934 fasse une livraison basée sur une nouvelle version amont alors cette personne
1935 doit choisir « 0.1 » comme numéro de révision Debian. Le mainteneur
1936 du paquet doit lui démarrer sa numérotation à « 1 ». Notez que pour
1937 faire cela vous devrez utiliser <prgn>dpkg-buildpackage</prgn> avec l'option
1938 <tt>-sa</tt> pour le forcer à utiliser le nouveau paquet source (par défaut il
1939 reconnait les numéros de révisions « 0 » ou « 1 » -- il
1940 n'est pas suffisamment intelligent pour reconnaître « 0.1 »).
1943 Attention, les porteurs qui ne font que recompiler les paquets pour d'autres
1944 architectures n'ont pas besoin de renuméroter les paquets. Les porteurs ne
1945 doivent utiliser de nouveaux numéros de version que s'ils modifient les
1946 paquets sources qu'ils recompilent, c'est à dire s'ils font une mise à jour
1947 indépendante source et non une mise à jour indépendante binaire.
1953 <sect1 id="nmu-changelog">
1954 <heading>Les mises à jour indépendantes sources doivent être
1955 mentionnées dans le fichier changelog</heading>
1958 Une personne qui fait une mise à jour indépendante source doit ajouter une
1959 entrée dans le fichier <file>changelog</file> qui précise les bogues corrigés
1960 et, en général, pourquoi cette mise à jour était nécessaire. Cette entrée
1961 comportera aussi l'adresse de la personne ayant fait la mise à jour et la
1965 Par convention, dans le cas d'une mise à jour indépendante source
1966 <em>(NMU)</em>, l'entrée du fichier changelog débute par la ligne
1969 * Non-maintainer upload
1976 <sect1 id="nmu-patch">Mise à jour indépendante source et système
1980 Un développeur qui n'est pas responsable d'un paquet doit faire aussi peu de
1981 modifications que possible et doit toujours envoyer ses modifications au
1982 système de suivi des bogues au format diff unifié (<tt>diff -u</tt>).
1985 Et si vous vous contentez de recompiler le paquet ? Le processus diffère
1986 suivant que vous agissez en temps que porteur ou pas. Si vous faites une mise
1987 à jour indépendante qui ne nécessite rien de plus qu'une recompilation et
1988 n'agissez pas en temps que porteur (i.e. une nouvelle bibliothèque partagée
1989 est disponible, un bogue a été corrigé dans <package>debhelper</package>),
1990 vous devez tout de même ajouter une entrée dans le fichier <em>changelog</em>;
1991 il y aura donc une modification. Si vous êtes porteur, vous êtes probablement
1992 en train de faire une mise à jour indépendante binaire. (Note : ce système ne
1993 tient pas compte des porteurs qui font des recompilations -- tenez cela pour
1994 une faiblesse de notre système de gestion des paquets.)
1997 Si la mise à jour indépendante source corrige des bogues, vous devez le
1998 <em>notifier</em> au système de suivi des bogues mais vous ne devez pas
1999 <em>clore</em> les rapports de bogue. Seul le responsable officiel d'un paquet
2000 et le rapporteur du bogue sont autorisés à fermer un rapport de bogue.
2001 Cependant, la personne qui fait une mise à jour indépendante doit envoyer une
2002 note à chaque bogue concerné expliquant qu'il est corrigé par cette mise à
2003 jour indépendante. Cette personne doit ensuite utiliser l'adresse
2004 <email>control@bugs.debian.org</email> pour modifier la sévérité des bogues
2005 corrigés et leur donner la valeur <em>corrigé</em> (i.e. <em>fixed</em>).
2006 Cela permet de s'assurer que chacun sait que le bogue est corrigé par une mise
2007 à jour indépendante tout en laissant le rapport de bogue ouvert jusqu'à ce que
2008 le responsable du paquet incorpore les modifications de cette mise à jour dans
2009 la version officielle du paquet. Si nécessaire, ouvrez des rapports de bogue
2010 avec les rustines correspondantes ou assurez vous que l'un des rapports de
2011 bogue déjà ouvert comporte ses rustines.
2014 Le responsable officiel pourra choisir d'appliquer la rustine, il pourra aussi
2015 employer une autre méthode pour régler le problème. Certains bogues sont
2016 corrigés dans la version amont, ce qui est une bonne raison pour annuler les
2017 modifications d'une mise à jour indépendante. Si le responsable choisit de
2018 mettre à jour le paquet sans utiliser les rustines de la mise à jour
2019 indépendante, il devra s'assurer que cette nouvelle version corrige
2020 effectivement chacun des bogues corrigés par la version indépendante.
2023 De plus, le responsable officiel devrait <em>toujours</em> conserver les
2024 entrées documentant une mise à jour indépendante dans le fichier
2025 <file>changelog</file>.
2032 <sect1 id="nmu-build">Fabriquer une mise à jour indépendante
2035 Les paquets des mises à jour indépendantes sources sont construits comme les
2036 autres. Sélectionnez une distribution en utilisant les règles décrites dans
2037 la section <ref id="upload-dist"> et construisez un fichier <tt>.changes</tt>
2038 classique avec tout ce qui l'accompagne conformément à la description <ref
2042 En fait toutes les prescriptions de la section <ref id="upload"> sont
2043 applicables ici, y compris l'obligation d'annoncer la mise à jour sur la liste
2047 Vérifiez que vous n'avez pas modifié la valeur du champ <tt>maintainer</tt>
2048 dans le fichier <file>debian/control</file>. Votre nom, mentionné dans
2049 l'entrée de la mise à jour dans le fichier <file>debian/changelog</file>, sera
2050 utilisé pour signer le fichier <tt>.changes</tt>.
2055 <chapt id="porting">Porter et être porté
2058 Debian supporte un nombre croissant d'architectures. Même si vous n'êtes pas
2059 un porteur et même si vous n'utilisez qu'une architecture, il est de votre
2060 responsabilité de développeur d'être attentif aux questions de portabilité.
2061 C'est pourquoi il est important que vous lisiez ce chapitre même si vous
2062 n'êtes pas un porteur.
2065 Porter un paquet consiste à faire un paquet binaire pour une architecture
2066 différente du paquet binaire fait par le responsable du paquet. C'est une
2067 activité unique et essentielle. En fait, les porteurs sont à l'origine
2068 de la plupart des compilations de paquet Debian. Pour un paquet binaire
2069 <em>i386</em>, par exemple, il faut compter une recompilation pour chaque
2070 autre architecture, soit un total de cinq recompilations.
2075 <sect id="kind-to-porters">Être gentil avec les porteurs
2078 Les porteurs ont une tâche unique et difficile car ils doivent gérer un grand
2079 nombre de paquets. Idéalement, tout paquet source devrait compiler sans
2080 modification. Malheureusement, c'est rarement le cas. Cette section contient
2081 une liste d'erreurs commises régulièrement par les responsables Debian --
2082 problèmes courants qui bloquent souvent les porteurs et rendent leur travail
2083 inutilement plus difficile.
2086 Ici, le mot d'ordre est de répondre rapidement aux rapports de bogues et
2087 remarques soulevées par les porteurs. Traitez-les courtoisement, comme s'ils
2088 étaient co-responsables de vos paquets (ce qu'ils sont d'une certaine
2092 Les problèmes les plus couramment rencontrés par les porteurs sont causés par
2093 des erreurs de mise en paquet dans le paquet source. Voici une
2094 <em>checklist</em> de choses auxquelles vous devez être attentif et vérifier.
2098 Ne choisissez pas d'autre valeur que <em>all</em> ou <em>any</em> pour
2099 le champ architecture sans avoir de bonnes raisons pour le faire.
2100 <!-- OBSOLETE, please update translation
2102 souvent, les développeurs ne respectent pas les instructions du
2103 <url id="&url-pkg-manual;" name="Debian Packaging Manual">. --> Choisir
2104 la valeur « i386 » est la plupart du temps incorrect.
2107 Vérifiez que votre paquet source est bon. Faites <tt>dpkg-source -x
2108 <var>package</var>.dsc</tt> pour vous assurer que le paquet se
2109 désarchive correctement. En utilisant le résultat de ce test,
2110 construisez votre paquet binaire à l'aide de la commande
2111 <tt>dpkg-buildpackage</tt>.
2114 Vérifiez que les fichiers <file>debian/files</file> et
2115 <file>debian/substvars</file> ne sont pas dans votre paquet source.
2116 Ils doivent être effacés par la cible <em>clean</em> de
2117 <file>debian/rules</file>.
2120 Assurez-vous que vous ne vous appuyez pas sur des éléments de
2121 configuration ou des logiciels installés ou modifiés localement. Par
2122 exemple, vous ne devriez jamais appeler des programmes dans
2123 <file>/usr/local/bin</file> ou équivalents. Essayez de ne pas vous
2124 appuyer sur des logiciels configurés de manière spéciale. Essayez de
2125 construire votre paquet sur une autre machine, même s'il s'agit de la
2129 Ne vous appuyez pas sur une installation préexistante de votre paquet
2130 (un sous-cas de la remarque précédente).
2133 Ne supposez pas qu'<prgn>egcc</prgn> est disponible, ni que vous
2134 utilisez une version précise de <prgn>gcc</prgn>.
2137 Vérifiez que votre <file>debian/rules</file> distingue les cibles
2138 <em>binary-arch</em> et <em>binary-indep</em> comme l'exige le
2139 <em>Debian packaging manual</em>. Vérifiez que ces cibles sont
2140 indépendantes l'une de l'autre, c'est à dire qu'il n'est pas
2141 nécessaire d'invoquer l'une de ces cibles avant d'invoquer l'autre.
2142 Pour vérifier cela, essayez d'exécuter <tt>dpkg-buildpackage -b</tt>.
2149 <sect id="porter-guidelines">Instructions pour les mises à jour des
2153 Si le paquet se construit tel quel sur l'architecture que vous visez vous avez
2154 de la chance et votre travail est facile. Cette section s'applique dans ce
2155 cas ; elle décrit comment construire et installer correctement votre mise à
2156 jour indépendante binaire dans l'archive Debian. Si vous devez modifier le
2157 paquet pour le rendre compilable sur votre architecture cible vous devez faire
2158 une mise à jour des sources, consultez la section <ref id="nmu-guidelines">.
2161 Pour une mise à jour indépendante binaire, ne faites pas de changement
2162 dans les sources. Vous n'avez pas besoin de modifier les fichiers du paquet
2163 source (cela inclut <file>debian/changelog</file>).
2166 Parfois il est nécessaire de recompiler des paquets quand d'autres paquets,
2167 tels que les bibliothèques, ont été mis à jour. Dans ce cas, vous devez
2168 changer le numéro de version pour que le système de gestion des paquets
2169 fonctionne correctement. Ce type de mise à jour reste une mise à jour
2170 indépendante binaire -- il n'est pas nécessaire de faire une recompilation sur
2171 toutes les architectures. Vous devez utiliser la même règle de numérotation
2172 que pour une mise à jour indépendante mais en ajoutant « .0. »
2173 devant le numéro de révision Debian. Par exemple une recompilation du paquet
2174 source « foo_1.3-1 » portera le numéro de version
2175 <tt>foo_1.3-1.0.1</tt>.
2178 La manière d'invoquer <prgn>dpkg-buildpackage</prgn> est la suivante
2179 <tt>dpkg-buildpackage -B -m<var>adresse-porteur</var></tt>. Bien sûr,
2180 remplacez <var>adresse-porteur</var> par votre adresse électronique. Cette
2181 commande construira les portions du paquet qui dépendent de l'architecture, en
2182 utilisant la cible <em>binary-arch</em> de <file>debian/rules</file>.
2189 <sect1 id="source-nmu-when-porter"> <heading>Quand faire une mise à
2190 jour indépendante source pour un portage</heading>
2193 Les porteurs qui font des mises à jours indépendantes sources suivent
2194 généralement des instructions de la section <ref id="nmu"> tout comme les
2195 non-porteurs. Les délais d'attente sont cependant plus court car les porteurs
2196 doivent manipuler un grand nombre de paquets.
2199 À nouveau, la situation diffère selon la distribution visée. Une correction
2200 cruciale (i.e. rendre un paquet compilable sur une architecture supportée par
2201 la prochaine distribution) peut être installé <em>sans</em> délai pour la
2205 Si vous êtes porteur et faites une mise à jour pour <em>unstable</em>, les
2206 instructions précédentes sont applicables à deux différences près. Tout
2207 d'abord, le temps d'attente raisonnable -- délai entre le moment ou vous
2208 envoyez un rapport au système de suivi des bogues et le moment où vous pouvez
2209 faire une mise à jour indépendante <em>(NMU)</em> -- est de sept jours. Ce
2210 délai peut être raccourci si le problème est crucial et mets l'effort de
2211 portage en difficulté, à la discrétion de l'équipe de portage. (Souvenez vous,
2212 il ne s'agit pas d'un règlement mais de recommandations communément
2216 Deuxième différence, les porteurs qui font des mises à jour indépendantes
2217 sources doivent choisir une sévérité <em>sérieux</em> (i.e.
2218 <em>serious</em>)ou supérieure quand ils envoient leur rapport au système de
2219 suivi des bogues. Ceci assure qu'un paquet source unique permet de produire un
2220 paquet binaire pour chaque architecture supportée au moment de la sortie de la
2221 distribution. Il est très important d'avoir un paquet source et un paquet
2222 binaire pour toutes les architectures pour être conforme à plusieurs licences.
2225 Les porteurs doivent éviter d'implémenter des contournements pour
2226 des bogues de l'environnement de compilation, du noyau ou de la libc. Quelques
2227 fois ces contournements sont inévitables. Si vous devez faire quelque chose de
2228 ce genre, marquez proprement vos
2229 modifications avec des <tt>#ifdef</tt> et documentez votre contournement pour
2230 que l'on sache le retirer une fois que le problème aura disparu.
2233 Les porteurs peuvent aussi avoir une adresse où ils publient le résultat de
2234 leur travail pendant le délai d'attente. Ainsi d'autres personnes peuvent
2235 bénéficier du travail du porteur même pendant ce délai. Bien sûr ces adresses
2236 n'ont rien d'officiel alors soyez sur vos gardes si vous les utilisez.
2241 <sect>Outils pour les porteurs
2244 Ils y a plusieurs outils pour le travail de portage. Cette section contient
2245 une courte description de ces outils ; reportez-vous à la documentation de
2246 leurs paquets ou aux références citées ci-après pour une description complète.
2251 <sect1 id="quinn-diff">
2252 <heading><package>quinn-diff</package
2255 <package>quinn-diff</package> est utilisé pour localiser les différences d'une
2256 architecture à l'autre. Il pourrait vous dire, par exemple, quels paquets de
2257 l'architecture <var>X</var> doivent être portés sur l'architecture <var>Y</var>.
2264 <heading><package>buildd</package>
2267 Le système <package>buildd</package> est un système distribué pour la
2268 compilation d'une distribution. Il est habituellement utilisé en conjonction
2269 avec des automates de compilation, ce sont des machines « esclave »
2270 qui récupèrent des paquets sources et tentent de les compiler. Il est aussi
2271 possible d'interagir par courrier électronique avec ce système. Cette
2272 interface est utilisée par les porteurs pour récupérer un paquet source (en
2273 général un paquet qui ne peut être compilé automatiquement) et travailler
2277 <package>buildd</package> n'est pas disponible sous forme de paquet ;
2278 pourtant, la plupart des équipes de porteurs l'utilisent aujourd'hui ou ont prévu
2279 de l'utiliser bientôt. Il regroupe un ensemble de composants très utiles,
2280 continuellement utilisés mais non encore mis en paquet tels que
2281 <prgn>andrea</prgn>, <prgn>sbuild</prgn> et <prgn>wanna-build</prgn>.
2284 Une partie des informations produites par <package>buildd</package> -- utiles
2285 pour les porteurs -- est disponible sur la toile à l'adresse <url
2286 id="&url-buildd;">. Ces informations incluent les résultats produits toutes
2287 les nuits par <prgn>andrea</prgn> (dépendances des sources) et
2288 <prgn>quinn-diff</prgn> (paquets à recompiler). <p> Nous sommes très
2289 enthousiasmés par ce système car il a de nombreux usages potentiels. Des
2290 groupes de développeurs indépendants peuvent utiliser ce système pour créer
2291 différentes saveurs de la Debian -- qui peuvent être ou ne pas être
2292 intéressantes pour tous (une version de Debian compilée avec des vérifications
2293 relatives à <prgn>gcc</prgn>). Ce système nous permettra aussi de recompiler
2294 rapidement toute une distribution.
2299 <sect1 id="dpkg-cross">
2300 <heading><package>dpkg-cross</package>
2303 <package>dpkg-cross</package> est un outil qui installe les bibliothèques et
2304 les entêtes nécessaires à une compilation croisée<footnote><em>cross-compilation</em>
2305 </footnote> d'une manière similaire à <package>dpkg</package>. De plus
2306 <prgn>dpkg-buildpackage</prgn> et <prgn>dpkg-shlibdeps</prgn> ont été
2307 améliorés pour supporter les compilations croisées.
2313 <chapt id="archive-manip">
2314 <heading>Déplacer, effacer, renommer, adopter et abandonner des
2318 Certaines manipulations de l'archive ne sont pas accessibles avec le processus
2319 de mise à jour automatisé. Elles sont appliquées manuellement par les
2320 développeurs. Ce chapitre décrit ce qu'il faut faire dans ces situations.
2325 <sect>Déplacer des paquets
2328 Parfois un paquet pourra changer de section. Une nouvelle version d'un paquet
2329 de la section <tt>non-free</tt> pourrait par exemple être distribué sous
2330 licence LGP GNU ; dans ce cas le paquet doit être déplacé dans la section
2331 <tt>main</tt> ou <tt>contrib</tt><footnote> Reportez-vous à la <url
2332 id="&url-debian-policy;" name="Charte Debian"> pour savoir dans quelle section
2333 un paquet doit être classé.</footnote>.
2336 Si vous avez besoin de modifier la section de l'un de vos paquets, modifiez
2337 les informations de contrôle du paquet pour le placer dans la section désirée
2338 et téléchargez à nouveau votre paquet dans l'archive.
2339 <!-- OBSOLETE, please update translation
2341 <url id="&url-pkg-manual;" name="Debian Packaging Manual"> pour en savoir
2342 plus. Lisez attentivement le rapport d'installation qui vous sera envoyé lors
2343 de l'archivage de votre paquet. -->
2344 Si pour une raison ou une autre le paquet
2345 est toujours à son ancien emplacement, envoyez un rapport de bogue sur le
2346 pseudo-paquet <tt>ftp.debian.org</tt> demandant la suppression dudit paquet.
2347 Décrivez précisément vos manipulations car il pourrait s'agir d'un bogue dans
2348 le logiciel de gestion de l'archive.
2351 Si vous avez besoin de modifier la sous-section de l'un de vos paquets
2352 (<tt>devel</tt> ou <tt>admin</tt> par exemple) la procédure est légèrement
2353 différente. Modifiez la sous-section dans le fichier de contrôle de votre
2354 paquet et téléchargez-le. Il vous faudra ensuite demander la modification du
2355 fichier <em>override</em> comme décrit dans la section <ref
2356 id="override-file">.
2361 <sect id="removing-pkgs">Supprimer des paquets
2364 Si pour une raison ou une autre vous avez besoin de supprimer un paquet
2365 de l'archive (disons qu'il s'agit d'une vieille bibliothèque que l'on
2366 conservait pour des raisons de compatibilité et que nous n'en avons plus
2367 besoin), il vous faudra envoyer un rapport de bogue sur le pseudo-paquet
2368 <tt>ftp.debian.org</tt> demandant la suppression du paquet. N'oubliez pas de
2369 préciser dans quelle distribution vous voulez que le paquet soit supprimé.
2372 Si vous ne savez pas bien si un paquet peut être supprimé, demandez l'avis des
2373 autres développeurs sur la liste &email-debian-devel;. Le programme
2374 <prgn>apt-cache</prgn> du paquet <package>apt</package> pourra aussi vous être
2375 utile. La commande <tt>apt-cache showpkg <var>package</var> </tt> vous
2376 indiquera, entre autres, les paquets qui dépendent de <var>package </var>.
2378 <sect1>Supprimer des paquets dans <tt>Incoming</tt>
2380 Si vous décidez de supprimer un paquet de la section <tt>Incoming</tt>, il
2381 serait gentil de l'annoncer sur la liste de diffusion appropriée
2382 (&email-debian-changes; ou &email-debian-devel-changes;). Ce n'est pas
2387 <sect>Remplacer ou renommer un paquet
2390 Il peut vous arriver de vous tromper en nommant un paquet et avoir besoin de le
2391 renommer. Dans ce cas, vous devrez intervenir en deux étapes. D'abord,
2392 modifier votre fichier <file>debian/control</file> pour que votre paquet
2393 renommé remplace et entre en conflit avec le nom de paquet que vous voulez
2395 <!-- OBSOLETE, please update translation
2396 Reportez-vous au <url id="&url-pkg-manual;" name="Debian Packaging
2397 Manual"> pour les détails. -->
2398 Une fois que votre paquet est installé dans
2399 l'archive, faites un rapport de bogue sur le pseudo-paquet
2400 <tt>ftp.debian.org</tt> demandant la suppression du paquet mal nommé.
2406 <sect id="orphaning">Abandonner un paquet
2409 Si vous ne pouvez plus maintenir un paquet, vous devez en informer les autres
2410 et faire le nécessaire pour qu'il soit marqué <em>abandonné</em>(i.e.
2411 <em>orphaned</em>). Vous devriez aussi remplacer votre nom par <tt>Debian QA
2412 Group <debian-qa@lists.debian.org></tt> dans le champ
2413 <tt>maintainer</tt> du paquet et faire un rapport de bogue sur le
2414 pseudo-paquet <tt>wnpp</tt>. Le titre de votre rapport de bogue devra être
2415 « <tt>O<footnote><em>Orphaned</em> : abandonné.</footnote>:
2416 <var>paquet</var> -- <var>courte description</var></tt> » pour indiquer
2417 que le paquet est orphelin. La sévérité du bogue sera <em>normal</em>. Si le
2418 paquet est particulièrement important pour la distribution il vous faudra
2419 faire un rapport de bogue sur le pseudo-paquet <tt>wnpp</tt>, titrer
2420 « <tt>RFA<footnote><em>Request For Adoption</em> : offre
2421 d'adoption.</footnote>: <var>paquet</var> -- <var>courte
2422 description</var></tt> » et lui affecter la sévérité <em>important</em>.
2423 Il vous faudra aussi envoyer une annonce sur la liste &email-debian-devel;
2424 pour demander un nouveau responsable.
2427 Reportez-vous à la page WNPP<footnote><em>Work-needing and prospective
2428 packages</em> : paquets en souffrance et paquets souhaités.</footnote> <url
2429 id="&url-wnpp;"> pour en savoir plus.
2435 <sect id="adopting">Adopter un paquet
2438 Une liste des paquets en attente de nouveau responsable est disponible à la
2439 page <url id="&url-wnpp;" name="Work-Needing and Prospective Packages">. Si
2440 vous voulez prendre en charge un paquet de cette liste reportez vous à la page
2441 susmentionnée pour connaître la procédure à suivre.
2444 Prendre un paquet parce qu'il vous semble que celui-ci est négligé n'est pas
2445 correct -- ce serait une prise d'otage. Vous pouvez prendre contact avec le
2446 responsable actuel et lui demander si vous pouvez prendre en charge ce paquet.
2447 Vous ne pouvez le faire sans son accord. Qu'il vous ignore n'est pas une
2448 raison suffisante pour le faire. Si vous avez le sentiment qu'un responsable
2449 est parti sans prévenir depuis un moment, demandez-le sur la liste
2450 &email-debian-private;.
2453 Si vous reprenez un vieux paquet, vous voudrez sûrement que le système de
2454 suivi des bogues indique que vous êtes le responsable du paquet. Cela se
2455 produira automatiquement une fois que vous aurez installé une nouvelle version
2456 du paquet dans l'archive avec le champ <tt>Maintainer</tt> à jour. Cela peut
2457 prendre quelques heures après le téléchargement. Si vous pensez ne pas avoir
2458 de mise à jour à faire pour un moment, envoyez un courrier électronique à
2459 &email-override; pour pouvoir recevoir les rapports de bogue.
2465 <chapt id="bug-handling">Gérer les bogues
2469 <sect>Superviser les rapports de bogues
2472 Si vous voulez être un bon responsable, vous devrez consulter régulièrement la
2473 page du <url id="&url-bts;" name="système de suivi des bogues">. Cette page
2474 contient tous les rapports de bogue qui concernent vos paquets.
2477 Les responsables interagissent avec le système de suivi des bogues en
2478 utilisant l'adresse électronique <tt>bugs.debian.org</tt>. Vous trouverez une
2479 documentation sur les commandes disponibles à l'adresse <url id="&url-bts;">
2480 ou, si vous avez installé le paquet <package>doc-debian</package>, dans les
2481 fichiers locaux <file>/usr/share/doc/debian/bug-*</file>.
2484 Certains trouvent utile de recevoir régulièrement une synthèse des rapports de
2485 bogues ouverts. Si vous voulez recevoir une synthèse hebdomadaire relevant
2486 tous les rapports de bogue ouverts sur vos paquets, vous pouvez configurer
2487 <prgn>cron</prgn> comme suit :
2491 # Synthèse hebdomadaire des rapports de bogue qui me concernent
2492 0 17 * * fri echo "index maint <var>adresse</var>" | mail request@bugs.debian.org
2496 Remplacez <var>adresse</var> par votre adresse officielle de responsable
2502 <sect id="submit-bug">Ouvrir un rapport de bogue
2505 En temps que responsable Debian, vous trouvez des bogues dans d'autres paquets
2506 ou bien des rapports de bogue concernant vos paquets devrait être réassignés
2507 à d'autres paquets. La page d'aide du <url id="&url-bts-control;"
2508 name="système de suivi des bogues"> vous explique comment le faire.
2511 Nous vous encourageons à ouvrir des rapports de bogue s'il y a des problèmes.
2512 Essayez de soumettre ces rapports depuis un compte utilisateur où vous pouvez
2513 recevoir du courrier. Ne les envoyez pas en temps que <em>root</em>.
2516 Vérifiez que le bogue n'a pas encore été déclaré. Essayez de faire un travail
2517 propre en déclarant un bogue et en l'envoyant à la bonne adresse.
2520 Pour faire encore mieux, vous pouvez consulter d'autres paquets, grouper les
2521 bogues qui ont été tracés plusieurs fois ou affecter la sévérité
2522 <em>corrigé</em> (i.e. <em>fixed</em>) à un rapport dont le bogue a été
2523 corrigé. Attention, quand vous n'êtes ni le rapporteur d'un bogue ni le
2524 responsable du paquet vous ne devez pas clore le rapport (à moins que vous
2525 n'ayez l'autorisation du responsable).
2530 <sect>Répondre à des rapports de bogues
2533 Assurez-vous que toutes vos discussions concernant les bogues sont envoyées au
2534 rapporteur du bogue et au bogue lui même (<email>123@bugs.debian.org</email>
2538 Vous ne devez <em>jamais</em> fermer un rapport de bogue en envoyant la
2539 commande <em>close</em> à l'adresse :
2542 <tt> &email-bts-control;</tt>
2545 Si vous le faites, le rapporteur n'aura aucun retour sur la clôture de son
2551 <sect id="upload-bugfix">Quand les rapports sont fermés par une
2555 Si vous corrigez un bogue dans vos paquets, il est de votre responsabilité de
2556 fermer le rapport de bogue associé. Pourtant vous ne devez pas le fermer avant
2557 que le paquet n'ait été accepté dans l'archive Debian. C'est pourquoi, vous
2558 pouvez et vous devez clore le rapport dans le système de suivi des bogues une
2559 fois que vous avez reçu l'avis indiquant que votre nouveau paquet a été
2560 installé dans l'archive.
2563 Si vous utilisez une version récente de <package>dpkg-dev</package> et que
2564 vous remplissez convenablement le fichier <file>changelog</file>, le logiciel de
2565 maintenance de l'archive fermera les rapports de bogue automatiquement. Tout ce
2566 que vous avez à faire est de respecter la syntaxe suivante dans votre fichier
2567 <file>debian/changelog</file> :
2569 acme-cannon (3.1415) unstable; urgency=low
2571 * Frobbed with options (closes: Bug#98339)
2572 * Added safety to prevent operator dismemberment, closes: bug#98765,
2574 * Added manpage. Closes: #98725.
2577 Techniquement parlant, l'expression régulière suivante est utilisée :
2579 /closes:\s*(?:bug)?\#\s*\d+(?:,\s*(?:bug)?\#\s*\d+)*/ig
2582 L'auteur préfère la syntaxe <tt>(closes: Bug#<var>XXX</var>)</tt>, car elle
2583 est facilement repérable dans le fichier <file>changelog</file>.
2586 Si vous voulez fermer un rapport de bogue manuellement -- à l'ancienne -- il
2587 suffit d'envoyer le fichier <tt>.changes</tt> à l'adresse
2588 <email>XXX-done@bugs.debian.org</email> où <var>XXX</var> est le numéro du
2594 <sect id="lintian-reports">Les rapports Lintian
2597 Vous devriez récupérer la dernière version de <package>lintian</package>
2598 depuis <em>unstable</em> régulièrement et vérifier tous vos paquets. Vous
2599 pouvez aussi chercher votre adresse électronique dans la page de <url
2600 id="&url-lintian;" name="rapport lintian">. Cette page, mise à jour
2601 automatiquement, contient les rapports lintian concernant la
2602 dernière version de la distribution (en général <em>unstable</em>) générés
2603 avec la dernière version de <package>lintian</package>.
2609 <sect>Ouvrir un grand nombre de rapport d'un seul coup
2612 Ouvrir un grand nombre de rapports pour le même problème sur un grand nombre de
2613 paquet -- plus de dix -- est une pratique que nous déconseillons. Prenez
2614 toutes les mesures possibles pour éviter cette situation. Si le problème peut
2615 être détecté automatiquement par exemple, ajouter un nouveau test dans le
2616 paquet <package>lintian</package> pour générer une erreur ou un avertissement.
2619 Si vous ouvrez plus de dix rapports sur le même sujet il est préférable
2620 d'indiquer votre intention sur la liste &email-debian-devel;. Cela donnera à
2621 d'autres développeurs la possibilité de vérifier que le problème existe
2622 vraiment. De plus, cela permet d'éviter que plusieurs responsables ne rédigent
2623 les mêmes rapports de bogue simultanément.
2626 Quand vous envoyez un grand nombre de rapports sur le même sujet, vous devriez
2627 les envoyer à <email>maintonly@bugs.debian.org</email> pour qu'ils ne soient
2628 pas redirigés vers les listes de diffusions.
2634 <chapt id="tools">Aperçu des outils du responsable Debian
2637 Cette section contient un léger aperçu des outils dont dispose le responsable.
2638 Ces outils sont fait pour améliorer le confort des responsables et libérer
2639 leur temps pour des tâches cruciales.
2642 Certaines personnes préfèrent utiliser des outils de haut niveau d'autres pas.
2643 Debian n'a pas de position officielle sur la
2644 question ; tout outil conviendra du moment qu'il fait le boulot. C'est pourquoi
2645 cette section n'a pas été conçue pour indiquer à chacun
2646 quel outil il devrait utiliser ou comment il devrait faire pour gérer sa
2647 charge de responsable Debian. Elle n'est pas non plus destinée à
2648 favoriser l'usage d'un outil au dépend d'un autre.
2651 La plupart des descriptions de ces outils proviennent des descriptions de
2652 leurs paquets. Vous trouverez plus d'information dans les
2653 documentations de ces paquets.
2657 <sect id="dpkg-dev">
2658 <heading><package>dpkg-dev</package>
2661 Le paquet <package>dpkg-dev</package> contient les outils (y compris
2662 <prgn>dpkg-source</prgn>) nécessaires pour déballer, fabriquer et livrer des
2663 paquets Debian source. Ces utilitaires fournissent les fonctionnalités bas
2664 niveau indispensables pour créer et manipuler les paquets ; en temps que tel,
2665 ils sont indispensables à tout responsable Debian.
2671 <heading><package>lintian</package>
2674 <package>lintian</package> dissèque les paquets pour y repérer des bogues et
2675 des manquements à la Charte Debian. Il contient des tests automatisés pour
2676 vérifier de nombreux points de la Charte et quelques erreurs courantes.
2677 L'utilisation de <package>lintian</package> a déjà été discutée dans <ref
2678 id="upload-checking"> et <ref id="lintian-reports">.
2681 <heading><package>debconf</package></heading>
2684 Le paquet <package>debconf</package> fournit une interface consistante pour
2685 configurer les paquets interactivement. Il est indépendant de l'interface et
2686 permet une configuration en mode texte, par une interface HTML ou par boîtes
2687 de dialogues. D'autres types d'interface peuvent être ajoutés par adjonction
2691 Beaucoup pensent que ce système devrait être utilisé pour tout paquet
2692 nécessitant une configuration interactive. <package>debconf</package> n'est
2693 pas requit par la Charte Debian pour le moment ; cela pourra changer dans le
2697 <sect id="debhelper">
2698 <heading><package>debhelper</package>
2701 Le paquet <package>debhelper</package> regroupe un ensemble de programmes qui
2702 peuvent être utilisés dans <file>debian/rules</file> pour automatiser les
2703 tâches courantes relatives à la fabrication des paquets Debian binaires. Ce
2704 paquet contient des utilitaires pour installer différents fichiers, compresser
2705 des fichiers, ajuster les droits des fichiers et intégrer votre paquet dans le
2706 système de menu Debian.
2709 Au contraire de <package>debmake</package>, <package>debhelper</package> est
2710 divisé en plusieurs petits utilitaires qui agissent de manière consistante.
2711 Ce découpage permet un contrôle des opérations plus fin que
2712 <package>debmake</package>.
2718 <heading><package>debmake</package>
2721 <package>debmake</package> -- un précurseur de <package>debhelper</package> --
2722 est un assistant moins modulaire pour manipuler le fichier
2723 <file>debian/rules</file>. Il inclus deux programmes principaux :
2724 <prgn>deb-make</prgn>, utile au développeur Debian pour convertir un paquet
2725 source normal (non-Debian) en paquet source Debian, et <prgn>debstd</prgn> qui
2726 regroupe le type de fonction que l'on trouve dans
2727 <package>debhelper</package>.
2730 Le consensus actuel est que l'usage de <package>debmake</package> est maintenant
2731 déconseillé au profit de <package>debhelper</package> mais ce n'est pas une
2732 erreur d'utiliser <package>debmake</package>.
2737 <heading><package>yada</package>
2740 Le paquet <package>yada</package> est un nouvel assistant pour la création de
2741 paquets qui a une approche légèrement différente. Il utilise un fichier
2742 <file>debian/packages</file> pour générer d'autres fichiers nécessaires dans
2743 le sous-répertoire <file>debian/</file>.
2746 Remarque : <package>yada</package> est encore jeune et probablement moins
2747 robuste que ses aînés.
2752 <heading><package>equivs</package>
2755 <package>equivs</package> est un autre paquet pour faire des paquets. Il est
2756 souvent conseillé pour un usage local, si vous avez besoin de faire un paquet
2757 pour satisfaire des dépendances. Il est aussi parfois utilisé pour faire des
2758 « méta-paquets » qui sont des paquets dont l'unique objet est de
2759 dépendre d'autres paquets.
2763 <sect id="cvs-buildpackage">
2764 <heading><package>cvs-buildpackage</package>
2767 Le paquet <package>cvs-buildpackage</package> permet de mettre à jour ou
2768 récupérer des paquets sources dans un référentiel CVS, fabriquer un paquet
2769 Debian depuis le référentiel CVS et assiste le développeur lors de
2770 l'intégration de modifications amont dans le référentiel.
2773 Ce paquet fournit l'infrastructure facilitant l'utilisation de CVS
2774 pour le responsable. Il permet de conserver des branches CVS distinctes
2775 pour les distributions <em>stable</em>, <em>unstable</em> et probablement
2776 <em>experimental</em>.
2780 <heading><package>dupload</package>
2783 Le paquet <package>dupload</package> contient un script du même nom pour
2784 mettre à jour des paquets dans l'archive Debian, tracer ces mises à jour et
2785 les annoncer par courrier électronique automatiquement. Vous pouvez le
2786 configurer pour faire des mises à jour à d'autres endroits et avec d'autres
2790 Note : l'annonce d'une mise à jour est maintenant prise en charge par le logiciel
2791 de gestion de l'archive. <package>dupload</package> doit être configurer
2792 pour ne plus envoyer de courrier (voir <ref id="upload-announce">).
2794 <sect id="fakeroot">
2795 <heading><package>fakeroot</package>
2798 <package>fakeroot</package> simule les privilèges <em>root</em>. Cela permet
2799 de fabriquer un paquet sans être root (en général les paquets installent des
2800 fichiers appartenant à <em>root</em>). Si vous avez installé
2801 <package>fakeroot</package> vous pouvez par exemple écrire
2802 <tt>dpkg-buildpackage -rfakeroot</tt> en temps qu'utilisateur.
2806 <sect id="devscripts">
2807 <heading><package>devscripts</package>
2810 Le paquet <package>devscripts</package> contient quelques scripts et outils
2811 que vous trouverez peut-être utiles pour maintenir vos paquets Debian. Parmi
2812 ces scripts vous trouverez <prgn>debchange</prgn> qui manipule votre fichier
2813 <file>debian/changelog</file> depuis la ligne de commande et
2814 <prgn>debuild</prgn> qui est construit au-dessus de
2815 <prgn>dpkg-buildpackage</prgn>.
2821 <heading><package>debget</package>
2824 Le paquet <package>debget</package> contient un script qui peut être utile
2825 pour télécharger des paquets depuis l'archive Debian. Vous pouvez par exemple
2826 l'utiliser pour télécharger des paquets sources.
2839 <!-- Keep this comment at the end of the file
2844 sgml-minimize-attributes:nil
2845 sgml-always-quote-attributes:t
2847 sgml-indent-data:nil
2848 sgml-parent-document:nil
2849 sgml-exposed-tags:nil
2850 sgml-declaration:nil
2851 sgml-local-catalogs:nil
2852 sgml-local-ecat-files:nil
2855 <!-- vim:set tw=78:ts=8: -->