chiark / gitweb /
sample-dist-dirtree had some english in it, bad bad
[developers-reference.git] / developers-reference.fr.sgml
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.7 $">
9
10   <!-- if you are translating this document, please notate the RCS
11        revision of the developers reference here -->
12   <!--
13     <!entity cvs-en-rev "1.54">
14     -->
15 ]>
16 <debiandoc>
17 <!--
18  TODO:
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
23     developer
24   - "official port maintainer" ? (cf. glibc-pre2.1)
25  -->
26
27
28 <book>
29 <title>Guide de référence du développeur Debian
30
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>
34 <author>&nbsp;
35 <author>version française par Antoine Hulin <email>antoine.hulin@origan.fdn.fr</email>
36 <author>avec la participation de Alain Meessen
37 <author>et des membres de la liste
38 <email>debian-l10n-french@lists.debian.org</email>
39 <version>version &version;, 17 avril 2001
40
41 <copyright>
42
43 <copyrightsummary>
44  Copyright &copy;1998 &ndash; 2001 Adam Di Carlo</copyrightsummary>
45 <copyrightsummary>
46 Copyright &copy;1997, 1998 Christian Schwarz.</copyrightsummary>
47
48 <p>
49 Ce guide est un logiciel libre&nbsp;; vous pouvez le redistribuer et/ou le modifier
50 selon les termes de la licence grand public GNU publiée par la FSF
51 (Free Software Foundation) dans sa version 2 (ou toute version supérieure).
52 <p>
53
54 Il est distribué dans l'espoir qu'il sera utile, mais <em>sans aucune
55 garantie</em>, sans même la garantie implicite d'une valeur marchande
56 ou d'une adéquation à un besoin particulier. Consulter la Licence grand
57 public GNU pour plus de détails.  
58 <p> 
59 Une copie de la Licence grand public GNU est disponible dans le fichier
60 &file-GPL; de la distribution Debian GNU-Linux ou sur le site web du <url
61 id="&url-gpl;" name="projet GNU">. Vous pouvez aussi l'obtenir en écrivant à
62 &fsf-addr;. 
63
64         <toc detail="sect2">
65
66
67
68
69         <chapt id="scope">Introduction
70         
71         <sect>Portée de ce document
72
73 <p>
74 Le but de ce document est de donner une vue d'ensemble des procédures à
75 suivre et des ressources mises à la disposition des développeurs Debian.
76
77 <p>
78 Les procédures décrites ci-après expliquent entre autre comment devenir
79 responsable Debian (<ref id="new-maintainer">), comment installer des nouveaux
80 paquets dans l'archive (<ref id="upload">), quand et comment faire un portage
81 ou une mise à jour du paquet d'un autre responsable (<ref id="nmu">), comment
82 déplacer, effacer ou abandonner un paquet (<ref id="archive-manip">) et
83 comment gérer les bogues (<ref id="bug-handling">).
84
85 <p>
86 Les ressources présentées dans ce guide incluent les listes de diffusion et
87 les serveurs (<ref id="servers">), une présentation de la structure de
88 l'archive Debian (<ref id="archive">), des explications sur les serveurs qui
89 acceptent les mises à jour de paquets (<ref id="upload-ftp-master">) et une
90 présentation des outils qui peuvent aider un responsable à améliorer la
91 qualité de ses paquets (<ref id="tools">).
92
93 <p>
94 Ce guide de référence ne présente pas les aspects techniques liés aux paquets
95 Debian. Il ne décrit pas non plus comment les créer. Il ne décrit pas 
96 non plus les règles que doivent respecter les paquets Debian. Cette
97 information est disponible dans le <url id="&url-debian-policy;" name="Debian
98 Policy Manual">.
99
100 <p>
101 De plus ce document <em>n'est pas un règlement officiel</em>. Il contient de
102 la documentation sur le système Debian et des conseils pratiques largement 
103 suivis. Il s'agit donc d'un document «&nbsp;normatif&nbsp;».
104
105
106
107
108
109         <sect>Avertissement du traducteur
110
111 <p>
112 Bien que ce document soit en français, l'activité de responsable Debian
113 implique une maîtrise de la langue anglaise. Le projet Debian est un projet
114 international auquel participent des argentins, néo-zélandais, américains,
115 allemands, finlandais, français, espagnols...
116
117 <p>
118 En conséquence la langue utilisée dans toutes les listes de diffusion
119 destinées aux développeurs est l'anglais et les rapports de bogue doivent être
120 rédigés en anglais. En fait, sauf exception rare, tout dialogue avec les
121 autres responsables Debian se fera en anglais quelque soit le média.
122
123
124         <sect>Glossaire
125
126 <p>
127 Cette section liste les termes techniques qui ont un sens spécifique
128 dans le projet Debian. Pour chacune de ces expressions vous trouverez la
129 traduction française utilisée dans ce guide, une définition et une
130 référence à la section du guide qui traite de ce sujet.
131
132
133         <list>
134         <item><em>Upload</em>&nbsp;: mise à jour, téléchargement (parfois
135         livraison). Opération qui consiste à télécharger un nouveau paquet
136         ou une nouvelle version de paquet dans l'archive Debian (<ref
137         id="upload">).
138
139         <item><em>Non-maintainer upload (NMU)</em>&nbsp;: mise à jour indépendante.
140         Téléchargement d'une nouvelle version de paquet dans l'archive
141         Debian par une personne qui n'est pas officiellement responsable de ce
142         paquet(<ref id="nmu">).
143
144         <item><em>NMU source</em>&nbsp;: mise à jour indépendante source. Il
145         s'agit d'une mise à jour indépendante pour un paquet source (<ref
146         id="nmu-terms">).
147
148         <item><em>NMU binaire</em>&nbsp;: mise à jour indépendante binaire.
149         Mise à jour indépendante pour un paquet binaire(<ref id="nmu-terms">).
150
151         <item><em>Bug Tracking System (BTS)</em>&nbsp;: système de suivi des
152         bogues. Il s'agit du système utilisé par le projet Debian pour suivre
153         les bogues et leur correction (<ref id="bug-handling">).
154
155         <item><em>Bug submitter</em>&nbsp;: rapporteur du bogue. Personne qui
156         envoie un rapport de bogue au système de suivi des bogues(<ref
157         id="submit-bug">).
158
159         <item><em>Release critical bug</em>&nbsp;: bogue remettant en cause la
160         distribution. Bogues de sévérité <em>critique</em>, <em>grave</em>
161         et <em>sérieuse</em>. Ces bogues ne doivent pas apparaître dans une
162         distribution <em>stable</em>. Ils doivent être corrigés ou bien les
163         paquets en cause doivent être supprimés (<ref id="rc-bug">). 
164
165         <item><em>Unstable</em>&nbsp;: Nom de la distribution en cours de
166         développement. Cette distribution contient les paquets envoyés par
167         les développeurs. Ceux-ci étant humains, elle est parfois cassée (<ref
168         id="life-cycle">).
169
170         <item><em>Testing</em>&nbsp;: Nom de la distribution en test. Cette
171         distribution reçoit les paquets des développeurs qui ont passé une
172         période de deux semaines dans <em>unstable</em> et pour lesquels aucun
173         bogue sévère n'a été découvert. Cette distribution n'a pas été testée
174         en profondeur. Elle est cependant sensée être plus stable que
175         <em>unstable</em> (<ref id="life-cycle">).
176
177         <item><em>Frozen</em>&nbsp;: Nom de la distribution gelée. Cette
178         distribution apparaît pendant quelques mois avant la sortie d'une
179         nouvelle distribution stable. Elle est destinée à être testée en
180         profondeur et ne reçoit que des corrections de bogues (<ref
181         id="life-cycle">).
182
183         <item><em>Stable</em>&nbsp;: Nom de la distribution dite stable. Cette
184         distribution a été testée, validée et diffusée (<ref
185         id="life-cycle">).
186
187         <item><em>Debian maintainer</em>&nbsp;: responsable Debian, développeur
188         Debian (parfois mainteneur). Personne qui fait officiellement
189         partie du projet Debian. Elle a accès aux serveurs Debian et participe
190         au développement -- au sens large -- de la distribution (<ref
191         id="developer-duties">). La plupart des responsables font de la mise
192         en paquet mais il existe d'autres activités telles que documentation,
193         site web, création des cédéroms, administration des serveurs...
194
195         <item><em>Upstream version</em>&nbsp;: version amont. Il s'agit du
196         logiciel tel qu'il est fournit par le responsable amont -- par
197         opposition à la version fournie par la distribution Debian. (Voir
198         <ref id="upstream-coordination">.)
199
200         <item><em>Upstream maintainer</em>&nbsp;: responsable amont ou développeur
201         amont. Personne(s) responsable(s) du développement ou de la
202         maintenance d'un logiciel. En général le responsable amont n'a rien à
203         voir avec le projet Debian (<ref id="upstream-coordination">).
204
205         <item><em>Debian keyring</em>&nbsp;: porte-clés Debian. Le porte-clés
206         Debian contient les clés publiques de tous les responsables Debian (<ref
207         id="key-maint">).
208
209         <item><em>Work-needing and prospective packages (WNPP)</em>&nbsp;: paquets en
210         souffrance et paquets souhaités. La liste des paquets en
211         souffrance indique les paquets qui n'ont plus de responsable. La liste
212         des paquets souhaités indique les logiciels que des utilisateurs
213         aimeraient bien voir dans la distribution (<ref id="upload">).
214
215         </list>
216
217
218         <chapt id="new-maintainer">Devenir responsable Debian
219
220
221         <sect>Pour commencer
222
223 <p>
224 Vous avez lu toute la documentation, vous comprenez l'intérêt de tout ce qui
225 se trouve dans le paquet exemple <package>hello</package> et vous vous
226 apprêtez à mettre en paquet votre logiciel préféré. Comment devenir
227 responsable Debian et intégrer votre travail au projet&nbsp;?
228
229 <p>
230 Si vous ne l'avez pas encore fait vous pouvez commencer par vous inscrire à la
231 liste &email-debian-devel;.
232
233 <p>
234 Pour cela, envoyez un courrier à l'adresse
235 &email-debian-devel-req; avec le mot <tt>subscribe</tt> dans la ligne
236 <em>Objet</em><footnote><em>Subject</em> en anglais</footnote> de votre
237 message. En cas de problème, contactez l'administrateur de la liste
238 &email-listmaster;. Vous trouverez plus d'information dans la section <ref
239 id="mailing-lists">.
240
241 <p>
242 Vous suivrez les discussions de cette liste (sans poster) pendant quelques
243 temps avant de coder quoi que ce soit et vous informerez la liste de votre
244 intention de travailler sur quelque chose pour éviter de dupliquer le travail
245 d'un autre.
246
247 <p>
248 Une autre liste intéressante est &email-debian-mentors;. Voir la section <ref
249 id="mentors"> pour les détails. Le canal IRC <tt>#debian</tt> sur le réseau
250 <em>Linux People IRC</em> (c-à-d <tt>irc.debian.org</tt>) pourra aussi être
251 utile.
252
253
254
255
256         <sect id="registering">Devenir responsable Debian
257
258 <p>
259 Avant de décider de devenir responsable Debian, il vous faudra lire le <url
260 id="&url-social-contract;" name="Contrat social Debian">. Vous faire
261 enregistrer comme responsable implique que vous adhériez à ce contrat social
262 et que vous vous engagiez à le soutenir&nbsp;; il est très important que les
263 responsables soient en accord avec les principes fondamentaux qui animent le
264 projet Debian GNU-Linux. Lire le <url id="&url-gnu-manifesto;" name="Manifeste
265 GNU"> sera aussi une bonne idée.
266
267 <p>
268 Le processus d'enregistrement a pour but de vérifier votre identité et vos
269 intentions. Le nombre de personnes travaillant pour Debian GNU-Linux a atteint
270 &number-of-maintainers; et notre système est utilisé dans un certain nombre
271 d'endroits très importants nous devons rester attentifs pour éviter un acte
272 malveillant. C'est pourquoi nous contrôlons les nouveaux responsables avant de
273 leur donner un compte sur nos serveurs et les autoriser à ajouter des paquets
274 dans l'archive.
275
276 <p>
277 Pour votre enregistrement il sera nécessaire d'envoyer les informations
278 suivantes<footnote>Voir la page  <url id="&url-newmaint-checklist;"
279 name="Checklist for applicants">.</footnote> au moment approprié après une
280 première prise de contact à l'adresse &email-new-maintainer;&nbsp;:
281
282         <list compact>
283         <item>
284         Votre nom.
285
286         <item>
287         Le <em>login</em> que vous voudriez avoir sur <tt>master</tt> (maximum
288         huit caractères) ainsi que l'adresse qui sera utilisée pour votre
289         inscription à la liste &email-debian-private; (il s'agira soit de
290         votre adresse personnelle soit de votre adresse <tt>debian.org</tt>
291         fraîchement acquise).
292
293         <item>
294         Un numéro de téléphone où nous pouvons vous joindre. Souvenez-vous que
295         l'équipe <em>New maintainer</em> appelle généralement le soir pour
296         limiter les coûts de communication longue distance. Ne donnez pas de
297         numéro professionnel à moins d'y être souvent le soir.
298
299         <item>
300         Une déclaration de vos intentions. C'est à dire sur quel paquet vous
301         pensez travailler, à quel portage vous comptez participer ou comment
302         vous comptez contribuer au projet.
303
304         <item>
305         Une déclaration indiquant que vous avez lu et acceptez de soutenir le
306         <url id="&url-social-contract;" name="Contrat social Debian">.
307
308         <item>
309         Un moyen de vérifier votre identité réelle. Les moyens suivants feront
310         l'affaire&nbsp;:
311
312                 <list compact>
313                 <item>
314                 une clé OpenPGP signée par une signature connue telle qu'un
315                 responsable Debian que vous aurez rencontré
316                 <em>physiquement</em> ou un service d'authentification qui
317                 vérifie votre identité (Verisign par exemple)<footnote>Un
318                 service d'authentification qui vérifie votre adresse
319                 électronique mais pas votre identité ne conviendra pas.
320                 </footnote>,
321
322                 <item>
323                 une copie (numérisée ou photocopiée) de n'importe quel
324                 document officiel prouvant votre identité (certificat de
325                 naissance, carte d'identité, permis de conduire, etc...). Pour
326                 un envoi électronique, signez avec votre clé OpenPGP. 
327
328                 </list>
329         </list>
330
331 <p>
332 Si vous n'avez pas de clé OpenPGP, créez-la. Tout responsable a besoin d'une
333 clé OpenPGP pour signer et vérifier les mises à jour de paquets. Vous lirez
334 la documentation du logiciel de cryptographie que vous utiliserez car elle
335 contient des informations indispensables pour la sécurité de votre clé. Les 
336 défaillances de sécurité sont bien plus souvent dues à des erreurs humaines 
337 qu'à des problèmes logiciels ou des techniques d'espionnage avancées. Voir
338 <ref id="key-maint"> pour plus d'information sur la gestion de votre clé
339 publique.
340
341 <p>
342 Debian utilise <prgn>GNU Privacy Guard</prgn> (paquet <package>gnupg</package>
343 version 1 ou supérieure comme standard de base). Vous pouvez aussi utiliser une
344 autre implémentation d'OpenPGP. OpenPGP est un standard ouvert basé sur la
345 <url id="&url-rfc2440;" name="RFC 2440">.
346
347 <p>
348 L'algorithme à clé publique recommandé pour les développements Debian est DSA
349 (parfois appelé «&nbsp;DSS&nbsp;» ou «&nbsp;DH\ElGamal&nbsp;»). Vous pouvez
350 aussi utiliser d'autres types de clés. La longueur de votre clé doit être au
351 minimum 1024 bits&nbsp;; il n'y a pas de raison d'utiliser une clé plus courte et le
352 faire serait beaucoup moins sûr. Votre clé doit être signée avec votre propre
353 identifiant&nbsp;; cela évite les falsifications. <prgn>GNU Privacy Guard</prgn> le
354 fait automatiquement.
355
356 <p>
357 Souvenez-vous que l'un des noms de votre clé doit correspondre à l'adresse de
358 mainteneur officiel que vous indiquez dans vos paquets. Par exemple, j'affecte
359 le responsable du paquet <package>developers-reference</package> à «&nbsp;Adam
360 Di Carlo &lt;aph@debian.org&gt;&nbsp;»&nbsp;; alors l'un des identifiants de ma clé
361 doit être cette même valeur «&nbsp;Adam Di Carlo
362 &lt;aph@debian.org&gt;&nbsp;».
363
364 <p>
365 Si votre clé publique n'est pas sur un serveur public tel que &pgp-keyserv;,
366 reportez-vous à la documentation disponible localement dans &file-keyservs;.
367 Cette documentation explique comment mettre votre clé publique sur un serveur.
368 L'équipe <em>New maintainer</em> mettra votre clé publique sur les serveurs de
369 clés si elle n'y est pas déjà.
370
371 <p>
372 Pour cause de restriction sur le droit à l'exportation aux États-Unis,
373 certains paquets, dont <package>gnupg</package>, sont hébergés sur
374 des serveurs FTP en dehors des États-Unis. Vous trouverez les adresses
375 de ces serveurs dans le fichier <url id="&url-readme-non-us;">.  
376
377 <p>
378 Certains pays limitent l'usage des logiciels de cryptographie.  Cela ne
379 devrait cependant pas avoir d'impact sur l'activité d'un responsable de paquet
380 car il peut être tout à fait légal d'utiliser des logiciels de cryptographie
381 pour l'authentification plutôt que pour le cryptage (comme c'est le cas en
382 France). Le projet Debian ne nécessite en aucune manière de cryptographie en
383 tant que tel. Si vous vivez dans un pays où l'usage de la cryptographie pour
384 authentification est interdit contactez-nous pour que nous prenions des
385 dispositions particulières.
386
387 <p>
388 Une fois que votre dossier est prêt et que votre clé publique est accessible sur
389 les serveurs de clés publiques, envoyez votre candidature sur la liste
390 &email-new-maintainer; pour être enregistré comme responsable Debian et
391 pouvoir ajouter vos paquets dans l'archive. Ce message doit contenir votre nom
392 et votre adresse électronique. Toutes les informations présentées plus tôt
393 seront requises une fois que votre responsable de canditature aura été
394 désigné.  Le responsable de candidature<footnote>Application manager</footnote> est votre accompagnateur dans le
395 processus d'enregistrement et vous pouvez toujours lui demander où en est
396 votre candidature. Vous pouvez aussi consulter le <url id="&url-newmaint-db;"
397 name="tableau de bord des candidatures"> sur le site Debian.
398
399 <p>
400 Pour en savoir plus, consultez le <url id="&url-newmaint;" name="coin des
401 nouveaux responsables"> sur le site Debian.
402
403 <p>
404 Une fois que votre dossier aura été reçu et traité vous devriez être
405 contacté et recevoir les informations concernant votre compte Debian.  Si vous
406 ne recevez rien pendant un mois, envoyez un message de relance demandant si
407 votre candidature initiale a bien été reçue. Ne renvoyez <em>pas</em> votre
408 candidature initiale, cela embrouillerait l'équipe <em>New maintainer</em>.
409 Soyez patient, en particulier à l'approche de la sortie d'une
410 distribution&nbsp;; des erreurs ont parfois lieu et les gens peuvent manquer
411 de temps pour cette activité bénévole.
412
413
414         <sect id="mentors">Mentors Debian
415 <p>
416 La liste de diffusion &email-debian-mentors; a été créée pour les
417 responsables débutants qui cherchent de l'aide pour leur première
418 création de paquet ainsi que pour d'autres problèmes spécifiques aux 
419 développeurs. Tout responsable débutant est invité à s'y inscrire 
420 (voir <ref id="mailing-lists"> pour plus de détails).
421
422 <p>
423 Ceux qui préfèrent une aide personnalisée (via une correspondance
424 privée) doivent aussi poster dans cette liste, un développeur 
425 expérimenté se portera volontaire pour les aider.
426
427
428
429
430
431
432         <chapt id="developer-duties">Les charges du responsable Debian
433
434
435         <sect>Mise à jour de vos références Debian
436
437 <p>
438 Une base de données LDAP contient de nombreuses informations concernant tous
439 les développeurs, vous pouvez y accéder à l'adresse <url
440 id="&url-debian-db;">.  Vous pouvez modifier votre mot de passe (ce mot de
441 passe est diffusé sur la plupart des machines auxquelles vous avez accès),
442 votre adresse, votre pays, la latitude et la longitude de l'endroit où vous
443 résidez, vos numéros de téléphone et de fax, votre interpréteur de commande
444 préféré, votre surnom IRC, votre page web, votre adresse de courrier
445 électronique ainsi que l'alias que vous utilisez pour votre courrier
446 électronique chez debian.org. La plupart de ces informations ne sont pas
447 accessibles au public. Pour plus de détails au sujet de cette base de données
448 reportez-vous à sa documentation en ligne disponible à l'adresse <url
449 id="&url-debian-db-doc;">.
450
451 <p>
452 Vous y tiendrez à jour les informations vous concernant.
453
454
455
456
457         <sect id="key-maint">Gérer votre clé publique
458
459 <p>
460 Soyez très vigilant en utilisant votre clé privée.  Ne la placez pas sur un
461 serveur public ou sur des machines multi-utilisateurs telles que
462 <tt>master.debian.org</tt>.  Sauvegardez vos clés et gardez-en une copie hors
463 connexion. Lisez la documentation fournie avec votre logiciel et la <url
464 id="&url-pgp-faq;" name="FAQ PGP">.
465
466 <p>
467 Si vous ajoutez des signatures ou des identifiants à votre clé publique, vous
468 pouvez mettre à jour le porte-clés Debian en envoyant votre clé publique à
469 <tt>&keyserver-host;</tt>. Si vous voulez ajouter ou supprimer une clé envoyez
470 un courrier à &email-debian-keyring;. Les procédures d'extraction de clé
471 décrites dans <ref id="registering"> s'appliquent ici.
472
473 <p>
474 Vous pouvez trouver une présentation approfondie de la gestion de clé Debian
475 dans la documentation du paquet <package>debian-keyring</package>.
476
477
478
479
480         <sect id="inform-vacation">Prendre des vacances courtoisement
481
482 <p>
483 La plupart des développeurs prennent des vacances, généralement cela signifie
484 qu'ils ne peuvent ni travailler pour Debian ni être joints par
485 courrier électronique si un problème se présentait. Les autres développeurs
486 ont besoin de savoir que vous êtes en vacances ainsi ils sauront comment
487 réagir en cas de problème. En général, cela signifie que les autres
488 développeurs sont autorisés à modifier votre paquet (voir <ref id="nmu">) en
489 cas de gros problème (bogues bloquants pour la distribution, mise à jour de
490 sécurité...) durant vos vacances.
491
492 <p>
493 Il y a deux choses à faire pour informer les autres développeurs.
494 Premièrement, envoyer un courrier électronique indiquant vos dates de vacances
495 à &email-debian-private;, vous pouvez aussi donner quelques instructions pour
496 indiquer comment agir si un problème survenait.  Deuxièmement, il faut mettre
497 à jour la base de données Debian LDAP et vous signaler «&nbsp;en
498 vacances&nbsp;» (l'accès à cette information est réservé aux développeurs).
499 N'oubliez pas de retirer votre indicateur «&nbsp;en vacances&nbsp;» lorsque
500 celles-ci sont terminées.
501
502
503
504
505         <sect id="upstream-coordination">Coordination avec les développeurs
506         amonts
507
508 <p>
509 Une grosse part de votre travail de responsable Debian sera de rester en
510 contact avec les développeurs amonts car il vous faudra leur transmettre les
511 informations collectées par le système de suivi des bogues. Il n'est pas de
512 votre responsabilité de corriger les bogues qui ne sont pas spécifiques à
513 Debian. Il vous faudra plutôt transmettre ces rapports de bogues aux
514 développeurs amonts.  Bien sûr, si vous êtes capable de les résoudre, vous
515 pouvez... De cette manière, ces bogues seront corrigés dans la prochaine
516 version amont.
517
518 <p>
519 De temps en temps, vous trouverez un correctif attaché à un rapport de bogue.
520 Il vous faudra envoyer ce correctif en amont et vous assurer qu'il est bien
521 inclus dans la prochaine version amont (si les auteurs acceptent le correctif
522 proposé). 
523
524 <p>
525 Si vous avez besoin de modifier les sources amonts pour respecter le <em>Debian
526 Policy Manual</em>, vous devriez proposer un joli correctif aux développeurs amonts. Une
527 fois ce correctif inclus, vous n'aurez plus besoin de modifier les sources
528 lors des mises à jour amonts suivantes.
529
530 <p>
531 Quels que soient les changements dont vous avez besoin, il faut toujours
532 essayer de rester dans la lignée des sources amonts. 
533
534
535
536
537
538         <sect id="rc-bug">Gestion des bogues bloquants pour la distribution
539
540 <p>
541 Les bogues bloquants pour la distribution<footnote>Traduction de l'anglais
542 <em>Release critical bug (RCB)</em></footnote> sont les bogues de sévérité
543 <em>critique</em>, <em>grave</em> et <em>sérieuse</em><footnote>Respectivement
544 <em>critical</em>, <em>grave</em> et <em>serious</em> en anglais</footnote>.
545 Ces bogues peuvent retarder la diffusion d'une distribution Debian et/ou
546 peuvent justifier la suppression d'un paquet d'une distribution gelée. C'est
547 pourquoi ces bogues ont besoin d'être corrigés au plus vite.  Vous devez être
548 conscient que certains développeurs faisant partie de l'équipe d'<url
549 id="&url-debian-qa;" name ="assurance qualité Debian"> surveillent ces bogues
550 et essaient de vous aider chaque fois qu'ils le peuvent. Si vous ne pouvez pas
551 corriger un bogue de ce type dans les deux semaines, vous devriez soit
552 demander de l'aide en envoyant un courrier à l'équipe d'assurance qualité
553 (<em>QA group</em> &email-debian-qa;), soit vous expliquer et présenter un
554 plan pour corriger le problème en envoyant un courrier au rapport de bogue
555 concerné. Si rien n'est fait, des personnes de l'équipe d'assurance qualité
556 pourraient chercher à corriger votre paquet (voir <ref id="nmu">) après avoir
557 tenté de vous contacter. Ils pourraient attendre moins longtemps que
558 d'habitude pour faire leur mise à jour s'il n'y a pas trace d'activité récente
559 de votre part dans le système de suivi des bogues.
560
561
562
563         <sect id="qa-effort">L'effort d'assurance qualité
564
565 <p>
566 Même s'il y a un groupe de personnes dédié à l'assurance qualité, cette
567 activité ne leur est pas réservée. Vous pouvez participer à cet effort en
568 éliminant, autant que faire ce peut, tout bogue de vos paquets et en observant
569 les remarques émises par <prgn>lintian</prgn> (voir <ref id="lintian-reports">).  Si cela
570 vous semble tout à fait impossible, il faudrait songer à abandonner certains
571 de vos paquets, vous pourrez ainsi faire du bon travail avec les paquets dont
572 vous restez responsable (voir <ref id="orphaning">).  Vous pouvez aussi
573 demander l'aide d'autres personnes pour rattraper votre retard dans la liste
574 des bogues (vous pouvez demander de l'aide sur les listes  &email-debian-qa;
575 et &email-debian-devel;).  
576
577
578         <sect>Démissionner courtoisement
579 <p>
580 Si vous choisissez de quitter le projet Debian, procédez comme suit&nbsp;: 
581
582         <enumlist>
583         <item>
584         Abandonnez tous vos paquets comme décrit dans <ref id="orphaning">.
585         
586         <item>
587         Envoyez un courrier électronique à &email-debian-private; indiquant
588         comment vous quitter le projet.
589
590         <item>
591         Signalez aux responsables du porte-clés Debian que vous quittez le
592         projet en écrivant à &email-debian-keyring;.
593
594         </enumlist>
595
596
597
598
599
600         <chapt id="servers">Listes de diffusion, serveurs et autres machines
601
602 <p>
603 Dans ce chapitre vous trouverez une très brève description des listes de 
604 diffusion Debian, des principaux serveurs Debian et des autres machines 
605 auxquelles vous aurez accès en tant que développeur.
606
607
608
609         <sect id="mailing-lists">Listes de diffusion
610
611 <p>
612 Le serveur de liste de diffusion est <tt>&lists-host;</tt>.  Envoyez un
613 courrier électronique à <tt>debian-<var>foo</var>-REQUEST@&lists-host;</tt>,
614 où <tt>debian-<var>foo</var></tt> est le nom de la liste, avec le mot
615 <tt>subscribe</tt> dans le champ <em>Objet</em><footnote><em>Subject</em> en
616 anglais</footnote> pour vous abonner à la liste ou <tt>unsubscribe</tt> pour
617 vous en désabonner.  Vous trouverez des instructions plus détaillées pour vous
618 abonner et vous désabonner aux adresses <url
619 id="&url-debian-lists-subscribe;">, <url id="&url-debian-lists;"> ou
620 localement dans le fichier &file-mail-lists; si vous avez installé le paquet
621 <package>doc-debian</package>.
622
623 <p>
624 Lorsque vous répondez aux messages d'une liste de diffusion,
625 n'envoyez pas de copie (<tt>CC</tt>) à l'auteur du courrier à moins
626 qu'il ne l'ait demandé explicitement. Quelqu'un qui envoie un message à une
627 liste de diffusion se doit d'y lire les réponses.
628
629 <p>
630 Les principales listes de diffusion Debian sont&nbsp;:
631         <list compact>
632         <item> &email-debian-devel;, 
633         <item> &email-debian-policy;, 
634         <item> &email-debian-user;,
635         <item> &email-debian-private;,
636         <item> &email-debian-announce; et
637         <item> &email-debian-devel-announce;.
638         </list>
639
640 Un développeur devrait, au minimum, être inscrit aux listes
641 &email-debian-private; et &email-debian-devel-announce;.
642
643 <p>
644 Il existe d'autres listes de diffusion spécialisées dans différents thèmes.
645 Reportez-vous à la page <url id="&url-debian-lists-subscribe;"> pour en
646 obtenir la liste complète.  Nous déconseillons l'usage des correspondances
647 croisées (envoyer le même message à plusieurs listes).
648
649 <p>
650 &email-debian-private; est une liste de diffusion destinée aux discussions
651 privées entre développeurs Debian. Elle doit être utilisée pour tout message
652 qui ne doit pas être publié, quelqu'en soit la raison.  C'est une liste à
653 faible trafic et les utilisateurs sont priés de ne l'utiliser qu'en cas de
654 réelle nécessité. De plus, il ne faut <em>jamais</em> faire suivre un courrier
655 de cette liste à qui que ce soit.
656
657 <p>
658 &email-debian-email; est une liste de diffusion fourre-tout. Elle est utilisée
659 pour les correspondances relatives à Debian qu'il serait utile d'archiver tel
660 que contacter les auteurs amonts à propos de licences ou de bogues ou encore
661 discuter du projet avec d'autres personnes.
662
663 <p>
664 Comme toujours sur internet, éliminez les lignes inutiles quand vous citez
665 le message auquel vous répondez dans la réponse. Plus généralement, respectez
666 les conventions habituelles lorsque vous envoyez des messages.
667
668 <p>
669 Les archives des listes de diffusion sont disponibles en ligne à l'adresse
670 <url id="&url-lists-archives;">.
671
672
673
674
675         <sect id="server-machines">Serveurs Debian
676
677 <p>
678 Les serveurs Debian sont des serveurs célèbres et hébergent les fonctions
679 critiques du projet Debian.  Tout développeur se doit de savoir ce qu'ils sont
680 et à quoi ils servent.
681
682 <p>
683 Si vous avez un problème en utilisant un serveur Debian et si vous estimez que
684 les administrateurs système devraient en être avertis, vous trouverez
685 l'adresse d'un responsable pour cette machine à la page <url
686 id="&url-devel-machines;">.  Si votre problème n'est pas lié au système
687 (paquet à supprimer ou suggestion pour le site web par exemple), il vous
688 faudra en général ouvrir un rapport de bogue sur un
689 «&nbsp;pseudo-paquet&nbsp;». Reportez-vous à la section <ref id="submit-bug">
690 pour connaître la procédure à suivre.
691
692
693
694
695         <sect1 id="servers-master">Le serveur maître
696
697 <p>
698 <tt>master.debian.org</tt> est le serveur maître du système de suivi des
699 bogues (BTS<footnote>Système de suivi des bogues se dit <em>Bug Tracking
700 System</em> en anglais</footnote>). Si vous envisagez de manipuler les
701 rapports de bogue ou d'en faire une analyse statistique ce sera le bon endroit
702 pour le faire.  Informez la liste &email-debian-devel; de votre intention
703 avant d'implémenter quoi que ce soit afin d'éviter la duplication du travail
704 ou le gaspillage de temps machine.
705
706 <p>
707 Tous les développeurs Debian ont un compte sur <tt>master.debian.org</tt>.
708 Prenez grand soin de votre mot de passe. Évitez les méthodes de connexion et
709 de téléchargement qui envoient votre mot de passe en clair sur internet.
710
711 <p>
712 Si vous rencontrez un problème avec <tt>master.debian.org</tt> tel qu'un
713 disque plein, une activité suspecte ou autre, envoyez un courrier
714 électronique à &email-debian-admin;.
715
716
717
718
719         <sect1 id="servers-ftp-master">Le serveur ftp-master
720
721 <p>
722 Le serveur ftp-master (<tt>ftp-master.debian.org</tt> ou <tt>
723 auric.debian.org</tt>) est le serveur maître de l'archive Debian 
724 (exception faite des paquets non-US). En général, les mises à jour de
725 paquets se font sur ce serveur. Reportez-vous à la section <ref id="upload">
726 pour en savoir plus.
727
728 <p>
729 Les problèmes avec l'archive Debian FTP doivent généralement être rapportés
730 comme bogue contre le pseudo-paquet <package>ftp.debian.org</package> ou par
731 courrier électronique à &email-ftpmaster;&nbsp;; reportez-vous à la section <ref
732 id="archive-manip"> pour connaître la procédure à suivre.
733
734
735
736
737         <sect1 id="servers-www">Le serveur WWW
738
739 <p>
740 Le serveur web principal, <tt>www.debian.org</tt>, est aussi connu sous le nom
741 <tt>klecker.debian.org</tt>. Tous les développeurs ont un compte sur cette
742 machine.
743
744 <p>
745 Si vous désirez publier quelques informations spécifiques à Debian sur la
746 toile,
747 vous pouvez le faire en les déposant dans le sous-répertoire
748 <file>public_html</file> de votre répertoire personnel sur
749 <tt>klecker.debian.org</tt>. Toute information déposée à cet endroit est
750 accessible à l'adresse <tt>http://people.debian.org/~<var>user-id</var>/</tt>.
751 Vous devriez préférer ce serveur aux autres car les répertoires
752 <file>public_html</file> du serveur <tt>klecker.debian.org</tt> sont
753 sauvegardés. Ce n'est pas le cas sur les autres serveurs. N'utilisez pas ces
754 serveurs pour publier des informations sans rapport avec le projet Debian
755 avant d'en avoir obtenu la permission.  Pour toute question supprémentaire
756 adressez-vous à la liste &email-debian-devel;.  
757
758 <p>
759 Si vous rencontrez un problème avec un serveur web Debian, vous devez
760 généralement soumettre un rapport de bogue contre le pseudo-paquet
761 <package>www.debian.org</package>.  Vérifiez d'abord sur le <url
762 id="http://bugs.debian.org/www.debian.org" name="système de suivi des bogues">
763 que personne ne l'a déjà rapporté avant vous.
764
765
766
767
768         <sect1 id="servers-cvs">Le serveur CVS
769         
770 <p>
771 Le serveur <tt>cvs.debian.org</tt> est aussi connu sous le nom
772 <tt>klecker.debian.org</tt> (déjà présenté plus haut). Si vous avez besoin
773 d'un serveur CVS accessible par tous pour, par exemple, coordonner le travail
774 de plusieurs développeurs sur un paquet, vous pouvez demander un espace sur ce
775 serveur.
776
777 <p>
778 Le serveur <tt>cvs.debian.org</tt> autorise les accès CVS locaux, les accès en
779 lecture seule pour les connexions client-serveur anonymes et les accès
780 client-serveur complets pour les connexions <prgn>ssh</prgn>. L'espace CVS peut
781 aussi être consulté par la toile à l'adresse <url id="&url-cvsweb;">.
782
783 <p>
784 Pour obtenir un espace CVS, envoyez une demande à l'adresse
785 &email-debian-admin; en précisant le nom de l'espace, le propriétaire du
786 répertoire racine et pourquoi vous en avez besoin.
787
788
789
790
791         <sect1 id="servers-mirrors">Miroirs des serveurs Debian
792
793 <p>
794 Les serveurs web et FTP Debian sont répliqués sur d'autres serveurs. Évitez de
795 charger les serveurs originaux. Idéalement, les serveurs originaux se
796 contentent de répliquer leur contenu sur les miroirs de premier niveau et
797 tous les utilisateurs consultent les miroirs. Ainsi le projet Debian étale
798 ces besoins en bande passante sur plusieurs serveurs et plusieurs réseaux.
799 Notez que la réplication des données sur les miroirs est déclenchée par le
800 serveur maître. Ceci nous garantit que les miroirs sont aussi à jour que
801 possible.
802
803 <p>
804 La liste des miroirs FTP (et en général HTTP) se trouve à l'adresse <url
805 id="&url-debian-mirrors;">. Vous trouverez plus d'information sur les miroirs
806 Debian à l'adresse <url id="&url-debian-mirroring;">. Cette page contient des
807 informations et des outils qui pourront vous aider si vous avez l'intention de
808 mettre en place votre propre miroir, que ce soit pour un usage interne ou
809 pour un accès public.
810
811 <p>
812 Les miroirs sont en général mis en oeuvre par des tiers qui veulent aider
813 Debian. C'est pourquoi les développeurs n'ont en général pas de compte sur ces
814 machines.
815
816
817
818
819         <sect id="other-machines">Autres machines Debian
820
821 <p>
822 Vous aurez peut-être accès à d'autres machines Debian. Vous pouvez utiliser
823 ces machines pour des tâches en rapport avec le projet Debian. Soyez gentils
824 avec les administrateurs et ne consommez pas des montagnes d'espace disque, de
825 bande passante ou de temps machine sans en avoir d'abord reçu l'autorisation.
826 En général, ces machines sont gérés par des volontaires et sont utilisées pour
827 des activités de portage.
828
829 <p>
830 Vous trouverez une liste des autres machines misent à la disposition des
831 développeurs Debian à l'adresse <url id="&url-devel-machines;">.
832
833
834
835
836
837         <chapt id="archive">L'archive Debian
838
839         <sect>Aperçu
840
841 <p>
842 La distribution Debian est composée d'un grand nombre de paquets Debian
843 (fichiers <tt>.deb</tt>&nbsp;: à peu près &number-of-pkgs;) et de quelques
844 autres fichiers (documentation, images de disquette d'installation,
845 etc.).
846
847 <p>
848 Voici un exemple d'arborescence pour une archive Debian complète&nbsp;:
849
850 <p>
851 &sample-dist-dirtree;
852
853 <p>
854 Comme vous pouvez le voir, le répertoire racine contient deux répertoires,
855 <tt>dists/</tt> et <tt>pool/</tt>. Le second est un ensemble de répertoires où
856 sont stockés les paquets. Ceux-ci sont manipulés grâce à la base de données de
857 l'archive et aux logiciels qui l'accompagnent. Le premier répertoire contient
858 les distributions <em>stable</em>, <em>testing</em> et <em>unstable</em>. Le
859 découpage en sous-répertoires est identique d'un répertoire de distribution à
860 l'autre nous nous contenterons donc d'exposer ce découpage pour la
861 distribution <em>stable</em>. Les fichiers <tt>Packages</tt> et
862 <tt>Sources</tt> qui se trouvent dans les répertoires de distribution peuvent
863 faire référence à des fichiers du répertoire <tt>pool/</tt>.
864
865
866 <p>
867 Le répertoire <tt>dists/stable</tt> contient trois répertoires nommés
868 <tt>main</tt>, <tt>contrib</tt> et <tt>non-free</tt>.
869
870 <p>
871 Dans chacune de ces sections se trouve un répertoire contenant les paquets
872 sources (<tt>source/</tt>), un répertoire pour chaque architecture supportée
873 (<tt>binary-i386/</tt>, <tt>binary-m68k/</tt>, etc) et un répertoire pour les
874 paquets indépendants de l'architecture (<tt>binary-all/</tt>).
875
876 <p>
877 La section <em>main</em> contient d'autres répertoires destinés aux images de
878 disquettes et à quelques documentations essentielles pour installer la
879 distribution Debian sur une architecture particulière (<tt>disk-i386/</tt>,
880 <tt>disk-m68k/</tt>, etc).
881
882 <p>
883 Les répertoires  <tt>binary-*/</tt> et <tt>source/</tt> sont à nouveau
884 divisés en <em>sous-sections</em>.
885
886
887
888         <sect>Sections
889
890 <p>
891 La section <em>main</em> constitue la <strong>distribution Debian GNU-Linux
892 officielle</strong>.  Elle est officielle parce qu'elle est conforme à toutes
893 nos recommandations. Les deux autres sections divergent de ces recommandations
894 à différents degrés, elles ne font donc pas officiellement partie de Debian.
895
896 <p>
897 Chaque paquet de la section <em>main</em> doit être conforme aux <url
898 id="&url-dfsg;" name="Debian Free Software Guidelines"> et à toutes les autres
899 recommandations décrites dans <url id="&url-debian-policy;" name="le Debian
900 Policy Manual">. Les DFSG<footnote><em>Debian Free Software
901 Guidelines</em></footnote> constituent notre définition de <em>logiciel
902 libre</em>. Reportez-vous au <em>Debian Policy Manual</em> pour en savoir
903 plus.
904
905 <p>
906 Les paquets de la section <em>contrib</em> doivent être conformes aux DFSG
907 mais ne respectent pas d'autres contraintes. Ils peuvent par exemple dépendre
908 de paquets de la section <em>non-free</em>.
909
910 <p>
911 Les paquets qui ne sont pas conformes aux DFSG sont rangés dans la section
912 <em>non-free</em>. Bien que nous supportions l'usage de ces paquets et qu'ils
913 bénéficient de nos infrastructures (système de suivi des bogues, listes de
914 diffusion, etc), ces paquets <em>non-free</em> ne font pas partie de la
915 distribution Debian.
916
917 <p>
918 Le <em>Debian Policy Manual</em> donne des définitions plus précises pour ces trois sections.
919 Les paragraphes précédant ne constituent qu'une introduction.
920
921 <p>
922 La séparation de la distribution en trois sections dès la racine est
923 importante pour toute personne qui désire distribuer Debian, que ce soit par
924 serveur FTP ou sur cédérom. Il suffit de distribuer les sections <em>main</em>
925 et <em>contrib</em> pour éviter tout problème légal. Certains paquets de la
926 section <em>non-free</em> interdisent leur distribution à titre commercial par
927 exemple.
928
929 <p>
930 D'un autre coté, un distributeur de cédérom pourra facilement vérifier
931 individuellement les licences des paquets de la section <em>non-free</em> et
932 ajouter autant de paquets qu'il est autorisé à le faire sur ses cédéroms (dans
933 la mesure où cela varie énormément d'un distributeur à l'autre ce travail ne
934 peut être fait par les développeurs Debian).
935
936
937
938         <sect>Architectures
939
940 <p>
941 À ses débuts, le noyau Linux existait uniquement pour les architectures Intel
942 x86 et supérieures&nbsp;; il en était de même pour Debian. Linux devenant de plus
943 en plus populaire, il a été porté vers d'autres architectures.  <p> Le noyau
944 2.0 existe pour les architectures Intel x86, DEC Alpha, SPARC, Motorola, 680x0
945 (Atari, Amiga, et Macintosh), MIPS et PowerPC. Le noyau 2.2 supporte encore
946 plus d'architectures dont ARM et UltraSPARC.  Puisque Linux supporte ces
947 architectures, Debian a décidé qu'il devait les supporter aussi. C'est
948 pourquoi plusieurs portages sont en cours&nbsp;; en fait il y a aussi des portages
949 vers d'autres noyaux. À coté d'<em>i386</em> (notre nom pour Intel x86), nous
950 avons, au moment où j'écris <em>m68k</em>, <em>alpha</em>, <em>powerpc</em>,
951 <em>sparc</em>, <em>hurd-i386</em>, et <em>arm</em>.
952
953 <p>
954 Debian GNU-Linux 1.3 est disponible uniquement pour <em>i386</em>.  Debian 2.0
955 supporte les architectures <em>i386</em> et <em>m68k</em>.  Debian 2.1
956 supporte les architectures <em>i386</em>, <em>m68k</em>, <em>alpha</em> et
957 <em>sparc</em>. Debian 2.2 ajoute le support de l'architecture
958 <em>powerpc</em>.
959
960 <p>
961 Vous trouverez des informations destinées aux développeurs à propos d'un
962 portage particulier sur la page <url id="&url-debian-ports;" name="Portage
963 Debian">.
964
965
966
967
968         <sect>Sous-sections
969
970 <p>
971 Les sections <em>main</em>, <em>contrib</em> et <em>non-free</em> sont
972 divisées en sous-sections  pour simplifier le processus d'installation et la
973 maintenance de l'archive Debian. Ces sous-sections ne sont pas définies
974 formellement, à l'exception peut-être de la sous-section <em>base</em>.
975 Elles existent pour simplifier l'organisation des paquets et la navigation
976 dans la liste des paquets disponibles. Reportez-vous à la distribution
977 courante pour connaître la liste des sous-sections disponibles.
978
979 <p>
980 Notez qu'avec l'introduction de la nouvelle organisation de l'archive (voir le
981 répertoire racine <em>pool/</em>), les sous-sections matérialisées par des
982 répertoires pourraient disparaître à l'avenir. Elles seront cependant
983 conservées dans le champ <tt>Section</tt> de l'en-tête des paquets.
984
985
986
987
988         <sect>Paquets
989
990 <p>
991 Il existe deux types de paquets Debian&nbsp;: les paquets sources et les 
992 paquets binaires.
993
994 <p>
995 Les paquets sources sont constitués de deux ou trois fichiers&nbsp;: 
996
997         <list compact>
998         <item>
999         un fichier <tt>.dsc</tt> et un fichier <tt>.tar.gz</tt> ou,
1000
1001         <item>
1002         un fichier <tt>.dsc</tt>, un fichier <tt>.orig.tar.gz</tt> et un
1003         fichier <tt>.diff.gz</tt>.
1004
1005         </list>
1006         
1007 <p>
1008 Si un paquet est développé spécifiquement pour le projet Debian et n'est pas
1009 distribué en dehors de Debian, il n'y a qu'un fichier <tt>.tar.gz</tt> qui
1010 contient les sources du programme. Si un paquet est distribué ailleurs, le
1011 fichier <tt>.orig.tar.gz</tt> contient ce que l'on appelle <em>code source
1012 amont</em>, c'est-à-dire le code source distribué par le <em>mainteneur
1013 amont</em> (il s'agit souvent de l'auteur du logiciel). Dans ce cas, le
1014 fichier <tt>.diff.gz</tt> contient les modifications faites par le responsable
1015 Debian.
1016
1017 <p>
1018 Le fichier <tt>.dsc</tt> liste tous les fichiers sources avec leurs sommes de
1019 contrôle (<prgn>md5sums</prgn>) et quelques informations supplémentaires
1020 concernant le paquet (responsable, version, etc).
1021
1022
1023
1024
1025         <sect>Répertoires des distributions
1026
1027 <p>
1028 L'organisation des répertoires présentée précédemment est elle-même englobée
1029 par les <em>répertoires des distributions</em>.  Chaque distribution est
1030 incluse dans le répertoire <tt>pool</tt> à la racine de l'archive Debian.
1031
1032 <p>
1033 En résumant, une archive Debian a un répertoire racine sur un serveur FTP. Par
1034 exemple, sur le site miroir <ftpsite>ftp.us.debian.org</ftpsite>, l'archive
1035 Debian se trouve dans <ftppath>/debian</ftppath> ce qui est un emplacement
1036 courant. Un autre emplacement courant est <ftppath>/pub/debian</ftppath>.
1037
1038 <p>
1039 Une distribution est composée de paquets Debian sources et binaires et des
1040 fichiers <tt>Sources</tt> et <tt>Packages</tt> correspondants. Ces derniers
1041 contiennent tous les en-têtes de descriptions des paquets. Les premiers sont
1042 conservés dans le répertoire <tt>pool/</tt> tandis que les seconds sont
1043 conservés dans le répertoire <tt>dists/</tt> de l'archive (pour des questions
1044 de compatibilité descendante)
1045
1046
1047
1048
1049         <sect1 id="life-cycle"><em>Stable</em>, <em>testing</em>,
1050                                <em>unstable</em> et parfois <em>frozen</em>
1051
1052 <p>
1053 Il y a toujours une distribution appelée <em>stable</em> (dans le répertoire
1054 <tt>dists/stable</tt>), une distribution appelée <em>testing</em> (dans le
1055 répertoire <tt>dists/testing</tt>) et une distribution appelée
1056 <em>unstable</em> (dans le répertoire <tt>dists/unstable</tt>). Ceci reflète
1057 le processus de développement du projet Debian.
1058         
1059 <p>
1060 Les développements se font sur la distribution <em>unstable</em><footnote>
1061 <em>unstable</em> signifie «&nbsp;instable&nbsp;»</footnote> (c'est pourquoi
1062 elle est aussi appelée <em>distribution de développement</em>).  Chaque
1063 développeur Debian peut modifier ses paquets à tout moment dans cette
1064 distribution. Ainsi son contenu change tous les jours.  Comme aucun effort
1065 particulier n'est fait pour s'assurer que tout fonctionne correctement dans
1066 cette distribution, elle est parfois <em>instable</em>. 
1067
1068 <p>
1069 Les paquets sont copier de <em>unstable</em> vers <em>testing</em> s'ils
1070 satisfont certains critères. Pour entrer dans la distribution <em>testing</em>
1071 un paquet doit faire partie de l'archive depuis deux semaines et ne doit pas
1072 avoir de bogue bloquant pour la distribution<footnote><em>Release critical
1073 bug</em></footnote>. Passée cette période, le paquet sera installé dans
1074 <em>testing</em> dès que les paquets dont il dépend y seront. Ce processus est
1075 automatique.
1076
1077 <p>
1078 Après une période de développement, quand le responsable de
1079 distribution<footnote><em>Release manager</em></footnote> le juge opportun, la
1080 distribution <em>testing</em> est renommée <em>frozen</em>.  Une fois que cela
1081 est fait, aucun changement n'est autorisé sur cette distribution en dehors des
1082 corrections de bogues&nbsp;; c'est pourquoi nous l'appelons <em>frozen<footnote>
1083 <em>frozen</em> signifie «&nbsp;gelée&nbsp;»</footnote></em>.  Après un mois
1084 ou un peu plus selon l'avancement la distribution entre dans une phase de
1085 «&nbsp;gèle complet&nbsp;» où les seules modifications acceptées concernent la
1086 procédure d'installation. Cette phase s'appelle un «&nbsp;cycle de test&nbsp;»
1087 et cela peut durer jusqu'à deux semaines.  Il peut y avoir plusieurs cycles de
1088 tests avant que le responsable de distribution ne la déclare prête pour la
1089 diffusion. À la fin du dernier cycle de test, la distribution <em>frozen</em>
1090 est renommée <em>stable</em>, remplaçant l'ancienne distribution <em>stable</em> qui
1091 est enlevée à cette occasion.
1092
1093 <p>
1094 Ce cycle de développement est basé sur l'idée que la distribution
1095 <em>instable</em> devient <em>stable</em> après une période de test en tant
1096 que distribution <em>gelée</em>. Une distribution contient inévitablement des
1097 bogues, même si elle est classée stable. C'est pourquoi les distributions
1098 stables sont mises à jour de temps en temps. Les corrections introduites sont
1099 testées avec une grande attention et ajoutées individuellement à l'archive
1100 pour diminuer les risques d'introduire de nouveaux bogues. Vous pouvez trouver
1101 des paquets proposés pour les mises à jour de <em>stable</em> dans le
1102 répertoire <tt>proposed-updates</tt>. De temps en temps, les paquets de ce
1103 répertoire qui ne présentent pas de problème sont installés dans la
1104 distribution <em>stable</em> et le numéro de révision de cette distribution
1105 est incrémenté («&nbsp;1.3&nbsp;» devient «&nbsp;1.3r1&nbsp;»,
1106 «&nbsp;2.0r2&nbsp;» devient «&nbsp;2.0r3&nbsp;» et ainsi de suite).
1107
1108 <p>
1109 Notez que pendant la période de gel les développements continuent sur la
1110 distribution instable car cette distribution reste en place quand
1111 <em>testing</em> devient <em>frozen</em>. Que quand la distribution
1112 <em>frozen</em> devient officiellement <em>stable</em> l'ancienne distribution
1113 stable est entièrement supprimée de l'archive Debian (elle reste cependant
1114 disponible à l'adresse <tt>&archive-host;</tt>).
1115
1116 <p>
1117 En résumé, les distributions <em>stable</em>, <em>testing</em> et
1118 <em>unstable</em> sont disponibles en permanence et de temps en temps, une
1119 distribution <em>frozen</em> apparaît pour quelques mois.
1120
1121
1122
1123
1124
1125         <sect1>Experimental
1126
1127 <p>
1128 <em>NOTE&nbsp;: <em>experimental</em> ne fonctionne plus depuis la mise en place du
1129 <em>package pool</em>. Si la distribution <em>experimental</em> est remise en service
1130 un jour, la présente section aura sûrement besoin d'une mise à jour.</em>
1131
1132 <p>
1133 La distribution <em>experimental</em> est une distribution particulière. Ce
1134 n'est pas une distribution à part entière comme le sont <em>stable</em> et
1135 <em>unstable</em>. Elle est prévue pour servir de plate-forme de développement
1136 pour les projets expérimentaux qui ont de grandes chances de détruire le
1137 système. Les utilisateurs qui téléchargent et installent des paquets depuis
1138 <em>experimental</em> sont prévenus&nbsp;: on ne peut pas faire confiance à la
1139 distribution <em>experimental</em>.
1140
1141 <p>
1142 Les responsables doivent être très sélectifs quant à l'utilisation de la
1143 distribution <em>experimental</em>. Même très instable, un paquet peut aller
1144 dans <em>unstable</em>&nbsp;; ajoutez juste quelques avertissements dans la
1145 description. Par contre, s'il y a une chance que le logiciel endommage
1146 sérieusement le système, il est préférable de le mettre dans
1147 <em>experimental</em>.
1148
1149 <p>
1150 Un système de fichier crypté, par exemple, devrait probablement aller dans
1151 <em>experimental</em>. Une nouvelle version non finalisée d'un logiciel qui
1152 utilise une méthode de configuration complètement différente pourrait aller
1153 dans <em>experimental</em> à la discrétion du responsable. Un nouveau logiciel
1154 qui a peu de chance d'endommager le système ira dans <em>unstable</em>. Si
1155 vous travaillez sur un cas de mise à jour complexe ou incompatible vous pouvez
1156 aussi utiliser <em>experimental</em> comme plate-forme d'intégration et ainsi
1157 fournir un accès aux testeurs.
1158
1159 <p>
1160 Par contre, utiliser <em>experimental</em> comme plate-forme n'est pas
1161 toujours la meilleure idée. Vous ne pouvez pas remplacer ou mettre à jour des
1162 paquets dans cet espace vous-même (c'est le logiciel de maintenance de
1163 l'archive qui s'en charge). De plus, il vous faudra penser à demander la
1164 suppression de vos paquets à l'équipe d'administration de l'archive une fois
1165 qu'ils seront installés dans <em>unstable</em>. Utiliser vos pages web
1166 personnelles sur le serveur <tt>klecker.debian.org</tt> est en général une
1167 meilleure idée, cela permet de décharger l'équipe de maintenance de l'archive.
1168
1169
1170
1171         <sect id="codenames">Les noms de distribution
1172
1173 <p>
1174 Chaque distribution Debian diffusée a un nom&nbsp;: Debian 1.1 s'appelle
1175 «&nbsp;buz&nbsp;»&nbsp;; Debian 1.2, «&nbsp;rex&nbsp;»&nbsp;; Debian 1.3 «&nbsp;bo&nbsp;»&nbsp;;
1176 Debian 2.0, «&nbsp;hamm&nbsp;»&nbsp;; Debian 2.1, «&nbsp;slink&nbsp;» et Debian 2.2
1177 «&nbsp;potato&nbsp;». Il y a aussi une pseudo-distribution nommée
1178 «&nbsp;sid&nbsp;», il s'agit de la distribution <em>unstable</em>&nbsp;; comme les
1179 paquets vont de <em>unstable</em> à <em>testing</em> quand ils approchent de
1180 la stabilité la distribution «&nbsp;sid&nbsp;» n'est jamais diffusée.  En plus
1181 du contenu habituel d'une distribution Debian, «&nbsp;sid&nbsp;» contient des
1182 paquets pour des architectures qui ne sont pas encore officiellement
1183 supportées ou pour lesquelles la distribution n'a pas encore été diffusée. Ces
1184 architectures doivent rejoindre les architectures supportées à une date
1185 future.
1186
1187 <p>
1188 Comme Debian est un projet de développement ouvert (i.e. tout le monde peut
1189 participer et suivre les développements) même les distributions
1190 <em>unstable</em> et <em>testing</em> sont disponibles sur les serveurs HTTP
1191 et FTP de Debian.
1192
1193 <p>
1194 Si nous avions nommé le répertoire qui contient la version candidate pour
1195 diffusion «&nbsp;testing&nbsp;», il aurait fallu le renommer
1196 «&nbsp;stable&nbsp;» au moment de la diffusion, ce qui aurait forcé les
1197 miroirs FTP à re-télécharger la distribution complète (qui est plutôt
1198 volumineuse).
1199
1200 <p>
1201 D'un autre coté, si une distribution s'appelle <em>Debian-x.y</em> dès le
1202 départ, des personnes pourraient s'imaginer que la distribution Debian
1203 <em>x.y</em> est disponible. (Cela s'est produit par le passé, un distributeur
1204 avait gravé des cédéroms Debian 1.0 en utilisant une version de développement
1205 pré-1.0. C'est pour cette raison que la première version officielle était la
1206 version 1.1 et non la 1.0.)
1207
1208 <p>
1209 En conséquence les noms de répertoire des distributions dans l'archive sont
1210 déterminés par leurs noms de code et non par leur statut (exemple&nbsp;: slink). Ces
1211 noms sont identiques pendant la période de développement et une fois la
1212 distribution diffusée&nbsp;; des liens symboliques, qui peuvent être modifiés
1213 facilement, indiquent la distribution stable actuelle. 
1214
1215 <p>
1216 Tout ceci explique pourquoi les répertoires des distributions sont nommés à
1217 partir des noms de code des distributions alors que <em>stable</em>,
1218 <em>testing</em>, <em>unstable</em> et <em>frozen</em> sont des liens
1219 symboliques qui pointent vers les répertoires appropriés.
1220
1221
1222
1223
1224
1225         <chapt id="upload">Mise à jour de paquet
1226
1227
1228         <sect>Annoncer un nouveau paquet
1229
1230 <p>
1231 Si vous voulez créer un nouveau paquet pour la distribution Debian vous
1232 devriez commencer par consulter la liste des <url id="&url-wnpp;"
1233 name="paquets en attente d'action et paquets prospectifs">. Vous pourrez ainsi
1234 vérifier que personne ne travaille déjà sur ce paquet et éviter de dupliquer
1235 le travail.  Consultez aussi cette page si vous voulez en savoir plus.
1236
1237 <p>
1238 Supposons que personne ne travaille sur le paquet que vous visez, vous devez
1239 alors soumettre un rapport de bogue (voir <ref id="submit-bug">) sur le
1240 pseudo-paquet <tt>wnpp</tt> et envoyer une copie à &email-debian-devel;. Ce
1241 courrier devra décrire le paquet que vous projetez de créer, la licence de ce
1242 paquet et l'URL à laquelle le source peut être téléchargé. Cette liste n'est
1243 pas limitative. Le sujet de votre rapport de bogue devra être
1244 &lt;ITP<footnote><em>Intent To Package</em>&nbsp;: intention de mise en
1245 paquet</footnote>&nbsp;: <var>NomDuPaquet</var> -- <var> courte description
1246 </var>&gt;, en remplaçant <var>NomDuPaquet</var> par le nom du paquet. La
1247 sévérité du bogue sera <em>whishlist</em>.  Il faudra aussi ajouter une entrée
1248 <tt>Closes: bug#<var>nnnnn</var></tt> dans le fichier <file>changelog</file>
1249 du nouveau paquet. Cette indication fermera automatiquement le rapport de
1250 bogue à l'installation du nouveau paquet sur les serveurs d'archivage (voir
1251 <ref id="upload-bugfix">).
1252
1253 <p>
1254 Il y a plusieurs raisons qui nous poussent à demander aux responsables d'annoncer
1255 leurs intentions&nbsp;:
1256
1257         <list compact>
1258         <item>
1259         Les responsables ont ainsi la possibilité de puiser dans l'expérience
1260         des autres responsables et cela leur permet de savoir si une autre personne
1261         travaille déjà dessus.
1262
1263         <item>
1264         D'autres personnes qui envisagent de travailler sur le même paquet
1265         apprendront ainsi qu'il existe déjà un volontaire, l'effort peut alors
1266         être partagé.
1267
1268         <item>
1269         Cela permet aux autres responsables d'en savoir plus sur le nouveau
1270         paquet que ne le permettent la description d'une ligne et l'habituelle
1271         entrée «&nbsp;<em>Initial release</em>&nbsp;» que l'on trouve dans les
1272         fichiers <em>changelog</em> qui sont postés sur
1273         <tt>debian-devel-changes</tt>.
1274
1275         <p>
1276         C'est une information utile pour les gens qui utilisent la
1277         distribution <em>unstable</em> et sont nos premiers testeurs. Nous
1278         devons faciliter la tâche de ces gens.
1279
1280         <p>
1281         Avec ces annonces, les développeurs Debian et toutes les autres personnes
1282         intéressées peuvent se faire une meilleure idée des évolutions et nouveautés du
1283         projet.
1284
1285         </list>
1286
1287
1288
1289
1290
1291         <sect id="uploading">Mettre à jour un paquet
1292
1293
1294         <sect1>Générer le fichier « changes »
1295
1296 <p>
1297 Chaque nouvelle version de paquet installé sur les archives FTP Debian doit
1298 être accompagnée par un fichier <tt>.changes</tt>. Ce fichier explique à
1299 l'administrateur de l'archive Debian ce qu'il doit faire du paquet. Il est en
1300 général créé par <prgn>dpkg-genchanges</prgn> au cours du processus de
1301 fabrication du paquet.
1302
1303 <p>
1304 Le fichier <tt>changes</tt> est un fichier de contrôle qui contient les champs
1305 suivants&nbsp;:
1306
1307 <p>
1308 &control-file-fields;
1309
1310 <p>
1311 Tous ces champs sont obligatoires pour une installation sur les serveurs
1312 Debian.  Vous pouvez consulter la liste des champs de contrôle dans le
1313 <url id="&url-debian-policy;" name="Debian Policy Manual"> pour connaître
1314 les valeurs que prennent ces champs. Vous pouvez fermer un rapport de bogue
1315 automatiquement avec le champ <tt>Description</tt> (voir <ref
1316 id="upload-bugfix">). Nous ne verrons que le champ <tt>Distribution</tt> ici
1317 car il est directement lié aux règles d'administration de l'archive.
1318
1319
1320
1321
1322         <sect1 id="upload-dist">Choisir une distribution
1323
1324 <p>
1325 Le champ <tt>Distribution</tt>, qui provient du fichier
1326 <file>debian/changelog</file>, indique à quelle distribution le paquet est
1327 destiné. Il y a quatre valeurs possibles pour ce champ&nbsp;: <em>stable</em>,
1328 <em>unstable</em>, <em>frozen</em> et <em>experimental</em>&nbsp;; ces valeurs
1329 peuvent aussi être combinées. Si, par exemple, Debian a été gelée et vous
1330 voulez mettre à jour une correction de bogue sur <em>frozen</em>, il faudra
1331 indiquer <em>frozen unstable</em> dans le champ distribution (se reporter à
1332 <ref id="upload-frozen"> pour savoir quand vous pouvez faire une mise à jour
1333 sur <em>frozen</em>). Notez bien qu'il n'y a pas de raison de combiner
1334 <em>experimental</em> avec quelque distribution que ce soit. 
1335
1336 <p>
1337 Vous devriez éviter de combiner <em>stable</em> avec d'autres cibles à cause
1338 des problèmes potentiels de dépendance de bibliothèque (pour votre paquet et
1339 pour les paquets fabriqués par le démon de compilation pour les autres
1340 architectures). Notez encore que choisir la valeur <em>stable</em> pour ce
1341 champ signifie que le paquet sera dirigé vers le répertoire
1342 <tt>proposed-update</tt> des archives Debian pour y être testé avant d'être
1343 effectivement inclus dans <em>stable</em>. L'équipe responsable de la
1344 distribution<footnote><em>the release team</em></footnote> (joignable à
1345 l'adresse &email-debian-release;) prendra la décision d'inclure ou de ne pas
1346 inclure votre paquet dans la distribution <em>stable</em>. C'est pourquoi vous
1347 pourrez choisir de leur envoyer un courrier expliquant les motifs qui vous ont
1348 incité à faire une mise à jour pour <em>stable</em>, si votre fichier
1349 <file>changelog</file> n'est pas suffisamment clair sur ce point.
1350
1351 <p>
1352 La première fois qu'un paquet est installé dans l'archive pour une version
1353 amont donnée, le fichier <tt>tar</tt> de cette version amont doit être
1354 téléchargé et mentionné dans le fichier <tt>.changes</tt>. Par la suite, ce
1355 fichier <tt>tar</tt> sera utilisé pour générer les fichiers <tt>diff</tt> et
1356 <tt>.dsc</tt> et il ne sera pas nécessaire de le re-télécharger.
1357
1358 <p>
1359 Par défaut, <prgn>dpkg-genchanges</prgn> et <prgn>dpkg-buildpackage</prgn>
1360 incluront le fichier <tt>tar</tt> amont si et seulement si le numéro de
1361 révision du paquet source est 0 ou 1, ce qui indique une nouvelle version
1362 amont. Ce comportement peut être modifié en utilisant <tt>-sa</tt> pour
1363 l'inclure systématiquement ou <tt>-sd</tt> pour ne jamais l'inclure.
1364
1365 <p>
1366 Si la mise à jour ne contient pas le fichier <tt>tar</tt> des sources
1367 originaux, celui qui est utilisé par <prgn>dpkg-source</prgn> pour construire
1368 les fichiers <tt>.dsc</tt> et <tt>diff</tt> de la mise à jour <em>doit</em>
1369 être identique au fichier <tt>tar</tt> déjà téléchargé à l'octet près. Si pour
1370 une raison ou pour une autre, le fichier source original diffère de celui qui
1371 a été téléchargé précédemment, la nouvelle version de ce fichier doit à nouveau
1372 être incluse dans la mise à jour (en utilisant l'option <tt>-sa</tt> par
1373 exemple).
1374
1375
1376
1377
1378
1379
1380         <sect2 id="upload-frozen">Mettre à jour la distribution <em>frozen</em>
1381
1382 <p>
1383 Le gel de la distribution est un moment crucial pour Debian. C'est une chance
1384 de pouvoir synchroniser et stabiliser notre distribution comme un tout
1385 cohérent. Il faut donc être très vigilant quand on fait une mise à jour
1386 pour <em>frozen</em>.
1387
1388 <p>
1389 Il est tentant de toujours mettre en paquet la dernière version d'un logiciel
1390 pour Debian mais il est bien plus important que le système soit stable et
1391 fonctionne de la manière attendue dans son ensemble.
1392
1393 <p>
1394 Le mot d'ordre pour télécharger vers <em>frozen</em> est&nbsp;: <strong>pas de code
1395 nouveau</strong>. C'est une chose difficile à quantifier, voici quelques
1396 conseils&nbsp;:
1397
1398 <p>
1399         <list compact>
1400         <item>
1401         Les correctifs pour les bogues de sévérité <em>critique</em>,
1402         <em>grave</em> ou <em>sérieuse</em><footnote>respectivement
1403         <em>critical</em>, <em>grave</em> ou <em>serious</em></footnote> sont
1404         toujours autorisés pour les paquets qui doivent exister dans la
1405         distribution.
1406
1407         <item>
1408         Les correctifs pour les bogues de sévérité <em>critique</em>,
1409         <em>grave</em> ou <em>sérieuse</em><footnote>respectivement
1410         <em>critical</em>, <em>grave</em> ou <em>serious</em></footnote> sont
1411         autorisés pour les paquets non indispensables uniquement s'ils
1412         n'ajoutent pas de nouvelle fonctionnalité.
1413
1414         <item>
1415         Les correctifs pour les bogues de sévérité <em>importante</em>,
1416         <em>normale</em> et <em>mineure</em><footnote>respectivement
1417         <em>important</em>, <em>normal</em> et <em>minor</em></footnote> sont
1418         autorisés, bien que découragés, sur tous les paquets si et seulement
1419         s'ils n'ajoutent pas de nouvelle fonctionnalité. 
1420
1421         <item>
1422         Les correctifs de sévérité <em>wishlist</em> ne sont pas autorisés (ce
1423         ne sont pas vraiment des bogues après tout).
1424
1425         <item>
1426         Les correctifs liés à la documentation sont autorisés car il est
1427         important d'avoir une bonne documentation.
1428
1429         </list> 
1430
1431 <p> 
1432 L'expérience montre qu'il y a 15% de chance d'introduire un nouveau bogue en
1433 corrigeant un autre bogue. L'introduction et la découverte d'un nouveau bogue
1434 retarde la mise à disposition de la distribution ou affaiblit le produit
1435 final.  Il y a très peu de corrélation entre la sévérité du bogue corrigé et
1436 la sévérité du bogue introduit par le correctif.
1437
1438
1439
1440
1441         <sect1 id="upload-checking">Vérifier le paquet avant la mise à jour
1442
1443 <p>
1444 Avant de mettre à jour votre paquet vous ferez quelques tests de base. Vous
1445 devrez au moins faire les tests suivants (il vous faudra une ancienne version
1446 du paquet pour cela)&nbsp;:
1447
1448         <list compact>
1449         <item>
1450         Installez le paquet et vérifiez que le logiciel fonctionne. Si le
1451         paquet existait déjà dans une version plus ancienne, faites une mise à
1452         jour.
1453
1454         <item>
1455         Exécutez <prgn>lintian</prgn> sur votre paquet. Vous pouvez exécuter
1456         <prgn>lintian</prgn> comme suit&nbsp;: <tt>lintian -v
1457         <var>package-version</var>.changes</tt>. Ce programme fera une
1458         vérification sur les paquets source et binaire. Si vous ne comprenez
1459         par les messages générés par <prgn>lintian</prgn> essayez l'option
1460         <tt>-i</tt>. Cette option rendra <prgn>lintian</prgn> beaucoup plus
1461         bavard dans sa description du problème.  <p> Un paquet pour lequel
1462         <prgn>lintian</prgn> génère des erreurs (elles commencent par
1463         <tt>E</tt>) <em>ne doit pas</em> être installé dans l'archive.
1464
1465         <p>
1466         Pour en savoir plus sur <prgn>lintian</prgn> reportez-vous à la
1467         section lintian <ref id="lintian">.  <item> Faites régresser le paquet
1468         vers sa version précédente si elle existe -- cela permet de tester les
1469         scripts <tt>postrm</tt> et <tt>prerm</tt>.
1470
1471         <item>
1472         Désinstallez le paquet et réinstallez-le.
1473
1474         </list>
1475
1476
1477
1478
1479
1480         <sect1 id="upload-ftp-master">Installer un paquet sur
1481         <tt>ftp-master</tt> 
1482
1483 <p>
1484 Pour installer un paquet vous avez besoin d'un compte sur
1485 <ftpsite>ftp-master</ftpsite>, ce que vous devez avoir en tant que
1486 développeur Debian. Si vous utilisez <prgn>scp</prgn> ou <prgn>rsync</prgn>
1487 pour télécharger vos paquets, placez-les dans
1488 <ftppath>&us-upload-dir;</ftppath>.  Si vous utilisez un FTP anonyme,
1489 placez-les dans <ftppath>/pub/UploadQueue/</ftppath>.
1490
1491 <p>
1492 <em>Note&nbsp;:</em> ne téléchargez pas de paquet soumis aux lois de contrôle des
1493 exportations américaines sur le serveur <tt>ftp-master</tt>, ni sur les serveurs
1494 <tt>chiark</tt> et <tt>erlangen</tt>. Cet interdit couvre à peu près tous les
1495 logiciels de cryptographie ainsi que quelques logiciels liés aux logiciels de
1496 cryptographie comme les clients de courrier électronique qui utilisent le
1497 cryptage et l'authentification PGP. Ces logiciels doivent être téléchargés sur
1498 le serveur <tt>non-us</tt>. Reportez-vous à la section <ref
1499 id="upload-non-us"> pour en savoir plus. Si vous ne savez pas si votre paquet
1500 est soumis aux lois de contrôle des exportations américaines posez la question sur la
1501 liste &email-debian-devel;.
1502
1503 <p>
1504 Le paquet <package>dupload</package> pourra vous faciliter le travail lors du
1505 téléchargement. Ce programme, bien pratique, est configuré par défaut pour
1506 se connecter par FTP sur les serveurs <tt>ftp-master</tt>,
1507 <tt>chiark</tt> et <tt>erlangen</tt>. Il peut aussi être configuré pour
1508 utiliser <prgn>ssh</prgn> ou <prgn>rsync</prgn>. Se reporter à <manref
1509 name="dupload" section="1"> et <manref name="dupload" section="5"> pour en
1510 savoir plus.
1511
1512 <p>
1513 Après avoir téléchargé votre paquet, vous pouvez vérifier ce qu'en fera le 
1514 logiciel de maintenance de l'archive en exécutant <prgn>dinstall</prgn>
1515 sur votre fichier <file>.changes</file>&nbsp;:
1516
1517 <example>dinstall -n foo.changes</example>
1518
1519
1520
1521
1522
1523         <sect1 id="upload-non-us">Installer un paquet sur <tt>non-US</tt>
1524         (pandora) 
1525
1526 <p>
1527 Comme nous l'avons dit un peu plus haut, les programmes soumis au contrôle 
1528 des exportations américain ne doivent pas être installés sur <tt>ftp-master</tt>.
1529 Pour installer votre paquet, utilisez <prgn>scp</prgn> ou alors ouvrez une
1530 session FTP sur <ftpsite>non-us.debian.org</ftpsite> en vous identifiant avec
1531 votre login. Par défaut, vous pouvez utiliser le même <em>login/mot de
1532 passe</em> que pour <tt>ftp-master</tt>.
1533
1534 <p>
1535 Le programme <prgn>dupload</prgn> est, lui aussi, capable de télécharger sur
1536 <tt>non-us</tt>&nbsp;; consultez la documentation de ce programme pour en savoir
1537 plus.
1538
1539 <p>
1540 Tout comme sur <tt>ftp-master</tt>, vous pouvez vérifier votre téléchargement
1541 avec&nbsp;:
1542
1543 <example>dinstall -n foo.changes</example>
1544
1545
1546 <p>
1547 Attention, les personnes résidant aux États-unis et les citoyens américains
1548 sont soumis à des restrictions sur l'exportation des logiciels de
1549 cryptographie. Au moment où j'écris, les citoyens américains peuvent exporter
1550 quelques logiciels de cryptographie soumis à une obligation de déclaration
1551 auprès du département du commerce américain.
1552
1553 <p>
1554 Le <em>Debian Policy Manual</em> n'empêche pas les résidents et citoyens
1555 américains de livrer des paquets sur <tt>non-US</tt> mais ils devront être
1556 vigilants en le faisant.  Nous recommandons aux responsables concernés de
1557 prendre toutes les précautions nécessaires, <em>y compris consulter un
1558 juriste</em>, pour s'assurer qu'ils n'enfreignent pas une loi américaine en
1559 livrant un paquet sur <tt>non-US</tt>.
1560
1561 <p>
1562 Pour les paquets des sections <em>non-US/main</em> et <em>non-US/contrib</em>
1563 les responsables devraient au moins suivre la <url id="&url-u.s.-export;"
1564 name="procédure décrite par le gouvernement américain">. Les responsables de
1565 paquets <em>non-US/non-free</em> devront en plus consulter les <url
1566 id="&url-notification-of-export;" name="règles de déclaration d'exportation
1567 pour les logiciels commerciaux">.
1568
1569 <p>
1570 Cette section a pour seul but d'informer, elle n'a pas valeur de conseil
1571 juridique. Une fois encore, nous recommandons aux résidents et citoyens
1572 américains de consulter un juriste avant de livrer un paquet sur
1573 <tt>non-US</tt>.
1574
1575
1576         <sect1>Installer un paquet via <tt>chiark</tt>
1577
1578 <p>
1579 Si votre connexion vers <tt>ftp-master</tt> est lente, vous avez plusieurs
1580 alternatives. L'une d'elles consiste à télécharger vos fichiers dans
1581 <tt>Incoming</tt> en passant par le serveur <tt>chiark</tt> en Europe. Comme
1582 cette file d'attente des mises à jour est redirigée vers <tt>ftp-master</tt>,
1583 les indications de la section <ref id="upload-ftp-master"> sont applicables ici
1584 aussi.
1585
1586 <p>
1587 Le programme <prgn>dupload</prgn> est capable de télécharger sur
1588 <tt>chiark</tt>&nbsp;; consultez la documentation de ce programme pour en savoir
1589 plus.
1590
1591
1592
1593         <sect1>Installer un paquet via <tt>erlangen</tt>
1594
1595 <p>
1596 Vous pouvez aussi accéder à un serveur situé en Allemagne&nbsp;: il vous suffit
1597 d'ouvrir une connexion anonyme sur&nbsp;:
1598
1599 <p>
1600         <url id="&url-upload-erlangen;">.
1601
1602 <p>
1603 Le téléchargement fait sur ce serveur doit être aussi complet que s'il
1604 était fait dans le répertoire <tt>Incoming</tt> sur <tt>ftp-master</tt>,
1605 c'est-à-dire un fichier <file>.changes</file> et tous les fichiers mentionnés
1606 dans ce dernier. Le serveur vérifie que le fichier <tt>.changes</tt> est bien
1607 signé avec la clé PGP d'un développeur Debian pour éviter que des  faux
1608 paquets n'atteignent <tt>ftp-master</tt>. Vérifiez bien que le champ
1609 <tt>Maintainer</tt> du fichier <tt>.changes</tt> contient <em>votre</em>
1610 adresse électronique. De même que sur <tt>ftp-master</tt>, cette adresse est
1611 ensuite utilisée pour toutes les réponses.
1612
1613 <p>
1614 Il n'est pas nécessaire de déplacer votre fichier dans un autre répertoire
1615 après le téléchargement, contrairement au serveur <tt>chiark</tt>. Vous
1616 devriez ensuite recevoir un courrier du serveur expliquant ce qu'il a fait de
1617 votre paquet. Normalement, il devrait être déplacé vers
1618 <tt>ftp-master</tt>&nbsp;;
1619 vous serez informé par le même biais si une erreur s'est produite au cours du
1620 processus.
1621
1622 <p>
1623 <em>Note&nbsp;:</em> ne téléchargez pas de paquets contenant des logiciels tombant
1624 sous le coup de la loi de contrôle des exportations américaine sur
1625 <tt>erlangen</tt>. Comme les paquets téléchargés ici vont vers
1626 <tt>ftp-master</tt>, les règles décrites dans la section <ref
1627 id="upload-ftp-master"> sont appliquables ici aussi.
1628
1629 <p>
1630 Le programme <prgn>dupload</prgn> est capable de télécharger sur 
1631 <tt>erlangen</tt>&nbsp;; consultez la documentation de ce programme pour en savoir
1632 plus.
1633
1634
1635
1636
1637
1638         <sect1>Les autres serveurs
1639
1640 <p>
1641 Un autre serveur est disponible aux États-Unis&nbsp;; c'est un bon point
1642 de repli quand il est difficile de joindre <tt>ftp-master</tt>. Livrez vos
1643 paquets à l'adresse <url id="&url-upload-samosa;"> comme vous le feriez sur
1644 <tt>erlangen</tt>.
1645 <p>
1646 Il existe aussi un serveur au Japon&nbsp;: téléchargez vos paquet par FTP
1647 anonyme sur <url id="&url-upload-jp;">.
1648
1649
1650
1651
1652         <sect id="upload-announce">Annoncer une mise à jour
1653
1654 <p>
1655 Quand un paquet est mis à jour, une annonce doit être envoyée sur l'une des
1656 listes «&nbsp;debian-changes&nbsp;». Ceci est maintenant géré automatiquement
1657 par le logiciel de gestion de l'archive quand il est exécuté (en principe une
1658 fois par jour). Vous devez juste utiliser une version récente de
1659 <package>dpkg-dev</package> (&gt;= 1.4.1.2). Le courrier généré par le
1660 logiciel de maintenance de l'archive contiendra le fichier <tt>.changes</tt>
1661 signé que vous avez livré avec votre paquet. Précédemment, cette charge
1662 revenait à <prgn>dupload</prgn>&nbsp;; vérifiez que vous avez bien configuré
1663 <prgn>dupload</prgn> pour qu'il n'envoie pas ces annonces (cherchez
1664 <tt>dinstall_runs</tt> dans la documentation de <prgn>dupload</prgn>).
1665
1666 <p>
1667 Si un paquet est mis à jour pour la distribution <em>stable</em>, l'annonce
1668 est envoyée sur la liste&nbsp;:
1669
1670 <p>
1671 <tt>   &email-debian-changes;.</tt>
1672
1673 <p>
1674 S'il est mis à jour pour les distributions <em>unstable</em>,
1675 <em>experimental</em> ou <em>frozen</em>, l'annonce est envoyée sur la liste
1676 &email-debian-devel-changes;.
1677
1678 <p>
1679 De temps en temps, il est nécessaire de mettre à jour simultanément les
1680 distributions <em>stable</em> et <em>unstable</em>&nbsp;; cela est possible en
1681 indiquant les deux distributions sur la ligne <tt>Distribution:</tt>. Dans ce
1682 dernier cas, l'annonce sera faite sur les deux listes de diffusion citées
1683 précédemment.
1684
1685 <p>
1686 Le programme <prgn>dupload</prgn> est suffisamment intelligent pour déterminer
1687 où devra aller l'annonce et envoyer le courrier sur la bonne liste. Voir <ref
1688 id="dupload">.
1689
1690
1691
1692
1693         <sect id="upload-notification">
1694         <heading>Notification d'installation d'un nouveau paquet</heading>
1695
1696 <p>
1697 Les administrateurs de l'archive Debian sont responsables de l'installation
1698 des mises à jour. Pour la plupart, les mises à jour sont gérées
1699 quotidiennement par le logiciel de gestion de l'archive <prgn>dak</prgn>
1700 (aussi appelé <prgn>katie</prgn> ou <prgn>dinstall</prgn>). Les mises à jour
1701 de paquets sur la distribution <em>unstable</em>, en particulier, sont
1702 installés ainsi. Dans les autres cas et notamment dans le cas d'un nouveau
1703 paquet, celui-ci sera installé manuellement. Il peut s'écouler jusqu'à un mois
1704 entre le téléchargement d'un paquet vers un serveur et son installation
1705 effective. Soyez patients.
1706
1707 <p>
1708 Dans tous les cas vous recevrez un accusé de réception par courrier
1709 électronique indiquant que votre paquet a été installé. Lisez attentivement ce
1710 courrier. Vous pourriez remarquer que votre paquet n'a pas été installé dans
1711 la section que vous aviez désignée.  La raison de ce changement sera dans le
1712 courrier.
1713
1714
1715
1716
1717         <sect1 id="override-file">Le fichier <em>override</em>
1718
1719 <p>
1720 Les champs <tt>Section</tt> et <tt>Priority</tt> du fichier
1721 <file>debian/control</file> n'indiquent ni où le paquet sera installé dans
1722 l'archive Debian ni sa priorité. Afin de conserver la
1723 cohérence de l'archive, ce sont les administrateurs qui contrôlent ces
1724 champs. Les valeurs du fichier <file>debian/control</file> sont juste des
1725 indications.
1726
1727 <p>
1728 Les administrateurs de l'archive indiquent les sections et priorités des paquets
1729 dans le fichier <em>override</em>. De temps en temps, ce fichier doit être
1730 corrigé. Modifier le fichier <file>control</file> du paquet n'aura aucun
1731 effet. Il vous faudra écrire à &email-override; ou faire un rapport de bogue
1732 sur le pseudo-paquet <package>ftp.debian.org</package>.
1733
1734 <p>
1735 Pour en savoir plus sur le fichier <em>override</em>, reportez vous à <manref
1736 name="dpkg-scanpackages" section="8">, &file-bts-mailing; et &file-bts-info;.
1737
1738
1739
1740
1741         <chapt id="nmu">Mise à jour indépendante
1742
1743 <p>
1744 Dans certaines circonstances il est nécessaire qu'une personne autre que le
1745 responsable d'un paquet fasse une mise à jour de ce paquet. Ce type de mise à
1746 jour est désigné en anglais par l'expression <em>non-maintainer upload
1747 (NMU)</em>.  Dans le présent document, nous traduisons librement cette
1748 expression par «&nbsp;mise à jour indépendante&nbsp;».
1749
1750 <p>
1751 Ces mises à jour indépendantes font partie du travail normal des porteurs qui
1752 compilent les paquets pour d'autres architectures (voir <ref id="porting">).
1753 Nous faisons aussi des mises à jour indépendantes quand un développeur Debian 
1754 corrige le paquet d'un autre développeur pour éliminer un trou de sécurité
1755 ou un bogue paralysant. Cela se produit plus particulièrement en période de
1756 gel de la distribution de développement ou quand le responsable officiel du
1757 paquet ne peut pas fournir un correctif dans un délai raisonnable.
1758
1759 <p>
1760 Ce chapitre contient des informations qui vous expliqueront quand et comment
1761 faire des livraisons indépendantes. Une distinction fondamentale doit être
1762 faite entre les mises à jour indépendantes sources et les mises à jour 
1763 indépendantes binaires. Elle est explicitée dans la section suivante.
1764
1765
1766         <sect id="nmu-terms">Terminologie
1767
1768 <p>
1769 Deux nouvelles expressions sont introduites dans cette section&nbsp;: 
1770 «&nbsp;mise à jour indépendante source&nbsp;» et «&nbsp;mise à 
1771 jour indépendante binaire&nbsp;». Ces expressions ont une définition bien
1772 spécifique dans le monde Debian. Elles correspondent toutes deux au même type
1773 d'activité&nbsp;; elles impliquent toutes deux qu'une personne fasse une mise à
1774 jour d'un paquet alors qu'elle n'est pas officiellement responsable de ce
1775 paquet. C'est pourquoi nous qualifions ces mises à jours 
1776 d'<em>indépendantes</em><footnote>Contrairement à ce que pourrait laisser
1777 entendre cette traduction de <em>non-maintainer upload</em>, il n'est pas
1778 question d'agir sans prévenir le responsable au préalable (voir <ref 
1779 id="nmu-guidelines">).</footnote>.
1780
1781 <p>
1782 Une mise à jour indépendante source est une livraison de paquet faite par
1783 une personne qui n'est pas le responsable officiel de ce paquet avec pour
1784 objectif de corriger un bogue dans le paquet. Une mise à jour indépendante
1785 source implique toujours une modification des sources du paquet, même s'il
1786 ne s'agit que d'un changement dans le fichier <file>debian/changelog</file>.
1787 Ce changement peut tout aussi bien concerner la version amont du source que la
1788 partie du source spécifique à Debian.
1789
1790 <p>
1791 Une mise à jour indépendante binaire est une recompilation et un archivage
1792 d'un paquet pour une nouvelle architecture. Il s'agit souvent du résultat d'un
1793 effort de portage. Une mise à jour indépendante binaire est la livraison d'un
1794 paquet compilé (souvent pour une autre architecture) à condition qu'elle n'ait
1795 pas nécessité de modification des sources. Dans de nombreux cas, les porteurs
1796 sont obligés de modifier les sources pour les rendre compilables sur leur
1797 architecture cible&nbsp;; il s'agira alors d'une mise à jour indépendante source et
1798 non d'une mise à jour indépendante binaire. Comme vous pouvez le remarquer
1799 nous ne faisons pas de distinction entre les mises à jour indépendantes des
1800 porteurs et les autres mises à jour indépendantes dans le vocabulaire.
1801
1802 <p>
1803 Les mises à jour indépendantes sources et binaires sont toutes deux couvertes
1804 par l'expression «&nbsp;mise à jour indépendante&nbsp;»
1805 (NMU<footnote>Non-maintainer upload</footnote>).  Pourtant cela conduit souvent
1806 à des confusions car beaucoup associent «&nbsp;mise à jour indépendante&nbsp;»
1807 et «&nbsp;mise à jour indépendante source&nbsp;». Il faut donc rester
1808 vigilant. Dans ce chapitre, si j'utilise «&nbsp;mise à jour
1809 indépendante&nbsp;» seul, il s'agit des deux types de livraisons.
1810
1811
1812
1813
1814
1815         <sect id="nmu-who">Qui peut faire une mise à jour indépendante&nbsp;?
1816
1817 <p>
1818 Seuls les responsables Debian officiels peuvent faire des mises à jour
1819 indépendantes. Un responsable officiel est une personne dont la clé est dans
1820 le porte-clés Debian. Toute personne est invitée à télécharger les paquets
1821 sources pour corriger des bogues&nbsp;; au lieu de faire des mises à jour
1822 indépendantes, ils pourront soumettre les correctifs qui le méritent au
1823 système de suivi des bogues. Les responsables apprécient presque toujours les
1824 rustines et les rapports de bogue soignés.
1825
1826
1827         <sect id="nmu-when">Quand faire une mise à jour indépendante source&nbsp;?
1828
1829 <p>
1830 Les recommandations pour déterminer quand faire une mise à jour indépendante
1831 source dépendent de la distribution visée (i.e. stable, instable ou
1832 gelée). Les porteurs, ayant une activité particulière, obéissent à des règles
1833 légèrement différentes (voir <ref id="source-nmu-when-porter">).
1834
1835 <p>
1836 La distribution stable ne peut recevoir que des correctifs critiques ou des
1837 mises à jour de sécurité. Quand une faille de sécurité est détectée, un
1838 correctif doit être livré le plus tôt possible. Dans ce cas, le responsable de
1839 sécurité Debian<footnote>Debian Security Manager</footnote> entrera en contact
1840 avec le responsable du paquet pour s'assurer qu'un correctif sera livré dans
1841 un délai raisonnable (moins de 48&nbsp;heures). Si le mainteneur ne peut
1842 fournir ce correctif suffisamment vite ou s'il ne peut être joint à temps, le
1843 responsable de sécurité pourra corriger le paquet (i.e. faire une mise à jour
1844 indépendante source).
1845
1846 <p>
1847 Pendant la phase de gel (voir <ref id="upload-frozen">), les livraisons qui
1848 corrigent les bogues de sévérité <em>sérieuse</em> (i.e. <em>serious</em>) et
1849 supérieures sont encouragées et acceptées. Même pendant cette période, vous
1850 devrez tenter d'entrer en contact avec le responsable du paquet&nbsp;; il pourrait
1851 bien être sur le point de livrer un paquet corrigé lui aussi. Comme pour
1852 n'importe quelle mise à jour indépendante source, les recommandations de la
1853 section <ref id="nmu-guidelines"> doivent être respectées.
1854
1855 <p>
1856 Les mises à jour indépendantes sont aussi acceptable pour la distribution
1857 instable mais seulement en dernier ressort
1858 ou avec une autorisation. Essayez d'abord ce qui suit, si cela ne fonctionne
1859 pas il est probablement correct de faire une mise à jour indépendante 
1860 <em>(NMU)</em>&nbsp;:
1861
1862 <p>
1863         <list compact>
1864         <item>
1865         Vérifiez que le bogue est bien référencé dans le système de suivi des
1866         bogues.  S'il n'y est pas, faite un rapport de bogue.
1867
1868         <item>
1869         Envoyez un courrier au responsable du paquet et proposez votre aide
1870         pour corriger le bogue. Donnez-lui quelques jours.
1871
1872         <item>
1873         Lancez-vous. Corrigez le bogue et envoyez votre rustine au système de
1874         suivi des bogues. Construisez le paquet et testez-le comme décrit dans
1875         la section <ref id="upload-checking">. Utilisez le paquet chez vous.
1876
1877         <item>
1878         Attendez une réponse pendant quelques semaines.
1879
1880         <item>
1881         Envoyez un courrier au responsable lui demandant son accord pour faire
1882         une mise à jour indépendante <em>(NMU)</em>.
1883
1884         <item>
1885         Vérifiez une nouvelle fois que votre modification n'a pas d'effet de
1886         bord inattendu et qu'elle est aussi minimaliste et peu intrusive que
1887         possible.
1888
1889         <item>
1890         Attendez une réponse une semaine encore.
1891
1892         <item>
1893         Faites votre mise à jour indépendante comme décrit dans la section
1894         <ref id="nmu-guidelines">.  
1895
1896         </list>
1897
1898
1899
1900
1901
1902
1903         <sect id="nmu-guidelines">Comment faire une mise à jour indépendante
1904         source&nbsp;?
1905
1906 <p>
1907 Les règles qui suivent s'appliquent aux porteurs tant qu'ils jouent le double
1908 rôle de correcteur de bogue et de porteur. Si un porteur doit modifier le
1909 paquet source, cette mise à jour est automatiquement une mise à jour
1910 indépendante source et est soumise aux règles qui suivent. Si un porteur
1911 construit un paquet binaire recompilé les règles sont différentes (voir <ref
1912 id="porter-guidelines">.
1913
1914 <p>
1915 Tout d'abord il est capital que ces mises à jour indépendantes soient aussi peu
1916 intrusives que possible. Ne faites pas de ménage, ne modifiez pas le nom des
1917 modules ou des fichiers, ne déplacez pas les répertoires&nbsp;; plus généralement ne
1918 corrigez pas ce qui n'est pas cassé.  Faites une rustine aussi petite que
1919 possible. Si certaines choses froissent votre sens de l'esthétique, parlez-en
1920 au responsable du paquet, au responsable amont ou soumettez un rapport de
1921 bogue. Quoiqu'il en soit, les changements esthétiques <em>ne doivent pas</em>
1922 être fait lors d'une mise à jour indépendante.
1923
1924
1925
1926
1927
1928         <sect1 id="nmu-version">Numéro de version pour les mises à jour
1929         indépendantes sources
1930
1931 <p>
1932 Chaque fois que vous modifiez un paquet, le numéro de version de ce paquet doit
1933 changer, même pour la plus triviale des modifications. Notre système de
1934 gestion de paquets s'appuie sur ces numéros de version.
1935
1936 <p>
1937 Si vous faites une mise à jour indépendante <em>(NMU)</em>, vous devez ajouter
1938 un numéro de version mineur à la partie <var>debian-revision</var> du numéro
1939 de version (la partie qui suit le dernier trait d'union). Ce numéro
1940 supplémentaire débutera à «&nbsp;1&nbsp;». Prenons pour exemple le paquet
1941 «&nbsp;foo&nbsp;» qui porte le  numéro de version 1.1-3. Dans l'archive, le
1942 fichier de contrôle du paquet source serait <file>foo_1.1-3.dsc</file>. La
1943 version amont est «&nbsp;1.1&nbsp;» et la révision Debian est «&nbsp;3&nbsp;».
1944 La mise à jour indépendante suivante ajouterait le numéro de version mineur
1945 «&nbsp;.1&nbsp;» au numéro de révision Debian; le nouveau fichier de contrôle
1946 du paquet source serait alors <file>foo_1.1-3.1.dsc</file>.
1947
1948 <p>
1949 Le numéro de révision mineur est nécessaire pour éviter de prendre un numéro
1950 de version au responsable officiel du paquet, ce qui pourrait perturber son
1951 travail. Cela a aussi l'avantage de montrer clairement que le paquet n'a pas
1952 été livré par le responsable officiel.
1953
1954 <p>
1955 S'il n'y a pas de partie <var>debian-revision</var> dans le numéro de version
1956 du paquet, il faut en créer une en démarrant à «&nbsp;0.1&nbsp;». S'il est
1957 absolument nécessaire qu'une personne qui n'est pas responsable d'un paquet
1958 fasse une livraison basée sur une nouvelle version amont alors cette personne
1959 doit choisir «&nbsp;0.1&nbsp;» comme numéro de révision Debian. Le mainteneur
1960 du paquet doit lui démarrer sa numérotation à «&nbsp;1&nbsp;». Notez que pour
1961 faire cela vous devrez utiliser <prgn>dpkg-buildpackage</prgn> avec l'option
1962 <tt>-sa</tt> pour le forcer à utiliser le nouveau paquet source (par défaut il
1963 reconnait les numéros de révisions «&nbsp;0&nbsp;» ou «&nbsp;1&nbsp;» -- il
1964 n'est pas suffisamment intelligent pour reconnaître «&nbsp;0.1&nbsp;»).
1965
1966 <p>
1967 Attention, les porteurs qui ne font que recompiler les paquets pour d'autres
1968 architectures n'ont pas besoin de renuméroter les paquets. Les porteurs ne
1969 doivent utiliser de nouveaux numéros de version que s'ils modifient les
1970 paquets sources qu'ils recompilent, c'est-à-dire s'ils font une mise à jour
1971 indépendante source et non une mise à jour indépendante binaire.
1972
1973
1974
1975
1976
1977         <sect1 id="nmu-changelog">
1978           <heading>Les mises à jour indépendantes sources doivent être
1979           mentionnées dans le fichier changelog</heading>
1980
1981 <p>
1982 Une personne qui fait une mise à jour indépendante source doit ajouter une
1983 entrée dans le fichier <file>changelog</file> qui précise les bogues corrigés
1984 et, en général, pourquoi cette mise à jour était nécessaire. Cette entrée
1985 comportera aussi l'adresse de la personne ayant fait la mise à jour et la
1986 version livrée.
1987
1988 <p>
1989 Par convention, dans le cas d'une mise à jour indépendante source
1990 <em>(NMU)</em>, l'entrée du fichier changelog débute par la ligne
1991
1992 <example>
1993   * Non-maintainer upload
1994 </example>
1995
1996
1997
1998
1999
2000         <sect1 id="nmu-patch">Mise à jour indépendante source et système
2001         de suivi des bogues 
2002
2003 <p>
2004 Un développeur qui n'est pas responsable d'un paquet doit faire aussi peu de
2005 modifications que possible et doit toujours envoyer ses modifications au
2006 système de suivi des bogues au format diff unifié (<tt>diff -u</tt>).
2007
2008 <p>
2009 Et si vous vous contentez de recompiler le paquet&nbsp;? Le processus diffère
2010 suivant que vous agissez en tant que porteur ou pas. Si vous faites une mise
2011 à jour indépendante qui ne nécessite rien de plus qu'une recompilation et
2012 n'agissez pas en temps que porteur (i.e. une nouvelle bibliothèque partagée
2013 est disponible, un bogue a été corrigé dans <package>debhelper</package>),
2014 vous devez tout de même ajouter une entrée dans le fichier <em>changelog</em>;
2015 il y aura donc une modification. Si vous êtes porteur, vous êtes probablement
2016 en train de faire une mise à jour indépendante binaire. (Note&nbsp;: ce système ne
2017 tient pas compte des porteurs qui font des recompilations -- tenez cela pour
2018 une faiblesse de notre système de gestion des paquets.)
2019
2020 <p>
2021 Si la mise à jour indépendante source corrige des bogues, vous devez le
2022 <em>notifier</em> au système de suivi des bogues mais vous ne devez pas
2023 <em>clore</em> les rapports de bogue. Seul le responsable officiel d'un paquet
2024 et le rapporteur du bogue sont autorisés à fermer un rapport de bogue.
2025 Cependant, la personne qui fait une mise à jour indépendante doit envoyer une
2026 note à chaque bogue concerné expliquant qu'il est corrigé par cette mise à
2027 jour indépendante.  Cette personne doit ensuite utiliser l'adresse
2028 <email>control@bugs.debian.org</email> pour modifier la sévérité des bogues
2029 corrigés et leur donner la valeur <em>corrigé</em> (i.e. <em>fixed</em>).
2030 Cela permet de s'assurer que chacun sait que le bogue est corrigé par une mise
2031 à jour indépendante tout en laissant le rapport de bogue ouvert jusqu'à ce que
2032 le responsable du paquet incorpore les modifications de cette mise à jour dans
2033 la version officielle du paquet. Si nécessaire, ouvrez des rapports de bogue
2034 avec les rustines correspondantes ou assurez-vous que l'un des rapports de
2035 bogue déjà ouvert comporte ces rustines.
2036
2037 <p>
2038 Le responsable officiel pourra choisir d'appliquer la rustine, il pourra aussi
2039 employer une autre méthode pour régler le problème. Certains bogues sont
2040 corrigés dans la version amont, ce qui est une bonne raison pour annuler les
2041 modifications d'une mise à jour indépendante. Si le responsable choisit de
2042 mettre à jour le paquet sans utiliser les rustines de la mise à jour
2043 indépendante, il devra s'assurer que cette nouvelle version corrige
2044 effectivement chacun des bogues corrigés par la version indépendante.
2045
2046 <p>
2047 De plus, le responsable officiel devrait <em>toujours</em> conserver les
2048 entrées documentant une mise à jour indépendante dans le fichier
2049 <file>changelog</file>.
2050
2051
2052
2053
2054
2055
2056         <sect1 id="nmu-build">Fabriquer une mise à jour indépendante
2057
2058 <p>
2059 Les paquets des mises à jour indépendantes sources sont construits comme les
2060 autres. Sélectionnez une distribution en utilisant les règles décrites dans
2061 la section <ref id="upload-dist"> et construisez un fichier <tt>.changes</tt>
2062 classique avec tout ce qui l'accompagne conformément à la description <ref
2063 id="upload">.
2064
2065 <p>
2066 En fait toutes les prescriptions de la section <ref id="upload"> sont
2067 applicables ici, y compris l'obligation d'annoncer la mise à jour sur la liste
2068 idoine.
2069
2070 <p>
2071 Vérifiez que vous n'avez pas modifié la valeur du champ <tt>maintainer</tt>
2072 dans le fichier <file>debian/control</file>. Votre nom, mentionné dans
2073 l'entrée de la mise à jour dans le fichier <file>debian/changelog</file>, sera
2074 utilisé pour signer le fichier <tt>.changes</tt>.
2075
2076
2077
2078
2079         <chapt id="porting">Porter et être porté
2080
2081 <p>
2082 Debian supporte un nombre croissant d'architectures. Même si vous n'êtes pas
2083 un porteur et même si vous n'utilisez qu'une architecture, il est de votre
2084 responsabilité de développeur d'être attentif aux questions de portabilité.
2085 C'est pourquoi il est important que vous lisiez ce chapitre même si vous
2086 n'êtes pas un porteur.
2087         
2088 <p>
2089 Porter un paquet consiste à faire un paquet binaire pour une architecture
2090 différente du paquet binaire fait par le responsable du paquet. C'est une
2091 activité unique et essentielle. En fait, les porteurs sont à l'origine
2092 de la plupart des compilations de paquet Debian. Pour un paquet binaire
2093 <em>i386</em>, par exemple, il faut compter une recompilation pour chaque
2094 autre architecture, soit un total de cinq recompilations.
2095
2096
2097
2098
2099         <sect id="kind-to-porters">Être gentil avec les porteurs
2100
2101 <p>
2102 Les porteurs ont une tâche unique et difficile car ils doivent gérer un grand
2103 nombre de paquets. Idéalement, tout paquet source devrait compiler sans
2104 modification. Malheureusement, c'est rarement le cas. Cette section contient
2105 une liste d'erreurs commises régulièrement par les responsables Debian --
2106 problèmes courants qui bloquent souvent les porteurs et rendent leur travail
2107 inutilement plus difficile.
2108
2109 <p>
2110 Ici, le mot d'ordre est de répondre rapidement aux rapports de bogues et
2111 remarques soulevées par les porteurs. Traitez-les courtoisement, comme s'ils
2112 étaient co-responsables de vos paquets (ce qu'ils sont d'une certaine
2113 manière).  
2114
2115 <p>
2116 Les problèmes les plus couramment rencontrés par les porteurs sont causés par
2117 des erreurs de mise en paquet dans le paquet source. Voici une
2118 <em>checklist</em> de choses auxquelles vous devez être attentif et vérifier.
2119
2120         <enumlist>
2121         <item>
2122         Ne choisissez pas d'autre valeur que <em>all</em> ou <em>any</em> pour
2123         le champ architecture sans avoir de bonnes raisons pour le faire. Trop
2124         souvent, les développeurs ne respectent pas les instructions du
2125         <url id="&url-debian-policy;" name="Debian Policy Manual">. Choisir
2126         la valeur «&nbsp;i386&nbsp;» est la plupart du temps incorrect.
2127
2128         <item>
2129         Vérifiez que votre paquet source est bon. Faites <tt>dpkg-source -x
2130         <var>package</var>.dsc</tt> pour vous assurer que le paquet se
2131         désarchive correctement. En utilisant le résultat de ce test,
2132         construisez votre paquet binaire à l'aide de la commande
2133         <tt>dpkg-buildpackage</tt>.
2134
2135         <item>
2136         Vérifiez que les fichiers <file>debian/files</file> et
2137         <file>debian/substvars</file> ne sont pas dans votre paquet source.
2138         Ils doivent être effacés par la cible <em>clean</em> de
2139         <file>debian/rules</file>.
2140
2141         <item>
2142         Assurez-vous que vous ne vous appuyez pas sur des éléments de
2143         configuration ou des logiciels installés ou modifiés localement. Par
2144         exemple, vous ne devriez jamais appeler des programmes dans
2145         <file>/usr/local/bin</file> ou équivalents.  Essayez de ne pas vous
2146         appuyer sur des logiciels configurés de manière spéciale. Essayez de
2147         construire votre paquet sur une autre machine, même s'il s'agit de la
2148         même architecture.
2149
2150         <item>
2151         Ne vous appuyez pas sur une installation préexistante de votre paquet
2152         (un sous-cas de la remarque précédente).
2153
2154         <item>
2155         Ne supposez pas qu'<prgn>egcc</prgn> est disponible, ni que vous
2156         utilisez une version précise de <prgn>gcc</prgn>.
2157
2158         <item>
2159         Vérifiez que votre <file>debian/rules</file> distingue les cibles
2160         <em>binary-arch</em> et <em>binary-indep</em> comme l'exige le
2161         <em>Debian packaging manual</em>. Vérifiez que ces cibles sont
2162         indépendantes l'une de l'autre, c'est à dire qu'il n'est pas
2163         nécessaire d'invoquer l'une de ces cibles avant d'invoquer l'autre.
2164         Pour vérifier cela, essayez d'exécuter <tt>dpkg-buildpackage -b</tt>.
2165
2166         </enumlist>
2167
2168
2169
2170
2171         <sect id="porter-guidelines">Instructions pour les mises à jour des
2172         porteurs
2173
2174 <p>
2175 Si le paquet se construit tel quel sur l'architecture que vous visez vous avez
2176 de la chance et votre travail est facile. Cette section s'applique dans ce
2177 cas&nbsp;; elle décrit comment construire et installer correctement votre mise à
2178 jour indépendante binaire dans l'archive Debian. Si vous devez modifier le
2179 paquet pour le rendre compilable sur votre architecture cible vous devez faire
2180 une mise à jour des sources, consultez la section <ref id="nmu-guidelines">.
2181
2182 <p>
2183 Pour une mise à jour indépendante binaire, ne faites pas de changement
2184 dans les sources. Vous n'avez pas besoin de modifier les fichiers du paquet
2185 source (cela inclut <file>debian/changelog</file>).
2186
2187 <p>
2188 Parfois il est nécessaire de recompiler des paquets quand d'autres paquets,
2189 tels que les bibliothèques, ont été mis à jour. Dans ce cas, vous devez
2190 changer le numéro de version pour que le système de gestion des paquets
2191 fonctionne correctement. Ce type de mise à jour reste une mise à jour
2192 indépendante binaire -- il n'est pas nécessaire de faire une recompilation sur
2193 toutes les architectures. Vous devez utiliser la même règle de numérotation
2194 que pour une mise à jour indépendante mais en ajoutant «&nbsp;.0.&nbsp;»
2195 devant le numéro de révision Debian. Par exemple une recompilation du paquet
2196 source «&nbsp;foo_1.3-1&nbsp;» portera le numéro de version
2197 <tt>foo_1.3-1.0.1</tt>.
2198
2199 <p>
2200 La manière d'invoquer <prgn>dpkg-buildpackage</prgn> est la suivante
2201 <tt>dpkg-buildpackage -B -m<var>adresse-porteur</var></tt>. Bien sûr,
2202 remplacez <var>adresse-porteur</var> par votre adresse électronique. Cette
2203 commande construira les portions du paquet qui dépendent de l'architecture, en
2204 utilisant la cible <em>binary-arch</em> de <file>debian/rules</file>.
2205
2206
2207
2208
2209
2210         
2211         <sect1 id="source-nmu-when-porter"> <heading>Quand faire une mise à
2212         jour indépendante source pour un portage&nbsp;?</heading>
2213
2214 <p>
2215 Les porteurs qui font des mises à jour indépendantes sources suivent
2216 généralement des instructions de la section <ref id="nmu"> tout comme les
2217 non-porteurs. Les délais d'attente sont cependant plus courts car les porteurs
2218 doivent manipuler un grand nombre de paquets.
2219
2220 <p>
2221 À nouveau, la situation diffère selon la distribution visée. Une correction
2222 cruciale (i.e. rendre un paquet compilable sur une architecture supportée par
2223 la prochaine distribution) peut être installée <em>sans</em> délai pour la
2224 distribution gelée.
2225
2226 <p>
2227 Si vous êtes porteur et faites une mise à jour pour <em>unstable</em>, les
2228 instructions précédentes sont applicables à deux différences près. Tout
2229 d'abord, le temps d'attente raisonnable -- délai entre le moment ou vous
2230 envoyez un rapport au système de suivi des bogues et le moment où vous pouvez
2231 faire une mise à jour indépendante <em>(NMU)</em> -- est de sept jours. Ce
2232 délai peut être raccourci si le problème est crucial et met l'effort de
2233 portage en difficulté, à la discrétion de l'équipe de portage. (Souvenez-vous,
2234 il ne s'agit pas d'un règlement mais de recommandations communément
2235 acceptées).
2236
2237 <p>
2238 Deuxième différence, les porteurs qui font des mises à jour indépendantes
2239 sources doivent choisir une sévérité <em>sérieuse</em> (i.e.
2240 <em>serious</em>)ou supérieure quand ils envoient leur rapport au système de
2241 suivi des bogues. Ceci assure qu'un paquet source unique permet de produire un
2242 paquet binaire pour chaque architecture supportée au moment de la sortie de la
2243 distribution. Il est très important d'avoir un paquet source et un paquet
2244 binaire pour toutes les architectures pour être conforme à plusieurs licences.
2245
2246 <p>
2247 Les porteurs doivent éviter d'implémenter des contournements pour 
2248 des bogues de l'environnement de compilation, du noyau ou de la libc. Quelques
2249 fois ces contournements sont inévitables. Si vous devez faire quelque chose de 
2250 ce genre, marquez proprement vos
2251 modifications avec des <tt>#ifdef</tt> et documentez votre contournement pour
2252 que l'on sache le retirer une fois que le problème aura disparu.
2253
2254 <p>
2255 Les porteurs peuvent aussi avoir une adresse où ils publient le résultat de
2256 leur travail pendant le délai d'attente. Ainsi d'autres personnes peuvent
2257 bénéficier du travail du porteur même pendant ce délai. Bien sûr ces adresses
2258 n'ont rien d'officiel alors soyez sur vos gardes si vous les utilisez.
2259
2260
2261
2262
2263         <sect>Outils pour les porteurs
2264
2265 <p>
2266 Ils y a plusieurs outils pour le travail de portage. Cette section contient
2267 une courte description de ces outils&nbsp;; reportez-vous à la documentation de
2268 leurs paquets ou aux références citées ci-après pour une description complète.
2269
2270
2271
2272
2273         <sect1 id="quinn-diff">
2274         <heading><package>quinn-diff</package>
2275
2276 <p>
2277 <package>quinn-diff</package> est utilisé pour localiser les différences d'une
2278 architecture à l'autre. Il pourrait vous dire, par exemple, quels paquets de
2279 l'architecture <var>X</var> doivent être portés sur l'architecture <var>Y</var>.
2280
2281
2282
2283
2284
2285         <sect1 id="buildd">
2286         <heading><package>buildd</package>
2287
2288 <p>
2289 Le système <package>buildd</package> est un système distribué pour la
2290 compilation d'une distribution. Il est habituellement utilisé en conjonction
2291 avec des automates de compilation, ce sont des machines «&nbsp;esclaves&nbsp;»
2292 qui récupèrent des paquets sources et tentent de les compiler. Il est aussi
2293 possible d'interagir par courrier électronique avec ce système. Cette
2294 interface est utilisée par les porteurs pour récupérer un paquet source (en
2295 général un paquet qui ne peut être compilé automatiquement) et travailler
2296 dessus.
2297
2298 <p>
2299 <package>buildd</package> n'est pas disponible sous forme de paquet&nbsp;;
2300 pourtant, la plupart des équipes de porteurs l'utilisent aujourd'hui ou ont prévu
2301 de l'utiliser bientôt. Il regroupe un ensemble de composants très utiles,
2302 continuellement utilisés mais non encore mis en paquet tels que
2303 <prgn>andrea</prgn>, <prgn>sbuild</prgn> et <prgn>wanna-build</prgn>.
2304
2305 <p>
2306 Une partie des informations produites par <package>buildd</package> -- utiles
2307 pour les porteurs -- est disponible sur la toile à l'adresse <url
2308 id="&url-buildd;">. Ces informations incluent les résultats produits toutes
2309 les nuits par <prgn>andrea</prgn> (dépendances des sources) et
2310 <prgn>quinn-diff</prgn> (paquets à recompiler).  <p> Nous sommes très
2311 enthousiasmés par ce système car il a de nombreux usages potentiels. Des
2312 groupes de développeurs indépendants peuvent utiliser ce système pour créer
2313 différentes saveurs de la Debian -- qui peuvent être ou ne pas être
2314 intéressantes pour tous (une version de Debian compilée avec des vérifications
2315 relatives à <prgn>gcc</prgn>). Ce système nous permettra aussi de recompiler
2316 rapidement toute une distribution.
2317
2318
2319
2320
2321         <sect1 id="dpkg-cross">
2322         <heading><package>dpkg-cross</package>
2323
2324 <p>
2325 <package>dpkg-cross</package> est un outil qui installe les bibliothèques et
2326 les entêtes nécessaires à une compilation croisée<footnote><em>cross-compilation</em>
2327 </footnote> d'une manière similaire à <package>dpkg</package>. De plus
2328 <prgn>dpkg-buildpackage</prgn> et <prgn>dpkg-shlibdeps</prgn> ont été
2329 améliorés pour supporter les compilations croisées.  
2330
2331
2332
2333
2334
2335         <chapt id="archive-manip">
2336         <heading>Déplacer, effacer, renommer, adopter et abandonner des
2337         paquets</heading>
2338
2339 <p>
2340 Certaines manipulations de l'archive ne sont pas accessibles avec le processus
2341 de mise à jour automatisé. Elles sont appliquées manuellement par les
2342 développeurs. Ce chapitre décrit ce qu'il faut faire dans ces situations.
2343
2344
2345
2346
2347         <sect>Déplacer des paquets
2348
2349 <p>
2350 Parfois un paquet pourra changer de section. Une nouvelle version d'un paquet
2351 de la section <tt>non-free</tt> pourrait par exemple être distribué sous
2352 licence LGP GNU&nbsp;; dans ce cas le paquet doit être déplacé dans la section
2353 <tt>main</tt> ou <tt>contrib</tt><footnote> Reportez-vous  au <url
2354 id="&url-debian-policy;" name="Debian Policy Manual"> pour savoir dans quelle
2355 section un paquet doit être classé.</footnote>.
2356
2357 <p>
2358 Si vous avez besoin de modifier la section de l'un de vos paquets, modifiez
2359 les informations de contrôle du paquet pour le placer dans la section désirée
2360 et téléchargez à nouveau votre paquet dans l'archive. Reportez-vous au
2361 <url id="&url-debian-policy;" name="Debian Policy Manual"> pour en savoir
2362 plus.  Lisez attentivement le rapport d'installation qui vous sera envoyé lors
2363 de l'archivage de votre paquet. Si pour une raison ou une autre le paquet
2364 est toujours à son ancien emplacement, envoyez un rapport de bogue sur le
2365 pseudo-paquet <tt>ftp.debian.org</tt> demandant la suppression dudit paquet.
2366 Décrivez précisément vos manipulations car il pourrait s'agir d'un bogue dans
2367 le logiciel de gestion de l'archive.
2368
2369 <p>
2370 Si vous avez besoin de modifier la sous-section de l'un de vos paquets
2371 (<tt>devel</tt> ou <tt>admin</tt> par exemple) la procédure est légèrement
2372 différente. Modifiez la sous-section dans le fichier de contrôle de votre
2373 paquet et téléchargez-le. Il vous faudra ensuite demander la modification du
2374 fichier <em>override</em> comme décrit dans la section <ref
2375 id="override-file">.
2376
2377
2378
2379
2380         <sect id="removing-pkgs">Supprimer des paquets
2381
2382 <p>
2383 Si pour une raison ou une autre vous avez besoin de supprimer un paquet
2384 de l'archive (disons qu'il s'agit d'une vieille bibliothèque que l'on
2385 conservait pour des raisons de compatibilité et que nous n'en avons plus
2386 besoin), il vous faudra envoyer un rapport de bogue sur le pseudo-paquet
2387 <tt>ftp.debian.org</tt> demandant la suppression du paquet. N'oubliez pas de
2388 préciser dans quelle distribution vous voulez que le paquet soit supprimé.
2389
2390 <p>
2391 Si vous ne savez pas bien si un paquet peut être supprimé, demandez l'avis des
2392 autres développeurs sur la liste &email-debian-devel;.  Le programme
2393 <prgn>apt-cache</prgn> du paquet <package>apt</package> pourra aussi vous être
2394 utile. La commande <tt>apt-cache showpkg <var>package</var> </tt> vous
2395 indiquera, entre autres, les paquets qui dépendent de <var>package </var>.
2396
2397         <sect1>Supprimer des paquets dans <tt>Incoming</tt>
2398 <p>
2399 Si vous décidez de supprimer un paquet de la section <tt>Incoming</tt>, il
2400 serait gentil de l'annoncer sur la liste de diffusion appropriée
2401 (&email-debian-changes; ou &email-debian-devel-changes;). Ce n'est pas
2402 obligatoire.
2403
2404
2405
2406         <sect>Remplacer ou renommer un paquet
2407
2408 <p>
2409 Il peut vous arriver de vous tromper en nommant un paquet et avoir besoin de le
2410 renommer. Dans ce cas, vous devrez intervenir en deux étapes. D'abord,
2411 modifier votre fichier <file>debian/control</file> pour que votre paquet
2412 renommé remplace et entre en conflit avec le nom de paquet que vous voulez
2413 remplacer. Reportez-vous au <url id="&url-debian-policy;" name="Debian Policy
2414 Manual"> pour les détails. Une fois que votre paquet est installé dans
2415 l'archive, faites un rapport de bogue sur le pseudo-paquet
2416 <tt>ftp.debian.org</tt> demandant la suppression du paquet mal nommé.
2417
2418
2419
2420
2421
2422         <sect id="orphaning">Abandonner un paquet
2423
2424 <p>
2425 Si vous ne pouvez plus maintenir un paquet, vous devez en informer les autres
2426 et faire le nécessaire pour qu'il soit marqué <em>abandonné</em>(i.e.
2427 <em>orphaned</em>). Vous devriez aussi remplacer votre nom par <tt>Debian QA
2428 Group &orphan-address;</tt> dans le champ
2429 <tt>maintainer</tt> du paquet et faire un rapport de bogue sur le
2430 pseudo-paquet <tt>wnpp</tt>. Le titre de votre rapport de bogue devra être
2431 «&nbsp;<tt>O<footnote><em>Orphaned</em>&nbsp;: abandonné.</footnote>:
2432 <var>paquet</var> -- <var>courte description</var></tt>&nbsp;» pour indiquer
2433 que le paquet est orphelin.  La sévérité du bogue sera <em>normale</em>. Si le
2434 paquet est particulièrement important pour la distribution il vous faudra
2435 faire un rapport de bogue sur le pseudo-paquet <tt>wnpp</tt>, titrer
2436 «&nbsp;<tt>RFA<footnote><em>Request For Adoption</em>&nbsp;: offre
2437 d'adoption.</footnote>: <var>paquet</var> -- <var>courte
2438 description</var></tt>&nbsp;» et lui affecter la sévérité <em>importante</em>.
2439 Il vous faudra aussi envoyer une annonce sur la liste &email-debian-devel;
2440 pour demander un nouveau responsable.
2441
2442 <p>
2443 Reportez-vous à la page WNPP<footnote><em>Work-needing and prospective
2444 packages</em>&nbsp;: paquets en souffrance et paquets souhaités.</footnote> <url
2445 id="&url-wnpp;"> pour en savoir plus.
2446
2447
2448
2449
2450
2451         <sect id="adopting">Adopter un paquet
2452
2453 <p>
2454 Une liste des paquets en attente de nouveau responsable est disponible à la
2455 page <url id="&url-wnpp;" name="Work-Needing and Prospective Packages">. Si
2456 vous voulez prendre en charge un paquet de cette liste reportez-vous à la page
2457 susmentionnée pour connaître la procédure à suivre.
2458
2459 <p>
2460 Prendre un paquet parce qu'il vous semble que celui-ci est négligé n'est pas
2461 correct -- ce serait une prise d'otage.  Vous pouvez prendre contact avec le
2462 responsable actuel et lui demander si vous pouvez prendre en charge ce paquet.
2463 Vous ne pouvez le faire sans son accord. Qu'il vous ignore n'est pas une
2464 raison suffisante pour le faire. Si vous avez le sentiment qu'un responsable
2465 est parti sans prévenir depuis un moment, demandez-le sur la liste
2466 &email-debian-private;.
2467
2468 <p>
2469 Si vous reprenez un vieux paquet, vous voudrez sûrement que le système de
2470 suivi des bogues indique que vous êtes le responsable du paquet. Cela se
2471 produira automatiquement une fois que vous aurez installé une nouvelle version
2472 du paquet dans l'archive avec le champ <tt>Maintainer</tt> à jour. Cela peut
2473 prendre quelques heures après le téléchargement. Si vous pensez ne pas avoir
2474 de mise à jour à faire pour un moment, envoyez un courrier électronique à
2475 &email-override; pour pouvoir recevoir les rapports de bogue.
2476
2477
2478
2479
2480
2481         <chapt id="bug-handling">Gérer les bogues
2482
2483
2484
2485         <sect>Superviser les rapports de bogues
2486
2487 <p>
2488 Si vous voulez être un bon responsable, vous devrez consulter régulièrement la
2489 page du <url id="&url-bts;" name="système de suivi des bogues">.  Cette page
2490 contient tous les rapports de bogue qui concernent vos paquets.
2491
2492 <p>
2493 Les responsables interagissent avec le système de suivi des bogues en
2494 utilisant l'adresse électronique <tt>bugs.debian.org</tt>. Vous trouverez une
2495 documentation sur les commandes disponibles à l'adresse <url id="&url-bts;">
2496 ou, si vous avez installé le paquet <package>doc-debian</package>, dans les
2497 fichiers locaux <file>/usr/share/doc/debian/bug-*</file>.
2498
2499 <p>
2500 Certains trouvent utile de recevoir régulièrement une synthèse des rapports de
2501 bogues ouverts. Si vous voulez recevoir une synthèse hebdomadaire relevant
2502 tous les rapports de bogue ouverts sur vos paquets, vous pouvez configurer
2503 <prgn>cron</prgn> comme suit&nbsp;:
2504
2505 <p>
2506 <example>
2507 # Synthèse hebdomadaire des rapports de bogue qui me concernent
2508 0 17 * * fri echo "index maint <var>adresse</var>" | mail request@bugs.debian.org
2509 </example>
2510
2511 <p>
2512 Remplacez <var>adresse</var> par votre adresse officielle de responsable
2513 Debian.
2514
2515
2516
2517
2518         <sect id="submit-bug">Ouvrir un rapport de bogue
2519
2520 <p>
2521 En temps que responsable Debian, vous trouvez des bogues dans d'autres paquets
2522 ou bien des rapports de bogue concernant vos paquets devraient être réassignés
2523 à d'autres paquets. La page d'aide du <url id="&url-bts-control;"
2524 name="système de suivi des bogues"> vous explique comment le faire.
2525
2526 <p>
2527 Nous vous encourageons à ouvrir des rapports de bogue s'il y a des problèmes.
2528 Essayez de soumettre ces rapports depuis un compte utilisateur où vous pouvez
2529 recevoir du courrier. Ne les envoyez pas en temps que <em>root</em>.
2530
2531 <p>
2532 Vérifiez que le bogue n'a pas encore été déclaré. Essayez de faire un travail
2533 propre en déclarant un bogue et en l'envoyant à la bonne adresse.
2534
2535 <p>
2536 Pour faire encore mieux, vous pouvez consulter d'autres paquets, grouper les
2537 bogues qui ont été rapportés plusieurs fois ou affecter la sévérité
2538 <em>corrigé</em> (i.e. <em>fixed</em>) à un rapport dont le bogue a été
2539 corrigé.  Attention, quand vous n'êtes ni le rapporteur d'un bogue ni le
2540 responsable du paquet vous ne devez pas clore le rapport (à moins que vous
2541 n'ayez l'autorisation du responsable).
2542
2543
2544
2545
2546         <sect>Répondre à des rapports de bogues
2547
2548 <p>
2549 Assurez-vous que toutes vos discussions concernant les bogues sont envoyées au
2550 rapporteur du bogue et au bogue lui-même (<email>123@bugs.debian.org</email>
2551 par exemple).
2552
2553 <p>
2554 Vous ne devez <em>jamais</em> fermer un rapport de bogue en envoyant la
2555 commande <em>close</em> à l'adresse&nbsp;:
2556
2557 <p>
2558 <tt>   &email-bts-control;</tt>
2559
2560 <p>
2561 Si vous le faites, le rapporteur n'aura aucun retour sur la clôture de son
2562 rapport.
2563
2564
2565
2566
2567         <sect id="upload-bugfix">Quand les rapports sont fermés par une
2568         mise à jour
2569
2570 <p>
2571 Si vous corrigez un bogue dans vos paquets, il est de votre responsabilité de
2572 fermer le rapport de bogue associé. Pourtant vous ne devez pas le fermer avant
2573 que le paquet n'ait été accepté dans l'archive Debian.  C'est pourquoi, vous
2574 pouvez et vous devez clore le rapport dans le système de suivi des bogues une
2575 fois que vous avez reçu l'avis indiquant que votre nouveau paquet a été
2576 installé dans l'archive.
2577
2578 <p>
2579 Si vous utilisez une version récente de <package>dpkg-dev</package> et que
2580 vous remplissez convenablement le fichier <file>changelog</file>, le logiciel de
2581 maintenance de l'archive fermera les rapports de bogue automatiquement. Tout ce
2582 que vous avez à faire est de respecter la syntaxe suivante dans votre fichier
2583 <file>debian/changelog</file>&nbsp;:
2584 <example>
2585 acme-cannon (3.1415) unstable; urgency=low
2586
2587   * Frobbed with options (closes: Bug#98339)
2588   * Added safety to prevent operator dismemberment, closes: bug#98765,
2589     bug#98713, #98714.
2590   * Added manpage. Closes: #98725.
2591 </example>
2592
2593 Techniquement parlant, l'expression régulière suivante est utilisée :
2594 <example>
2595   /closes:\s*(?:bug)?\#\s*\d+(?:,\s*(?:bug)?\#\s*\d+)*/ig
2596 </example>
2597
2598 L'auteur préfère la syntaxe <tt>(closes: Bug#<var>XXX</var>)</tt>, car elle
2599 est facilement repérable dans le fichier <file>changelog</file>.
2600
2601 <p>
2602 Si vous voulez fermer un rapport de bogue manuellement -- à l'ancienne -- il
2603 suffit d'envoyer le fichier <tt>.changes</tt> à l'adresse
2604 <email>XXX-done@bugs.debian.org</email> où <var>XXX</var> est le numéro du
2605 bogue.
2606
2607
2608
2609
2610         <sect id="lintian-reports">Les rapports Lintian
2611
2612 <p>
2613 Vous devriez récupérer la dernière version de <package>lintian</package>
2614 depuis <em>unstable</em> régulièrement et vérifier tous vos paquets.  Vous
2615 pouvez aussi chercher votre adresse électronique dans la page de <url
2616 id="&url-lintian;" name="rapport lintian">. Cette page, mise à jour
2617 automatiquement, contient les rapports lintian concernant la
2618 dernière version de la distribution (en général <em>unstable</em>) générés
2619 avec la dernière version de <package>lintian</package>.
2620
2621
2622
2623
2624
2625         <sect>Ouvrir un grand nombre de rapport d'un seul coup
2626
2627 <p>
2628 Ouvrir un grand nombre de rapports pour le même problème sur un grand nombre de
2629 paquet -- plus de dix -- est une pratique que nous déconseillons. Prenez
2630 toutes les mesures possibles pour éviter cette situation. Si le problème peut
2631 être détecté automatiquement par exemple, ajouter un nouveau test dans le
2632 paquet <package>lintian</package> pour générer une erreur ou un avertissement.
2633
2634 <p>
2635 Si vous ouvrez plus de dix rapports sur le même sujet il est préférable
2636 d'indiquer votre intention sur la liste &email-debian-devel;. Cela donnera à
2637 d'autres développeurs la possibilité de vérifier que le problème existe
2638 vraiment. De plus, cela permet d'éviter que plusieurs responsables ne rédigent
2639 les mêmes rapports de bogue simultanément.
2640
2641 <p>
2642 Quand vous envoyez un grand nombre de rapports sur le même sujet, vous devriez
2643 les envoyer à <email>maintonly@bugs.debian.org</email> pour qu'ils ne soient
2644 pas redirigés vers les listes de diffusions.
2645
2646
2647
2648
2649
2650         <chapt id="tools">Aperçu des outils du responsable Debian
2651
2652 <p>
2653 Cette section contient un léger aperçu des outils dont dispose le responsable.
2654 Ces outils sont fait pour améliorer le confort des responsables et libérer
2655 leur temps pour des tâches cruciales.
2656
2657 <p>
2658 Certaines personnes préfèrent utiliser des outils de haut niveau d'autres pas.
2659 Debian n'a pas de position officielle sur la
2660 question&nbsp;; tout outil conviendra du moment qu'il fait le boulot. C'est pourquoi
2661 cette section n'a pas été conçue pour indiquer à chacun
2662 quel outil il devrait utiliser ou comment il devrait faire pour gérer sa
2663 charge de responsable Debian. Elle n'est pas non plus destinée à
2664 favoriser l'usage d'un outil au dépend d'un autre.
2665
2666 <p>
2667 La plupart des descriptions de ces outils proviennent des descriptions de
2668 leurs paquets. Vous trouverez plus d'information dans les
2669 documentations de ces paquets.
2670
2671
2672
2673         <sect id="dpkg-dev">
2674         <heading><package>dpkg-dev</package> 
2675
2676 <p>
2677 Le paquet <package>dpkg-dev</package> contient les outils (y compris
2678 <prgn>dpkg-source</prgn>) nécessaires pour déballer, fabriquer et livrer des
2679 paquets Debian source. Ces utilitaires fournissent les fonctionnalités bas
2680 niveau indispensables pour créer et manipuler les paquets&nbsp;; en tant que tel,
2681 ils sont indispensables à tout responsable Debian.
2682
2683
2684
2685
2686         <sect id="lintian">
2687         <heading><package>lintian</package> 
2688
2689 <p>
2690 <package>lintian</package> dissèque les paquets pour y repérer des bogues et
2691 des manquements aux règles de développement. Il contient des tests automatisés pour
2692 vérifier de nombreuses règles et quelques erreurs courantes.  L'utilisation de
2693 <package>lintian</package> a déjà été discutée dans <ref id="upload-checking">
2694 et <ref id="lintian-reports">.
2695
2696         <sect id="debconf">
2697         <heading><package>debconf</package></heading>
2698
2699 <p>
2700 Le paquet <package>debconf</package> fournit une interface consistante pour
2701 configurer les paquets interactivement. Il est indépendant de l'interface et
2702 permet une configuration en mode texte, par une interface HTML ou par boîtes
2703 de dialogues. D'autres types d'interface peuvent être ajoutés par adjonction
2704 de modules.
2705
2706 <p>
2707 Beaucoup pensent que ce système devrait être utilisé pour tout paquet
2708 nécessitant une configuration interactive. <package>debconf</package> n'est
2709 pas requit par le <em>Debian Policy Manual</em> pour le moment&nbsp;; cela
2710 pourra changer dans le futur.
2711
2712         
2713         <sect id="debhelper">
2714         <heading><package>debhelper</package> 
2715
2716 <p>
2717 Le paquet <package>debhelper</package> regroupe un ensemble de programmes qui
2718 peuvent être utilisés dans <file>debian/rules</file> pour automatiser les
2719 tâches courantes relatives à la fabrication des paquets Debian binaires. Ce
2720 paquet contient des utilitaires pour installer différents fichiers, compresser
2721 des fichiers, ajuster les droits des fichiers et intégrer votre paquet dans le
2722 système de menu Debian.
2723
2724 <p>
2725 Au contraire de <package>debmake</package>, <package>debhelper</package> est
2726 divisé en plusieurs petits utilitaires qui agissent de manière consistante.
2727 Ce découpage permet un contrôle des opérations plus fin que
2728 <package>debmake</package>.
2729
2730
2731
2732
2733         <sect id="debmake">
2734         <heading><package>debmake</package> 
2735
2736 <p>
2737 <package>debmake</package> -- un précurseur de <package>debhelper</package> --
2738 est un assistant moins modulaire pour manipuler le fichier
2739 <file>debian/rules</file>.  Il inclus deux programmes principaux&nbsp;:
2740 <prgn>deb-make</prgn>, utile au développeur Debian pour convertir un paquet
2741 source normal (non-Debian) en paquet source Debian, et <prgn>debstd</prgn> qui
2742 regroupe le type de fonction que l'on trouve dans
2743 <package>debhelper</package>.
2744
2745 <p>
2746 Le consensus actuel est que l'usage de <package>debmake</package> est maintenant
2747 déconseillé au profit de <package>debhelper</package> mais ce n'est pas une
2748 erreur d'utiliser <package>debmake</package>.
2749
2750
2751
2752         <sect id="yada">
2753         <heading><package>yada</package> 
2754
2755 <p>
2756 Le paquet <package>yada</package> est un nouvel assistant pour la création de
2757 paquets qui a une approche légèrement différente. Il utilise un fichier
2758 <file>debian/packages</file> pour générer d'autres fichiers nécessaires dans
2759 le sous-répertoire <file>debian/</file>.
2760
2761 <p>
2762 Remarque&nbsp;: <package>yada</package> est encore jeune et probablement moins
2763 robuste que ses aînés.
2764
2765
2766
2767         <sect id="equivs">
2768         <heading><package>equivs</package> 
2769
2770 <p>
2771 <package>equivs</package> est un autre paquet pour faire des paquets. Il est
2772 souvent conseillé pour un usage local, si vous avez besoin de faire un paquet
2773 pour satisfaire des dépendances. Il est aussi parfois utilisé pour faire des
2774 «&nbsp;méta-paquets&nbsp;» qui sont des paquets dont l'unique objet est de
2775 dépendre d'autres paquets.
2776
2777
2778
2779         <sect id="cvs-buildpackage">
2780         <heading><package>cvs-buildpackage</package> 
2781
2782 <p>
2783 Le paquet <package>cvs-buildpackage</package> permet de mettre à jour ou
2784 récupérer des paquets sources dans un référentiel CVS, fabriquer un paquet
2785 Debian depuis le référentiel CVS et assiste le développeur lors de
2786 l'intégration de modifications amont dans le référentiel.
2787
2788 <p>
2789 Ce paquet fournit l'infrastructure facilitant l'utilisation de CVS
2790 pour le responsable. Il permet de conserver des branches CVS distinctes
2791 pour les distributions <em>stable</em>, <em>unstable</em> et probablement
2792 <em>experimental</em>. 
2793
2794
2795         <sect id="dupload">
2796         <heading><package>dupload</package> 
2797
2798 <p>
2799 Le paquet <package>dupload</package> contient un script du même nom pour
2800 mettre à jour des paquets dans l'archive Debian, tracer ces mises à jour et
2801 les annoncer par courrier électronique automatiquement. Vous pouvez le
2802 configurer pour faire des mises à jour à d'autres endroits et avec d'autres
2803 méthodes.
2804
2805 <p>
2806 Note&nbsp;: l'annonce d'une mise à jour est maintenant prise en charge par le logiciel
2807 de gestion de l'archive. <package>dupload</package> doit être configurer 
2808 pour ne plus envoyer de courrier (voir <ref id="upload-announce">).
2809
2810         <sect id="fakeroot">
2811         <heading><package>fakeroot</package> 
2812
2813 <p>
2814 <package>fakeroot</package> simule les privilèges <em>root</em>. Cela permet
2815 de fabriquer un paquet sans être root (en général les paquets installent des
2816 fichiers appartenant à <em>root</em>). Si vous avez installé
2817 <package>fakeroot</package> vous pouvez par exemple écrire
2818 <tt>dpkg-buildpackage -rfakeroot</tt> en tant qu'utilisateur.
2819
2820
2821
2822         <sect id="devscripts">
2823         <heading><package>devscripts</package> 
2824
2825 <p>
2826 Le paquet <package>devscripts</package> contient quelques scripts et outils
2827 que vous trouverez peut-être utiles pour maintenir vos paquets Debian. Parmi
2828 ces scripts vous trouverez <prgn>debchange</prgn> qui manipule votre fichier
2829 <file>debian/changelog</file> depuis la ligne de commande et
2830 <prgn>debuild</prgn> qui est construit au-dessus de
2831 <prgn>dpkg-buildpackage</prgn>.
2832
2833
2834
2835
2836         <sect id="debget">
2837         <heading><package>debget</package>
2838
2839 <p>
2840 Le paquet <package>debget</package> contient un script qui peut être utile
2841 pour télécharger des paquets depuis l'archive Debian. Vous pouvez par exemple
2842 l'utiliser pour télécharger des paquets sources.
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852 </book>
2853 </debiandoc>
2854
2855 <!-- Keep this comment at the end of the file
2856 Local variables:
2857 mode: sgml
2858 sgml-omittag:t
2859 sgml-shorttag:t
2860 sgml-minimize-attributes:nil
2861 sgml-always-quote-attributes:t
2862 sgml-indent-step:2
2863 sgml-indent-data:nil
2864 sgml-parent-document:nil
2865 sgml-exposed-tags:nil
2866 sgml-declaration:nil
2867 sgml-local-catalogs:nil
2868 sgml-local-ecat-files:nil
2869 End:
2870 -->
2871 <!-- vim:set tw=78:ts=8: -->