1 <!DOCTYPE debiandoc PUBLIC "-//DebianDoc//DTD DebianDoc//EN" [
5 <!ENTITY % versiondata SYSTEM "version.ent"> %versiondata;
7 <?xml version="1.0" encoding="iso-8859-1"?>
8 <!-- common entities file
10 Bits of text which are language independent. In some cases it
11 makes sense to break these out because repetitively maintaining
12 them in different translations of the Developer's Reference is
13 wasteful. In other cases, the data is rather volatile and
14 breaking it out make maintenance easier.
17 <!-- volatile information -->
19 <!ENTITY number-of-pkgs "9000">
20 <!ENTITY number-of-maintainers "900">
22 <!ENTITY number-of-arches "12">
24 <!-- standard information -->
25 <!ENTITY fsf-addr "Free Software Foundation, Inc.,
26 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA">
27 <!ENTITY file-GPL "<file>/usr/share/common-licenses/GPL</file>">
28 <!ENTITY debian-formal "Debian GNU/Linux">
33 <!ENTITY www-debian-org "www.debian.org">
34 <!ENTITY ftp-debian-org "ftp.debian.org">
35 <!ENTITY ftp-host "&ftp-debian-org;">
36 <!ENTITY www-host "&www-debian-org;">
37 <!ENTITY lists-host "lists.debian.org">
38 <!ENTITY archive-host "archive.debian.org">
39 <!ENTITY keyserver-host "keyring.debian.org">
40 <!ENTITY packages-host "packages.debian.org">
41 <!ENTITY bugs-host "bugs.debian.org">
42 <!ENTITY pts-host "packages.qa.debian.org">
43 <!ENTITY ftp-master-host "ftp-master.debian.org">
44 <!ENTITY ftp-master-mirror "merkel.debian.org">
45 <!ENTITY non-us-host "non-us.debian.org">
46 <!ENTITY upload-queue "<ftppath>/pub/UploadQueue/</ftppath>">
48 <!ENTITY url-debian-policy "http://&www-debian-org;/doc/debian-policy/">
49 <!ENTITY url-perl-policy "http://&www-debian-org;/doc/packaging-manuals/perl-policy/">
50 <!ENTITY url-emacs-policy "http://&www-debian-org;/doc/packaging-manuals/debian-emacs-policy">
51 <!ENTITY url-java-policy "http://&www-debian-org;/doc/packaging-manuals/java-policy/">
52 <!ENTITY url-libpkg-guide "http://www.netfort.gr.jp/~dancer/column/libpkg-guide/">
54 <!ENTITY url-social-contract "http://&www-debian-org;/social_contract">
55 <!ENTITY url-constitution "http://&www-debian-org;/devel/constitution">
56 <!ENTITY url-dfsg "&url-social-contract;#guidelines">
57 <!ENTITY url-debian-lists "http://&www-debian-org;/MailingLists/">
58 <!ENTITY url-debian-lists-txt "http://&ftp-debian-org;/debian/doc/mailing-lists.txt">
59 <!ENTITY url-debian-lists-subscribe "http://&www-debian-org;/MailingLists/subscribe">
60 <!ENTITY url-debian-lists-new "http://&www-debian-org;/MailingLists/HOWTO_start_list">
61 <!ENTITY url-lists-archives "http://&lists-host;/">
62 <!ENTITY url-bts "http://&www-debian-org;/Bugs/">
63 <!ENTITY url-bts-report "&url-bts;Reporting">
64 <!ENTITY url-bts-devel "&url-bts;Developer">
65 <!ENTITY url-bts-control "&url-bts;server-control">
66 <!ENTITY url-debian-mirrors "http://&www-debian-org;/mirror/">
67 <!ENTITY url-debian-mirroring "&url-debian-mirrors;">
68 <!ENTITY url-debian-ports "http://&www-debian-org;/ports/">
69 <!ENTITY url-debian-port-lists "http://&lists-host;/ports.html">
70 <!ENTITY url-wnpp "http://&www-debian-org;/devel/wnpp/">
71 <!ENTITY url-devel-docs "http://&www-debian-org;/devel/">
72 <!ENTITY url-vote "http://&www-debian-org;/vote/">
73 <!ENTITY url-cvsweb "http://cvs.debian.org/">
74 <!ENTITY url-devel-machines "http://db.debian.org/machines.cgi">
75 <!ENTITY url-buildd "http://buildd.debian.org/">
76 <!ENTITY url-lintian "http://lintian.debian.org/">
77 <!ENTITY url-debian-qa "http://qa.debian.org/">
78 <!ENTITY url-debian-qa-orphaned "http://qa.debian.org/orphaned.html">
79 <!ENTITY url-debian-db "https://db.debian.org/">
80 <!ENTITY url-debian-db-login "https://db.debian.org/login.html">
81 <!ENTITY url-debian-db-mail-gw "http://db.debian.org/doc-mail.html">
82 <!ENTITY url-debian-db-doc "http://db.debian.org/doc-general.html">
83 <!ENTITY url-newmaint "http://&www-debian-org;/devel/join/newmaint">
84 <!ENTITY url-newmaint-checklist "http://&www-debian-org;/devel/join/nm-checklist">
85 <!ENTITY url-newmaint-db "http://nm.debian.org/">
86 <!ENTITY url-newmaint-advocate "http://&www-debian-org;/devel/join/nm-advocate">
87 <!ENTITY url-newmaint-amchecklist "http://&www-debian-org;/devel/join/nm-amchecklist">
88 <!ENTITY url-newmaint-apply "http://nm.debian.org/newnm.php">
89 <!ENTITY url-newmaint-id "http://&www-debian-org;/devel/join/nm-step2">
90 <!ENTITY url-newmaint-guide "http://&www-debian-org;/doc/maint-guide/">
91 <!ENTITY url-gpg-coord "http://nm.debian.org/gpg.php">
92 <!ENTITY url-debian-security-advisories "http://&www-debian-org;/security/">
93 <!ENTITY url-tech-ctte "http://&www-debian-org;/devel/tech-ctte">
94 <!ENTITY url-ddpo "http://qa.debian.org/developer.php">
96 <!ENTITY url-debian-keyring "http://&ftp-debian-org;/debian/doc/debian-keyring.tar.gz">
97 <!ENTITY url-readme-non-us "http://&ftp-debian-org;/debian/README.non-US">
98 <!ENTITY url-incoming "http://incoming.debian.org/">
99 <!ENTITY url-testing-maint "http://www.debian.org/devel/testing">
101 <!ENTITY url-testing-faq "&url-testing-maint;">
103 <!ENTITY us-upload-dir "<file>/org/ftp.debian.org/incoming/</file>">
104 <!ENTITY non-us-upload-dir "<file>/org/non-us.debian.org/incoming/</file>">
105 <!ENTITY url-chiark-readme "ftp://ftp.chiark.greenend.org.uk/pub/debian/private/project/README.how-to-upload">
106 <!ENTITY url-upload-erlangen "ftp://ftp.uni-erlangen.de/pub/Linux/debian/UploadQueue/">
107 <!ENTITY url-upload-samosa "ftp://samosa.debian.org/pub/UploadQueue/">
108 <!ENTITY url-upload-jp "ftp://master.debian.or.jp/pub/Incoming/upload/">
110 <!ENTITY url-mentors "http://people.debian.org/~mpalmer/debian-mentors_FAQ.html">
111 <!ENTITY url-sponsors "http://www.internatif.org/bortzmeyer/debian/sponsor/">
113 <!ENTITY url-rules-files "http://arch.debian.org/arch/private/srivasta/">
115 <!ENTITY url-debconf-l10n-help "http://&www-debian-org;/intl/l10n/templates/hints">
117 <!ENTITY url-dmup "http://&www-debian-org;/devel/dmup">
118 <!ENTITY url-worldmap "http://&www-debian-org;/devel/developers.loc">
120 <!ENTITY url-i18n-doc-check "http://cvs.debian.org/boot-floppies/documentation/doc-check?rev=HEAD&content-type=text/vnd.viewcvs-markup">
122 <!ENTITY url-eg-desc-upstream-info "http://&packages-host;/unstable/web/wml">
124 <!ENTITY url-alioth "http://alioth.debian.org/">
129 <!ENTITY url-gnu-manifesto "http://www.gnu.org/gnu/manifesto.html">
130 <!ENTITY url-gpl "http://www.gnu.org/copyleft/gpl.html">
131 <!ENTITY url-pgp-faq "http://www.cam.ac.uk.pgp.net/pgpnet/pgp-faq/">
132 <!ENTITY url-rfc2440 "http://www.rfc-editor.org/rfc/rfc2440.txt">
133 <!ENTITY url-u.s.-export "http://www.bxa.doc.gov/Encryption/PubAvailEncSourceCodeNofify.html">
134 <!ENTITY url-notification-of-export "http://www.bxa.doc.gov/Encryption/">
135 <!ENTITY url-openprojects "http://www.freenode.net/">
137 <!-- Debian email addresses -->
138 <!ENTITY email-listmaster "<email>listmaster@&lists-host;</email>">
139 <!ENTITY email-debian-announce "<email>debian-announce@&lists-host;</email>">
140 <!ENTITY email-devel-ref "<email>developers-reference@&packages-host;</email>">
141 <!ENTITY email-debian-changes "<email>debian-changes@lists.debian.org</email>">
142 <!ENTITY email-debian-devel "<email>debian-devel@&lists-host;</email>">
143 <!ENTITY email-debian-devel-announce "<email>debian-devel-announce@&lists-host;</email>">
144 <!ENTITY email-debian-devel-changes "<email>debian-devel-changes@lists.debian.org</email>">
145 <!ENTITY email-debian-devel-req "<email>debian-devel-REQUEST@&lists-host;</email>">
146 <!ENTITY email-debian-i18n "<email>debian-i18n@&lists-host;</email>">
147 <!ENTITY email-debian-mentors "<email>debian-mentors@&lists-host;</email>">
148 <!ENTITY email-debian-private "<email>debian-private@&lists-host;</email>">
149 <!ENTITY email-debian-project "<email>debian-project@&lists-host;</email>">
150 <!ENTITY email-debian-policy "<email>debian-policy@&lists-host;</email>">
151 <!ENTITY email-debian-user "<email>debian-user@&lists-host;</email>">
152 <!ENTITY orphan-address "<packages@qa.debian.org>">
153 <!ENTITY email-debian-qa "<email>debian-qa@&lists-host;</email>">
154 <!ENTITY email-debian-release "<email>debian-release@&lists-host;</email>">
155 <!ENTITY email-debian-email "<email>debian-email@&lists-host;</email>">
156 <!ENTITY email-debian-vote "<email>debian-vote@&lists-host;</email>">
157 <!ENTITY email-debian-security-announce "<email>debian-security-announce@&lists-host;</email>">
158 <!ENTITY email-debian-l10n-english "<email>debian-l10n-english@&lists-host;</email>">
159 <!ENTITY email-mia "<email>mia@qa.debian.org</email>">
161 <!ENTITY email-new-maintainer "<email>new-maintainer@debian.org</email>">
162 <!ENTITY email-debian-keyring "<email>keyring-maint@debian.org</email>">
163 <!ENTITY email-debian-admin "<email>debian-admin@debian.org</email>">
164 <!ENTITY email-ftpmaster "<email>ftpmaster@debian.org</email>">
165 <!ENTITY email-override "<email>override-change@debian.org</email>">
166 <!ENTITY email-wnpp "<email>wnpp@debian.org</email>">
167 <!ENTITY email-bts-control "<email>control@&bugs-host;</email>">
168 <!ENTITY email-security-team "<email>team@security.debian.org</email>">
170 <!-- misc Debian info -->
171 <!ENTITY file-mail-lists "<file>/usr/share/doc/debian/mailing-lists.txt</file>">
172 <!ENTITY file-bts-docs "<file>/usr/share/doc/debian/bug-*</file>">
173 <!ENTITY file-python-policy "<file>/usr/share/doc/python/python-policy.txt.gz</file>">
174 <!ENTITY file-ocaml-policy "<file>/usr/share/doc/ocaml/ocaml_packaging_policy.gz</file>">
175 <!ENTITY file-lisp-controller "<file>/usr/share/doc/common-lisp-controller/README.packaging</file>">
176 <!ENTITY file-debian-private-archive "~debian/archive/debian-private/">
177 <!ENTITY file-bpp-autotools "<file>/usr/share/doc/autotools-dev/README.Debian.gz</file>">
179 <!ENTITY cron-bug-report '0 17 * * fri echo "index maint <var>address</var>" | mail request@&bugs-host;'>
181 <!ENTITY control-file-fields "<list compact>
182 <item><tt>Format</tt>
184 <item><tt>Source</tt>
185 <item><tt>Binary</tt>
186 <item><tt>Architecture</tt>
187 <item><tt>Version</tt>
188 <item><tt>Distribution</tt>
189 <item><tt>Urgency</tt>
190 <item><tt>Maintainer</tt>
191 <item><tt>Description</tt>
192 <item><tt>Changes</tt>
199 <!ENTITY pgp-keyserv "<tt>subkeys.pgp.net</tt>">
200 <!ENTITY file-keyservs "<file>/usr/share/doc/pgp/keyserv.doc</file>">
202 <!ENTITY sample-dist-dirtree "<example>
204 dists/stable/main/binary-i386/
205 dists/stable/main/binary-m68k/
206 dists/stable/main/binary-alpha/
208 dists/stable/main/source/
210 dists/stable/main/disks-i386/
211 dists/stable/main/disks-m68k/
212 dists/stable/main/disks-alpha/
215 dists/stable/contrib/
216 dists/stable/contrib/binary-i386/
217 dists/stable/contrib/binary-m68k/
218 dists/stable/contrib/binary-alpha/
220 dists/stable/contrib/source/
222 dists/stable/non-free/
223 dists/stable/non-free/binary-i386/
224 dists/stable/non-free/binary-m68k/
225 dists/stable/non-free/binary-alpha/
227 dists/stable/non-free/source/
232 dists/testing/contrib/
234 dists/testing/non-free/
240 dists/unstable/contrib/
242 dists/unstable/non-free/
253 pool/main/liba/libalias-perl/
259 pool/non-free/n/netscape/
263 <!ENTITY example-pathfind '<example>pathfind() {
267 if [ -x "$p/$*" ]; then
276 <!ENTITY % dynamicdata SYSTEM "dynamic.ent"> %dynamicdata;
279 <!ENTITY cvs-rev "$Revision: 1.63 $">
286 <!ENTITY FIXME "<em>FIXME:</em> ">
289 <?xml version="1.0" encoding="iso-8859-1"?><debiandoc>
293 Référence du développeur Debian
296 <name>L'équipe de la Référence du développeur</name>&email-devel-ref;
299 <name>Andreas Barth </name>
302 <name>Adam Di Carlo </name>
305 <name>Raphaël Hertzog </name>
308 <name>Christian Schwarz </name>
311 <name>Ian Jackson </name>
313 <!-- <!ENTITY cvs-en-rev "1.315"> -->
315 version française par Frédéric Bothamy (traducteur actuel)
317 <translator>et Antoine Hulin (ancien traducteur)</translator>
319 et les membres de la liste <email>debian-l10n-french@lists.debian.org</email>
322 Version &version;, &date-fr; (version française 20060407).
326 Copyright © 2004—2006 Andreas Barth
329 Copyright © 1998—2003 Adam Di Carlo
332 Copyright © 2002—2003 Raphaël Hertzog
335 Copyright © 1997, 1998 Christian Schwarz.
338 Ce manuel est un logiciel libre ; il peut être redistribué et/ou
339 modifié selon les termes de la licence publique générale du projet GNU
340 (GNU GPL), telle que publiée par la « Free Software
341 Foundation » (version 2 ou toute version postérieure).
344 Il est distribué dans l'espoir qu'il sera utile, mais <em>sans aucune
345 garantie</em>, sans même la garantie implicite d'une possible valeur
346 marchande ou d'une adéquation à un besoin particulier. Consultez la
347 licence publique générale du projet GNU pour plus de détails.
350 Une copie de la licence publique générale du projet GNU est disponible
351 dans le fichier &file-GPL; de la distribution &debian-formal; ou sur
352 la toile : <url id="http://www.gnu.org/copyleft/gpl.html"
353 name="la licence publique générale du projet GNU">. Vous pouvez
354 également l'obtenir en écrivant à la &fsf-addr;. <![ %htmltext [
357 Si vous désirez imprimer cette référence, vous devriez utiliser la
358 <url id="developers-reference.pdf" name="version PDF">. Cette page est
359 également disponible en <url id="index.en.html" name="anglais">. ]]>
367 Portée de ce document
370 Le but de ce document est de donner une vue d'ensemble des procédures à
371 suivre et des ressources mises à la disposition des développeurs Debian.
374 Les procédures décrites ci-après expliquent comment devenir responsable
375 Debian (<ref id="new-maintainer">), comment créer de nouveaux paquets
376 (<ref id="newpackage">) et comment les installer dans l'archive (<ref
377 id="upload">), comment gérer les rapports de bogues (<ref
378 id="bug-handling">), comment déplacer, effacer ou abandonner un paquet
379 (<ref id="archive-manip">), comment faire le portage d'un paquet (<ref
380 id="porting">), quand et comment faire la mise à jour du paquet d'un
381 autre responsable (<ref id="nmu">).
384 Les ressources présentées dans ce manuel incluent les listes de
385 diffusion (<ref id="mailing-lists">) et les serveurs (<ref
386 id="server-machines">), une présentation de la structure de l'archive
387 Debian (<ref id="archive">), des explications sur les serveurs qui
388 acceptent les mises à jour de paquets (<ref id="upload-ftp-master">) et
389 une présentation des outils qui peuvent aider un responsable à améliorer
390 la qualité de ses paquets (<ref id="tools">).
393 Ce manuel de référence ne présente pas les aspects techniques liés aux
394 paquets Debian, ni comment les créer. Il ne décrit pas non plus les
395 règles que doivent respecter les paquets Debian. Cette information est
396 disponible dans la <url id="&url-debian-policy;" name="charte Debian">.
399 De plus ce document <em>n'est pas l'expression d'une politique
400 officielle</em>. Il contient de la documentation sur le système Debian
401 et des conseils pratiques largement suivis. Ce n'est donc pas une sorte
404 <sect>Introduction à la version française
409 Bien que ce document soit en français, l'activité de responsable Debian implique
410 une maîtrise de la langue anglaise. Le projet Debian est un projet international
411 auquel participent des japonais, néo-zélandais, américains, allemands,
412 finlandais, français, espagnols, danois, etc.
415 En conséquence, la langue utilisée dans toutes les listes de diffusion destinées
416 aux développeurs (à l'exception de la liste
417 <email>debian-devel-french@&lists-host;</email>) est l'anglais et les rapports
418 de bogue doivent être rédigés en anglais. En fait, sauf exception rare, tout
419 dialogue avec les autres responsables Debian se fera en anglais quel que soit le
426 Cette section liste les termes techniques qui ont un sens spécifique dans le
427 projet Debian. Pour chacune de ces expressions, vous trouverez la traduction
428 française utilisée dans ce manuel, une définition et une référence à la section
429 du manuel qui traite de ce sujet.
433 <item><em>Upload</em> : mise à jour, téléchargement (parfois
434 livraison). Opération qui consiste à télécharger un nouveau paquet ou
435 une nouvelle version de paquet dans l'archive Debian (<ref
438 <item><em>Non-maintainer upload (NMU)</em> : mise à jour
439 indépendante. Téléchargement d'une nouvelle version de paquet dans
440 l'archive Debian par une personne qui n'est pas officiellement
441 responsable de ce paquet (<ref id="nmu">).
443 <item><em>Source NMU</em> : mise à jour indépendante source. Il
444 s'agit d'une mise à jour indépendante pour un paquet source (<ref
447 <item><em>Binary NMU</em> : mise à jour indépendante binaire. Mise
448 à jour indépendante pour un paquet binaire (<ref id="nmu-terms">).
450 <item><em>Bug Tracking System (BTS)</em> : système de suivi des
451 bogues. Il s'agit du système utilisé par le projet Debian pour suivre
452 les bogues et leur correction (<ref id="bug-handling">).
454 <item><em>Bug submitter</em> : rapporteur du bogue. Personne qui
455 envoie un rapport de bogue au système de suivi des bogues (<ref
458 <item><em>Release critical bug</em> : bogue empêchant l'intégration
459 du paquet dans la distribution. Bogues de gravité <em>critique</em>,
460 <em>grave</em> et <em>sérieuse</em>. Ces bogues ne doivent pas
461 apparaître dans une distribution <em>stable</em>. Ils doivent être
462 corrigés ou bien les paquets en cause doivent être supprimés (<ref
465 <item><em>Package Tracking System (PTS)</em> : système de suivi des
466 paquets. Il s'agit du système utilisé par le projet Debian pour suivre
467 les paquets sources des différentes distributions (<ref
468 id="pkg-tracking-system">).
470 <item><em>Unstable</em> : nom de la distribution en cours
471 de développement. Cette distribution contient les paquets
472 envoyés par les développeurs. Ceux-ci n'étant que des êtres
473 humains, elle est parfois cassée (<ref id="sec-dists">).
475 <item><em>Testing</em> : nom de la distribution en test. Cette
476 distribution reçoit les paquets des développeurs qui ont passé une
477 période de deux semaines dans <em>unstable</em> et pour lesquels aucun
478 bogue remettant en cause la distribution (cf. <em>Release critical
479 bug</em>) n'a été découvert. Cette distribution n'a pas été testée en
480 profondeur. Elle est cependant censée être plus stable
481 qu'<em>unstable</em> (<ref id="sec-dists">).
483 <item><em>Stable</em> : nom de la distribution stable. Cette
484 distribution a été testée, validée et diffusée (<ref id="sec-dists">).
486 <item><em>Debian maintainer</em> : responsable Debian, développeur
487 Debian (parfois mainteneur). Personne qui fait officiellement partie du
488 projet Debian. Elle a accès aux serveurs Debian et participe au
489 développement — au sens large — de la distribution (<ref
490 id="developer-duties">). La plupart des responsables font de la mise en
491 paquet, mais il existe d'autres activités telles que la documentation,
492 la gestion du site web, la création des cédéroms, l'administration des
495 <item><em>Upstream version</em> : version amont. Il s'agit du
496 logiciel tel qu'il est fourni par le responsable amont — par
497 opposition à la version fournie par la distribution Debian. (Voir <ref
498 id="upstream-coordination">.)
500 <item><em>Upstream maintainer</em> : responsable amont ou
501 développeur amont. Personne responsable du développement ou de la
502 maintenance d'un logiciel. En général, le responsable amont n'a rien à
503 voir avec le projet Debian (<ref id="upstream-coordination">).
505 <item><em>Debian keyring</em> : porte-clés Debian. Le porte-clés
506 Debian contient les clés publiques de tous les responsables Debian (<ref
509 <item><em>Work-needing and prospective packages (WNPP)</em> :
510 paquets en souffrance et paquets souhaités. La liste des paquets en
511 souffrance indique les paquets qui n'ont plus de responsable. La liste
512 des paquets souhaités indique les logiciels que des utilisateurs
513 aimeraient bien voir dans la distribution (<ref id="upload">).
517 <chapt id="new-maintainer">
519 Devenir responsable Debian
521 <sect id="getting-started">
526 Vous avez lu toute la documentation, vous avez examiné le <url
527 id="&url-newmaint-guide;" name="guide du nouveau responsable">, vous
528 comprenez l'intérêt de tout ce qui se trouve dans le paquet d'exemple
529 <package>hello</package> et vous vous apprêtez à mettre en paquet votre
530 logiciel préféré. Comment devenir responsable Debian et intégrer votre
531 travail au projet ?
534 Si vous ne l'avez pas encore fait, commencez par vous inscrire à la
535 liste &email-debian-devel;. Pour cela, envoyez un courrier à l'adresse
536 &email-debian-devel-req; avec le mot <tt>subscribe</tt> dans la ligne
537 <em>Objet</em><footnote><p><em>Subject</em> en anglais</p></footnote>
538 de votre message. En cas de problème, contactez l'administrateur de la
539 liste &email-listmaster;. Vous trouverez plus d'informations dans la
540 section <ref id="mailing-lists">. &email-debian-devel-announce; est une
541 autre liste incontournable pour qui veut suivre les développements de
545 Vous suivrez les discussions de cette liste (sans poster) pendant
546 quelque temps avant de coder quoi que ce soit et vous informerez la
547 liste de votre intention de travailler sur quelque chose pour éviter de
548 dupliquer le travail d'un autre.
551 Une autre liste intéressante est &email-debian-mentors;. Voir la
552 section <ref id="mentors"> pour les détails. Le canal IRC
553 <tt>#debian</tt> pourra aussi être utile ; voir <ref
557 Quand vous avez choisi la manière dont vous contribuerez au projet
558 &debian-formal;, prenez contact avec les responsables Debian qui
559 travaillent sur des tâches similaires. Ainsi, vous pourrez apprendre
560 auprès de personnes expérimentées. Si, par exemple, vous voulez mettre
561 en paquet des logiciels existants, trouvez-vous un parrain. Un parrain
562 est une personne qui travaillera sur vos paquets avec vous et les
563 téléchargera dans l'archive Debian une fois qu'il sera satisfait de
564 votre mise en paquet. Pour trouver un parrain, envoyez une demande de
565 parrainage à la liste &email-debian-mentors; en vous présentant et en
566 décrivant votre paquet (voir <ref id="sponsoring"> et <url
567 id="&url-mentors;"> pour en savoir plus sur le sujet). Si vous préférez
568 porter Debian sur une architecture ou un noyau alternatif, abonnez-vous
569 aux listes dédiées au portage et demandez-y comment
570 démarrer. Finalement, si vous êtes intéressé par la documentation ou
571 l'assurance qualité (QA), vous pouvez contacter les responsables qui
572 travaillent déjà sur ces tâches et proposer des correctifs et des
576 Un écueil à éviter est d'avoir la partie locale de votre adresse
577 électronique trop générique : des termes comme mail, admin, root ou
578 master devraient être évitées. Veuillez consulter <url
579 id="http://www.debian.org/MailingLists/"> pour plus de détails.
584 Mentors et parrains Debian
587 La liste de diffusion &email-debian-mentors; a été mise en place pour
588 les responsables débutants recherchant de l'aide avec l'empaquetage
589 initial et d'autres problèmes de développeur. Chaque nouveau
590 développeur est invité à s'abonner à cette liste (voir <ref
591 id="mailing-lists"> pour les détails).
594 Ceux qui préfèrent recevoir une aide plus personnalisée (par exemple,
595 par courriels privés) devraient également envoyer des messages à cette
596 liste et un développeur expérimenté se proposera de les aider.
599 De plus, si vous avez des paquets prêts à être inclus dans Debian, mais
600 que vous attendez que votre demande pour devenir responsable soit
601 acceptée, vous pouvez trouver un parrain pour envoyer vos paquets pour
602 vous. Les parrains sont des développeurs Debian officiels qui sont
603 volontaires pour critiquer et envoyer vos paquets pour vous. Veuillez
604 lire en premier la FAQ non officielle de debian-mentors à <url
608 Si vous désirez être un mentor et/ou un parrain, vous pouvez trouver
609 plus d'informations à <ref id="newmaint">.
612 <sect id="registering">
614 S'enregistrer comme responsable Debian
617 Avant de décider de devenir responsable Debian, il vous faudra lire
618 toute la documentation disponible dans le <url id="&url-newmaint;"
619 name="coin du nouveau responsable">. Elle décrit en détail toutes les
620 étapes préparatoires qu'il vous faudra franchir avant de déposer votre
621 candidature. Par exemple, avant d'être candidat, il vous faudra lire le
622 <url id="&url-social-contract;" name="contrat social Debian">. Devenir
623 responsable Debian implique que vous adhériez à ce contrat social et
624 que vous vous engagiez à le soutenir ; il est très important que
625 les responsables soient en accord avec les principes fondamentaux qui
626 animent le projet &debian-formal;. Lire le <url
627 id="&url-gnu-manifesto;" name="Manifeste GNU"> est aussi une bonne
631 Le processus d'enregistrement a pour but de vérifier votre identité,
632 vos intentions et vos compétences. Le nombre de personnes travaillant
633 pour &debian-formal; a atteint &number-of-maintainers; et notre système
634 est utilisé dans plusieurs endroits très importants : nous devons
635 rester vigilants pour éviter un acte malveillant. C'est pourquoi nous
636 contrôlons les nouveaux responsables avant de leur donner un compte sur
637 nos serveurs et de les autoriser à ajouter des paquets dans l'archive.
640 Pour devenir responsable, il faudra montrer que vous pouvez faire du
641 bon travail et que vous serez un bon contributeur. Pour cela, vous
642 pourrez proposer des correctifs par le système de suivi des bogues
643 (BTS) et maintenir un paquet parrainé par un responsable Debian pendant
644 un temps. Nous attendons
645 aussi des contributeurs qu'ils soient intéressés par le projet dans son
646 ensemble et pas uniquement par leurs propres paquets. Si vous pouvez
647 aider d'autres responsables en fournissant des informations sur un
648 bogue ou même avec un correctif, faites-le !
651 Pour votre candidature, vous devrez être familiarisé avec la
652 philosophie du projet Debian et avec sa documentation technique. Il
653 vous faudra aussi une clé GnuPG signée par un responsable Debian. Si
654 votre clé GnuPG n'est pas encore signée, vous devriez essayer de
655 rencontrer un responsable Debian pour le faire. La <url
656 id="&url-gpg-coord;" name="page de coordination des signatures de clé
657 GnuPG"> devrait vous aider à trouver un responsable Debian près de chez
658 vous. (S'il n'y a pas de responsable près de chez vous, il peut y avoir
659 des moyens alternatifs pour valider votre identité en tant qu'exception
660 absolue étudiée au cas par cas. Veuillez vous reporter à la <url
661 id="&url-newmaint-id;" name="page d'identification"> pour en savoir
665 Si vous n'avez pas de clé OpenPGP, créez-la. Tout responsable a besoin
666 d'une clé OpenPGP pour signer et vérifier les mises à jour de
667 paquets. Vous lirez la documentation du logiciel de cryptographie que
668 vous utiliserez car elle contient des informations indispensables pour
669 la sécurité de votre clé. Les défaillances de sécurité sont bien plus
670 souvent dues à des erreurs humaines qu'à des problèmes logiciels ou à
671 des techniques d'espionnage avancées. Voir <ref id="key-maint"> pour
672 plus d'informations sur la gestion de votre clé publique.
675 Debian utilise <prgn>GNU Privacy Guard</prgn> (paquet
676 <package>gnupg</package> version 1 ou supérieure) comme standard de
677 base. Vous pouvez aussi utiliser une autre implémentation
678 d'OpenPGP. OpenPGP est un standard ouvert basé sur la <url
679 id="&url-rfc2440;" name="RFC 2440">.
682 Vous avez besoin d'une clé en version 4 à utiliser pour le
683 développement Debian. La longueur de votre clé doit être d'au moins
684 1024 ;bits ; il n'y a pas de raison d'utiliser une clé plus
685 petite et faire cela serait bien moins sûr. <footnote><p>Les clés en
686 version 4 sont des clés conformes au standard OpenPGP défini dans
687 la RFC 2440. La version 4 est le type de clé qui a toujours
688 été créé avec GnuPG. Les versions de PGP depuis la version 5
689 peuvent également créer des clés version 4, l'autre choix ayant
690 été des clés compatibles pgp 2.6.x (également appelées
691 « legacy RSA » par PGP).</p><p>Les clés (primaires) en
692 version 4 peuvent soit utiliser l'algorithme RSA, soit
693 l'algorithme DSA, cela n'a donc rien à voir avec la question de GnuPG à
694 propos de « quel type de clé voulez-vous : (1) DSA et
695 Elgamal, (2) DSA (signature seule), (5) RSA (signature seule). Si vous
696 n'avez pas des besoins spécifiques, choisissez simplement la valeur par
697 défaut ».</p><p>Le moyen le plus simple de dire si une clé
698 existante est une clé v4 ou une clé v3 (ou v2) est de regarder son
699 empreinte : les empreintes des clés en version 4 sont des
700 hachés SHA-1 d'une partie de la clé, il s'agit donc d'une suite de
701 40 chiffres hexadécimaux, habituellement groupés par blocs de
702 4. Les empreintes des anciennes versions de clé utilisaient MD5 et sont
703 généralement affichées par blocs de 2 chiffres hexadécimaux. Par
704 exemple, si votre empreinte ressemble à ceci :
705 <tt>5B00 C96D 5D54 AEE1 206B AF84 DE7A AF6E 94C0 9C7F</tt>,
706 alors il s'agit d'une clé v4.</p><p>Une autre possibilité est d'envoyer
707 la clé dans <prgn>pgpdump</prgn>, qui dira quelque chose comme
708 « Public Key Packet - Ver 4 ».</p><p>Notez également que
709 votre clé doit être auto-signée (c.-à-d. elle doit signer tous ses
710 propres identifiants d'utilisateur ; cela empêche la falsification
711 d'identité). Tous les logiciels OpenPGP modernes font cela
712 automatiquement, mais si vous avez une ancienne clé, il se peut que
713 vous deviez ajouter manuellement ces signatures.</p></footnote>
716 Si votre clé publique n'est pas sur un serveur public tel que
717 &pgp-keyserv;, reportez-vous à la documentation disponible à
718 <url id="&url-newmaint-id;" name="Étape 2 : Vérification d'identité">.
719 Cette documentation explique comment mettre votre
720 clé publique sur un serveur. L'équipe <em>New maintainer</em> mettra
721 votre clé publique sur les serveurs de clés si elle n'y est pas déjà.
724 Certains pays limitent l'usage des logiciels de cryptographie. Cela ne
725 devrait cependant pas avoir d'impact sur l'activité d'un responsable de
726 paquet car il peut être tout à fait légal d'utiliser des logiciels de
727 cryptographie pour l'authentification plutôt que pour le
728 chiffrement. Si vous vivez dans un pays où l'utilisation de la
729 cryptographie pour authentification est interdite, contactez-nous pour
730 que nous prenions des dispositions particulières.
733 Pour faire acte de candidature, il vous faut un responsable Debian qui
734 soutiendra votre candidature (un <em>avocat</em>). Après avoir contribué
735 au projet Debian pendant un temps, quand vous choisissez de devenir un
736 responsable Debian officiel, un responsable déjà enregistré avec qui
737 vous aurez travaillé dans les derniers mois devra exprimer que, d'après
738 lui, vous pouvez contribuer avec succès au projet Debian.
741 Quand vous avez trouvé un <em>avocat</em>, quand votre clé GnuPG est
742 signée et quand vous avez déjà contribué au projet, vous êtes prêt à
743 faire acte de candidature. Il vous suffit pour cela de vous enregistrer
744 sur notre <url id="&url-newmaint-apply;" name="page de
745 candidature">. Ensuite, votre avocat devra confirmer votre
746 candidature. Quand il aura accompli cette tâche, un responsable de
747 candidature<footnote><p>Application manager</p></footnote> sera désigné
748 pour vous accompagner dans le processus d'enregistrement. Vous pouvez
749 toujours consulter le <url id="&url-newmaint-db;" name="tableau de bord
750 des candidatures"> pour connaître l'état de votre candidature.
753 Pour en savoir plus, consultez le <url id="&url-newmaint;" name="coin
754 des nouveaux responsables"> sur le site Debian. Assurez-vous de bien
755 connaître les étapes nécessaires au processus d'enregistrement avant de
756 vous porter candidat. Vous gagnerez beaucoup de temps si vous êtes bien
761 <chapt id="developer-duties">
763 Les charges du responsable Debian
765 <sect id="user-maint">
767 Mise à jour de vos références Debian
770 Il existe une base de données LDAP contenant des informations
771 concernant les développeurs Debian à <url id="&url-debian-db;">. Vous
772 devriez y entrer vos informations et les mettre à jour quand elles
773 changent. Le plus important est de vous assurer que l'adresse vers
774 laquelle est redirigée votre adresse debian.org est toujours à jour, de
775 même que l'adresse à laquelle vous recevez votre abonnement à
776 debian-private si vous choisissez d'être abonné à cette liste.
779 Pour plus d'informations à propos de cette base de données, veuillez
780 consulter <ref id="devel-db">.
783 <sect id="key-maint">
785 Gérer votre clé publique
788 Soyez très vigilant en utilisant votre clé privée. Ne la placez pas sur
789 un serveur public ou sur des machines multi-utilisateurs telles que les
790 serveurs Debian (voir <ref id="server-machines">). Sauvegardez vos clés
791 et gardez-en une copie hors connexion. Lisez la documentation fournie
792 avec votre logiciel et la <url id="&url-pgp-faq;" name="FAQ PGP">.
795 Vous devez vous assurer que non seulement votre clé est à l'abri des
796 vols, mais également à l'abri d'une perte. Générez et faites une copie
797 (et également sur papier) de votre certificat de révocation ; il
798 est nécessaire si votre clé est perdue.
801 Si vous ajoutez des signatures ou des identifiants à votre clé
802 publique, vous pouvez mettre à jour le porte-clés Debian en envoyant
803 votre clé publique à <tt>&keyserver-host;</tt>.
806 Si vous voulez ajouter une nouvelle clé ou supprimer une ancienne clé,
807 vous devez faire signer la nouvelle clé par un autre développeur. Si
808 l'ancienne clé est compromise ou invalide, vous devez également ajouter
809 la certification de révocation. S'il n'y pas de vraie raison pour une
810 nouvelle clé, les responsables du trousseau de clés peuvent rejeter la
811 nouvelle clé. Vous pouvez trouver plus de détails à <url
812 id="http://keyring.debian.org/replacing_keys.html">.
815 Les mêmes routines d'extraction de clé décrites dans <ref
816 id="registering"> s'appliquent.
819 Vous pouvez trouver une présentation approfondie de la gestion de clé
820 Debian dans la documentation du paquet
821 <package>debian-keyring</package>.
829 Bien que Debian ne soit pas vraiment une démocratie, nous disposons
830 d'un processus démocratique pour élire nos chefs et pour approuver les
831 résolutions générales. Ces procédures sont définies par la <url
832 id="&url-constitution;" name="charte Debian">.
835 En dehors de l'élection annuelle du chef, les votes ne se tiennent pas
836 régulièrement et ils ne sont pas entrepris à la légère. Chaque
837 proposition est tout d'abord discutée sur la liste de diffusion
838 &email-debian-vote; et elle a besoin de plusieurs approbations avant
839 que le secrétaire du projet n'entame la procédure de vote.
842 Vous n'avez pas besoin de suivre les discussions précédant le vote car
843 le secrétaire enverra plusieurs appels au vote sur la liste
844 &email-debian-devel-announce; (et tous les développeurs devraient être
845 inscrits à cette liste). La démocratie ne fonctionne pas si les
846 personnes ne prennent pas part au vote, c'est pourquoi nous
847 encourageons tous les développeurs à voter. Le vote est conduit par
848 messages signés ou chiffrés par GPG.
851 La liste de toutes les propositions (passées et présentes) est
852 disponible à la page <url id="&url-vote;" name="Informations sur les
853 votes Debian">, ainsi que des informations complémentaires sur la
854 procédure à suivre pour effectuer une proposition, la soutenir et voter
858 <sect id="inform-vacation">
860 Prendre des vacances courtoisement
863 Il est courant pour les développeurs de s'absenter, que ce soit pour
864 des vacances prévues ou parce qu'ils sont submergés de travail. La
865 chose importante à noter est que les autres développeurs ont besoin de
866 savoir que vous êtes en vacances pour qu'ils puissent agir en
867 conséquence si un problème se produit pendant vos vacances.
870 Habituellement, cela veut dire que les autres développeurs peuvent
871 faire des NMU (voir <ref id="nmu">) sur votre paquet si un gros
872 problème (bogue empêchant l'intégration dans la distribution, mise à
873 jour de sécurité, etc.) se produit pendant que vous êtes en
874 vacances. Parfois, ce n'est pas très important, mais il est de toute
875 façon approprié d'indiquer aux autres que vous n'êtes pas disponible.
878 Il y a deux choses à faire pour informer les autres
879 développeurs. Premièrement, envoyez un courrier électronique à
880 &email-debian-private; en commençant le sujet de votre message par
881 « [VAC] »<footnote><p>Ainsi, le message peut être facilement
882 filtré par les personnes qui ne veulent pas lire ces annonces de
883 vacances.</p></footnote> et donnez la période de vos vacances. Vous
884 pouvez également donner quelques instructions pour indiquer comment
885 agir si un problème survenait.
888 L'autre chose à faire est de vous signaler comme « en
889 vacances »<footnote><p><em>on vacation</em> en
890 anglais</p></footnote> dans la <qref id="devel-db">base de données
891 Debian LDAP</qref> (l'accès à cette information est réservé aux
892 développeurs). N'oubliez pas de retirer votre indicateur « en
893 vacances » lorsque celles-ci sont terminées !
896 Idéalement, vous devriez vous connecter sur le <url
897 id="http://nm.debian.org/gpg.php" name="site de coordination GPG">
898 quand vous réservez pour des vacances et vérifier si quelqu'un
899 recherche un échange de signatures. Cela est particulièrement important
900 quand des personnes vont à des endroits exotiques où nous n'avons pas
901 encore de développeurs, mais où il y a des personnes intéressées pour
902 poser leur candidature.
905 <sect id="upstream-coordination">
907 Coordination avec les développeurs amont
910 Une grande part de votre travail de responsable Debian sera de rester
911 en contact avec les développeurs amont. Parfois, les utilisateurs
912 établissent des rapports de bogue qui ne sont pas spécifiques à
913 Debian. Vous devez transmettre ces rapports de bogue aux développeurs
914 amont pour qu'ils soient corrigés dans les prochaines versions.
917 Bien qu'il ne soit pas de votre responsabilité de corriger les bogues
918 non spécifiques à Debian, vous pouvez le faire si vous en êtes
919 capable. Quand vous faites de telles corrections, assurez-vous de les
920 envoyer également au développeur amont. Les utilisateurs et
921 responsables Debian proposent souvent des correctifs pour corriger des
922 bogues amont, il vous faudra alors évaluer ce correctif puis le
923 transmettre aux développeurs amont.
926 Si vous avez besoin de modifier les sources d'un logiciel pour
927 fabriquer un paquet conforme à la charte Debian, alors vous devriez
928 proposer un correctif aux développeurs amont pour qu'il soit inclus
929 dans leur version. Ainsi, vous n'aurez plus besoin de modifier les
930 sources lors des mises à jour amont suivantes. Quels que soient les
931 changements dont vous avez besoin, il faut toujours essayer de rester
932 dans la lignée des sources amont.
937 Comment gérer les bogues empêchant l'intégration du paquet dans la
941 Habituellement, vous devriez traiter les rapports de bogue sur vos
942 paquets tel que cela est décrit dans <ref
943 id="bug-handling">. Cependant, il y a une catégorie spéciale de bogues
944 qui nécessite particulièrement votre attention : les bogues
945 empêchant l'intégration du paquet dans la
946 distribution<footnote><p>Traduction de l'anglais <em>Release-critical
947 bug (RC Bugs)</em></p></footnote>. Tous les rapports de bogue de
948 gravité <em>critique</em>, <em>grave</em> et
949 <em>sérieuse</em><footnote><p>Respectivement <em>critical</em>,
950 <em>grave</em> et <em>serious</em> en anglais</p></footnote> sont
951 considérés comme ayant un impact sur la présence du paquet dans la
952 prochaine version stable de Debian. Ces bogues peuvent retarder la
953 publication d'une distribution Debian ou peuvent justifier la suppression
954 d'un paquet d'une distribution gelée. C'est pourquoi ces bogues doivent
955 être corrigés au plus vite.
958 Les développeurs faisant partie de l'équipe d'<url id="&url-debian-qa;"
959 name="assurance qualité Debian"> surveillent ces bogues et essaient de
960 vous aider chaque fois qu'ils le peuvent. Si vous ne pouvez pas
961 corriger un bogue de ce type dans les deux semaines, vous devriez soit
962 demander de l'aide en envoyant un courrier à l'équipe d'assurance
963 qualité (<em>QA group</em>) à &email-debian-qa;, soit expliquer vos
964 difficultés et présenter un plan pour corriger le problème en répondant
965 au rapport de bogue concerné. Si rien n'est fait, des personnes de
966 l'équipe d'assurance qualité pourraient chercher à corriger votre
967 paquet (voir <ref id="nmu">) après avoir tenté de vous contacter (ils
968 pourraient attendre moins longtemps que d'habitude pour faire leur mise
969 à jour s'il n'y a pas trace d'activité récente de votre part dans le
970 système de suivi des bogues).
978 Si vous choisissez de quitter le projet Debian, procédez comme
980 <enumlist numeration="arabic">
983 abandonnez tous vos paquets comme décrit dans <ref
984 id="orphaning"> ;
989 envoyez un courrier électronique signé par GnuPG à
990 &email-debian-private; indiquant pourquoi vous quittez le
996 signalez aux responsables du porte-clés Debian que vous quittez le
997 projet en écrivant à &email-debian-keyring;.
1004 <chapt id="resources">
1006 Ressources pour le responsable Debian
1009 Dans ce chapitre, vous trouverez une brève description des listes de
1010 diffusion, des machines Debian qui seront à votre disposition en tant
1011 que responsable Debian ainsi que toutes les autres ressources à votre
1012 disposition pour vous aider dans votre travail de responsable.
1014 <sect id="mailing-lists">
1016 Les listes de diffusion
1019 Une grande partie des discussions entre les développeurs Debian (et les
1020 utilisateurs) est gérée par un vaste éventail de listes de diffusion
1021 que nous hébergeons à <tt><url id="http://&lists-host;/"
1022 name="&lists-host;"></tt>. Pour en savoir plus sur comment s'abonner ou
1023 se désabonner, comment envoyer un message et comment ne pas en envoyer,
1024 comment retrouver d'anciens messages et comment les rechercher, comment
1025 contacter les responsables des listes et pour savoir d'autres
1026 informations sur les listes de diffusion, veuillez lire <url
1027 id="&url-debian-lists;">. Cette section ne couvrira que les aspects des
1028 listes de diffusion qui ont un intérêt particulier pour les
1031 <sect1 id="mailing-lists-rules">
1033 Règles de base d'utilisation
1036 Lorsque vous répondez sur une liste de diffusion, veuillez ne pas
1037 envoyer de copie (<tt>CC</tt>) à l'auteur d'origine sauf s'il le
1038 demande explicitement. Toute personne envoyant un message à une liste
1039 de diffusion devrait la suivre pour voir les réponses.
1042 Le multi-postage (cross-posting) (envoyer le même message à plusieurs
1043 listes) est découragé. Comme toujours sur le net, veuillez réduire la
1044 citation des articles auxquels vous répondez. En général, veuillez
1045 adhérez aux conventions usuelles d'envoi de messages.
1048 Veuillez lire le <url id="&url-debian-lists;#codeofconduct" name="code
1049 de conduite"> pour plus d'informations.
1052 <sect1 id="core-devel-mailing-lists">
1054 Principales listes pour les responsables
1057 Les principales listes de diffusion de Debian que les développeurs
1058 devraient suivre sont :
1062 &email-debian-devel-announce;, utilisée pour les annonces
1063 importantes faites aux responsables. Tous les responsables Debian
1064 sont censés être inscrits à cette liste,
1069 &email-debian-devel;, utilisée pour discuter de diverses questions
1070 techniques relatives au développement,
1075 &email-debian-policy; où l'on discute et vote les modifications de
1081 &email-debian-project;, utilisée pour discuter de questions non
1088 Il existe d'autres listes de diffusion spécialisées dans différents
1089 thèmes. Reportez-vous à la page <url id="http://&lists-host;/"> pour
1090 en obtenir la liste complète.
1093 <sect1 id="mailing-lists-special">
1098 &email-debian-private; est une liste de diffusion destinée aux
1099 discussions privées entre développeurs Debian. Elle doit être utilisée
1100 pour tout message qui ne doit pas être publié, quelle qu'en soit la
1101 raison. C'est une liste à faible trafic et les utilisateurs sont priés
1102 de ne l'utiliser qu'en cas de réelle nécessité. De plus, il ne faut
1103 <em>jamais</em> faire suivre un courrier de cette liste à qui que ce
1104 soit. Pour des raisons évidentes, les archives de cette liste ne sont
1105 pas disponibles sur la toile. Vous pouvez les consulter en visitant le
1106 répertoire <file>~debian/archive/debian-private</file> avec votre
1107 compte sur <tt>lists.debian.org</tt>.
1110 &email-debian-email; est une liste de diffusion fourre-tout. Elle est
1111 utilisée pour les correspondances relatives à Debian qu'il serait
1112 utile d'archiver, telles que des échanges avec les auteurs amont à
1113 propos de licences, de bogues ou encore des discussions sur le projet
1114 avec d'autres personnes.
1117 <sect1 id="mailing-lists-new">
1119 Demander une nouvelle liste relative au développement
1122 Avant de demander une liste de diffusion liée au développement d'un
1123 paquet (ou d'un petit groupe de paquets liés), veuillez considérer si
1124 l'utilisation d'un alias (via un fichier .forward-aliasname sur
1125 master.debian.org, ce qui se traduit en une adresse raisonnablement
1126 agréable <var>you-aliasname@debian.org</var>) ou une liste de
1127 diffusion auto-gérée sur <qref id="alioth">Alioth</qref> serait plus
1131 Si vous décidez qu'une liste de diffusion standard sur
1132 lists.debian.org est vraiment ce que vous voulez, lancez-vous et
1133 faites une demande en suivant <url id="&url-debian-lists-new;"
1138 <sect id="irc-channels">
1143 Plusieurs canaux IRC sont dédiés au développement Debian. Ils sont
1144 principalement hébergés sur le réseau <url id="&url-oftc;"
1145 name="Open and free technology community (OFTC)">. L'entrée DNS
1146 <tt>irc.debian.org</tt> est simplement un alias vers
1147 <tt>irc.oftc.net</tt>.
1150 Le principal canal pour Debian est <em>#debian</em>. Il s'agit d'un
1151 canal important, généraliste, où les utilisateurs peuvent trouver des
1152 nouvelles récentes dans le sujet et qui est administré par des
1153 robots. <em>#debian</em> est destiné aux anglophones ; il existe
1154 également <em>#debian.de</em>, <em>#debian-fr</em>, <em>#debian-br</em>
1155 et d'autres canaux avec des noms semblables pour les personnes parlant
1159 Le canal principal pour le développement Debian est
1160 <em>#debian-devel</em>. C'est un canal très actif avec habituellement
1161 plus de 150 personnes connectées en permanence. C'est un canal pour les
1162 personnes qui travaillent sur Debian, ce n'est pas un canal d'aide (il
1163 existe <em>#debian</em> pour cela). Il est cependant ouvert à tous ceux
1164 qui veulent écouter (et apprendre). Le sujet est toujours rempli
1165 d'informations intéressantes.
1168 Comme <em>#debian-devel</em> est un canal ouvert, vous ne devriez pas y
1169 parler de problèmes discutés sur &email-debian-private;. Il existe un
1170 canal protégé par clé <em>#debian-private</em> dans ce but. La clé est
1171 disponible dans les archives de debian-private à
1172 <file>master.debian.org:&file-debian-private-archive;</file>, effectuez
1173 simplement un <prgn>zgrep</prgn> avec <em>#debian-private</em> dans
1177 Il existe d'autres canaux dédiés à des sujets
1178 spécifiques. <em>#debian-bugs</em> est utilisé pour la coordination des
1179 <em>chasses aux bogues</em>. <em>#debian-boot</em> est utilisé pour la
1180 coordination du travail sur l'installateur Debian. <em>#debian-doc</em>
1181 est utilisé occasionnellement pour travailler sur la documentation
1182 comme celle que vous lisez actuellement. D'autres canaux sont dédiés à
1183 une architecture ou un ensemble de paquets : <em>#debian-bsd</em>,
1184 <em>#debian-kde</em>, <em>#debian-jr</em>, <em>#debian-edu</em>,
1185 <em>#debian-sf</em> (paquet SourceForge), <em>#debian-oo</em> (paquet
1189 Certains canaux pour développeurs non anglophones existent, par
1190 exemple, <em>#debian-devel-fr</em> pour les francophones intéressés
1191 dans le développement de Debian.
1194 Il existe également des canaux dédiés pour Debian sur d'autres réseaux
1195 IRC, notamment sur le réseau IRC <url id="&url-openprojects;"
1196 name="Freenode">, sur lequel pointait l'alias <tt>irc.debian.org</tt>
1197 jusqu'au 4 juin 2006.
1200 Pour obtenir un uniforme (« cloak ») sur freenode, vous devez
1201 envoyer un courriel signé à Jörg Jaspert <joerg@debian.org>
1202 dans lequel vous indiquez quel est votre pseudonyme
1203 (« nick »). Mettez « cloak » quelque part dans le
1204 sujet. Votre pseudonyme devra être enregistré : <url
1205 id="http://freenode.net/faq.shtml#nicksetup" name="Page de
1206 configuration des pseudonymes">. Le courriel doit être signé par une
1207 clé du porte-clés Debian. Veuillez consulter la <url
1208 id="http://freenode.net/faq.shtml#projectcloak" name="documentation de
1209 Freenode"> pour plus d'informations sur les uniformes.
1212 <sect id="doc-rsrcs">
1217 Ce document contient beaucoup d'informations très utiles aux
1218 développeurs Debian, mais il ne peut pas tout contenir. La plupart des
1219 autres documents intéressants sont référencés dans le <url
1220 id="&url-devel-docs;" name="coin du développeur Debian">. Prenez le
1221 temps de parcourir tous les liens, vous apprendrez encore beaucoup de
1225 <sect id="server-machines">
1230 Debian possède plusieurs ordinateurs employés comme serveurs, dont la
1231 plupart hébergent les fonctions critiques du projet Debian. La plupart
1232 des machines sont utilisées pour des activités de portage et elles ont
1233 toutes un accès permanent à Internet.
1236 La plupart des machines peuvent être utilisées par les développeurs
1237 tant qu'ils respectent les règles définies dans la <url id="&url-dmup;"
1238 name="charte d'utilisation des machines Debian">.
1241 Dans l'ensemble, vous pouvez faire usage de ces machines pour des buts
1242 relatifs à Debian comme vous l'entendez. Veuillez cependant être gentil
1243 avec les administrateurs système et ne pas utiliser de grandes
1244 quantités d'espace disque, de ressource réseau ou CPU sans obtenir
1245 auparavant l'accord des administrateurs. Habituellement, ces machines
1246 sont administrées par des volontaires.
1249 Veuillez prendre soin de votre mot de passe Debian ainsi que des clés
1250 SSH installées sur les machines Debian. Évitez les méthodes de
1251 connexion ou d'envoi de données qui envoient les mots de passe en clair
1252 par l'Internet comme telnet, FTP, POP, etc.
1255 Veuillez ne pas déposer de données non relatives à Debian sur les
1256 serveurs Debian à moins que vous n'ayez préalablement obtenu la
1257 permission de le faire.
1260 La liste actuelle des machines Debian est disponible à <url
1261 id="&url-devel-machines;">. Cette page web contient les noms des
1262 machines, les informations de contact, les informations sur qui peut
1263 s'y connecter, les clés SSH, etc.
1266 Si vous avez un problème en utilisant un serveur Debian et si vous
1267 estimez que les administrateurs système devraient en être avertis,
1268 l'équipe des administrateurs système peut être jointe à
1269 <email>debian-admin@lists.debian.org</email>.
1272 Si votre problème est lié à un certain service ou n'est pas lié au
1273 système (paquet à supprimer de l'archive ou suggestion pour le site web
1274 par exemple), il vous faudra en général ouvrir un rapport de bogue sur
1275 un « pseudo-paquet ». Reportez-vous à la section <ref
1276 id="submit-bug"> pour connaître la procédure à suivre.
1279 Certains des serveurs de base sont à accès restreint, mais les
1280 informations de ceux-ci sont fournies par d'autres serveurs miroirs.
1282 <sect1 id="servers-bugs">
1284 Le serveur pour les rapports de bogues
1287 <tt>&bugs-host;</tt> est le serveur maître du système de suivi des
1288 bogues (BTS<footnote><p>Système de suivi des bogues se dit <em>Bug
1289 Tracking System</em> en anglais</p></footnote>).
1292 Ce serveur est à accès restreint ; un miroir est disponible sur
1296 Si vous envisagez de manipuler les rapports de bogue ou d'en faire une
1297 analyse statistique, ce sera le bon endroit pour le faire. Informez la
1298 liste &email-debian-devel; de votre intention avant d'implémenter quoi
1299 que ce soit afin d'éviter un travail en double ou un gaspillage de
1303 <sect1 id="servers-ftp-master">
1305 Le serveur ftp-master
1308 Le serveur <tt>ftp-master.debian.org</tt> est le serveur maître de
1309 l'archive Debian (exception faite des paquets non-US). En général, les
1310 mises à jour de paquets se font sur ce serveur. Reportez-vous à la
1311 section <ref id="upload"> pour en savoir plus.
1314 Ce serveur est à accès restreint ; un miroir est disponible sur
1318 Les problèmes avec l'archive Debian FTP doivent généralement être
1319 rapportés comme bogues sur le pseudo-paquet
1320 <package>ftp.debian.org</package> ou par courrier électronique à
1321 &email-ftpmaster; ; reportez-vous à la section <ref
1322 id="archive-manip"> pour connaître la procédure à suivre.
1325 <sect1 id="servers-non-us">
1330 Le serveur non-US <tt>non-us.debian.org</tt> a été interrompu avec la
1331 publication de <em>Sarge</em>. Le pseudo-paquet
1332 <package>nonus.debian.org</package> existe encore pour le moment.
1335 <sect1 id="servers-www">
1337 Le serveur www-master
1340 Le serveur web principal est <tt>www-master.debian.org</tt>. Il
1341 héberge les pages web officielles, la façade de Debian pour la plupart
1345 Si vous rencontrez un problème avec un serveur web Debian, vous devez
1346 généralement envoyer un rapport de bogue sur le pseudo-paquet
1347 <package>www.debian.org</package>. Vérifiez d'abord sur le <url
1348 id="http://&bugs-host;/www.debian.org" name="système de suivi des
1349 bogues"> que personne ne l'a déjà rapporté avant vous.
1352 <sect1 id="servers-people">
1354 Le serveur web people
1357 <tt>people.debian.org</tt> est le serveur utilisé par les développeurs
1358 pour leurs pages concernant Debian.
1361 Si vous avez des informations spécifiques Debian que vous voulez
1362 rendre disponibles sur le web, vous pouvez le faire en les plaçant
1363 dans le répertoire <file>public_html</file> de votre répertoire
1364 personnel sur <tt>people.debian.org</tt>. Elles seront accessibles à
1366 <tt>http://people.debian.org/~<var>votre-user-id</var>/</tt>.
1369 Vous ne devriez utiliser que cet emplacement particulier car il sera
1370 sauvegardé alors que sur les autres serveurs, ce ne sera pas le cas.
1373 Habituellement, la seule raison pour utiliser un serveur différent est
1374 que vous avez besoin de publier des informations soumises aux
1375 restrictions d'exportation américaines, dans ce cas, vous pouvez
1376 utiliser l'un des autres serveurs situés en dehors des États-Unis.
1379 Veuillez envoyer un courrier à &email-debian-devel; si vous avez une
1383 <sect1 id="servers-cvs">
1388 Notre serveur CVS est situé sur <tt>cvs.debian.org</tt>.
1391 Si vous avez besoin d'un serveur CVS accessible par tous pour, par
1392 exemple, coordonner le travail de plusieurs développeurs sur un
1393 paquet, vous pouvez demander un espace CVS sur ce serveur.
1396 Le serveur <tt>cvs.debian.org</tt> autorise les accès CVS locaux, les
1397 accès en lecture seule pour les connexions client-serveur anonymes et
1398 les accès client-serveur complets pour les connexions
1399 <prgn>ssh</prgn>. L'espace CVS peut aussi être consulté par la toile à
1400 l'adresse <url id="&url-cvsweb;">.
1403 Pour obtenir un espace CVS, envoyez une demande à l'adresse
1404 &email-debian-admin; en précisant le nom de l'espace, le compte Debian
1405 propriétaire du répertoire racine et pourquoi vous en avez besoin.
1408 <sect1 id="dchroot">
1410 Chroots de différentes distributions
1413 Sur certaines machines, des chroots de différentes distributions sont
1414 disponibles. Vous pouvez les utiliser comme ceci :
1416 vore% dchroot unstable
1417 Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable
1419 Dans tous les chroots, les répertoires normaux des utilisateurs sont
1420 disponibles. Vous pouvez trouver quels chroots sont disponibles à
1421 <tt>&url-devel-machines;</tt>.
1425 <sect id="devel-db">
1427 La base de données des développeurs
1430 La base de données des développeurs à <url id="&url-debian-db;"> est un
1431 annuaire LDAP de gestion des informations des développeurs Debian. Vous
1432 pouvez utiliser cette ressource pour rechercher la liste des
1433 développeurs Debian. Une partie de ces informations est également
1434 disponible à travers le service <prgn>finger</prgn> sur les serveurs
1435 Debian, essayez <prgn>finger yourlogin@debian.org</prgn> pour voir ce
1439 Les développeurs peuvent <url id="&url-debian-db-login;" name="se
1440 connecter à la base de données"> pour modifier différentes informations
1441 les concernant, comme :
1445 l'adresse de suivi pour leur adresse debian.org,
1450 l'abonnement à debian-private,
1455 l'état en vacances ou non,
1460 des informations personnelles comme les adresse, pays, latitude et
1461 longitude de l'endroit où ils vivent pour utilisation dans la <url
1462 id="http://www.debian.org/devel/developers.loc" name="carte mondiale
1463 des développeurs Debian">, numéros de téléphone et de fax, surnom
1469 le mot de passe et le shell préféré sur les machines du projet
1476 La plupart des informations ne sont naturellement pas accessibles
1477 publiquement. Pour plus d'informations, veuillez lire la documentation
1478 en ligne que vous pouvez trouver à <url id="&url-debian-db-doc;">.
1481 Les développeurs peuvent également envoyer leurs clés SSH pour qu'elles
1482 soient utilisées pour autorisation sur les machines Debian officielles
1483 et même ajouter de nouvelles entrées DNS du type *.debian.net. Ces
1484 fonctionnalités sont documentées à <url id="&url-debian-db-mail-gw;">.
1492 La distribution &debian-formal; est composée d'un grand nombre de
1493 paquets (fichiers <tt>.deb</tt> : actuellement, à peu près
1494 &number-of-pkgs;) et de quelques autres fichiers (comme la
1495 documentation et des images des disquettes d'installation).
1498 Voici un exemple d'arborescence pour une archive Debian complète :
1501 &sample-dist-dirtree;
1505 Comme vous pouvez le voir, le répertoire racine contient deux
1506 répertoires, <file>dists/</file> et <file>pool/</file>. Le second est
1507 un ensemble de répertoires où sont stockés les paquets. Ceux-ci sont
1508 manipulés grâce à la base de données de l'archive et aux logiciels qui
1509 l'accompagnent. Le premier répertoire contient les distributions
1510 <em>stable</em>, <em>testing</em> et <em>unstable</em>. Les fichiers
1511 <file>Packages</file> et <file>Sources</file> qui se trouvent dans les
1512 répertoires de distribution peuvent faire référence à des fichiers du
1513 répertoire <file>pool/</file>. Le découpage en sous-répertoires est
1514 identique d'un répertoire de distribution à l'autre . Ce que nous
1515 exposerons ci-dessous pour la distribution <em>stable</em> est
1516 également applicable aux distributions <em>unstable</em> et
1520 Le répertoire <file>dists/stable</file> contient trois répertoires
1521 nommés <file>main</file>, <file>contrib</file> et
1522 <file>non-free</file>.
1525 Dans chacune de ces sections, se trouve un répertoire contenant les
1526 paquets sources (<file>source/</file>) et un répertoire pour chaque
1527 architecture acceptée (<file>binary-i386/</file>,
1528 <file>binary-m68k/</file>, etc.).
1531 La section <em>main</em> contient d'autres répertoires destinés aux
1532 images de disquettes et à plusieurs documents essentiels pour installer
1533 la distribution Debian sur une architecture particulière
1534 (<file>disk-i386/</file>, <file>disk-m68k/</file>, etc.).
1536 <sect1 id="archive-sections">
1541 La section <em>main</em> constitue la <strong>distribution
1542 &debian-formal; officielle</strong>. Elle est officielle parce qu'elle
1543 est entièrement conforme à toutes nos recommandations. Les deux autres
1544 sections divergent de ces recommandations à différents degrés, elles
1545 <strong>ne</strong> font donc <strong>pas</strong> officiellement
1546 partie de &debian-formal;.
1549 Chaque paquet de la section <em>main</em> doit être conforme aux <url
1550 id="&url-dfsg;" name="directives Debian pour le logiciel
1551 libre"><footnote><p>Debian Free Software Guidelines</p></footnote> et
1552 à toutes les autres recommandations décrites dans <url
1553 id="&url-debian-policy;" name="la charte Debian"><footnote><p>Debian
1554 Policy Manual</p></footnote>. Les DFSG<footnote><p><em>Debian Free
1555 Software Guidelines</em></p></footnote> constituent notre définition
1556 de « logiciel libre ». Reportez-vous à la <em>charte
1557 Debian</em> pour en savoir plus.
1560 Les paquets de la section <em>contrib</em> doivent être conformes aux
1561 DFSG, mais ne respectent pas d'autres contraintes. Ils peuvent, par
1562 exemple, dépendre de paquets de la section <em>non-free</em>.
1565 Les paquets qui ne sont pas conformes aux DFSG sont rangés dans la
1566 section <em>non-free</em>. Bien que nous supportions l'usage de ces
1567 paquets et qu'ils bénéficient de nos infrastructures (système de suivi
1568 des bogues, listes de diffusion, etc.), ces paquets <em>non-free</em>
1569 ne font pas partie de la distribution Debian.
1572 La <em>charte Debian</em> donne des définitions plus précises pour ces
1573 trois sections. Les paragraphes précédents ne constituent qu'une
1577 La séparation de l'archive en trois sections est importante pour toute
1578 personne qui désire distribuer Debian, que ce soit par serveur FTP ou
1579 sur cédérom. Il suffit de distribuer les sections <em>main</em> et
1580 <em>contrib</em> pour éviter tout problème légal. Certains paquets de
1581 la section <em>non-free</em> interdisent leur distribution à titre
1582 commercial par exemple.
1585 D'un autre côté, un distributeur de cédérom pourra facilement vérifier
1586 la licence de chacun des paquets de la section <em>non-free</em> et
1587 inclure tous les paquets qu'il lui sera autorisé (dans la mesure où
1588 cela varie énormément d'un distributeur à l'autre, ce travail ne peut
1589 être fait par les développeurs Debian).
1592 Notez que le terme « section » est également utilisé pour
1593 faire référence aux catégories qui simplifient l'organisation des
1594 paquets disponibles et leur recherche, e.g. <em>admin</em>,
1595 <em>net</em>, <em>utils</em> etc. Il fut un temps où ces sections
1596 (sous-sections, plutôt) existaient sous la forme de sous-répertoires
1597 dans l'archive Debian. Actuellement, elles n'existent plus que dans le
1598 champ en-tête « Section » des paquets.
1606 À ses débuts, le noyau Linux existait uniquement pour les
1607 architectures Intel x86 ; il en était de même pour Debian. Linux
1608 devenant de plus en plus populaire, il a été porté vers d'autres
1612 Le noyau 2.0 existe pour les architectures Intel x86, DEC Alpha,
1613 SPARC, Motorola, 680x0 (Atari, Amiga, et Macintosh), MIPS et
1614 PowerPC. Le noyau 2.2 reconnaît de nouvelles architectures, comme ARM
1615 et UltraSPARC. Puisque Linux reconnaît ces architectures, le projet
1616 Debian a décidé qu'il devait également les accepter. C'est pourquoi
1617 plusieurs portages sont en cours ; en fait, il y a aussi des
1618 portages vers d'autres noyaux non-Linux. À côté d'<em>i386</em> (notre
1619 nom pour Intel x86), nous avons, au moment où j'écris, <em>m68k</em>,
1620 <em>alpha</em>, <em>powerpc</em>, <em>sparc</em>, <em>hurd-i386</em>,
1621 <em>arm</em>, <em>ia64</em>, <em>hppa</em>, <em>s390</em>,
1622 <em>mips</em>, <em>mipsel</em> et <em>sh</em>.
1625 &debian-formal; 1.3 est disponible uniquement pour
1626 <em>i386</em>. Debian 2.0 reconnaît les architectures <em>i386</em> et
1627 <em>m68k</em>. Debian 2.1 reconnaît les architectures <em>i386</em>,
1628 <em>m68k</em>, <em>alpha</em> et <em>sparc</em>. Debian 2.2 accepte en
1629 plus les architectures <em>powerpc</em> et <em>arm</em>. Debian 3.0 a
1630 ajouté cinq nouvelles architectures : <em>ia64</em>,
1631 <em>hppa</em>, <em>s390</em>, <em>mips</em> et <em>mipsel</em>.
1634 Pour chaque portage, vous trouverez des informations destinées aux
1635 développeurs et utilisateurs sur la page <url id="&url-debian-ports;"
1636 name="Portage Debian">.
1644 Il existe deux types de paquets Debian : les paquets sources et
1645 les paquets binaires.
1648 Les paquets sources sont constitués de deux ou trois fichiers :
1649 un fichier <file>.dsc</file> et soit un fichier <file>.tar.gz</file>,
1650 soit un fichier <file>.orig.tar.gz</file> et un fichier
1651 <file>.diff.gz</file>.
1654 Si un paquet est développé spécifiquement pour le projet Debian et
1655 n'est pas distribué en dehors de Debian, il n'y a qu'un fichier
1656 <file>.tar.gz</file> qui contient les sources du programme. Si un
1657 paquet est distribué ailleurs, le fichier <file>.orig.tar.gz</file>
1658 contient ce que l'on appelle <em>code source amont</em>, c'est-à-dire,
1659 le code source distribué par le <em>responsable amont</em> (il s'agit
1660 souvent de l'auteur du logiciel). Dans ce cas, le fichier
1661 <file>.diff.gz</file> contient les modifications faites par le
1665 Le fichier <file>.dsc</file> liste tous les fichiers sources avec
1666 leurs sommes de contrôle (<prgn>md5sums</prgn>) et quelques
1667 informations supplémentaires concernant le paquet (responsable,
1676 L'organisation des répertoires présentée précédemment est elle-même
1677 englobée par les <em>répertoires des distributions</em>. Chaque
1678 distribution est incluse dans le répertoire <file>pool</file> à la
1679 racine de l'archive Debian.
1682 Pour résumer, une archive Debian a un répertoire racine sur un serveur
1683 FTP. Par exemple, sur le site miroir
1684 <ftpsite>ftp.us.debian.org</ftpsite>, l'archive Debian se trouve dans
1685 <ftppath>/debian</ftppath> ce qui est un emplacement courant. Un autre
1686 emplacement courant est <file>/pub/debian</file>.
1689 Une distribution est composée de paquets sources et binaires et des
1690 fichiers <file>Sources</file> et <file>Packages</file> correspondants
1691 qui contiennent toutes les méta-informations sur les paquets. Les
1692 premiers sont conservés dans le répertoire <file>pool/</file> tandis
1693 que les seconds sont conservés dans le répertoire <file>dists/</file>
1694 de l'archive (pour compatibilité descendante).
1696 <sect2 id="sec-dists">
1698 <em>Stable</em>, <em>testing</em> et <em>unstable</em>
1701 Il y a toujours une distribution appelée <em>stable</em> (dans le
1702 répertoire <file>dists/stable</file>), une distribution appelée
1703 <em>testing</em> (dans le répertoire <file>dists/testing</file>) et
1704 une distribution appelée <em>unstable</em> (dans le répertoire
1705 <file>dists/unstable</file>). Ceci reflète le processus de
1706 développement du projet Debian.
1709 Les développements se font sur la distribution
1710 <em>unstable</em><footnote><p><em>unstable</em> signifie
1711 « instable »</p></footnote> (c'est pourquoi elle est aussi
1712 appelée <em>distribution de développement</em>). Chaque développeur
1713 Debian peut modifier ses paquets à tout moment dans cette
1714 distribution. Ainsi son contenu change tous les jours. Comme aucun
1715 effort particulier n'est fait pour s'assurer que tout fonctionne
1716 correctement dans cette distribution, elle est parfois littéralement
1717 « instable ».
1720 La distribution <qref id="testing">« testing »</qref> est
1721 générée automatiquement en prenant les paquets d'<em>unstable</em>
1722 s'ils satisfont à certains critères. Ces critères garantissent que
1723 les paquets de <em>testing</em> sont de bonne qualité. La mise à jour
1724 de <em>testing</em> est lancée chaque jour après que les nouveaux
1725 paquets ont été installés. Voir <ref id="testing">.
1728 Après une période de développement, quand le responsable de
1729 distribution<footnote><p><em>Release manager</em></p></footnote> le
1730 juge opportun, la distribution <em>testing</em> est gelée, ce qui
1731 signifie que les conditions à remplir pour qu'un paquet passe
1732 d'<em>unstable</em> à <em>testing</em> sont durcies. Les paquets trop
1733 bogués sont supprimés et les seules mises à jours autorisées
1734 concernent les corrections de bogues. Après quelque temps, selon
1735 l'avancement, la distribution <em>testing</em> est gelée encore
1736 plus. Les détails de la gestion de la distribution <em>testing</em>
1737 sont publiées par l'équipe de publication sur la liste
1738 debian-devel-announce. Après la résolution des problèmes restants à
1739 la satisfaction de l'équipe de publication, la distribution est
1740 publiée. La publication veut dire que <em>testing</em> est renommée
1741 en <em>stable</em>, une nouvelle copie est créée pour la nouvelle
1742 <em>testing</em> et l'ancienne <em>stable</em> est renommée en
1743 <em>oldstable</em> et y reste jusqu'à ce qu'elle soit finalement
1744 archivée. Lors de l'archivage, son contenu est déplacé sur
1745 <tt>&archive-host;</tt>.
1748 Ce cycle de développement est basé sur l'idée que la distribution
1749 <em>unstable</em> devient <em>stable</em> après une période de test
1750 (<em>testing</em>). Une distribution contient inévitablement des
1751 bogues, même si elle est classée stable. C'est pourquoi les
1752 distributions stables sont mises à jour de temps en temps. Les
1753 corrections introduites sont testées avec une grande attention et
1754 sont ajoutées une à une à l'archive pour diminuer les risques
1755 d'introduire de nouveaux bogues. Vous pouvez trouver des paquets
1756 proposés pour les mises à jour de <em>stable</em> dans le répertoire
1757 <file>proposed-updates</file>. De temps en temps, les paquets de ce
1758 répertoire qui ne présentent pas de problème sont installés dans la
1759 distribution <em>stable</em> et le numéro de révision de cette
1760 distribution est incrémenté (« 3.0 » devient
1761 « 3.0r1 », « 2.2r4 » devient « 2.2r5 »
1762 et ainsi de suite). Veuillez vous référer aux <qref
1763 id="upload-stable">envois dans la distribution <em>stable</em></qref>
1764 pour plus de détails.
1767 Notez que, pendant la période de gel, les développements continuent
1768 sur la distribution <em>unstable</em> car cette distribution reste en
1774 Informations complémentaires sur la distribution
1775 « testing »
1778 Les paquets sont habituellement installés dans la distribution
1779 <em>testing</em> après avoir atteint un certain degré de test dans
1783 Pour plus de détails, veuillez consulter les <qref
1784 id="testing">informations à propos de la distribution
1785 <em>testing</em></qref>.
1788 <sect2 id="experimental">
1793 La distribution <em>experimental</em> est une distribution
1794 particulière. Ce n'est pas une distribution à part entière comme le
1795 sont <em>stable</em> et <em>unstable</em>. Elle est prévue pour
1796 servir de plate-forme de développement pour les projets expérimentaux
1797 qui risquent vraiment de détruire le système ou bien pour des
1798 logiciels qui sont vraiment trop instables pour être inclus dans la
1799 distribution <em>unstable</em> (mais pour lesquels une mise en paquet
1800 est justifiée). Les utilisateurs qui téléchargent et installent des
1801 paquets depuis <em>experimental</em> sont prévenus : on ne peut
1802 pas faire confiance à la distribution <em>experimental</em>.
1805 Voici les lignes de <manref section="5" name="sources.list"> pour
1806 <em>experimental</em> :
1808 deb http://ftp.<var>xy</var>.debian.org/debian/ experimental main
1809 deb-src http://ftp.<var>xy</var>.debian.org/debian/ experimental main
1813 Si un logiciel peut causer des dégâts importants, il sera sûrement
1814 préférable de le mettre dans la distribution
1815 <em>experimental</em>. Un système de fichiers compacté expérimental,
1816 par exemple, devrait probablement aller dans <em>experimental</em>.
1819 Une nouvelle version amont qui ajoute de nouvelles fonctions tout en
1820 supprimant de nombreuses autres ne devra pas être téléchargée dans
1821 l'archive Debian, elle pourra cependant être téléchargée dans
1822 <em>experimental</em>. Une nouvelle version non finalisée d'un
1823 logiciel qui utilise une méthode de configuration complètement
1824 différente pourrait aller dans <em>experimental</em> au gré du
1825 responsable. Si vous travaillez sur un cas de mise à jour complexe ou
1826 incompatible, vous pouvez aussi utiliser <em>experimental</em> comme
1827 plate-forme d'intégration et ainsi fournir un accès aux testeurs.
1830 Quelques logiciels expérimentaux peuvent cependant aller dans
1831 <em>unstable</em>, avec un avertissement dans la description, mais ce
1832 n'est pas recommandé car les paquets d'<em>unstable</em> se propagent
1833 dans <em>testing</em> et aboutissent dans <em>stable</em>. Vous ne
1834 devriez pas avoir peur d'utiliser <em>experimental</em> car ceci ne
1835 cause aucun souci aux ftpmasters, les paquets expérimentaux sont
1836 automatiquement enlevés quand vous envoyez le paquet dans
1837 <em>unstable</em> avec un numéro de version supérieur.
1840 Un nouveau logiciel qui ne risque pas d'endommager le système ira
1841 directement dans <em>unstable</em>.
1844 Une solution de rechange à <em>experimental</em> consiste à utiliser
1845 vos pages personnelles sur le serveur <tt>people.debian.org</tt>.
1848 Veuillez considérer l'utilisation de l'option <tt>-v</tt> de
1849 <prgn>dpkg-buildpackage</prgn> si l'envoi d'un paquet dans
1850 <em>unstable</em> ferme finalement des bogues qui ont d'abord été
1851 corrigés dans <em>experimental</em>. Lors de l'envoi vers
1852 <em>unstable</em> d'un paquet contenant des bogues corrigés dans
1853 <em>experimental</em>, veuillez considérer l'utilisation de l'option
1854 <tt>-v</tt> de <prgn>dpkg-buildpackage</prgn> pour qu'ils soient
1859 <sect1 id="codenames">
1861 Les noms de distribution
1864 Chaque distribution Debian diffusée a un <em>nom de code</em> :
1865 Debian 1.1 s'appelle « Buzz » ; Debian 1.2,
1866 « Rex » ; Debian 1.3, « Bo » ;
1867 Debian 2.0, « Hamm » ; Debian 2.1,
1868 « Slink »; Debian 2.2, « Potato » ;
1869 Debian 3.0, « Woody » ; Debian 3.1,
1870 « Sarge » ; Debian 4.0,
1871 « Etch ». Il y a aussi une pseudo-distribution nommée
1872 « Sid », il s'agit de la distribution
1873 <em>unstable</em> ; comme les paquets vont d'<em>unstable</em> à
1874 <em>testing</em> quand ils approchent de la stabilité, la distribution
1875 « Sid » n'est jamais diffusée. En plus du contenu habituel
1876 d'une distribution Debian, « Sid » contient des paquets pour
1877 des architectures qui ne sont pas encore officiellement prises en
1878 charge ou pour lesquelles la distribution n'a pas encore été
1879 publiée. Ces architectures seront intégrées ultérieurement à la
1880 distribution principale.
1883 Comme Debian est un projet de développement ouvert (i.e. tout le monde
1884 peut participer et suivre les développements), même les distributions
1885 <em>unstable</em> et <em>testing</em> sont disponibles sur les
1886 serveurs HTTP et FTP de Debian. Si nous avions nommé le répertoire qui
1887 contient la prochaine distribution à diffuser « testing »,
1888 il aurait fallu changer son nom en « stable » au moment de
1889 la publication, ce qui aurait forcé les miroirs FTP à télécharger à
1890 nouveau la distribution complète (qui est plutôt volumineuse).
1893 D'un autre côté, si une distribution s'appelait <em>Debian-x.y</em>
1894 dès le départ, des personnes pourraient s'imaginer que la distribution
1895 Debian <em>x.y</em> est disponible. (Cela s'est produit par le passé,
1896 un distributeur avait gravé des cédéroms Debian 1.0 en utilisant une
1897 version de développement pré-1.0. C'est pour cette raison que la
1898 première version officielle était la version 1.1 et non la 1.0).
1901 En conséquence, les noms de répertoire des distributions dans
1902 l'archive sont déterminés par leur nom de code et non par leur statut
1903 (exemple : slink). Ces noms sont identiques pendant la période de
1904 développement et une fois la distribution diffusée ; des liens
1905 symboliques, qui peuvent être modifiés facilement, indiquent la
1906 distribution stable actuelle. Tout ceci explique pourquoi les
1907 répertoires des distributions sont nommés à partir des noms de code
1908 des distributions alors que <em>stable</em>, <em>testing</em> et
1909 <em>unstable</em> sont des liens symboliques qui pointent vers les
1910 répertoires appropriés.
1919 Les différentes archives de téléchargement et le site web disposent de
1920 plusieurs miroirs pour soulager les serveurs principaux d'une lourde
1921 charge. En fait, certains de ces serveurs ne sont pas
1922 publics — la charge est répartie sur une première série de
1923 serveurs. De cette façon, les utilisateurs ont toujours accès aux
1924 miroirs et s'y habituent, ce qui permet à Debian de mieux répartir les
1925 besoins en bande passante sur plusieurs serveurs et plusieurs réseaux
1926 différents et évite aux utilisateurs de surcharger l'emplacement
1927 primaire. Notez que, dans cette première série, les serveurs sont aussi
1928 à jour que possible car la mise à jour est déclenchée par les sites
1932 Toutes les informations sur les miroirs Debian peuvent être trouvées à
1933 <url id="&url-debian-mirrors;">, y compris une liste des miroirs
1934 publics disponibles FTP/HTTP. Cette page utile inclut également des
1935 informations et des outils pour créer son propre miroir, soit en
1936 interne soit pour un accès public.
1939 Les miroirs sont en général mis en œuvre par des tiers qui
1940 veulent aider Debian. C'est pourquoi les développeurs n'ont en général
1941 pas de compte sur ces machines.
1944 <sect id="incoming-system">
1949 Le système Incoming est responsable de la collecte des paquets mis à
1950 jour et de leur installation dans l'archive Debian. Il est constitué
1951 d'un ensemble de répertoires et de scripts qui sont installés sur
1952 <tt>&ftp-master-host;</tt>.
1955 Les paquets sont envoyés par tous les responsables Debian dans un
1956 répertoire nommé <file>UploadQueue</file>. Ce répertoire est parcouru
1957 toutes les quelques minutes par un démon appelé <prgn>queued</prgn>,
1958 les fichiers <file>*.command</file> sont exécutés et les fichiers
1959 <file>*.changes</file> restants et correctement signés sont déplacés
1960 avec leurs fichiers correspondants dans le répertoire
1961 <file>unchecked</file>. Ce répertoire n'est pas visible de la plupart
1962 des développeurs car ftp-master est à accès restreint ; il est
1963 parcouru toutes les 15 minutes par le script <prgn>katie</prgn> qui
1964 vérifie l'intégrité des paquets envoyés et leurs signatures de
1965 chiffrage. Si le paquet est considéré comme prêt à être installé, il
1966 est déplacé dans le répertoire <file>accepted</file>. S'il s'agit du
1967 premier envoi du paquet (ou s'il a de nouveaux paquets binaire), il est
1968 déplacé dans le répertoire <file>new</file> où il attend l'approbation
1969 des ftpmasters. Si le paquet contient des fichiers devant être
1970 installés <em>à la main</em>, il est déplacé dans le répertoire
1971 <file>byhand</file> où il attend une installation manuelle par les
1972 ftpmasters. Sinon, si une erreur a été détectée, le paquet est refusé
1973 et il est déplacé dans le répertoire <file>reject</file>.
1976 Une fois que le paquet est accepté, le système envoie une confirmation
1977 par courrier au responsable et ferme les bogues corrigés par l'envoi,
1978 puis les compilateurs automatiques peuvent commencer la
1979 recompilation. Le paquet est maintenant accessible publiquement à <url
1980 id="&url-incoming;"> jusqu'à ce qu'il soit vraiment installé dans
1981 l'archive Debian. Cela se produit seulement une fois par jour (et c'est
1982 également appelé une « exécution dinstall » pour des raisons
1983 historiques) ; le paquet est alors supprimé de
1984 <file>Incoming</file> et installé dans le pool avec les autres
1985 paquets. Une fois que toutes les autres mises à jour (fabrication des
1986 nouveaux fichiers d'index <file>Packages</file> et <file>Sources</file>
1987 par exemple) ont été effectuées, un script spécial est appelé pour
1988 demander aux miroirs primaires de se mettre à jour.
1991 Le logiciel de maintenance de l'archive enverra également le fichier
1992 <file>.changes</file> signé avec OpenPGP/GnuPG que vous avez envoyé, à
1993 la liste de diffusion appropriée. Si un paquet est diffusé avec le
1994 champ <tt>Distribution:</tt> positionné à « stable »,
1995 l'annonce sera envoyée à &email-debian-changes;. Si un paquet est
1996 diffusé avec le champ <tt>Distribution:</tt> positionné à
1997 « unstable » ou « experimental », l'annonce sera à
1998 la place envoyée à &email-debian-devel-changes;.
2001 Bien que ftp-master soit à accès restreint, une copie de l'installation
2002 est disponible à tous les développeurs sur
2003 <tt>&ftp-master-mirror;</tt>.
2006 <sect id="pkg-info">
2008 Informations sur un paquet
2012 <sect1 id="pkg-info-web">
2017 Chaque paquet a plusieurs pages web
2018 dédiées. <tt>http://&packages-host;/<var>nom-paquet</var></tt> affiche
2019 chaque version du paquet disponible dans les différentes
2020 distributions. Les informations détaillées par version incluent la
2021 description du paquet, les dépendances et des liens pour télécharger
2025 Le système de suivi des bogues trie les bogues par paquet. Vous pouvez
2026 regarder les bogues de chaque paquet à
2027 <tt>http://&bugs-host;/<var>nom-paquet</var></tt>.
2030 <sect1 id="madison">
2032 L'outil <prgn>madison</prgn>
2035 <prgn>madison</prgn> est un outil en ligne de commande qui est
2036 disponible sur <tt>&ftp-master-host;</tt> et sur le miroir
2037 <tt>&ftp-master-mirror;</tt>. Il utilise un seul paramètre qui
2038 correspond au nom du paquet. Il affiche comme résultat quelle version
2039 du paquet est disponible pour chaque combinaison d'architecture et de
2040 distribution. Un exemple l'expliquera mieux.
2044 $ madison libdbd-mysql-perl
2045 libdbd-mysql-perl | 1.2202-4 | stable | source, alpha, arm, i386, m68k, powerpc, sparc
2046 libdbd-mysql-perl | 1.2216-2 | testing | source, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc
2047 libdbd-mysql-perl | 1.2216-2.0.1| testing | alpha
2048 libdbd-mysql-perl | 1.2219-1 | unstable | source, alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc
2052 Dans cet exemple, vous pouvez voir que la version dans
2053 <em>unstable</em> diffère de celle de <em>testing</em> et qu'il y a eu
2054 une NMU binaire seulement pour l'architecture alpha. Chaque version du
2055 paquet a été recompilée sur la plupart des architectures.
2059 <sect id="pkg-tracking-system">
2061 Système de suivi des paquets
2064 Le système de suivi des paquets (PTS)<footnote><p>« Package
2065 Tracking System »</p></footnote> est un outil pour suivre par
2066 courrier l'activité concernant un paquet source. Cela veut vraiment
2067 dire que vous pourrez recevoir les mêmes courriers que le responsable,
2068 simplement en vous inscrivant au paquet dans le PTS.
2071 Chaque courrier envoyé par le PTS est classé sous l'un des mots-clés
2072 listés ci-dessous. Ceci vous permettra de sélectionner les courriers
2073 que vous voulez recevoir.
2076 Par défaut, vous recevrez :
2083 Tous les rapports de bogue et les discussions qui suivent.
2087 <tt>bts-control</tt>
2091 Les courriers de notification de
2092 <email>control@bugs.debian.org</email> sur les changement d'état de
2093 l'un des rapports de bogue.
2097 <tt>upload-source</tt>
2101 Le courrier de notification de <prgn>katie</prgn> quand un paquet
2102 source envoyé a été accepté.
2106 <tt>katie-other</tt>
2110 Les autres courriers d'avertissement et d'erreur de
2111 <prgn>katie</prgn> (comme une incohérence de passage en force pour
2112 les champs section ou priorité).
2120 Tout courrier non automatique envoyé au PTS par les personnes qui
2121 veulent contacter les inscrits au paquet. Ceci peut être fait en
2122 envoyant un courrier à
2123 <tt><var>paquet-source</var>@&pts-host;</tt>. Pour prévenir l'envoi
2124 de pourriels, tous les courriers envoyés à ces adresses doivent
2125 contenir l'en-tête <tt>X-PTS-Approved</tt> avec une valeur non vide.
2133 Des courriers de résumé réguliers sur l'état du paquet. Actuellement,
2134 seule la progression du paquet dans <em>testing</em> est envoyée.
2140 Vous pouvez également décider de recevoir des informations
2141 supplémentaires :
2144 <tt>upload-binary</tt>
2148 Le courrier d'information de <prgn>katie</prgn> quand un paquet
2149 binaire envoyé est accepté. En d'autres termes, à chaque fois qu'un
2150 démon de compilation ou un porteur envoie votre paquet pour une
2151 autre architecture, vous recevez un courrier pour suivre comment
2152 votre paquet est recompilé pour toutes les architectures.
2160 Les notifications de modifications CVS<footnote><p><em>CVS
2161 commits</em></p></footnote> si le responsable a mis en place un
2162 système pour faire suivre les notifications de modifications vers le
2171 Les traductions des descriptions ou des questionnaires debconf
2172 soumis au Projet de traduction des descriptions de paquets
2173 Debian<footnote><p><em>Debian Description Translation Project,
2174 DDTP</em></p></footnote>.
2178 <tt>derivatives</tt>
2182 Des informations sur les changements effectués sur le paquet dans les
2183 distributions dérivées (par exemple, Ubuntu).
2188 <sect1 id="pts-commands">
2190 L'interface de courrier du PTS
2193 Vous pouvez contrôler votre (vos) inscription(s) au PTS en envoyant
2194 différentes commandes à <email>pts@qa.debian.org</email>.
2197 <tt>subscribe <paquet source> [<adresse>]</tt>
2201 Inscrit <var>adresse</var> aux communications liées au paquet
2202 source <var>paquet source</var>. L'adresse de l'expéditeur est
2203 utilisée si le second paramètre n'est pas présent. Si <var>paquet
2204 source</var> n'est pas un paquet source valide, vous obtiendrez un
2205 avertissement. Cependant, s'il s'agit d'un paquet binaire valide,
2206 le PTS vous inscrira pour le paquet source correspondant.
2210 <tt>unsubscribe <paquet source> [<adresse>]</tt>
2214 Supprime une inscription précédente au paquet source <var>paquet
2215 source</var> en utilisant l'adresse spécifiée ou l'adresse de
2216 l'expéditeur si le second paramètre n'est pas rempli.
2220 <tt>unsubscribeall [<adresse>]</tt>
2224 Supprime toutes les inscriptions précédentes de l'adresse spécifiée
2225 ou de l'adresse de l'expéditeur si le second paramètre n'est pas
2230 <tt>which [<adresse>]</tt>
2234 Liste les inscriptions pour l'expéditeur ou pour l'adresse indiquée
2235 si elle est spécifiée.
2239 <tt>keyword [<adresse>]</tt>
2243 Donne les mots-clés que vous acceptez. Pour une explication des ces
2244 mots-clés, <qref id="pkg-tracking-system">voir
2245 ci-dessus</qref>. Voici un rapide résumé :
2249 <tt>bts</tt> : courriers venant du système de gestion de
2255 <tt>bts-control</tt> : réponses aux courriers envoyés à
2256 &bugs-host;&email-bts-control;
2261 <tt>summary</tt> : courriers de résumé automatique sur
2267 <tt>cvs</tt> : notifications de modifications CVS
2272 <tt>ddtp</tt> : traductions des descriptions et
2273 questionnaires debconf
2278 <tt>derivatives</tt> : changements effectués sur le paquet
2279 dans des distributions dérivées
2284 <tt>upload-source</tt> : annonce d'un nouvel envoi de
2285 paquet source qui a été accepté
2290 <tt>upload-binary</tt> : annonce d'un nouvel envoi de
2291 binaire seulement (portage)
2296 <tt>katie-other</tt> : autres courriers des ftpmasters
2297 (incohérence de passage en force, etc.)
2302 <tt>default</tt> : tous les autres courriers (ceux qui ne
2303 sont pas automatiques)
2310 <tt>keyword <paquet source> [<adresse>]</tt>
2314 Identique à l'élément précédent, mais pour un paquet source donné
2315 car vous pouvez sélectionner un ensemble de mots-clés différent
2316 pour chaque paquet source.
2320 <tt>keyword [<adresse>] {+|-|=} <liste de
2325 Accepte (+) ou refuse (-) les courriers classés sous le(s)
2326 mot(s)-clé(s). Définit la liste (=) des mots-clés acceptés. Ceci
2327 change l'ensemble par défaut des mots-clés acceptés par un
2332 <tt>keywordall [<adresse>] {+|-|=} <liste de
2337 Accepte (+) ou refuse (-) les courriers classés sous le(s)
2338 mot(s)-clé(s). Définit la liste (=) des mots-clés acceptés. Ceci
2339 change les mots-clés de toutes les inscriptions actuellement en cours
2344 <tt>keyword <paquet source> [<adresse>] {+|-|=}
2345 <liste de mots-clés></tt>
2349 Identique à l'élément précédent, mais remplace la liste des
2350 mots-clés pour le paquet source indiqué.
2354 <tt>quit | thanks | --</tt>
2358 Arrête le traitement des commandes. Toutes les lignes suivantes
2359 sont ignorées par le robot.
2365 L'utilitaire en ligne de commande <prgn>pts-subscribe</prgn> (du paquet
2366 <package>devscripts</package>) peut être pratique pour s'inscrire
2367 temporairement à certains paquets, par exemple après avoir fait une mise
2368 à jour indépendante (NMU).
2372 <sect1 id="pts-mail-filtering">
2374 Filtrer les courriers du PTS
2377 Une fois que vous vous êtes inscrit à un paquet, vous recevrez les
2378 courriers envoyés à <tt><var>paquet
2379 source</var>@packages.qa.debian.org</tt>. Ces courriers ont des
2380 en-têtes spéciaux ajoutés pour vous permettre de les filtrer dans des
2381 boîtes aux lettres (par exemple, avec <prgn>procmail</prgn>). Les
2382 en-têtes ajoutés sont <tt>X-Loop</tt>, <tt>X-PTS-Package</tt>,
2383 <tt>X-PTS-Keyword</tt> et <tt>X-Unsubscribe</tt>.
2386 Voici un exemple d'en-têtes ajoutés pour une notification d'envoi de
2387 source sur le paquet <package>dpkg</package> :
2389 X-Loop: dpkg@&pts-host;
2391 X-PTS-Keyword: upload-source
2392 X-Unsubscribe: echo 'unsubscribe dpkg' | mail pts@qa.debian.org
2396 <sect1 id="pts-cvs-commit">
2398 Faire suivre les modifications de CVS vers le PTS
2401 Si vous utilisez un référentiel CVS accessible publiquement pour
2402 maintenir votre paquet Debian, vous pouvez vouloir faire suivre les
2403 notifications de modifications vers le PTS pour que les inscrits
2404 (ainsi que des possibles co-responsables) puissent suivre de près
2405 l'évolution du paquet.
2408 Une fois que votre référentiel génère des notifications de
2409 modifications, vous devez simplement vous assurer qu'il envoie une
2410 copie de tous ces courriers à <tt><var>paquet
2411 source</var>_cvs@&pts-host;</tt>. Seules les personnes qui ont accepté
2412 le mot-clé <em>cvs</em> recevront les notifications.
2415 <sect1 id="pts-web">
2417 L'interface web du PTS
2420 Le PTS possède une interface web à <url id="http://&pts-host;/"> qui
2421 réunit beaucoup d'informations au même endroit à propos de chaque
2422 paquet source. Il propose plusieurs liens utiles (BTS, statistiques
2423 QA, informations de contact, état de traduction DDTP, journaux de
2424 compilation automatique) et il regroupe beaucoup d'autres informations
2425 provenant de différents endroits (les 30 dernières entrées de
2426 changelog, l'état dans <em>testing</em>, etc.). Il s'agit d'un outil
2427 très pratique si vous désirez connaître ce qu'il en est d'un paquet
2428 source spécifique. De plus, il y a un formulaire qui permet de
2429 facilement s'inscrire au PTS par courrier.
2432 Vous pouvez aller directement à la page web concernant un paquet
2433 source avec une URL comme <tt>http://&pts-host;/<var>paquet
2437 Cette interface a été conçue comme un portail pour le développements
2438 des paquets : vous pouvez ajouter du contenu personnalisé aux
2439 pages de vos paquets. Vous pouvez ajouter des « informations
2440 statiques »<footnote><p><em>Static
2441 information</em></p></footnote> (des annonces qui sont destinées à
2442 rester disponibles indéfiniment) et des nouvelles dans la section
2443 « dernières nouvelles »<footnote><p><em>Latest
2444 news</em></p></footnote>.
2447 Les annonces statiques peuvent être utilisées pour indiquer :
2451 la disponibilité d'un projet hébergé sur <qref
2452 id="alioth">Alioth</qref> pour la co-maintenance du paquet,
2457 un lien vers le site web amont,
2462 un lien vers le suivi de bogues amont,
2467 l'existence d'un canal IRC dédié au logiciel,
2472 toute autre ressource disponible qui peut être utile à la
2473 maintenance du paquet.
2477 Les nouvelles usuelles peuvent être utilisées pour annoncer que :
2481 des paquets bêta sont disponibles pour test,
2486 des paquets finaux sont attendus pour la semaine prochaine,
2491 l'empaquetage est sur le point d'être intégralement refait,
2496 des rétroportages sont disponibles,
2501 le responsable est en vacance (s'il désire publier cette
2507 une mise à jour indépendante (NMU) est en cours de réalisation,
2512 quelque chose d'important va affecter le paquet.
2518 Les deux types d'informations sont fabriqués de façon similaire :
2519 il vous suffit d'envoyer un courrier soit à
2520 <email>pts-static-news@qa.debian.org</email> (pour les annonces
2521 statiques), soit à <email>pts-news@qa.debian.org</email> (pour les
2522 nouvelles usuelles). Le courrier devrait indiquer quel paquet est
2523 concerné par la nouvelle en donnant le nom du paquet source dans un
2524 en-tête de courrier <tt>X-PTS-Package</tt> ou dans un pseudo-en-tête
2525 <tt>Package</tt> (comme pour les rapports de bogue du BTS). Si une URL
2526 est disponible dans l'en-tête de courrier <tt>X-PTS-Url</tt> ou dans
2527 un pseudo-en-tête <tt>Url</tt>, le résultat est un lien vers cette URL
2528 au lieu d'une nouvelle complète.
2531 Voici quelques exemples de courriers valides utilisés pour générer des
2532 nouvelles dans le PTS. Le premier ajoute un lien vers l'interface
2533 cvsweb de debian-cd dans la section « Informations
2534 statiques » :
2536 From: Raphael Hertzog <hertzog@debian.org>
2537 To: pts-static-news@qa.debian.org
2538 Subject: Browse debian-cd CVS repository with cvsweb
2541 Url: http://cvs.debian.org/debian-cd/
2545 Le second est une annonce envoyée à une liste de diffusion et
2546 également envoyée au PTS pour qu'elle soit publiée sur la page web du
2547 PTS du paquet. Notez l'utilisation du champ BCC pour éviter que des
2548 réponses ne soient envoyées par erreur au PTS.
2550 From: Raphael Hertzog <hertzog@debian.org>
2551 To: debian-gtk-gnome@lists.debian.org
2552 Bcc: pts-news@qa.debian.org
2553 Subject: Galeon 2.0 backported for woody
2554 X-PTS-Package: galeon
2558 I'm glad to announce that galeon has been backported for woody. You'll find
2564 Réfléchissez-y à deux fois avant d'ajouter une nouvelle au PTS car
2565 vous ne pourrez pas l'enlever par la suite et vous ne pourrez pas non
2566 plus l'éditer. La seule chose que vous puissiez faire est d'envoyer
2567 une deuxième nouvelle qui va déprécier l'information contenue dans la
2574 Vue d'ensemble des paquets d'un développeur
2577 Un portail web pour l'Assurance Qualité (QA) est disponible à <url
2578 id="&url-ddpo;"> qui affiche un tableau de tous les paquets d'un
2579 développeur (y compris ceux pour lequel il est co-responsable). Le
2580 tableau donne un bon résumé sur les paquets d'un développeur :
2581 nombre de bogues par gravité, liste des versions disponibles, état des
2582 tests et des liens vers d'autres informations utiles.
2585 C'est une bonne idée de vérifier régulièrement vos données pour ne pas
2586 oublier de bogues ouverts et pour ne pas oublier quels paquets sont
2587 sous votre responsabilité.
2592 Debian *Forge : Alioth
2595 Alioth est un service de Debian plutôt récent, basé sur une version
2596 légèrement modifiée du logiciel GForge (qui a évolué à partir de
2597 SourceForge). Ce logiciel offre aux développeurs l'accès à des outils
2598 faciles d'utilisation comme un gestionnaire de suivi de bogues, un
2599 gestionnaire de correctifs, un gestionnaire de tâches et de projets, un
2600 service d'hébergement de fichiers, des listes de diffusion, des dépôts
2601 CVS, etc. Tous ces outils sont gérés par une interface web.
2604 Alioth est destiné à fournir des facilités pour des projets de
2605 logiciels soutenus ou dirigés par Debian, à faciliter les contributions
2606 de développeurs externes aux projets initiés par Debian et à aider des
2607 projets dont les buts sont de promouvoir Debian ou ses dérivés.
2610 Tous les développeurs Debian ont automatiquement un compte sur
2611 Alioth. Ils peuvent l'activer en utilisant la fonctionnalité de
2612 récupération des mots de passe. Les développeurs externes peuvent
2613 demander un compte invité sur Alioth.
2616 Pour plus d'informations, veuillez visiter <url id="&url-alioth;">.
2619 <sect id="developer-misc">
2621 « Goodies » pour les développeurs
2630 Depuis octobre 2002, HP parraine l'abonnement à LWN pour tous les
2631 développeurs Debian intéressés. Les détails sur les moyens d'accéder à
2632 cet avantage sont expliqués dans <url
2633 id="http://lists.debian.org/debian-devel-announce/2002/10/msg00018.html">.
2643 Ce chapitre contient des informations relatives à la création, l'envoi,
2644 la maintenance et le portage des paquets.
2646 <sect id="newpackage">
2651 Si vous voulez créer un nouveau paquet pour la distribution Debian,
2652 vous devriez commencer par consulter la liste des <url id="&url-wnpp;"
2653 name="paquets en souffrance et paquets souhaités">. Vous pourrez ainsi
2654 vérifier que personne ne travaille déjà sur ce paquet et éviter un
2655 double travail. Consultez aussi cette page si vous voulez en savoir
2659 Supposons que personne ne travaille sur le paquet que vous visez, vous
2660 devez alors envoyer un rapport de bogue (voir <ref id="submit-bug">)
2661 concernant le pseudo-paquet <package>wnpp</package>. Ce courrier devra
2662 décrire le paquet que vous projetez de créer, la licence de ce paquet
2663 et l'URL à laquelle le source peut être téléchargé. Cette liste n'est
2667 Le sujet de votre rapport de bogue devra être
2668 <ITP<footnote><p><em>Intent To Package</em> : intention
2669 d'empaquetage</p></footnote> : <var>NomDuPaquet</var> —
2670 <var>courte description</var>>, en remplaçant <var>NomDuPaquet</var>
2671 par le nom du paquet. La gravité du bogue sera <em>wishlist</em>. Si
2672 vous le jugez nécessaire, envoyez une copie à &email-debian-devel; en
2673 mettant cette adresse dans le champ <tt>X-Debbugs-CC:</tt> de l'en-tête
2674 du message. N'utilisez pas le champ <tt>CC:</tt> car de cette manière
2675 le sujet du message ne contiendrait pas le numéro du bogue.
2678 Il faudra aussi ajouter une entrée <tt>Closes:
2679 bug#<var>nnnnn</var></tt> dans le fichier <file>changelog</file> du
2680 nouveau paquet. Cette indication fermera automatiquement le rapport de
2681 bogue à l'installation du nouveau paquet sur les serveurs d'archivage
2682 (voir <ref id="upload-bugfix">).
2685 Lors de la fermeture de bogues de sécurité, incluez les numéros CVS ainsi
2686 que « Closes: #nnnnn ». Ceci est utile l'équipe de sécurité
2687 pour suivre les failles de sécurité. Si un envoi est effectué pour
2688 corriger le bogue avant que l'identifiant de l'alerte soit connu, il est
2689 conseillé de modifier l'entrée de changelog historique lors du prochain
2690 envoi. Même dans ce cas, veuillez inclure tous les pointeurs disponibles
2691 vers les informations de contexte dans l'entrée de changelog d'origine.
2694 Plusieurs raisons nous poussent à demander aux responsables d'annoncer
2695 leur intention :
2696 <list compact="compact">
2699 Les responsables ont ainsi la possibilité de puiser dans
2700 l'expérience des autres responsables et cela leur permet de savoir
2701 si une autre personne travaille déjà dessus.
2706 D'autres personnes qui envisagent de travailler sur le même paquet
2707 apprendront ainsi qu'il existe déjà un volontaire, l'effort peut
2713 Cela permet aux autres responsables de connaître le nouveau paquet
2714 mieux que ne le permettent la description d'une ligne et
2715 l'habituelle entrée de type changelog <em>Initial release</em>
2716 postée sur <tt>debian-devel-changes</tt>.
2721 C'est une information utile pour les gens qui utilisent la
2722 distribution <em>unstable</em> et qui sont nos premiers
2723 testeurs. Nous devons leur faciliter la tâche.
2728 Avec ces annonces, les développeurs Debian et toutes les autres
2729 personnes intéressées peuvent se faire une meilleure idée des
2730 évolutions et des nouveautés du projet.
2736 Veuillez consulter <url
2737 id="http://ftp-master.debian.org/REJECT-FAQ.html"> pour les raisons
2738 courantes de rejet des nouveaux paquets.
2741 <sect id="changelog-entries">
2743 Enregistrer les modifications dans le paquet
2746 Les modifications que vous apportez au paquet doivent être notifiées
2747 dans le fichier <file>debian/changelog</file>. Ces notes doivent donner
2748 une description concise des changements, expliquer les raisons de
2749 ceux-ci (si ce n'est pas clair) et indiquer si des rapports de bogue
2750 ont été clos. Il faut aussi indiquer quand le paquet a été terminé. Ce
2751 fichier sera installé dans
2752 <file>/usr/share/doc/<var>paquet</var>/changelog.Debian.gz</file> ou
2753 <file>/usr/share/doc/<var>paquet</var>/changelog.gz</file> pour un
2757 Le fichier <file>debian/changelog</file> a une structure précise
2758 comportant différents champs. Le champ <em>distribution</em> est décrit
2759 dans <ref id="distribution">. Vous trouverez plus d'informations sur la
2760 structure de ce fichier dans la section
2761 « <file>debian/changelog</file> » de la <em>charte
2765 Les entrées du fichier <file>changelog</file> peuvent être utilisées
2766 pour fermer des rapports de bogue au moment où le paquet est installé
2767 dans l'archive. Voir la section <ref id="upload-bugfix">.
2770 Par convention, l'entrée changelog d'un paquet contenant une nouvelle
2771 version amont ressemble à :
2773 * new upstream version
2777 Quelques outils peuvent vous aider à créer des entrées et à finaliser
2778 le fichier <file>changelog</file> pour une livraison — voir les
2779 sections <ref id="devscripts"> et <ref id="dpkg-dev-el">.
2782 Voir aussi <ref id="bpp-debian-changelog">.
2785 <sect id="sanitycheck">
2790 Avant d'envoyer votre paquet, vous devriez faire quelques tests de
2791 base. Vous devriez au moins faire les tests suivants (il vous faut une
2792 ancienne version du paquet) :
2796 Installez le paquet et vérifiez que le logiciel fonctionne. Si le
2797 paquet existait déjà dans une version plus ancienne, faites une mise
2803 Exécutez <prgn>lintian</prgn> sur votre paquet. Vous pouvez exécuter
2804 <prgn>lintian</prgn> comme suit : <tt>lintian -v
2805 <var>version-paquet</var>.changes</tt>. Ce programme fera une
2806 vérification sur les paquets source et binaire. Si vous ne comprenez
2807 pas les messages retournés par <prgn>lintian</prgn>, essayez
2808 l'option <tt>-i</tt>. Cette option rendra <prgn>lintian</prgn>
2809 beaucoup plus bavard dans sa description du problème.
2812 En principe, un paquet pour lequel <prgn>lintian</prgn> renvoie des
2813 erreurs (elles commencent par <tt>E</tt>) <em>ne doit pas</em> être
2814 installé dans l'archive.
2817 Pour en savoir plus sur <prgn>lintian</prgn>, reportez-vous à la
2818 section <ref id="lintian">.
2823 Vous pouvez facultativement exécuter <ref id="debdiff"> pour
2824 analyser les modifications depuis une ancienne version si celle-ci
2830 Faites régresser le paquet vers sa version précédente si elle existe
2831 — cela permet de tester les scripts <file>postrm</file> et
2837 Désinstallez le paquet et réinstallez-le.
2842 Copiez le paquet source dans une répertoire différent et tentez de
2843 le décompacter et de le reconstruire. Ceci teste si le paquet repose
2844 sur des fichiers existants en dehors de ceux du paquet ou s'il
2845 repose sur des permissions préservées des fichiers livrés dans le
2852 <sect id="sourcelayout">
2854 Disposition du paquet source
2857 Il existe deux types de paquets source Debian :
2861 les paquets appelés <em>natifs</em> pour lesquels il n'y a pas de
2862 distinction entre les sources d'origine et les correctifs appliqués
2868 les paquets (plus courants) où il y a un fichier archive source
2869 d'origine accompagné par un autre fichier contenant les correctifs
2876 Pour les paquets natifs, le paquet source inclut un fichier de contrôle
2877 source Debian (<tt>.dsc</tt>) et l'archive source
2878 (<tt>.tar.gz</tt>). Un paquet source d'un paquet non natif inclut un
2879 fichier de contrôle source Debian, l'archive source d'origine
2880 (<tt>.orig.tar.gz</tt>) et les correctifs Debian (<tt>.diff.gz</tt>).
2883 Le caractère natif d'un paquet est déterminé lorsqu'il est construit
2884 par <manref section="1" name="dpkg-buildpackage">. Le reste de cette
2885 section ne se rapporte qu'aux paquets non natifs.
2888 La première fois qu'un paquet est installé dans l'archive pour une
2889 version amont donnée, le fichier <file>tar</file> de cette version
2890 amont doit être téléchargé et mentionné dans le fichier
2891 <file>.changes</file>. Par la suite, ce fichier <file>tar</file> sera
2892 utilisé pour générer les fichiers <file>diff</file> et
2893 <file>.dsc</file> et il ne sera pas nécessaire de le télécharger à
2897 Par défaut, <prgn>dpkg-genchanges</prgn> et
2898 <prgn>dpkg-buildpackage</prgn> incluront le fichier <file>tar</file>
2899 amont si et seulement si le numéro de révision du paquet source est 0
2900 ou 1, ce qui indique une nouvelle version amont. Ce comportement peut
2901 être modifié en utilisant <tt>-sa</tt> pour l'inclure systématiquement
2902 ou <tt>-sd</tt> pour ne jamais l'inclure.
2905 Si la mise à jour ne contient pas le fichier <file>tar</file> des
2906 sources originaux, <prgn>dpkg-source</prgn> <em>doit</em>, pour
2907 construire les fichiers <file>.dsc</file> et <file>diff</file> de la
2908 mise à jour, utiliser un fichier <tt>tar</tt> identique à l'octet près
2909 à celui déjà présent dans l'archive.
2912 Veuillez noter que, dans des paquets non natifs, les permissions sur
2913 des fichiers qui ne sont pas présents dans l'archive .orig.tar.gz ne
2914 seront pas préservées car diff ne stocke pas les permissions de fichier
2918 <sect id="distribution">
2920 Choisir une distribution
2923 Chaque envoi doit spécifier à quelle distribution le paquet est
2924 destiné. Le processus de construction de paquet extrait cette
2925 information à partir de la première ligne du fichier
2926 <file>debian/changelog</file> et la place dans le champ
2927 <tt>Distribution</tt> du fichier <tt>.changes</tt>.
2930 Il existe plusieurs valeurs possibles pour ce champ :
2931 « stable », « unstable »,
2932 « testing-proposed-updates » et « experimental ».
2935 En fait, il y a deux autres possibilités :
2936 « stable-security » et « testing-security », mais
2937 veuillez lire <ref id="bug-security"> pour plus d'informations sur
2941 Il n'est pas possible d'envoyer un paquet dans plusieurs distributions
2944 <sect1 id="upload-stable">
2946 Cas spécial : mise à jour d'un paquet de la distribution
2950 Livrer un paquet pour la distribution <em>stable</em> signifie que le
2951 paquet sera dirigé vers le répertoire
2952 <file>stable-proposed-updates</file> des archives Debian pour y être
2953 testé avant d'être effectivement inclus dans <em>stable</em>.
2956 Une livraison pour la distribution <em>stable</em> requiert des soins
2957 supplémentaires. Un paquet de cette distribution ne devrait être mis à
2958 jour que dans les cas suivants :
2962 un problème fonctionnel vraiment critique,
2967 un paquet devenu non installable,
2972 un paquet indisponible pour une architecture.
2978 Par le passé, des envois vers <em>stable</em> étaient également
2979 utilisés pour corriger les problèmes de sécurité. Cependant, cette
2980 pratique est dépréciée car les envois utilisés pour les avis de
2981 sécurité Debian<footnote><p>Debian security advisory</p></footnote>
2982 sont automatiquement copiés dans l'archive
2983 <file>proposed-updates</file> appropriée quand l'avis est
2984 publié. Reportez-vous à <ref id="bug-security"> pour des informations
2985 plus détaillées sur la gestion des problèmes de sécurité.
2988 Il est fortement déconseillé de changer quoi que ce soit si ce n'est
2989 pas important car même une modification triviale peut provoquer un
2993 Les paquets livrés pour <em>stable</em> doivent être compilés avec la
2994 distribution <em>stable</em> pour que leurs dépendances se limitent
2995 aux bibliothèques (et autres paquets) disponibles dans
2996 <em>stable</em> ; un paquet livré pour la distribution
2997 <em>stable</em> qui dépend d'une bibliothèque qui n'est disponible que
2998 dans <em>unstable</em> sera rejeté. Modifier les dépendances d'autres
2999 paquets (en manipulant le champ <tt>Provides</tt> ou les fichiers
3000 shlibs) et, peut-être, rendre ces paquets non installables, est
3001 fortement déconseillé.
3004 L'équipe responsable de la distribution<footnote><p><em>the Release
3005 team</em></p></footnote> (joignable à l'adresse
3006 &email-debian-release;) évaluera régulièrement le contenu de
3007 <em>stable-proposed-updates</em> et décidera si votre paquet peut être
3008 inclus dans la distribution <em>stable</em>. Soyez précis (et, si
3009 nécessaire, prolixe) quand vous décrivez, dans le fichier changelog,
3010 vos changements pour une livraison vers <em>stable</em>, sinon le
3011 paquet ne sera pas pris en considération.
3014 Il est fortement conseillé de discuter avec le responsable de la
3015 version stable <em>avant</em> de réaliser un envoi dans
3016 <em>stable</em>/<em>stable-proposed-updates</em>, pour que le paquet
3017 envoyé corresponde aux besoins de la prochaine révision de
3021 <sect1 id="upload-t-p-u">
3023 Cas spécial : mise à jour d'un paquet de la distribution
3024 <em>testing</em>/<em>testing-proposed-updates</em>
3027 Veuillez consulter les informations dans la <qref id="t-p-u">section
3028 sur <em>testing</em></qref> pour des détails.
3034 Mettre à jour un paquet
3036 <sect1 id="upload-ftp-master">
3038 Installer un paquet sur <tt>ftp-master</tt>
3041 Pour installer un paquet, vous devez envoyer les fichiers (y compris
3042 les fichiers changes et dsc signés) par ftp anonyme sur
3043 <ftpsite>&ftp-master-host;</ftpsite> dans le répertoire
3044 &upload-queue;. Pour que les fichiers y soient traités, ils doivent
3045 être signés avec une clé du porte-clés (<em>keyring</em>) Debian.
3048 Attention, il est préférable de transférer le fichier <tt>changes</tt>
3049 en dernier. Dans le cas contraire, votre livraison pourrait être
3050 rejetée car l'outil de maintenance de l'archive pourrait lire le
3051 fichier <tt>changes</tt> et constater que les fichiers ne sont pas
3055 Les paquets <ref id="dupload"> ou <ref id="dput"> pourront vous
3056 faciliter le travail lors du téléchargement. Ces programmes bien
3057 pratiques aident à automatiser le processus d'envoi de paquets vers
3061 Pour supprimer des paquets, veuillez lire le fichier README dans ce
3062 répertoire FTP et le paquet Debian <ref id="dcut">.
3065 <sect1 id="upload-non-us">
3067 Installer un paquet sur <tt>non-US</tt>
3070 <em>Note :</em> non-us a été interrompu avec la publication de
3074 <sect1 id="delayed-incoming">
3079 Les envois différés sont pour le moment réalisés <em>via</em> la file
3080 différée sur gluck. Le répertoire d'envoi est
3081 <ftpsite>gluck:~tfheen/DELAYED/[012345678]-day</ftpsite>. 0-day est
3082 envoyé approximativement plusieurs fois par jour vers ftp-master.
3085 Avec une version assez récente de dput, cette section
3089 fqdn = gluck.debian.org
3092 dans votre fichier ~/.dput.cf devrait fonctionner correctement pour
3093 réaliser des envois dans la file DELAYED.
3096 <em>Note :</em> Comme la file d'envoi va sur <tt>ftp-master</tt>,
3097 la prescription que l'on trouve dans <ref id="upload-ftp-master">
3098 s'applique également ici.
3106 N'envoyez <strong>PAS</strong> un paquet vers la file d'envoi de sécurité
3107 (<em>oldstable-security</em>, <em>stable-security</em>, etc.) sans
3108 avoir obtenu au préalable l'autorisation de l'équipe de sécurité. Si
3109 le paquet ne correspond pas tout à fait aux besoins de cette équipe,
3110 il entraînera beaucoup de problèmes et de délais dans la gestion de
3111 cet envoi non désiré. Pour plus de détails, consultez la section <ref
3117 Les autres files d'envoi
3120 Les files scp sur ftp-master et security sont pratiquement
3121 inutilisables à cause des restrictions de connexion sur ces hôtes.
3124 Les files anonymes sur ftp.uni-erlangen.de et ftp.uk.debian.org sont
3125 actuellement arrêtées. Un travail est en cours pour les restaurer.
3128 Les files sur master.debian.org, samosa.debian.org,
3129 master.debian.or.jp et ftp.chiark.greenend.org.uk sont arrêtées de
3130 façon permanente et ne seront pas restaurées. La file du Japon sera
3131 remplacée par une nouvelle file sur hp.debian.or.jp un jour.
3134 À l'heure actuelle, la file en ftp anonyme sur auric.debian.org (le
3135 précédent ftp-master) fonctionne, mais elle est déconseillée et sera
3136 supprimée à un moment donné.
3139 <sect1 id="upload-notification">
3141 Notification de l'installation d'un nouveau paquet
3144 Les administrateurs de l'archive Debian sont responsables de
3145 l'installation des mises à jour. La plupart des mises à jour sont
3146 gérées quotidiennement par le logiciel de gestion de l'archive
3147 <prgn>katie</prgn>. Les mises à jour de paquets sur la distribution
3148 <em>unstable</em> sont installées ainsi. Dans les autres cas et
3149 notamment dans le cas d'un nouveau paquet, celui-ci sera installé
3150 manuellement. Il peut s'écouler jusqu'à un mois entre le
3151 téléchargement d'un paquet vers un serveur et son installation
3152 effective. Soyez patient.
3155 Dans tous les cas, vous recevrez un accusé de réception par courrier
3156 électronique indiquant que votre paquet a été installé et quels
3157 rapports de bogues ont été clos. Lisez attentivement ce courrier et
3158 vérifiez que tous les rapports de bogue que vous vouliez clore sont
3159 bien dans cette liste.
3162 L'accusé de réception indique aussi la section dans laquelle le paquet
3163 a été installé. S'il ne s'agit pas de votre choix, vous recevrez un
3164 second courrier qui vous informera de cette différence (voir
3168 Notez que si vous envoyez <em>via</em> les files, le logiciel de démon
3169 de file vous enverra également une notification par courriel.
3173 <sect id="override-file">
3175 Spécifier la section, la sous-section et la priorité d'un paquet
3178 Les champs <tt>Section</tt> et <tt>Priority</tt> du fichier
3179 <file>debian/control</file> n'indiquent ni où le paquet sera installé
3180 dans l'archive Debian, ni sa priorité. Afin de conserver la cohérence
3181 de l'archive, ce sont les administrateurs qui contrôlent ces
3182 champs. Les valeurs du fichier <file>debian/control</file> sont juste
3186 Les administrateurs de l'archive indiquent les sections et priorités
3187 des paquets dans le fichier <em>override</em>. Si ce fichier
3188 <em>override</em> et le fichier <file>debian/control</file> de votre
3189 paquet diffèrent, vous en serez informé par courrier électronique quand
3190 votre paquet sera installé dans l'archive. Vous pourrez corriger votre
3191 fichier <em>debian/control</em> avant votre prochain téléchargement ou
3192 alors vous pourrez vouloir modifier le fichier <em>override</em>.
3195 Pour modifier la section dans laquelle un paquet est archivé, vous
3196 devez d'abord vérifier que fichier <file>debian/control</file> est
3197 correct. Ensuite, envoyez un courrier à &email-override; ou un rapport
3198 de bogue sur le pseudo-paquet <package>ftp.debian.org</package>
3199 demandant la modification de la section ou de la priorité de votre
3200 paquet. Exposez bien les raisons qui vous amènent à demander ces
3204 Pour en savoir plus sur les <em>fichiers override</em>, reportez-vous à
3205 <manref section="1" name="dpkg-scanpackages"> et <url
3206 id="&url-bts-devel;#maintincorrect">.
3209 Notez que le champ <tt>Section</tt> décrit à la fois la section et la
3210 sous-section, comme décrit dans <ref id="archive-sections">. Si la
3211 section est « main », elle devrait être omise. La liste des
3212 sous-sections autorisées peut être trouvée dans <url
3213 id="&url-debian-policy;ch-archive.html#s-subsections">.
3216 <sect id="bug-handling">
3221 Chaque développeur doit être capable de travailler avec le <url
3222 id="&url-bts;" name="système de suivi des bogues"> Debian. Il faut
3223 savoir comment remplir des rapports de bogue correctement (voir <ref
3224 id="submit-bug">), comment les mettre à jour et les réordonner et
3225 comment les traiter et les fermer.
3228 Les fonctionnalités du système de suivi des bogues sont décrites dans
3229 la <url id="&url-bts-devel;" name="documentation du BTS pour les
3230 développeurs">. Ceci inclut la fermeture des bogues, l'envoi des
3231 messages de suivi, l'assignation des niveaux de gravité et des marques,
3232 l'indication que les bogues ont été envoyés au développeur amont et
3236 Des opérations comme réassigner des bogues à d'autres paquets, réunir
3237 des rapports de bogues séparés traitant du même problème ou rouvrir des
3238 bogues quand ils ont été prématurément fermés, sont gérées en utilisant
3239 le serveur de courrier de contrôle. Toutes les commandes disponibles
3240 pour ce serveur sont décrites dans la <url id="&url-bts-control;"
3241 name="documentation du serveur de contrôle du BTS">.
3243 <sect1 id="bug-monitoring">
3245 Superviser les rapports de bogue
3248 Si vous voulez être un bon responsable, consultez régulièrement la
3249 page du <url id="&url-bts;" name="système de suivi des bogues">. Cette
3250 page contient tous les rapports de bogue qui concernent vos
3251 paquets. Vous pouvez les vérifier avec cette page :
3252 <tt>http://&bugs-host;/<var>votre_compte</var>@debian.org</tt>.
3255 Les responsables interagissent avec le système de suivi des bogues en
3256 utilisant l'adresse électronique <tt>&bugs-host;</tt>. Vous trouverez
3257 une documentation sur les commandes disponibles à l'adresse <url
3258 id="&url-bts;"> ou, si vous avez installé le paquet
3259 <package>doc-debian</package>, dans les fichiers locaux
3263 Certains trouvent utile de recevoir régulièrement une synthèse des
3264 rapports de bogues ouverts. Si vous voulez recevoir une synthèse
3265 hebdomadaire relevant tous les rapports de bogue ouverts pour vos
3266 paquets, vous pouvez configurer <prgn>cron</prgn> comme suit :
3268 # Synthèse hebdomadaire des rapports de bogue qui me concernent
3271 Remplacez <var>address</var> par votre adresse officielle de
3275 <sect1 id="bug-answering">
3277 Répondre à des rapports de bogue
3280 Lorsque vous répondez à des rapports de bogue, assurez-vous que toutes
3281 vos discussions concernant les bogues sont envoyées au rapporteur du
3282 bogue et au bogue lui-même (<email>123@&bugs-host;</email> par
3283 exemple). Si vous rédigez un nouveau courrier et si vous ne vous
3284 souvenez plus de l'adresse du rapporteur de bogue, vous pouvez
3285 utiliser l'adresse <email>123-submitter@&bugs-host;</email> pour
3286 contacter le rapporteur <em>et</em> enregistrer votre courrier dans le
3287 journal du bogue (ce qui veut dire que vous n'avez pas besoin
3288 d'envoyer une copie du courrier à <email>123@&bugs-host;</email>).
3291 Si vous recevez un bogue mentionnant « FTBFS », cela veut
3292 dire « Fails To Build From Source » (Erreur de construction
3293 à partir du source). Les porteurs emploient fréquemment cet acronyme.
3296 Une fois que vous avez traité un rapport de bogue (i.e. que vous
3297 l'avez corrigé), marquez-le comme <em>done</em> (fermez-le) en
3298 envoyant un message d'explication à
3299 <email>123-done@&bugs-host;</email>. Si vous corrigez un bogue en
3300 changeant et en envoyant une nouvelle version du paquet, vous pouvez
3301 fermer le bogue automatiquement comme décrit dans <ref
3302 id="upload-bugfix">.
3305 Vous ne devez <em>jamais</em> fermer un rapport de bogue en envoyant
3306 la commande <tt>close</tt> à l'adresse &email-bts-control;.Si vous le
3307 faites, le rapporteur n'aura aucune information sur la clôture de son
3311 <sect1 id="bug-housekeeping">
3313 Gestion générale des bogues
3316 En tant que responsable de paquet, vous trouverez fréquemment des
3317 bogues dans d'autres paquets ou vous aurez des bogues sur vos paquets
3318 qui sont en fait des bogues sur d'autres paquets. Les fonctions
3319 intéressantes du système de suivi des bogues sont décrites dans la
3320 <url id="&url-bts-devel;" name="documentation du BTS pour les
3321 développeurs Debian">. Les <url id="&url-bts-control;"
3322 name="instructions du serveur de contrôle du BTS"> documentent les
3323 opérations techniques du BTS, telles que comment remplir, réassigner,
3324 regrouper et marquer des bogues. Cette section contient des lignes
3325 directrices pour gérer vos propres bogues, définies à partir de
3326 l'expérience collective des développeurs Debian.
3329 Remplir des rapports de bogue pour des problèmes que vous trouvez dans
3330 d'autres paquet est l'une des « obligations civiques » du
3331 responsable, reportez-vous à <ref id="submit-bug"> pour les
3332 détails. Cependant, gérer les bogues de vos propres paquets est encore
3336 Voici une liste des étapes que vous pouvez suivre pour gérer un
3337 rapport de bogue :
3338 <enumlist numeration="arabic">
3341 Décider si le rapport correspond à un bogue réel ou non. Parfois,
3342 les utilisateurs exécutent simplement un programme de la mauvaise
3343 façon car ils n'ont pas lu la documentation. Si c'est votre
3344 diagnostic, fermez simplement le bogue avec assez d'informations
3345 pour laisser l'utilisateur corriger son problème (donnez des
3346 indications vers la bonne documentation et ainsi de suite). Si le
3347 rapport de bogue revient régulièrement, vous devriez vous demander
3348 si la documentation est assez bonne ou si le programme ne devrait
3349 pas détecter une mauvaise utilisation pour donner un message
3350 d'erreur informatif. Il s'agit d'un problème qui peut être discuté
3351 avec l'auteur amont.
3354 Si le rapporteur de bogue n'est pas d'accord avec votre décision de
3355 fermeture du bogue, il peut le ré-ouvrir jusqu'à ce que vous
3356 trouviez un accord sur la façon de le gérer. Si vous n'en trouvez
3357 pas, vous pouvez marquer le bogue avec <tt>wontfix</tt> pour
3358 indiquer aux personnes que le bogue existe, mais ne sera pas
3359 corrigé. Si cette situation n'est pas acceptable, vous (ou le
3360 rapporteur) pouvez vouloir demander une décision par le comité
3361 technique en réattribuant le bogue à <package>tech-ctte</package>
3362 (vous pouvez utiliser la commande <tt>clone</tt> du BTS si vous
3363 désirez garder le bogue comme rapporté sur votre paquet). Avant de
3364 faire cela, veuillez lire la <url id="&url-tech-ctte;"
3365 name="procédure recommandée">.
3370 Si le bogue est réel, mais est causé par un autre paquet,
3371 réattribuez simplement le bogue à l'autre paquet. Si vous ne savez
3372 pas à quel paquet il doit être réattribué, vous pouvez demander de
3373 l'aide sur <qref id="irc-channels">IRC</qref> ou sur
3374 &email-debian-devel;. Veuillez vous assurer que le (ou les)
3375 responsable(s) du paquet sur lequel est réattribué le paquet sait
3376 pourquoi vous l'avez ainsi réattribué.
3379 Parfois, vous devez également ajuster la gravité du bogue pour
3380 qu'elle corresponde à notre définition de gravité des bogues. C'est
3381 dû au fait que les gens tendent à augmenter la gravité des bogues
3382 pour s'assurer que leurs bogues seront corrigés rapidement. La
3383 gravité de certains bogues peut même être rétrogradée en
3384 <em>wishlist</em> (souhait) quand le changement demandé est
3385 seulement d'ordre cosmétique.
3390 Si le bogue est réel, mais que le problème a déjà été rapporté par
3391 quelqu'un d'autre, les deux rapports de bogues pertinents devraient
3392 être fusionnés en un seul en utilisant la commande <tt>merge</tt>
3393 (fusion) du BTS. Ainsi, quand le bogue sera corrigé, tous les
3394 créateurs de rapport de bogue en seront informés (notez, cependant,
3395 que les courriels envoyés à l'un des créateurs de rapport de bogue
3396 ne seront pas automatiquement envoyés aux autres créateurs de
3397 rapport de bogue). Pour plus de détails sur les technicités de la
3398 commande de fusion et sa voisine, la commande <tt>unmerge</tt>
3399 (séparation), veuillez consulter la documentation du serveur de
3405 Le rapporteur de bogue peut avoir oublié de fournir certaines
3406 informations. Dans ce cas, vous devez lui demander les informations
3407 nécessaires. Vous pouvez utiliser la marque <tt>moreinfo</tt> (plus
3408 d'information) sur le bogue. De plus, si vous ne pouvez pas
3409 reproduire le bogue, vous pouvez le marquer comme
3410 <tt>unreproducible</tt> (non reproductible). Une personne qui
3411 arriverait à reproduire le bogue est alors invitée à fournir plus
3412 d'informations sur la façon de le reproduire. Après quelques mois,
3413 si cette information n'a été envoyée par personne, le bogue peut
3419 Si le bogue est lié à l'empaquetage, vous devez simplement le
3420 corriger. Si vous ne pouvez pas le corriger vous-même, marquez
3421 alors le bogue avec <tt>help</tt> (aide). Vous pouvez également
3422 demander de l'aide sur &email-debian-devel; ou
3423 &email-debian-qa;. S'il s'agit d'un problème amont, vous devez
3424 faire suivre le rapport à l'auteur amont. Faire suivre un bogue
3425 n'est pas suffisant, vous devez vérifier à chaque version si le
3426 bogue a été corrigé ou non. S'il a été corrigé, vous le fermez
3427 simplement, sinon vous devez le rappeler à l'auteur. Si vous avez
3428 les compétences nécessaires, vous pouvez préparer un correctif pour
3429 corriger le bogue et l'envoyer en même temps à
3430 l'auteur. Assurez-vous d'envoyer le correctif au BTS et marquez le
3431 bogue avec <tt>patch</tt> (correctif).
3436 Si vous avez corrigé un bogue sur votre copie locale ou si un
3437 correctif a été inclus dans le référentiel CVS, vous pouvez marquer
3438 le bogue avec <tt>pending</tt> (en attente) pour informer que le
3439 bogue est corrigé et qu'il sera fermé lors du prochain envoi
3440 (ajoutez le <tt>closes:</tt> dans le <file>changelog</file>). C'est
3441 particulièrement utile si plusieurs développeurs travaillent sur le
3447 Une fois que le paquet corrigé est disponible dans la distribution
3448 <em>unstable</em>, vous pouvez fermer le bogue. Ceci peut être fait
3449 automatiquement, pour cela, reportez-vous à <ref
3450 id="upload-bugfix">.
3456 <sect1 id="upload-bugfix">
3458 Quand les rapports de bogue sont-ils fermés par une mise à jour ?
3461 Au fur et à mesure que les bogues et problèmes sont corrigés dans vos
3462 paquets, il est de votre responsabilité en tant que responsable du
3463 paquet de fermer les rapports de bogue associés. Cependant, vous ne
3464 devez pas les fermer avant que le paquet n'ait été accepté dans
3465 l'archive Debian. C'est pourquoi, vous pouvez et vous devez clore les
3466 rapports dans le système de suivi des bogues une fois que vous avez
3467 reçu l'avis indiquant que votre nouveau paquet a été installé dans
3468 l'archive. Le bogue devrait être fermé avec la bonne version.
3471 Cependant, il est possible d'éviter d'avoir à fermer manuellement les
3472 bogues après l'envoi — indiquez simplement les bogues corrigés
3473 dans le fichier <file>changelog</file> en suivant une syntaxe
3474 précise. Par exemple :
3476 acme-cannon (3.1415) unstable; urgency=low
3478 * Frobbed with options (closes: Bug#98339)
3479 * Added safety to prevent operator dismemberment, closes: bug#98765,
3481 * Added man page. Closes: #98725.
3483 Techniquement parlant, l'expression rationnelle Perl suivante décrit
3484 comment les lignes de <em>changelogs</em> de fermeture de bogues sont
3487 /closes:\s*(?:bug)?\#\s*\d+(?:,\s*(?:bug)?\#\s*\d+)*/ig
3489 Nous préférons la syntaxe <tt>closes: #<var>XXX</var></tt>, car c'est
3490 l'entrée la plus concise et la plus facile à intégrer dans le texte du
3491 fichier <file>changelog</file>.
3494 À moins que cela soit spécifié différemment par l'option <var>-v</var> de
3495 <prgn>dpkg-buildpackage</prgn>, seuls les bogues fermés dans l'entrée de
3496 changelog la plus récente sont fermés (fondamentalement, seuls les
3497 bogues mentionnés dans la partie de changelog du fichier
3498 <file>.changes</file> sont fermés).
3501 <!-- les bogues des envois ... ? -->
3502 Historiquement, les envois identifiés comme <qref id="nmu">Mise à jour
3503 indépendante</qref> (« Non-maintainer upload » ou NMU) étaient
3504 marqués comme <tt>fixed</tt> au lieu d'être fermés, mais cette pratique
3505 a cassé avec l'ajout du suivi des versions. Le même raisonnement
3506 s'applique à l'étiquette <tt>fixed-in-experimental</tt>.
3509 Si vous entrez un numéro de bogue incorrect ou si vous oubliez un
3510 bogue dans les entrées du fichier <file>changelog</file>, n'hésitez
3511 pas à annuler tout dommage que l'erreur a entraîné. Pour rouvrir un
3512 bogue fermé par erreur, envoyez une commande <tt>reopen
3513 <var>XXX</var></tt> à l'adresse de contrôle du système de suivi des
3514 bogues, &email-bts-control;. Pour fermer tous les bogues restants qui
3515 ont été corrigés par votre envoi, envoyez le fichier
3516 <file>.changes</file> à <email>XXX-done@&bugs-host;</email> où
3517 <var>XXX</var> est le numéro du bogue et placez « Version:
3518 YYY » et une ligne vide dans les deux premières lignes du corps du
3519 courrier où <var>YYY</var> est la première version dans laquelle le
3520 bogue a été corrigé.
3523 Rappelez-vous qu'il n'est pas obligatoire de fermer les bogues en
3524 utilisant le <file>changelog</file> tel que décrit ci-dessus. Si vous
3525 désirez simplement fermer les bogues qui n'ont rien à voir avec l'un
3526 de vos envois, faites-le simplement en envoyant une explication à
3527 <email>XXX-done@&bugs-host;</email>. Vous <strong>ne devez
3528 pas</strong> pas fermer des bogues dans une entrée de changelog d'une
3529 version si les changements dans cette version n'ont rien à voir avec
3533 Pour une information plus générale sur ce qu'il faut mettre dans les
3534 entrées de changelog, veuillez vous reporter aux <ref
3535 id="bpp-debian-changelog">.
3538 <sect1 id="bug-security">
3540 Gérer les bogues de sécurité
3543 À cause de leur nature sensible, les bogues liés à la sécurité doivent
3544 être soigneusement traités. L'équipe de sécurité de Debian est là pour
3545 coordonner cette activité, pour faire le suivi des problèmes de
3546 sécurité en cours, pour aider les responsables ayant des problèmes de
3547 sécurité ou pour les corriger elle-même, pour envoyer les annonces de
3548 sécurité et pour maintenir le site security.debian.org.
3551 Si vous prenez connaissance d'un bogue lié à un problème de sécurité
3552 sur un paquet Debian, que vous soyez ou non le responsable, regroupez
3553 les informations pertinentes sur le problème et contactez rapidement
3554 l'équipe de sécurité à &email-security-team; dès que
3555 possible. <strong>N'ENVOYEZ PAS</strong> de paquet pour
3556 <em>stable</em> ; l'équipe de sécurité le fera. Les informations
3557 utiles incluent, par exemple :
3558 <list compact="compact">
3561 les versions du paquet connues pour être affectées par le
3562 bogue. Vérifiez chaque version présente dans les distributions
3563 maintenues par Debian ainsi que dans <em>testing</em> et dans
3569 la nature d'une solution si elle est disponible (les correctifs
3570 sont particulièrement utiles),
3575 tout paquet corrigé que vous avez vous-même préparé (envoyez
3576 seulement les fichiers <file>.diff.gz</file> et <file>.dsc</file>
3577 et lisez d'abord <ref id="bug-security-building">),
3582 toute assistance que vous pouvez fournir pour aider les tests
3583 (exploits, tests de régression, etc.),
3588 toute information nécessaire pour l'annonce de sécurité (voir <ref
3589 id="bug-security-advisories">).
3594 <sect2 id="bug-security-confidentiality">
3599 À la différence de la plupart des autres activités au sein de Debian,
3600 les informations sur les problèmes de sécurité doivent parfois être
3601 gardées en privé pour un certain temps. Ceci permet aux distributeurs
3602 de logiciels de coordonner leur dévoilement afin de minimiser
3603 l'exposition de leurs utilisateurs. Cette décision dépend de la
3604 nature du problème et de l'existence d'une solution correspondante et
3605 également s'il s'agit d'un fait connu publiquement.
3608 Il existe plusieurs façons pour un développeur de prendre
3609 connaissance d'un problème de sécurité :
3610 <list compact="compact">
3613 il le remarque sur un forum public (liste de diffusion, site web,
3619 quelqu'un remplit un rapport de bogue,
3624 quelqu'un l'informe par courrier privé.
3628 Dans les deux premiers cas, l'information est publique et il est
3629 important d'avoir une solution le plus vite possible. Dans le dernier
3630 cas, cependant, ce n'est peut-être pas une information publique. Dans
3631 ce cas, il existe quelques options possibles pour traiter le
3636 si l'exposition de sécurité est mineure, il n'y a parfois pas
3637 besoin de garder le secret sur le problème et une correction
3638 devrait être effectuée et diffusée,
3643 si le problème est grave, il est préférable de partager cette
3644 information avec d'autres vendeurs et de coordonner une
3645 publication. L'équipe de sécurité reste en contact avec les
3646 différentes organisations et individus et peut prendre soin des
3653 Dans tous les cas, si la personne qui indique le problème demande à
3654 ce que l'information ne soit pas diffusée, cela devrait être respecté
3655 avec l'évidente exception d'informer l'équipe de sécurité pour qu'une
3656 correction puisse être effectuée pour la version stable de
3657 Debian. Quand vous envoyez des informations confidentielles à
3658 l'équipe de sécurité, assurez-vous de bien mentionner ce fait.
3661 Veuillez noter que si le secret est nécessaire, vous ne pourrez pas
3662 envoyer un correctif vers <em>unstable</em> (ou ailleurs) puisque les
3663 informations de changelog et de diff sont publiques pour
3667 Il existe deux raisons pour diffuser l'information même si le secret
3668 est demandé : le problème est connu depuis un certain temps ou
3669 le problème ou son exploitation est devenu public.
3672 <sect2 id="bug-security-advisories">
3674 Annonces de sécurité
3677 Les annonces de sécurité ne sont émises que pour la distribution
3678 actuelle diffusée <em>stable</em>, <em>PAS</em> pour <em>testing</em>
3679 ou <em>unstable</em>. Quand elle est diffusée, l'annonce est envoyée
3680 à la liste de diffusion &email-debian-security-announce; et elle est
3681 postée sur <url id="&url-debian-security-advisories;" name="la page
3682 de sécurité">. Les annonces de sécurité sont écrites et postées par
3683 les membres de l'équipe de sécurité. Cependant, ils ne verront aucun
3684 inconvénient à ce qu'un responsable leur apporte des informations ou
3685 écrive une partie du texte. Les informations qui devraient être
3686 présentes dans une annonce incluent :
3687 <list compact="compact">
3690 une description du problème et de sa portée, y compris :
3694 le type du problème (usurpation de privilège, déni de service,
3700 quels sont les privilèges obtenus et par quels utilisateurs (si
3706 comment il peut être exploité,
3711 si le problème peut être exploité à distance ou localement,
3716 comment le problème a été corrigé,
3720 Ces informations permettent aux utilisateurs d'estimer la menace
3721 pesant sur leurs systèmes.
3726 les numéros de version des paquets affectés,
3731 les numéros de version des paquets corrigés,
3736 une information sur la façon de récupérer les paquets mis à jour
3737 (habituellement l'archive de sécurité Debian),
3742 des références à des annonces amont, des identifiants <url
3743 id="http://cve.mitre.org" name="CVE"> et toute autre information
3744 utile pour recouper les références de la vulnérabilité.
3750 <sect2 id="bug-security-building">
3752 Préparer les paquets pour corriger des problèmes de sécurité
3755 Une façon d'aider l'équipe de sécurité dans ses travaux est de lui
3756 fournir des paquets corrigés convenables pour une annonce de sécurité
3757 pour la version <em>stable</em> de Debian
3760 Quand une mise à jour de la version <em>stable</em> est effectuée, un
3761 soin particulier doit être apporté pour éviter de modifier le
3762 comportement du système ou d'introduire de nouveaux bogues. Pour
3763 cela, faites le moins de changements possibles pour corriger le
3764 bogue. Les utilisateurs et les administrateurs s'attendent à un
3765 comportement identique dans une version lorsque celle-ci est
3766 diffusée, donc tout changement qui est fait est susceptible de casser
3767 le système de quelqu'un. Ceci est spécialement vrai pour les
3768 bibliothèques : assurez-vous ne de jamais changer l'API ou
3769 l'ABI, aussi minimal que soit le changement.
3772 Cela veut dire que passer à une version amont supérieure n'est pas
3773 une bonne solution. À la place, les changements pertinents devraient
3774 être rétroportés vers la version présente dans la distribution
3775 <em>stable</em> de Debian. Habituellement, les développeurs amont
3776 veulent bien aider. Sinon, l'équipe de sécurité Debian peut le faire.
3779 Dans certains cas, il n'est pas possible de rétroporter un correctif
3780 de sécurité, par exemple, quand de grandes quantités de code source
3781 doivent être modifiées ou récrites. Si cela se produit, il peut être
3782 nécessaire de passer à une nouvelle version amont. Cependant, ceci
3783 n'est fait que dans des situations extrêmes et vous devez toujours
3784 coordonner cela avec l'équipe de sécurité au préalable.
3787 Il existe une autre règle de conduite liée à cela : testez
3788 toujours vos changements. Si une exploitation du problème existe,
3789 essayez-la et vérifiez qu'elle réussit sur le paquet non corrigé et
3790 échoue sur le paquet corrigé. Testez aussi les autres actions
3791 normales car parfois un correctif de sécurité peut casser de manière
3792 subtile des fonctionnalités qui ne semblent pas liées.
3795 N'incluez <strong>PAS</strong> de changements dans votre paquet qui
3796 ne soient pas liés directement à la correction de la
3797 vulnérabilité. Ceux-ci devraient être ensuite enlevés et cela perd du
3798 temps. S'il y a d'autres bogues dans votre paquet que vous aimeriez
3799 corriger, faites un envoi vers proposed-updates de la façon
3800 habituelle, après l'envoi de l'alerte de sécurité. Le mécanisme de
3801 mise à jour de sécurité n'est pas un moyen d'introduire des
3802 changements dans votre paquet qui seraient sinon rejetés de la
3803 distribution stable, n'essayez donc pas de faire cela, s'il vous
3807 Examinez et testez autant que possible vos changements. Vérifiez les
3808 différences avec la version précédente de manière répétée
3809 (<prgn>interdiff</prgn> du paquet <package>patchutils</package> et
3810 <prgn>debdiff</prgn> du paquet <package>devscripts</package> sont des
3811 outils utiles pour cela, voir <ref id="debdiff">).
3814 Assurez-vous de conserver les points suivants à l'esprit :
3818 Ciblez la bonne distribution dans votre fichier
3819 <file>debian/changelog</file>. Pour <em>stable</em>, il s'agit de
3820 <tt>stable-security</tt> et pour <em>testing</em>, c'est
3821 <tt>testing-security</tt> et pour l'ancienne distribution stable,
3822 c'est <tt>oldstable-security</tt>. Ne ciblez ni
3823 <var>distribution</var>-proposed-updates, ni
3824 <tt>stable</tt> !
3829 L'envoi devra avoir « urgency=high ».
3834 Fournissez des entrées de changelog descriptives et
3835 complètes. D'autres personnes se baseront dessus pour déterminer
3836 si un bogue particulier a été corrigé. Incluez toujours une
3837 référence externe, de préférence un identifiant CVE, pour qu'elle
3838 puisse être recoupée. Incluez la même information dans le
3839 changelog pour <em>unstable</em> pour qu'il soit clair que le même
3840 bogue a été corrigé car cela est très utile pour vérifier que le
3841 bogue a été corrigé pour la prochaine version stable. Si aucun
3842 identifiant CVE n'a encore été assigné, l'équipe de sécurité en
3843 demandera un pour qu'il puisse être inclus dans le paquet et dans
3849 Assurez-vous que le numéro de version est correct. Il doit être
3850 plus élevé que celui du paquet actuel, mais moins que ceux des
3851 paquets des versions des distributions suivantes. En cas de doute,
3852 testez-le avec <tt>dpkg --compare-versions</tt>. Soyez attentif à
3853 ne pas ré-utiliser un numéro de version que vous auriez déjà
3854 utilisé pour un précédent envoi. Pour <em>testing</em>, il doit y
3855 avoir un numéro de version supérieur dans <em>unstable</em>. S'il
3856 n'y en a pas encore (par exemple, si <em>testing</em> et
3857 <em>unstable</em> ont la même version), vous devez envoyer une
3858 nouvelle version vers <em>unstable</em> en premier.
3863 Ne faites pas d'envoi de source seul si votre paquet possède un ou
3864 plusieurs paquets binary-all (n'utilisez pas l'option <tt>-S</tt>
3865 de <prgn>dpkg-buildpackage</prgn>). L'infrastructure
3866 <prgn>buildd</prgn> ne construira pas ceux-ci. Ce point s'applique
3867 aux envois de paquets normaux également.
3872 Sauf si la source amont a été envoyée auparavant à
3873 security.debian.org (par une précédente mise à jour de sécurité),
3874 construisez le paquet avec la source amont complète
3875 (<tt>dpkg-buildpackage -sa</tt>). S'il y a déjà eu un précédent
3876 envoi à security.debian.org, vous pouvez faire un envoi sans le
3877 paquet source (<tt>dpkg-buildpackage -sd</tt>).
3882 Assurez-vous d'utiliser exactement le même nom
3883 <file>*.orig.tar.gz</file> que celui utilisé dans l'archive
3884 normale, sinon il ne sera pas possible de déplacer plus tard le
3885 correctif de sécurité dans l'archive principale.
3890 Compilez le paquet sur un système propre, dont tous les paquets
3891 appartiennent à la distribution pour laquelle vous construisez le
3892 paquet. Si vous n'avez pas un tel système, vous pouvez utiliser
3893 l'une des machines de debian.org (voir <ref id="server-machines">)
3894 ou mettez en place un chroot (voir <ref id="pbuilder"> et <ref
3901 <sect2 id="bug-security-upload">
3903 Mettre à jour le paquet corrigé
3906 Vous <em>NE</em> devez <em>PAS</em> envoyer un paquet dans la file
3907 d'attente des envois de sécurité (oldstable-security,
3908 stable-security, etc.) sans l'accord préalable de l'équipe de
3909 sécurité. Si le paquet ne remplit pas exactement les exigences de
3910 l'équipe, il causera beaucoup de problèmes, ainsi que des délais dans
3911 la gestion de l'envoi indésirable.
3914 Vous <em>NE</em> devez <em>PAS</em> envoyer votre correction dans
3915 <em>proposed-updates</em> sans vous coordonner avec l'équipe de
3916 sécurité. Les paquets seront copiés de security.debian.org dans le
3917 répertoire <file>proposed-updates</file> automatiquement. Si un
3918 paquet avec le même numéro de version ou un numéro plus grand est
3919 déjà installé dans l'archive, la mise à jour de sécurité sera rejetée
3920 par le système d'archive. Ainsi, la distribution <em>stable</em> se
3921 retrouvera à la place sans la mise à jour de sécurité de ce paquet.
3924 Une fois que vous avez créé et testé le nouveau paquet et qu'il a été
3925 approuvé par l'équipe de sécurité, il doit être envoyé pour être
3926 installé dans les archives. Pour les envois de sécurité, l'adresse
3928 <tt>ftp://security-master.debian.org/pub/SecurityUploadQueue/</tt>.
3931 Une fois que l'envoi vers la file d'attente de sécurité a été
3932 accepté, le paquet sera automatiquement recompilé pour toutes les
3933 architectures et stocké pour vérification par l'équipe de sécurité.
3936 Les envois en attente d'acceptation ou de vérification ne sont
3937 accessibles que par l'équipe de sécurité. C'est nécessaire car il
3938 pourrait y avoir des correctifs pour des problèmes de sécurité qui ne
3939 peuvent pas encore être diffusés.
3942 Si une personne de l'équipe de sécurité accepte un paquet, il sera
3943 installé sur security.debian.org et proposé pour le répertoire
3944 <var>distribution</var>-proposed-updates qui convient sur ftp-master.
3949 <sect id="archive-manip">
3951 Déplacer, effacer, changer le nom, adopter et abandonner des paquets
3954 Certaines manipulations de l'archive ne sont pas possibles avec le
3955 processus de mise à jour automatisé. Elles sont appliquées manuellement
3956 par les développeurs. Ce chapitre décrit ce qu'il faut faire dans ces
3959 <sect1 id="moving-pkgs">
3961 Déplacer des paquets
3964 Il se peut qu'un paquet puisse changer de section. Une nouvelle
3965 version d'un paquet de la section <tt>non-free</tt> pourrait, par
3966 exemple, être distribuée sous licence GNU GPL ; dans ce cas, le
3967 paquet doit être déplacé dans la section <tt>main</tt> ou
3968 <tt>contrib</tt><footnote><p>Reportez-vous à la <url
3969 id="&url-debian-policy;" name="charte Debian"> pour savoir dans quelle
3970 section un paquet doit être classé.</p></footnote>.
3973 Si vous avez besoin de modifier la section de l'un de vos paquets,
3974 modifiez les informations de contrôle du paquet pour le placer dans la
3975 section désirée et téléchargez à nouveau votre paquet dans
3976 l'archive. Reportez-vous à la <url id="&url-debian-policy;"
3977 name="charte Debian"> pour en savoir plus. Vous devez vous assurer
3978 d'inclure le fichier <file>.orig.tar.gz</file> dans votre envoi (même si
3979 vous n'envoyez pas de nouvelle version amon) ou il n'apparaîtra pas dans
3980 la nouvelle section avec le reste du paquet. Si votre nouvelle section
3981 est valide, il sera déplacé automatiquement. Si ce n'est pas le cas,
3982 contactez les responsables ftp pour comprendre ce qui s'est passé.
3985 Si vous avez besoin de modifier la sous-section de l'un de vos paquets
3986 (<tt>devel</tt> ou <tt>admin</tt> par exemple), la procédure est
3987 légèrement différente. Modifiez la sous-section dans le fichier de
3988 contrôle de votre paquet et téléchargez-le. Il vous faudra ensuite
3989 demander la modification du fichier <em>override</em> comme décrit
3990 dans la section <ref id="override-file">.
3993 <sect1 id="removing-pkgs">
3995 Supprimer des paquets
3998 Si, pour une raison ou une autre, vous avez besoin de supprimer
3999 complètement un paquet de l'archive (disons qu'il s'agit d'une vieille
4000 bibliothèque devenue inutile que l'on conservait pour des raisons de
4001 compatibilité), il vous faudra envoyer un rapport de bogue concernant
4002 le pseudo-paquet <tt>ftp.debian.org</tt> et demander sa
4003 suppression ; comme pour tous les bogues, ce bogue devrait être
4004 de gravité normale. N'oubliez pas de préciser de quelle distribution
4005 le paquet doit être supprimé. Normalement, vous ne devriez avoir à
4006 supprimer que des paquets d'<em>unstable</em> ou
4007 d'<em>experimental</em>. Les paquets de <em>testing</em> ne sont pas
4008 supprimés directement. Ils sont plutôt enlevés automatiquement après
4009 que le paquet a été supprimé d'<em>unstable</em> et si aucun paquet de
4010 <em>testing</em> n'en dépend.
4013 Il existe une exception pour laquelle il n'est pas nécessaire de faire
4014 une demande explicite de suppression : si un paquet (source ou
4015 binaire) est orphelin, il sera supprimé de façon semi-automatique. Pour
4016 un paquet binaire, cela veut dire s'il n'y a plus de paquet source
4017 produisant le paquet binaire ; si le paquet binaire n'est
4018 simplement plus produit pour certaines architectures, une demande de
4019 suppression est toujours nécessaire. Pour un paquet source, cela veut
4020 dire que tous les paquets binaires auxquels il se réfère ont été
4021 récupérés par un autre paquet source.
4024 Vous devez détailler dans votre demande de suppressions les raisons
4026 demande. Ceci a pour but d'éviter les suppressions non désirées et de
4027 garder une trace de la raison pour laquelle un paquet a été
4028 supprimé. Par exemple, vous pouvez fournir le nom du paquet qui
4029 remplace celui à supprimer.
4032 Vous ne pouvez demander la suppression d'un paquet que si vous en êtes
4033 le responsable. Si vous voulez supprimer un autre paquet, vous devez
4034 obtenir l'accord de son responsable.
4037 Si vous ne savez pas bien si un paquet peut être supprimé, demandez
4038 l'avis des autres développeurs sur la liste &email-debian-devel;. Le
4039 programme <prgn>apt-cache</prgn> du paquet <package>apt</package>
4040 pourra aussi vous être utile. La commande <tt>apt-cache showpkg
4041 <var>paquet</var> </tt> vous indiquera, entre autres, les paquets qui
4042 dépendent de <var>paquet</var>.
4043 Parmi d'autres programmes utiles, citons <tt>apt-cache rdepends</tt>,
4044 <prgn>apt-rdepends</prgn> et <prgn>grep-dctrl</prgn>.
4045 Le retrait de paquets orphelins est discuté sur &email-debian-qa;.
4048 Une fois que le paquet a été supprimé, les bogues du paquet doivent
4049 être gérés. Soit ils sont réattribués à un autre paquet dans le cas où
4050 le code actuel a évolué en un autre paquet (par exemple,
4051 <tt>libfoo12</tt> a été supprimé parce que <tt>libfoo13</tt> le
4052 remplace) ou ils sont fermés si le logiciel ne fait simplement plus
4057 Supprimer des paquets dans <tt>Incoming</tt>
4060 Par le passé, il était possible de supprimer un paquet de
4061 <file>Incoming</file>. Cependant, ce n'est plus possible depuis la
4062 mise en place du nouveau système de file d'attente. Il vous faudra
4063 télécharger une nouvelle version de votre paquet avec un numéro de
4064 version plus élevé que celui que vous voulez remplacer. Les deux
4065 versions seront installées dans l'archive mais seule la plus récente
4066 sera accessible dans <em>unstable</em> car la précédente sera
4067 immédiatement remplacée par la nouvelle. Toutefois, si vous testez
4068 correctement vos paquets, le besoin d'en remplacer un ne devrait pas
4075 Remplacer un paquet ou changer son nom
4078 Si vous vous trompez en nommant un paquet, vous devrez intervenir en
4079 deux étapes pour changer son nom. D'abord, modifiez votre fichier
4080 <file>debian/control</file> pour que votre nouveau paquet remplace et
4081 entre en conflit avec l'ancien paquet que vous voulez remplacer
4082 (reportez-vous à la <url id="&url-debian-policy;" name="charte
4083 Debian"> pour les détails). Une fois que votre paquet est installé
4084 dans l'archive, faites un rapport de bogue concernant le pseudo-paquet
4085 <tt>ftp.debian.org</tt> et demandez la suppression du paquet mal
4086 nommé. N'oubliez pas de réattribuer correctement les bogues du paquet
4090 D'autres fois, vous pouvez commettre une erreur en construisant le
4091 paquet et vous désirez le remplacer. La seule façon de faire est
4092 d'incrémenter le numéro de version et d'envoyer une nouvelle
4093 version. L'ancienne version expirera de la façon habituelle. Notez que
4094 ceci s'applique à chaque partie de votre paquet, y compris les
4095 sources : si vous désirez remplacer l'archive source amont de
4096 votre paquet, vous devez l'envoyer avec un numéro de version
4097 différent. Une possibilité simple est de remplacer
4098 <file>foo_1.00.orig.tar.gz</file> par
4099 <file>foo_1.00+0.orig.tar.gz</file>. Cette restriction donne à chaque
4100 fichier du site ftp un nom unique, ce qui aide à garantir la
4101 consistance dans le réseau des miroirs.
4104 <sect1 id="orphaning">
4106 Abandonner un paquet
4109 Si vous ne pouvez plus maintenir un paquet, vous devez en informer les
4110 autres et faire le nécessaire pour qu'il soit marqué
4111 <em>abandonné</em> (i.e. <em>orphaned</em>). Vous devriez aussi
4112 remplacer votre nom par <tt>Debian QA Group &orphan-address;</tt> dans
4113 le champ <tt>maintainer</tt> du paquet et faire un rapport de bogue
4114 sur le pseudo-paquet <package>wnpp</package>. Le titre de votre
4115 rapport de bogue devrait être
4116 « <tt>O<footnote><p><em>Orphaned</em> :
4117 abandonné.</p></footnote>: <var>paquet</var> — <var>courte
4118 description</var></tt> » pour indiquer que le paquet est
4119 abandonné. La gravité du bogue sera <em>normale</em> ; si le
4120 paquet a une priorité standard ou supérieure, elle devrait être
4121 <em>importante</em>. Si vous le jugez nécessaire, envoyez une copie à
4122 &email-debian-devel; en mettant cette adresse dans le champ
4123 X-Debbugs-CC: de l'en-tête du message. N'utilisez pas le champ CC: car
4124 de cette manière le sujet du message ne contiendra pas le numéro du
4128 Si vous avez simplement l'intention de donner le paquet, mais que vous
4129 pouvez conserver sa maintenance pour le moment, vous devriez à la
4130 place soumettre un rapport de bogue sur <package>wnpp</package> et
4131 l'intituler <tt>RFA: <var>paquet</var> -- <var>description
4132 courte</var></tt>. <tt>RFA</tt> veut dire <em>Request For
4133 Adoption</em> (demande d'adoption).
4136 Vous pouvez trouver plus d'informations sur les <url id="&url-wnpp;"
4137 name="pages web WNPP"><footnote><p><em>Work-needing and prospective
4138 packages</em> : paquets en souffrance et paquets
4139 souhaités.</p></footnote>.
4142 <sect1 id="adopting">
4147 Une liste des paquets en attente de nouveau responsable est disponible
4148 à la page <url id="&url-wnpp;" name="paquets en souffrance et paquets
4149 souhaités">. Si vous voulez prendre en charge un paquet de cette
4150 liste, reportez-vous à la page mentionnée ci-dessus pour connaître la
4154 Prendre un paquet parce qu'il vous semble que celui-ci est négligé
4155 n'est pas correct — ce serait un détournement de
4156 paquet. Vous pouvez prendre contact avec le responsable actuel et lui
4157 demander si vous pouvez prendre en charge ce paquet. Si vous avez le
4158 sentiment qu'un responsable est parti sans prévenir depuis un moment,
4159 veuillez vous reporter à <ref id="mia-qa">).
4162 Généralement, vous ne pouvez pas adopter un paquet sans l'accord du
4163 responsable actuel. Même s'il vous ignore, ce n'est pas une raison
4164 pour le faire. Les plaintes à propos des responsables devraient être
4165 portées sur la liste de diffusion des développeurs. Si la discussion
4166 ne se termine pas par une conclusion positive et que le problème est
4167 de nature technique, envisagez de porter le cas à l'attention du
4168 comité technique (voir la <url id="&url-tech-ctte;" name="page web du
4169 comité technique"> pour plus d'information).
4172 Si vous reprenez un vieux paquet, vous voudrez sûrement que le système
4173 de suivi des bogues indique que vous êtes le responsable du
4174 paquet. Cela se produira automatiquement une fois que vous aurez
4175 installé une nouvelle version du paquet dans l'archive avec le champ
4176 <tt>Maintainer</tt> à jour. Cela peut prendre quelques heures après le
4177 téléchargement. Si vous pensez ne pas avoir de mise à jour à faire
4178 pour un moment, vous pouvez utiliser le <ref id="pkg-tracking-system">
4179 pour recevoir les rapports de bogue. Cependant, assurez-vous que cela
4180 ne pose aucun problème à l'ancien responsable de continuer à recevoir
4181 les bogues durant ce temps.
4190 Debian accepte un nombre croissant d'architectures. Même si vous n'êtes
4191 pas un porteur et même si vous n'utilisez qu'une architecture, il est
4192 de votre responsabilité de développeur d'être attentif aux questions de
4193 portabilité. C'est pourquoi il est important que vous lisiez ce
4194 chapitre même si vous n'êtes pas un porteur.
4197 Porter un paquet consiste à faire un paquet binaire pour des
4198 architectures différentes de celle du paquet binaire fait par le
4199 responsable du paquet. C'est une activité remarquable et
4200 essentielle. En fait, les porteurs sont à l'origine de la plupart des
4201 compilations de paquets Debian. Pour un paquet binaire <em>i386</em>,
4202 par exemple, il faut compter une recompilation pour chaque autre
4203 architecture, soit un total de &number-of-arches; recompilations.
4205 <sect1 id="kind-to-porters">
4207 Être courtois avec les porteurs
4210 Les porteurs ont une tâche remarquable et difficile car ils doivent
4211 gérer un grand nombre de paquets. Idéalement, tout paquet source
4212 devrait compiler sans modification. Malheureusement, c'est rarement le
4213 cas. Cette section contient une liste d'erreurs commises régulièrement
4214 par les responsables Debian — problèmes courants qui bloquent
4215 souvent les porteurs et compliquent inutilement leur travail.
4218 Ici, la première et la plus importante chose est de répondre
4219 rapidement aux rapports de bogues et remarques soulevées par les
4220 porteurs. Traitez-les courtoisement, comme s'ils étaient
4221 co-responsables de vos paquets (ce qu'ils sont d'une certaine
4222 manière). Merci pour votre indulgence envers des rapports de bogue
4223 succincts ou peu clairs ; faites de votre mieux pour éliminer le
4227 Les problèmes les plus couramment rencontrés par les porteurs sont
4228 causés par des erreurs de mise en paquet dans le paquet source. Voici
4229 un pense-bête pour les choses auxquelles vous devez être
4231 <enumlist numeration="arabic">
4234 Vérifiez que les champs <tt>Build-Depends</tt> et
4235 <tt>Build-Depends-Indep</tt> du fichier <file>debian/control</file>
4236 sont corrects. Le meilleur moyen de le vérifier est d'utiliser le
4237 paquet <package>debootstrap</package> pour créer un environnement
4238 <em>unstable</em> <em>chrooté</em> (voir <ref
4239 id="debootstrap">). Dans cet environnement <em>chrooté</em>, il
4240 faudra installer le paquet <package>build-essential</package> et
4241 tous les paquets mentionnés dans les champs <tt>Build-Depends</tt>
4242 et <tt>Build-Depends-Indep</tt>. Ensuite, vous essayerez de
4243 fabriquer votre paquet dans cet environnement. Ces étapes peuvent
4244 être automatisées en utilisant le programme <prgn>pbuilder</prgn>
4245 qui est fourni par le paquet de même nom (voir <ref
4249 Si vous n'arrivez pas à installer un environnement
4250 <em>chrooté</em>, <prgn>dpkg-depcheck</prgn> pourra peut-être vous
4251 aider (voir <ref id="dpkg-depcheck">).
4254 Consultez la <url id="&url-debian-policy;" name="charte Debian">
4255 pour en savoir plus sur les dépendances de fabrication.
4260 Ne choisissez pas d'autres valeurs que <em>all</em> ou <em>any</em>
4261 pour le champ architecture sans avoir de bonnes raisons pour le
4262 faire. Trop souvent, les développeurs ne respectent pas les
4263 instructions de la <url id="&url-debian-policy;" name="charte
4264 Debian">. Choisir la valeur « i386 » est la plupart du
4270 Vérifiez que votre paquet source est bon. Faites <tt>dpkg-source -x
4271 <var>paquet</var>.dsc</tt> pour vous assurer que le paquet se
4272 décompresse correctement. En utilisant le résultat de ce test,
4273 construisez votre paquet binaire à l'aide de la commande
4274 <prgn>dpkg-buildpackage</prgn>.
4279 Vérifiez que les fichiers <file>debian/files</file> et
4280 <file>debian/substvars</file> ne sont pas dans votre paquet
4281 source. Ils doivent être effacés par la cible <em>clean</em> de
4282 <file>debian/rules</file>.
4287 Assurez-vous que vous ne vous appuyez pas sur des éléments de
4288 configuration ou des logiciels installés ou modifiés
4289 localement. Par exemple, vous ne devriez jamais appeler des
4290 programmes du répertoire <file>/usr/local/bin</file> ou de
4291 répertoires équivalents. Essayez de ne pas vous appuyer sur des
4292 logiciels configurés de manière spéciale. Essayez de construire
4293 votre paquet sur une autre machine, même s'il s'agit de la même
4299 Ne vous appuyez pas sur une installation préexistante de votre
4300 paquet (un sous-cas de la remarque précédente).
4305 Si possible, ne vous appuyez pas sur une particularité présente
4306 dans un compilateur précis ou dans une certaine version d'un
4307 compilateur. Si vous ne pouvez pas faire autrement, assurez-vous
4308 que les dépendances de fabrication reflètent bien cette
4309 restriction. Dans ce cas, vous cherchez sûrement les problèmes car
4310 quelques architectures pourraient choisir un compilateur différent.
4315 Vérifiez que votre fichier <file>debian/rules</file> distingue les
4316 cibles <em>binary-arch</em> et <em>binary-indep</em> comme l'exige
4317 la charte Debian. Vérifiez que ces cibles sont indépendantes l'une
4318 de l'autre, c'est-à-dire, qu'il n'est pas nécessaire d'invoquer
4319 l'une de ces cibles avant d'invoquer l'autre. Pour vérifier cela,
4320 essayez d'exécuter <tt>dpkg-buildpackage -B</tt>.
4326 <sect1 id="porter-guidelines">
4328 Instructions pour les mises à jour des porteurs
4331 Si le paquet se construit tel quel sur l'architecture que vous visez,
4332 vous avez de la chance et votre travail est facile. Cette section
4333 s'applique dans ce cas ; elle décrit comment construire et
4334 installer correctement votre paquet binaire dans l'archive Debian. Si
4335 vous devez modifier le paquet pour le rendre compilable sur votre
4336 architecture cible vous devez faire une mise à jour des sources,
4337 consultez la section <ref id="nmu-guidelines">.
4340 Pour un envoi de portage, ne faites pas de changement dans les
4341 sources. Vous n'avez pas besoin de modifier les fichiers du paquet
4342 source (cela inclut le fichier <file>debian/changelog</file>).
4345 La manière d'invoquer <prgn>dpkg-buildpackage</prgn> est la
4346 suivante : <tt>dpkg-buildpackage -B
4347 -m<var>adresse-porteur</var></tt>. Bien sûr, remplacez
4348 <var>adresse-porteur</var> par votre adresse électronique. Cette
4349 commande construira les parties du paquet qui dépendent de
4350 l'architecture, en utilisant la cible <em>binary-arch</em> de
4351 <file>debian/rules</file>.
4354 Si vous travaillez sur une machine Debian pour vos efforts de portage
4355 et que vous devez signer votre envoi localement pour son acceptation
4356 dans l'archive, vous pouvez exécuter <prgn>debsign</prgn> sur votre
4357 fichier <file>.changes</file> pour qu'il soit signé de manière commode
4358 ou utilisez le mode de signature à distance de <prgn>dpkg-sig</prgn>.
4360 <sect2 id="binary-only-nmu">
4362 Mises à jour indépendantes binaires ou recompilations
4365 Parfois, l'envoi du portage initial pose problème car l'environnement
4366 dans lequel le paquet a été construit n'était pas bon (bibliothèques
4367 plus à jour ou obsolètes, mauvais compilateur, etc.). Il se peut que
4368 vous ayez à le recompiler dans un environnement mis à
4369 jour. Cependant, dans ce cas, vous devez changer le numéro de version
4370 pour que les mauvais anciens paquets soient remplacés dans l'archive
4371 Debian (<prgn>katie</prgn> refuse d'installer de nouveaux paquets
4372 s'ils n'ont pas un numéro de version supérieur à celui actuellement
4376 Vous devez vous assurer que votre mise à jour indépendante binaire ne
4377 rend pas le paquet non installable. Cela peut arriver si un paquet
4378 source génère des paquets dépendants et indépendants de
4379 l'architecture qui dépendent les uns des autres <em>via</em>
4383 Malgré les modifications nécessaires du changelog, ce type de mise à
4384 jour reste une mise à jour indépendante binaire — il n'est
4385 pas nécessaire de reconsidérer le statut des paquets binaires des
4386 autres architectures pour les marquer périmés ou à recompiler.
4389 Ces recompilations nécessitent des numéros de version
4390 « magiques » pour que le système de maintenance de
4391 l'archive comprenne que, bien qu'il y ait une nouvelle version, il
4392 n'y a pas eu de modification des sources. Si vous ne faites pas cela
4393 correctement, les administrateurs de l'archive rejetteront votre mise
4394 à jour (car il n'y aura pas de code source associé).
4397 La « magie » d'une mise à jour indépendante par
4398 recompilation uniquement est déclenchée par l'utilisation d'un
4399 suffixe ajouté au numéro de version du paquet de la forme
4400 b<numéro>. Par exemple, si la dernière version que vous avez
4401 recompilée était la version 2.9.3, votre mise à jour indépendante
4402 aura le numéro de version 2.9-3+b1. Si la dernière version était
4403 3.4+b1 (i.e. un paquet natif avec une précédente mise à jour
4404 indépendante par recompilation), votre mise à jour indépendant aura
4405 le numéro de version 3.4+b2. <footnote><p>Par le passé, de telles
4406 mises à jour indépendantes utilisaient le numéro de troisième niveau
4407 de la partie Debian de la révision pour dénoter l'état de
4408 recompilation uniquement ; cependant, cette syntaxe était
4409 ambigüe pour les paquets natifs et ne permettait pas un ordre correct
4410 des mises à jour indépendantes par recompilation uniquement, des
4411 mises à jour indépendantes de source et des mises à jour
4412 indépendantes de sécurité sur le même paquet et elle a donc été
4413 abandonnée en faveur de cette nouvelle syntaxe.</p></footnote>
4416 De manière similaire aux envois du porteur initial, la façon correcte
4417 d'invoquer <prgn>dpkg-buildpackage</prgn> est <tt>dpkg-buildpackage
4418 -B</tt> pour ne construire que les parties dépendant de
4419 l'architecture du paquet.
4422 <sect2 id="source-nmu-when-porter">
4424 Quand faire une mise à jour indépendante source pour un
4428 Les porteurs qui font des mises à jour indépendantes sources suivent
4429 généralement les instructions de la section <ref id="nmu"> tout comme
4430 les non-porteurs. Les délais d'attente sont cependant plus courts car
4431 les porteurs doivent manipuler un grand nombre de paquets. À nouveau,
4432 la situation diffère selon la distribution visée. Elle varie
4433 également selon que l'architecture est candidate pour inclusion dans
4434 la prochaine version stable ; les responsables de publication
4435 décident et annoncent quelles architectures sont candidates.
4438 Si vous êtes porteur et faites une mise à jour pour
4439 <em>unstable</em>, les instructions précédentes sont applicables à
4440 deux différences près. Tout d'abord, le temps d'attente raisonnable
4441 — délai entre le moment où vous envoyez un rapport au
4442 système de suivi des bogues et le moment où vous pouvez faire une
4443 mise à jour indépendante <em>(NMU)</em> — est de sept
4444 jours. Ce délai peut être raccourci si le problème est crucial et met
4445 l'effort de portage en difficulté : c'est à la discrétion de l'équipe
4446 de portage. (Souvenez-vous, il ne s'agit pas d'un règlement, mais de
4447 recommandations communément acceptées). Pour les envois de
4448 <em>stable</em> ou <em>testing</em>, veuillez tout d'abord vous
4449 coordonner avec l'équipe de publication appropriée.
4452 Deuxième différence, les porteurs qui font des mises à jour
4453 indépendantes sources doivent choisir une gravité <em>sérieuse</em>
4454 (i.e. <em>serious</em>) ou supérieure quand ils envoient leur rapport
4455 au système de suivi des bogues. Ceci assure qu'un paquet source
4456 unique permet de produire un paquet binaire pour chaque architecture
4457 supportée au moment de la sortie de la distribution. Il est très
4458 important d'avoir un paquet source et un paquet binaire pour toutes
4459 les architectures pour être conforme à plusieurs licences.
4462 Les porteurs doivent éviter d'implémenter des contournements pour des
4463 bogues de l'environnement de compilation, du noyau ou de la
4464 libc. Quelques fois, ces contournements sont inévitables. Si vous
4465 devez faire quelque chose de ce genre, marquez proprement vos
4466 modifications avec des <tt>#ifdef</tt> et documentez votre
4467 contournement pour que l'on sache le retirer une fois que le problème
4471 Les porteurs peuvent aussi avoir une adresse où ils publient le
4472 résultat de leur travail pendant le délai d'attente. Ainsi, d'autres
4473 personnes peuvent bénéficier du travail du porteur même pendant ce
4474 délai. Bien sûr, ces adresses n'ont rien d'officiel, alors soyez sur
4475 vos gardes si vous les utilisez.
4479 <sect1 id="porter-automation">
4481 Infrastructure de portage et automatisation
4484 Il existe une infrastructure et plusieurs outils pour faciliter
4485 l'automatisation du portage des paquets. Cette section contient un
4486 bref aperçu de cette automatisation et du portage de ces outils ;
4487 veuillez vous reporter à la documentation des paquets ou les
4488 références pour une information complète.
4492 Listes de diffusion et pages web
4495 Les pages web contenant l'état de chaque portage peuvent être
4496 trouvées à <url id="&url-debian-ports;">.
4499 Chaque portage de Debian possède sa propre liste de diffusion. La
4500 liste des listes de diffusion de portage peut être trouvée à <url
4501 id="&url-debian-port-lists;">. Ces listes sont utilisées pour
4502 coordonner les porteurs et pour mettre en relation les utilisateurs
4503 d'un portage donné avec les porteurs.
4508 Outils pour les porteurs
4511 Les descriptions de plusieurs outils de portage peuvent être trouvées
4512 dans les <ref id="tools-porting">.
4517 <package>buildd</package>
4520 Le système <package>buildd</package> est un système distribué pour la
4521 compilation d'une distribution. Il est habituellement utilisé en
4522 conjonction avec des automates de compilation ; ce sont des
4523 machines « esclaves » qui récupèrent des paquets sources et
4524 tentent de les compiler. Il est aussi possible d'interagir par
4525 courrier électronique avec ce système. Cette interface est utilisée
4526 par les porteurs pour récupérer un paquet source (en général, un
4527 paquet qui ne peut être compilé automatiquement) et travailler
4531 <package>buildd</package> n'est pas disponible sous forme de
4532 paquet ; pourtant, la plupart des équipes de porteurs
4533 l'utilisent aujourd'hui ou ont prévu de l'utiliser bientôt. L'outil
4534 de construction automatisé réel est dans le paquet
4535 <package>sbuild</package>, voir la description dans <ref
4536 id="sbuild">. Le système <package>buildd</package> regroupe également
4537 un ensemble de composants très utiles, continuellement utilisés, mais
4538 non encore mis en paquet, tels que <prgn>andrea</prgn> et
4539 <prgn>wanna-build</prgn>.
4542 Une partie des informations produites par <package>buildd</package>
4543 — utiles pour les porteurs — est disponible sur
4544 la toile à l'adresse <url id="&url-buildd;">. Ces informations
4545 incluent les résultats produits toutes les nuits par
4546 <prgn>andrea</prgn> (dépendances des sources) et
4547 <prgn>quinn-diff</prgn> (paquets à recompiler).
4550 Nous sommes très fiers de ce système car il a de nombreux usages
4551 potentiels. Des groupes de développeurs indépendants peuvent utiliser
4552 ce système pour créer différentes saveurs de Debian — qui
4553 peuvent être ou ne pas être intéressantes pour tous (par exemple, une
4554 version de Debian compilée avec des vérifications relatives à
4555 <prgn>gcc</prgn>). Ce système nous permettra aussi de recompiler
4556 rapidement toute une distribution.
4559 Les administrateurs des buildds pour chaque architecture peuvent être
4560 contactés à l'adresse électronique $arch@buildd.debian.org.
4564 <sect1 id="packages-arch-specific">
4566 Quand votre paquet <em>n'est pas</em> portable
4569 Certains paquets ont encore des problèmes pour être construits et/ou
4570 pour fonctionner sur certaines des architectures prises en charge par
4571 Debian et ne peuvent pas du tout être portés, ou pas dans un laps de
4572 temps raisonnable. Un exemple est un paquet qui est spécifique SGVA
4573 (i386 seulement) ou qui utilise des fonctionnalités spécifiques au
4574 matériel qui ne sont pas gérées sur toutes les architectures.
4577 Pour éviter que des paquets cassés soient envoyés dans l'archive et
4578 qu'ils fassent perdre du temps des buildd, vous devez faire plusieurs
4585 Tout d'abord, assurez-vous que votre paquet <em>échoue</em> à la
4586 compilation sur les architectures qu'il ne gère pas. Il y a
4587 plusieurs moyens de faire cela. Le moyen préféré est d'avoir une
4588 petite suite de tests pendant la construction qui testera la
4589 fonctionnalité et qui échouera si cela ne fonctionne pas. C'est de
4590 toute façon une bonne idée et empêchera des (certains) envois
4591 cassés pour toutes les architectures, et cela permettra également
4592 au paquet d'être construit dès que la fonctionnalité nécessaire est
4596 De plus, si vous croyez que la liste des architectures gérées est
4597 plutôt constante, vous devriez changer « any » en une
4598 liste des architectures gérées dans le fichier
4599 <file>debian/control</file>. Ainsi, la construction échouera
4600 également et l'indiquera à un lecteur humain sans vraiment essayer.
4605 Pour empêcher les compilateurs automatiques de tenter sans raison
4606 de construire votre paquet, il doit être inclus dans
4607 <file>packages-arch-specific</file>, une liste utilisée par le
4608 script <prgn>wanna-build</prgn>. La version actuelle est disponible
4610 id="http://cvs.debian.org/srcdep/Packages-arch-specific?cvsroot=dak"> ;
4611 veuillez consulter le début du fichier pour savoir qui contacter
4618 Veuillez noter qu'il est insuffisant de simplement ajouter votre
4619 paquet à Packages-arch-specific sans le faire également échouer lors
4620 de compilation sur les architectures non gérées : un porteur ou
4621 toute autre personne essayant de construire votre paquet peut
4622 accidentellement l'envoyer sans remarquer qu'il ne fonctionne pas. Si
4623 dans le passé, certains paquets binaires ont été envoyés pour des
4624 architectures non gérées, demandez leur suppression en remplissant un
4625 bogue sur <package>ftp.debian.org</package>.
4631 Mise à jour indépendante
4634 Dans certaines circonstances, il est nécessaire qu'une personne autre
4635 que le responsable d'un paquet fasse une mise à jour de ce paquet. Ce
4636 type de mise à jour est désigné en anglais par l'expression
4637 <em>non-maintainer upload (NMU)</em>. Dans le présent document, nous
4638 traduisons librement cette expression par « mise à jour
4639 indépendante ».
4642 Cette section ne traite que des mises à jour indépendantes de source,
4643 c.-à-d., les mises à jour qui envoient une nouvelle version d'un
4644 paquet. Pour les mises à jour indépendantes par des porteurs ou des
4645 membres de la QA, veuillez consulter <ref id="binary-only-nmu">. Si un
4646 buildd construit et envoie un paquet, cela est également à strictement
4647 parler une NMU binaire. Veuillez consulter <ref id="buildd"> pour plus
4651 La raison principale pour laquelle une mise à jour indépendante est
4652 réalisée est quand un développeur a besoin de corriger le paquet d'un
4653 autre développeur pour résoudre des problèmes sérieux ou des bogues
4654 paralysants ou quand le responsable d'un paquet ne peut pas fournir une
4655 correction dans un délai raisonnable.
4658 Tout d'abord, il est capital que ces mises à jour indépendantes soient
4659 aussi peu intrusives que possible. Ne faites pas de ménage, ne modifiez
4660 pas le nom des modules ou des fichiers, ne déplacez pas les
4661 répertoires ; plus généralement, ne corrigez pas ce qui n'est pas
4662 cassé. Faites un correctif aussi petit que possible. Si certaines
4663 choses froissent votre sens de l'esthétique, parlez-en au responsable
4664 du paquet, au responsable amont ou soumettez un rapport de
4665 bogue. Quoiqu'il en soit, les changements esthétiques <em>ne doivent
4666 pas</em> être effectués lors d'une mise à jour indépendante.
4669 Et souvenez-vous du Serment d'Hippocrate « Par dessus tout,
4670 ne pas faire de mal ». Il est préférable de laisser un paquet avec
4671 un bogue ouvert grave plutôt qu'appliquer un correctif non fonctionnel
4672 ou un correctif qui cache le bogue sans le résoudre.
4674 <sect1 id="nmu-guidelines">
4676 Comment faire une mise à jour indépendante ?
4679 Les mises à jour indépendantes qui corrigent des bogues de gravité
4680 importante, sérieuse et plus élevée sont encouragées et
4681 acceptées. Vous devriez vous efforcer de contacter le responsable
4682 actuel du paquet : il est peut-être sur le point d'envoyer un
4683 correctif pour le problème ou il a peut-être une meilleure solution.
4686 Les mises à jour indépendantes doivent être réalisées pour assister un
4687 responsable de paquet à résoudre des bogues. Les responsables
4688 devraient être reconnaissants pour cette aide et les personnes faisant
4689 la mise à jour indépendante devraient respecter les décisions du
4690 responsable et tenter d'aider personnellement le responsable dans son
4694 Une mise à jour indépendante devrait suivre toutes les conventions
4695 décrites dans cette section. Pour un envoi vers <em>testing</em> ou
4696 <em>unstable</em>, l'ordre suivant des étapes est recommandé :
4702 Vérifiez que les bogues du paquet qui devraient être corrigés par
4703 la mise à jour indépendante sont bien référencés dans le système de
4704 suivi des bogues. S'ils n'y sont pas, faites des rapports de bogue
4710 Attendez la réponse du responsable quelques jours. Si vous
4711 n'obtenez aucune réponse, vous pouvez l'aider en lui envoyant le
4712 correctif qui corrige le bogue. N'oubliez pas de marquer le bogue
4713 avec le mot-clé « patch ».
4718 Patientez quelques jours. Si vous n'avez toujours aucune réponse du
4719 responsable, envoyez-lui un courrier annonçant votre intention
4720 d'effectuer une mise à jour indépendante du paquet. Préparez la NMU
4721 comme décrit dans cette section et testez-la soigneusement sur
4722 votre machine (cf. <ref id="sanitycheck">). Re-vérifiez que votre
4723 correctif n'a aucun effet de bord inattendu. Assurez-vous que votre
4724 correctif est aussi minimaliste et non intrusif que possible.
4729 Envoyez votre paquet à incoming dans <file>DELAYED/7-day</file>
4730 (cf. <ref id="delayed-incoming">), envoyez le correctif final au
4731 responsable par le BTS et expliquez-lui qu'il a 7 jours pour réagir
4732 s'il veut annuler la NMU.
4737 Suivez ce qui se passe, vous êtes responsable pour tout bogue que
4738 vous auriez introduit avec votre NMU. Vous devriez probablement
4739 utiliser le <ref id="pkg-tracking-system"> (PTS) pour vous tenir
4740 informé de l'état du paquet après votre NMU.
4746 Parfois, le responsable de version ou un groupe organisé de
4747 développeurs peut annoncer une certaine période de temps au cours de
4748 laquelle les règles de mise à jour indépendante seront plus
4749 souples. Ceci implique habituellement une période plus courte
4750 d'attente avant d'envoyer des correctifs et une période de délai plus
4751 courte. Il est important de noter que, même au cours de ces
4752 « chasses aux bogues », la personne désirant faire la mise à
4753 jour indépendante doit remplir des bogues et contacter en premier le
4754 développeur, et ensuite seulement passer à l'action. Veuillez vous
4755 reporter à <ref id="qa-bsp"> pour des détails.
4758 Pour la distribution <em>testing</em>, les règles peuvent être
4759 changées par les responsables de publication. Veuillez porter une
4760 attention spéciale au fait que le moyen habituel pour un paquet
4761 d'entrer dans <em>testing</em> est de passer par <em>unstable</em>.
4764 Pour la distribution <em>stable</em>, veuillez y apporter une
4765 attention supplémentaire. Bien sûr, les responsables de publication
4766 peuvent également modifier les règles ici. Veuillez vérifier avant
4767 votre envoi que tous vos changements sont acceptables pour inclusion
4768 dans la prochaine version stable par le responsable de publication.
4771 Quand un bogue de sécurité est détecté, l'équipe de sécurité peut
4772 effectuer une mise à jour indépendante en utilisant ses propres
4773 règles. Veuillez vous référer à <ref id="bug-security"> pour plus
4777 Pour les différences concernant les mises à jour indépendantes par les
4778 porteurs, veuillez voir <ref id="source-nmu-when-porter">.
4781 Bien sûr, il est toujours possible de s'accorder avec un responsable
4782 pour des règles spéciales (comme quand le responsable demande
4783 « merci d'envoyer le correctif directement pour moi et pas de
4784 diff nécessaire »).
4787 <sect1 id="nmu-version">
4789 Numéro de version pour les mises à jour indépendantes
4792 Chaque fois que vous modifiez un paquet, le numéro de version de ce
4793 paquet doit changer, même pour la plus triviale des
4794 modifications. Notre système de gestion de paquets s'appuie sur ces
4798 Si vous faites une mise à jour indépendante <em>(NMU)</em>, vous devez
4799 ajouter un numéro de version mineur à la partie
4800 <var>révision-debian</var> du numéro de version (la partie qui suit le
4801 dernier trait d'union). Ce numéro supplémentaire débutera à
4802 « 1 ». Prenons pour exemple le paquet « foo » qui
4803 porte le numéro de version 1.1-3. Dans l'archive, le fichier de
4804 contrôle du paquet source serait <file>foo_1.1-3.dsc</file>. La
4805 version amont est « 1.1 » et la révision Debian est
4806 « 3 ». La mise à jour indépendante suivante ajouterait le
4807 numéro de version mineur « .1 » au numéro de révision
4808 Debian ; le nouveau fichier de contrôle du paquet source serait
4809 alors <file>foo_1.1-3.1.dsc</file>.
4812 Le numéro de révision mineur est nécessaire pour éviter de prendre un
4813 numéro de version au responsable officiel du paquet, ce qui pourrait
4814 perturber son travail. Cela a aussi l'avantage de montrer clairement
4815 que le paquet n'a pas été livré par le responsable officiel.
4818 S'il n'y a pas de partie <var>révision-debian</var> dans le numéro de
4819 version du paquet, il faut en créer une en démarrant à
4820 « 0.1 ». S'il est absolument nécessaire qu'une personne qui
4821 n'est pas responsable d'un paquet fasse une livraison basée sur une
4822 nouvelle version amont, cette personne doit choisir « 0.1 »
4823 comme numéro de révision Debian. Le responsable du paquet doit, lui,
4824 démarrer sa numérotation à « 1 ».
4827 Si vous envoyez un paquet vers <em>testing</em> ou <em>stable</em>,
4828 vous devrez parfois créer une branche (« fork ») dans
4829 l'arbre de numéro des version. Pour cela, vous pouvez utiliser des
4830 numéros de version comme 1.1-3sarge0.1.
4833 <sect1 id="nmu-changelog">
4835 Les mises à jour indépendantes sources doivent être mentionnées dans
4836 le fichier changelog
4839 Une personne qui fait une mise à jour indépendante source doit ajouter
4840 une entrée dans le fichier <file>changelog</file> qui indique les
4841 bogues corrigés et qui précise pourquoi cette mise à jour était
4842 nécessaire. Cette entrée comportera l'adresse de la personne ayant
4843 fait l'envoi ainsi que la version livrée.
4846 Par convention, dans le cas d'une mise à jour indépendante source
4847 <em>(NMU)</em>, l'entrée du fichier changelog débute par la
4850 * Non-maintainer upload
4854 <sect1 id="nmu-patch">
4856 Mise à jour indépendante source et système de suivi des bogues
4859 Un développeur qui n'est pas responsable d'un paquet doit faire aussi
4860 peu de modifications que possible et doit toujours envoyer ses
4861 modifications au système de suivi des bogues au format diff unifié
4865 Et si vous recompilez simplement le paquet ? Si vous avez
4866 simplement besoin de recompiler le paquet pour une seule architecture,
4867 vous pouvez faire une NMU binaire seulement comme décrit dans <ref
4868 id="binary-only-nmu"> qui ne nécessite pas qu'un correctif soit
4869 envoyé. Si vous désirez que le paquet soit recompilé pour toutes les
4870 architectures, vous devez alors faire une NMU source et vous devrez
4871 envoyer un correctif.
4874 Si la mise à jour indépendante source (<em>source NMU</em>) corrige
4875 des bogues, ceux-ci doivent être marqués <em>fixed</em> (corrigé) dans
4876 le système de suivi des bogues plutôt que clos. Par convention, seul
4877 le responsable du paquet et la personne qui a ouvert le rapport de
4878 bogue ferment les rapports. Heureusement, le système d'archivage
4879 Debian reconnaît les mises à jours indépendantes et positionne
4880 correctement le statut des bogues à <em>fixed</em> si la personne qui
4881 fait la mise à jour a listé tous les bogues dans le fichier changelog
4882 en utilisant la syntaxe <tt>Closes: bug#<var>nnnnn</var></tt> (voir
4883 <ref id="upload-bugfix"> pour en savoir plus sur la fermeture de bogue
4884 par le fichier <file>changelog</file>). Ce passage au statut
4885 <em>fixed</em> assure que chacun sait que le bogue est corrigé par une
4886 mise à jour indépendante tout en laissant le rapport de bogue ouvert
4887 jusqu'à ce que le responsable du paquet incorpore les modifications de
4888 cette mise à jour dans la version officielle du paquet.
4891 Après avoir fait une mise à jour indépendante, il vous faudra aussi
4892 envoyer l'information aux bogues existants que vous avez corrigés
4893 par votre NMU en incluant le diff unifié. Historiquement, c'était une
4894 habitude de créer un
4895 nouveau rapport de bogue et inclure un correctif comprenant toutes les
4896 modifications que vous avez réalisées. Le responsable officiel pourra
4897 choisir d'appliquer le correctif, il pourra aussi employer une autre
4898 méthode pour régler le problème. Certains bogues sont corrigés dans la
4899 version amont, ce qui est une bonne raison pour annuler les
4900 modifications d'une mise à jour indépendante. Si le responsable
4901 choisit de mettre à jour le paquet plutôt que d'utiliser les
4902 correctifs de la mise à jour indépendante, il devra s'assurer que
4903 cette nouvelle version corrige effectivement chacun des bogues
4904 corrigés dans la mise à jour indépendante.
4907 De plus, le responsable officiel devrait <em>toujours</em> conserver
4908 les entrées documentant une mise à jour indépendante dans le fichier
4909 <file>changelog</file> — et bien sûr, également conserver les
4910 modifications. Si vous annulez certaines des modifications, veuillez
4911 réouvrir les rapports de bogue correspondants.
4914 <sect1 id="nmu-build">
4916 Fabriquer une mise à jour indépendante source
4919 Les paquets faisant l'objet d'une mise à jour indépendante source sont
4920 construits comme les autres. Sélectionnez une distribution en
4921 utilisant les règles décrites dans la section <ref id="distribution">
4922 en suivant toutes les instructions de la section <ref id="upload">.
4925 Vérifiez que vous n'avez pas modifié la valeur du champ
4926 <tt>maintainer</tt> dans le fichier <file>debian/control</file>. Votre
4927 nom, mentionné dans l'entrée du fichier <file>debian/changelog</file>
4928 concernant la mise à jour, sera utilisé pour signer le fichier
4929 <file>.changes</file>.
4932 <sect1 id="ack-nmu">
4934 Valider une mise à jour indépendante
4937 Si l'un de vos paquets a subi une mise à jour indépendante, vous devez
4938 récupérer les changements dans votre copie des sources. Ceci est aisé,
4939 vous avez simplement à appliquer le correctif qui vous a été
4940 envoyé. Une fois ceci fait, vous devez fermer les bogues qui ont été
4941 marqués comme fixés par la mise à jour. Le moyen le plus simple est
4942 d'utiliser l'option <tt>-v</tt> de <prgn>dpkg-buildpackage</prgn> car
4943 cela vous permet d'inclure tous les changements depuis votre dernier
4944 envoi de responsable. Sinon, vous pouvez soit les fermer manuellement
4945 en envoyant les courriers nécessaires au BTS soit ajouter les
4946 <tt>closes: #nnnn</tt> nécessaires dans l'entrée du changelog de votre
4950 Dans tous les cas, vous ne devriez pas être perturbé par la NMU. Une
4951 NMU n'est pas une attaque personnelle contre le responsable. C'est une
4952 preuve que le paquet est important pour quelqu'un et qu'il est
4953 désireux de vous aider dans votre travail, vous devriez donc lui être
4954 reconnaissant. Vous pouvez également lui demander s'il serait
4955 intéressé pour vous aider sur une base plus régulière comme
4956 co-responsable ou responsable de secours (cf. <ref
4957 id="collaborative-maint">).
4960 <sect1 id="nmu-vs-qa">
4962 Mise à jour indépendante ou envoi de QA ?
4965 Sauf si vous savez que le responsable est toujours actif, il est sage
4966 de vérifier le paquet pour voir s'il n'a pas été abandonné. La liste
4967 actuelle des paquets orphelins pour lesquels le champ responsable n'a
4968 pas été positionné correctement est disponible à <url
4969 id="&url-debian-qa-orphaned;">. Si vous effectuez une mise à jour
4970 indépendante sur un paquet incorrectement orphelin, veuillez
4971 positionner le responsable à « Debian QA Group
4972 <packages@qa.debian.org> ».
4975 <sect1 id="nmu-who">
4977 Qui peut faire une mise à jour indépendante ?
4980 Seuls les responsables Debian officiels peuvent faire des mises à jour
4981 indépendantes binaire ou source. Un responsable officiel est une
4982 personne dont la clé est dans le porte-clés Debian. Tout autre
4983 personne est toutefois invitée à télécharger les paquets sources pour
4984 corriger des bogues ; au lieu de faire des mises à jour
4985 indépendantes, ils pourront soumettre les correctifs qui le méritent
4986 au système de suivi des bogues. Les responsables apprécient presque
4987 toujours les correctifs et les rapports de bogue soignés.
4990 <sect1 id="nmu-terms">
4995 Deux nouvelles expressions sont introduites dans cette section :
4996 « mise à jour indépendante source » et « mise à jour
4997 indépendante binaire ». Ces deux expressions ont une
4998 signification technique précise dans ce document. Elles correspondent
4999 toutes deux au même type d'activité ; elles impliquent toutes
5000 deux qu'une personne fait une mise à jour d'un paquet alors qu'elle
5001 n'est pas officiellement responsable de ce paquet. C'est pourquoi nous
5002 qualifions ces mises à jours
5003 d'<em>indépendantes</em><footnote><p>Contrairement à ce que pourrait
5004 laisser entendre cette traduction de <em>non-maintainer upload</em>,
5005 il n'est pas question d'agir sans prévenir le responsable au préalable
5006 (voir <ref id="nmu-guidelines">).</p></footnote>.
5009 Une mise à jour indépendante source est une livraison de paquet faite
5010 par une personne qui n'est pas le responsable officiel de ce paquet
5011 avec pour objectif de corriger un bogue dans le paquet. Une mise à
5012 jour indépendante source implique toujours une modification des
5013 sources du paquet, même s'il ne s'agit que d'un changement dans le
5014 fichier <file>debian/changelog</file>. Ce changement peut tout aussi
5015 bien concerner la partie amont du source que la partie spécifique à
5016 Debian. Une mise à jour indépendante source peut aussi inclure des
5017 paquets spécifiques à une architecture tout comme un fichier
5018 <em>diff</em> modifié.
5021 Une mise à jour indépendante binaire est constituée par la
5022 recompilation et l'archivage d'un paquet pour une architecture
5023 donnée. Il s'agit souvent du résultat d'un effort de portage. Une mise
5024 à jour indépendante binaire est la livraison d'un paquet compilé
5025 (souvent pour une autre architecture) à condition que cette
5026 compilation n'ait pas nécessité de modifications des sources. Dans de
5027 nombreux cas, les porteurs sont obligés de modifier les sources pour
5028 les rendre compilables sur leur architecture cible ; il s'agira
5029 alors d'une mise à jour indépendante source et non d'une mise à jour
5030 indépendante binaire. Comme vous pouvez le remarquer, nous ne faisons
5031 pas de distinction entre les mises à jour indépendantes faites par des
5032 porteurs et les autres mises à jour indépendantes.
5035 Les mises à jour indépendantes sources et binaires sont toutes deux
5036 couvertes par l'expression « mise à jour indépendante »
5037 (NMU<footnote><p>Non-maintainer upload</p></footnote>). Pourtant, cela
5038 conduit souvent à des confusions car beaucoup associent « mise à
5039 jour indépendante » et « mise à jour indépendante
5040 source ». Il faut donc rester vigilant : utilisez toujours
5041 « mise à jour indépendante binaire » ou «NMU binaire »
5042 pour les mises à jour indépendantes de binaires seuls.
5046 <sect id="collaborative-maint">
5048 Maintenance collective
5051 « Maintenance collective » est un terme décrivant le partage
5052 des devoirs de la maintenance d'un paquet Debian par plusieurs
5053 personnes. Cette collaboration est presque toujours une bonne idée car
5054 il en résulte généralement une meilleure qualité et un temps de
5055 correction de bogues plus petit. Il est fortement recommandé que les
5056 paquets de priorité <tt>Standard</tt> ou qui font partie de la base
5057 aient des co-responsables.
5060 Habituellement, il y a un responsable principal et un ou plusieurs
5061 co-responsables. Le responsable principal est la personne dont le nom
5062 est indiqué dans le champ <tt>Maintainer</tt> du fichier
5063 <file>debian/control</file>. Les co-responsables sont tous les autres
5067 Dans sa forme la plus simple, ajouter un nouveau co-responsable est
5072 Donner au co-responsable un accès aux sources à partir desquelles
5073 vous construisez le paquet. Habituellement, cela implique que vous
5074 utilisiez un système de contrôle de version comme <prgn>CVS</prgn>
5075 ou <prgn>Subversion</prgn>.
5080 Ajouter les nom et adresse correctes du co-responsable au champ
5081 <tt>Uploaders</tt> dans la partie globale du fichier
5082 <file>debian/control</file>.
5084 Uploaders: John Buzz <jbuzz@debian.org>, Adam Rex <arex@debian.org>
5090 En utilisant le PTS (<ref id="pkg-tracking-system">), les
5091 co-responsables devraient s'inscrire eux-mêmes aux paquets sources
5098 La maintenance collective peut souvent être facilitée par l'utilisation
5099 d'outils sur Alioth (voir <ref id="alioth">).
5104 La distribution <em>testing</em>
5108 <sect1 id="testing-basics">
5113 Les paquets sont habituellement installés dans la distribution
5114 <em>testing</em> après avoir atteint un certain degré de test dans
5118 Ils doivent être en synchronisation pour toutes les architectures et
5119 ne doivent pas avoir de dépendances qui les rendraient non
5120 installables ; ils doivent également n'avoir aucun bogue bloquant
5121 l'inclusion du paquet dans une version stable
5122 (« release-critical ») au moment où ils sont installés dans
5123 <em>testing</em>. Ainsi, <em>testing</em> devrait toujours être prête
5124 pour être une version candidate stable. Veuillez voir ci-dessous pour
5128 <sect1 id="testing-unstable">
5130 Mises à jour depuis <em>unstable</em>
5133 Les scripts qui mettent à jour la distribution <em>testing</em> sont
5134 exécutés chaque jour après l'installation des paquets mis à
5135 jour ; ces scripts sont appelés <em>britney</em>. Ils fabriquent
5136 les fichiers <file>Packages</file> pour la distribution
5137 <em>testing</em>, mais ils le font d'une manière intelligente pour
5138 éviter toute incohérence et essayer de n'utiliser que des paquets sans
5142 L'inclusion d'un paquet d'<em>unstable</em> est soumise aux conditions
5147 Le paquet doit avoir été disponible dans <em>unstable</em> depuis
5148 2, 5 ou 10 jours selon le champ d'urgence de l'envoi (élevée,
5149 moyenne ou basse). Veuillez noter que cette urgence est
5150 « collante » (« sticky »), ce qui veut dire que
5151 l'envoi avec l'urgence la plus élevée depuis la précédente
5152 transition dans <em>testing</em> est prise en compte. Ces délais
5153 peuvent être doublés lors d'un gel de distribution, ou les
5154 transitions dans <em>testing</em> peuvent être complètement
5160 Il doit avoir autant ou moins de bogues empêchant l'intégration
5161 dans la distribution que la version actuellement disponible dans
5162 <em>testing</em> ;
5167 Il doit être disponible pour toutes les architectures pour
5168 lesquelles il a été auparavant construit. <ref id="madison"> peut
5169 être intéressant pour vérifier cette information ;
5174 Il ne doit pas casser les dépendances d'un paquet qui est déjà
5175 disponible dans <em>testing</em> ;
5180 Les paquets dont il dépend doivent soit être déjà disponibles dans
5181 <em>testing</em> soit être acceptés dans <em>testing</em> au même
5182 moment (et ils doivent remplir tous les critères nécessaires).
5188 Pour savoir si un paquet a progressé ou non dans <em>testing</em>,
5189 veuillez voir la sortie du script de <em>testing</em> sur la <url
5190 id="&url-testing-maint;" name="page web de la distribution testing">
5191 ou utilisez le programme <prgn>grep-excuses</prgn> inclus dans le
5192 paquet <package>devscripts</package>. Si vous voulez rester informé de
5193 la progression de vos paquets dans <em>testing</em>, vous pouvez
5194 facilement le mettre dans la <manref section="5" name="crontab">.
5197 Le fichier <file>update_excuses</file> ne donne pas toujours la raison
5198 précise pour laquelle un paquet est refusé ; on peut avoir à la
5199 chercher soi-même en regardant ce qui serait cassé avec l'inclusion du
5200 paquet. La <url id="&url-testing-maint;" name="page web de la
5201 distribution testing"> donne plus d'informations à propos des
5202 problèmes courants qui peuvent occasionner cela.
5205 Parfois, certains paquets n'entrent jamais dans <em>testing</em> parce
5206 que le jeu des inter-relations est trop compliqué et ne peut être
5207 résolu par le script. Voir ci-dessous pour des détails.
5210 Des analyses de dépendances plus avancées sont présentées sur <url
5211 id="http://bjorn.haxx.se/debian/"> — mais, attention, cette page
5212 affiche également les dépendances de construction qui ne sont pas
5213 considérées par britney.
5215 <sect2 id="outdated">
5220 Pour le script de migration dans <em>testing</em>,
5221 « désynchronisé » (<em>outdated</em> veut dire ceci :
5222 il y a différentes versions dans <em>unstable</em> pour les
5223 architectures de version (à l'exception des architectures dans
5224 fuckedarches ; fuckedarches est une liste des architectures qui
5225 ne suivent pas le rythme (dans update_out.py), mais actuellement
5226 cette liste est vide). « Désynchronisé » n'a rien à voir
5227 avec les architectures que le paquet fournit pour <em>testing</em>.
5230 Considérons cet exemple :
5235 ---------+-------+----
5241 Le paquet est désynchronisé pour alpha dans <em>unstable</em> et
5242 n'entrera pas dans <em>testing</em>. Supprimer foo de
5243 <em>testing</em> n'aiderait en rien, le paquet serait toujours
5244 désynchronisé pour alpha et ne se propagerait pas dans
5248 Cependant, si ftp-master supprime un paquet d'<em>unstable</em> (ici
5253 foo | alpha | arm | hurd-i386
5254 ---------+-------+-----+----------
5256 unstable | 2 | - | 1
5260 Dans ce cas, le paquet est synchronisé pour toutes les architectures
5261 de version dans <em>unstable</em> (et l'architecture supplémentaire
5262 hurd-i386 ne compte pas car ce n'est pas une architecture de
5266 Quelquefois, la question est soulevée pour savoir s'il est possible
5267 de permettre à des paquets de passer dans <em>testing</em> qui ne
5268 sont pas encore construits pour toutes les architectures :
5269 non. Simplement non. (Excepté si vous êtes responsable de glibc ou
5273 <sect2 id="removals">
5275 Suppressions de <em>testing</em>
5278 Parfois, un paquet est supprimé pour permettre l'inclusion d'un autre
5279 paquet : ceci ne se produit que pour permettre à un
5280 <em>autre</em> paquet d'entrer, ce dernier doit être prêt pour tous
5281 les autres critères. Considérons, par exemple, qu'un paquet
5282 <em>a</em> ne peut pas être installé avec la nouvelle version de
5283 <em>b</em> alors <em>a</em> peut être supprimé pour permettre
5284 l'entrée de <em>b</em>.
5287 Bien sûr, il existe une autre raison pour supprimer un paquet de
5288 <em>testing</em> : le paquet est trop bogué (et avoir un seul
5289 bogue RC est suffisant pour être dans cet état).
5292 De plus, si un paquet a été supprimé d'<em>unstable</em> et qu'aucun
5293 paquet de <em>testing</em> n'en dépend plus, il sera alors
5294 automatiquement supprimé.
5298 <sect2 id="circular">
5300 Dépendances circulaires
5303 Une situation qui n'est pas très bien gérée par britney est si un
5304 paquet <em>a</em> dépend de la nouvelle version d'un paquet
5305 <em>b</em> et vice versa.
5308 Voici un exemple :
5312 | testing | unstable
5313 --+-----------------+------------
5314 a | 1; dépend: b=1 | 2; dépend: b=2
5315 b | 1; dépend: a=1 | 2; dépend: a=2
5319 Aucun des paquets <em>a</em> et <em>b</em> ne sera considéré pour
5323 Actuellement, ceci nécessite un coup de pouce manuel de l'équipe de
5324 publication. Veuillez les contacter en envoyant un courrier
5325 électronique à debian-release@lists.debian.org si cela se produit
5326 pour l'un de vos paquets.
5331 Influence d'un paquet dans <em>testing</em>
5334 Généralement, l'état d'un paquet dans <em>testing</em> ne change rien
5335 pour la transition de la prochaine version d'<em>unstable</em> vers
5336 <em>testing</em>, avec deux exceptions : si le nombre de bogues
5337 RC du paquet est réduit, le paquet peut migrer même s'il a encore des
5338 bogues RC. La seconde exception est que si la version du paquet dans
5339 <em>testing</em> est désynchronisée entre les différentes
5340 architectures, alors toute architecture peut être mise à jour vers la
5341 version du paquet source ; cependant, cela ne peut se produire
5342 que si le paquet a été précédemment forcé, si l'architecture est dans
5343 fuckedarches ou s'il n'y avait pas du tout de paquet binaire de cette
5344 architecture présent dans <em>unstable</em> lors de la migration dans
5348 En résumé, cela veut dire : la seule influence qu'un paquet de
5349 <em>testing</em> a sur la nouvelle version du même paquet est que la
5350 nouvelle version peut rentrer plus facilement.
5353 <sect2 id="details">
5358 Si vous êtes intéressé par les détails, voici comment fonctionne
5362 Les paquets sont examinés pour savoir si ce sont des candidats
5363 valides. Cela donne le fichier « update excuses ». Les
5364 raisons les plus communes pour lesquelles un paquet n'est pas
5365 considéré sont la jeunesse du paquet, le nombre de bogues RC et la
5366 désynchronisation pour certaines architectures. Pour cette partie de britney,
5367 les responsables de version ont des marteaux de toute taille pour
5368 forcer britney à considérer un paquet. (Le gel de la base est
5369 également codé dans cette partie de britney.) (Il y a une chose
5370 semblable pour les mises à jour binaires pures, mais cela n'est pas
5371 décrit ici. Si vous êtes intéressé par cela, veuillez étudier
5372 attentivement le code.)
5375 Maintenant, la partie la plus complexe se produit : britney
5376 tente de mettre à jour <em>testing</em> avec des candidats
5377 valides ; en premier, chaque paquet individuellement, puis des
5378 groupes de plus en plus larges de paquets ensemble. Chaque tentative
5379 est acceptée si <em>testing</em> n'est pas moins non installable
5380 après la mise à jour qu'avant celle-ci. (Avant et après cette partie,
5381 certains coups de pouce (« hints ») sont traités ;
5382 mais, comme seuls les responsables de version peuvent positionner des
5383 coups de pouce, cela n'est probablement pas très important pour
5387 Si vous voulez voir plus de détails, vous pouvez le voir dans
5388 merkel:/org/ftp.debian.org/testing/update_out/ (ou dans
5389 ~aba/testing/update_out pour voir une configuration avec un fichier
5390 de paquets plus petit). Par le web, c'est à <url
5391 id="http://ftp-master.debian.org/testing/update_out_code/">.
5394 Les coups de pouce sont visibles sur <url
5395 id="http://ftp-master.debian.org/testing/hints/">.
5401 Mises à jour directes dans <em>testing</em>
5404 La distribution <em>testing</em> est peuplée avec des paquets en
5405 provenance d'<em>unstable</em> selon des règles expliquées
5406 ci-dessus. Cependant, dans certains cas, il est nécessaire d'envoyer
5407 des paquets construits seulement pour <em>testing</em>. Pour cela,
5408 vous pouvez envoyer vos paquets vers
5409 <em>testing-proposed-updates</em>.
5412 Souvenez-vous que les paquets envoyés là ne sont pas traités
5413 automatiquement, ils doivent passer entre les mains du responsable de
5414 distribution. Vous devez donc avoir une bonne raison pour les y
5415 envoyer. Pour savoir ce que représente une bonne raison aux yeux des
5416 responsables de distribution, vous devriez lire les instructions
5417 données qu'ils envoient régulièrement sur
5418 &email-debian-devel-announce;.
5421 Vous ne devriez pas envoyer un paquet à
5422 <em>testing-proposed-updates</em> quand vous pouvez le mettre à jour
5423 par <em>unstable</em>. Si vous ne pouvez faire autrement (par exemple,
5424 parce que vous avez une nouvelle version de développement dans
5425 <em>unstable</em>), vous pouvez utiliser cette facilité, mais il est
5426 recommandé de demander l'autorisation du responsable de distribution
5427 auparavant. Même si un paquet est gelé, des mises à jour par
5428 <em>unstable</em> sont possibles si l'envoi dans <em>unstable</em> ne
5429 tire pas de nouvelles dépendances.
5432 Les numéros de version sont habituellement choisis en ajoutant le nom
5433 de code de la distribution <em>testing</em> et un numéro incrémenté,
5434 comme 1.2sarge1 pour le premier envoi dans
5435 <em>testing-proposed-updates</em> du paquet en version 1.2.
5438 Veuillez vous assurer que vous n'oubliez aucun des éléments suivants
5439 lors de votre envoi :
5443 vérifiez que votre paquet doit vraiment aller dans
5444 <em>testing-proposed-updates</em> et ne peut pas passer par
5445 <em>unstable</em> ;
5450 vérifiez que vous n'incluez que le minimum de changements ;
5455 vérifiez que vous incluez une explication appropriée dans le
5461 vérifiez que vous avez bien indiqué <em>testing</em> ou
5462 <em>testing-proposed-updates</em> comme votre distribution
5468 vérifiez que vous avez construit et testé votre paquet dans
5469 <em>testing</em> et non dans <em>unstable</em> ;
5474 vérifiez que votre numéro de version est plus élevé que les
5475 versions de <em>testing</em> et de
5476 <em>testing-proposed-updates</em> et moins élevé que celle de
5477 <em>unstable</em> ;
5482 après l'envoi et la construction réussie sur toutes les
5483 plates-formes, contactez l'équipe de publication à
5484 &email-debian-release; et demandez-leur d'approuver votre envoi.
5492 Questions fréquemment posées
5498 Quels sont les bogues bloquant l'intégration dans la version stable
5499 et comment sont-ils comptés ?
5502 Tous les bogues de gravité assez élevée sont par défaut considérés
5503 comme bloquant l'intégration du paquet dans la version stable ;
5504 actuellement, ce sont les bogues critiques, graves et sérieux.
5507 Certains bogues sont supposés avoir un impact sur les chances que le
5508 paquet a d'être diffusé dans la version stable de Debian : en
5509 général, si un paquet a des bogues bloquants, il n'ira pas dans
5510 <em>testing</em> et par conséquent, ne pourra pas être diffusé dans
5514 Le compte des bogues d'<em>unstable</em> est effectué avec tous les
5515 bogues bloquants sans étiquette de version (comme <em>potato</em>,
5516 <em>woody</em>) ou avec une étiquette <em>sid</em> et également s'ils
5517 ne sont ni corrigés ou marqués avec <em>sarge-ignore</em>. Le compte
5518 des bogues de <em>testing</em> pour un paquet est considéré comme à
5519 peu près le nombre de bogues d'<em>unstable</em> lors du dernier
5520 pointage quand la version <em>testing</em> a été égale à la version
5524 Cela changera après la sortie de <em>Sarge</em> dès que nous aurons
5525 des versions dans le système de suivi des bogues.
5530 Comment est-ce que l'installation d'un paquet dans <em>testing</em>
5531 peut casser d'autres paquets ?
5534 La structure des archives de la distribution est faite de telle façon
5535 qu'elles ne peuvent contenir qu'une version d'un paquet ; un
5536 paquet est défini par son nom. Donc, quand le paquet source acmefoo
5537 est installé dans <em>testing</em> avec ses paquets binaires
5538 acme-foo-bin, acme-bar-bin, libacme-foo1 et libacme-foo-dev,
5539 l'ancienne version est supprimée.
5542 Cependant, l'ancienne version pouvait fournir à un paquet binaire un
5543 vieux soname d'une bibliothèque, comme libacme-foo0. Supprimer
5544 l'ancien acmefoo va supprimer libacme-foo0, ce qui va casser tout
5545 paquet qui en dépend.
5548 Évidemment, cela touche principalement des paquets qui fournissent
5549 des jeux changeant de paquets binaires dans différentes versions (par
5550 suite, principalement des bibliothèques). Cependant, cela va aussi
5551 toucher des paquets sur lesquels une dépendance versionnée a été
5552 déclarée du type ==, <= ou <<.
5555 Quand le jeu de paquets binaires fournis par un paquet source change
5556 de cette façon, tous les paquets qui dépendent des anciens binaires
5557 doivent être mis à jour pour dépendre de la nouvelle version à la
5558 place. Comme l'installation d'un tel paquet source dans
5559 <em>testing</em> casse tous les paquets qui en dépendent dans
5560 <em>testing</em>, une certaine attention doit y être portée :
5561 tous les paquets en dépendant doivent être mis à jour et prêts à être
5562 installés eux-même pour qu'ils ne cassent pas et, une fois que tout
5563 est prêt, une intervention manuelle du responsable de version ou d'un
5564 de ses assistants est normalement requise.
5567 Si vous avez des problèmes avec des groupes compliqués de paquets
5568 comme ceci, contactez debian-devel ou debian-release en demandant de
5575 <chapt id="best-pkging-practices">
5577 Les meilleurs pratiques pour la construction des paquets
5580 La qualité de Debian est principalement due à la <url
5581 id="&url-debian-policy;" name="charte Debian"> qui définit explicitement
5582 les obligations que tous les paquets doivent suivre. Mais c'est
5583 également grâce à une histoire partagée d'expériences qui va au-delà de
5584 la charte Debian, une accumulation d'années d'expérience pour la
5585 construction des paquets ; des développeurs de grand talent ont
5586 créé de bons outils qui vous aideront, vous, responsable Debian, à créer
5587 et maintenir d'excellents paquets.
5590 Ce chapitre fournit les meilleurs pratiques pour les développeurs
5591 Debian. Ce ne sont que des recommandations, non pas des obligations ou
5592 des règles. Ce sont seulement des astuces et conseils subjectifs et des
5593 liens collectés pour les développeurs Debian. Prenez et choisissez ce
5594 qui vous convient le mieux.
5596 <sect id="bpp-debian-rules">
5598 Les meilleures pratiques pour le fichier <file>debian/rules</file>
5601 Les recommandations suivantes s'appliquent au fichier
5602 <file>debian/rules</file>. Comme ce fichier contrôle le processus de
5603 compilation et qu'il sélectionne les fichiers inclus dans le paquet
5604 (directement ou indirectement), il s'agit habituellement du fichier sur
5605 lequel les responsables passent le plus de temps.
5607 <sect1 id="helper-scripts">
5612 La raison sous-jacente à l'utilisation des scripts d'aide dans le
5613 fichier <file>debian/rules</file> est que cela permet aux responsables
5614 d'utiliser et de partager une logique commune pour un grand nombre de
5615 paquets. Prenez, par exemple, la question de l'installation des
5616 entrées de menu : vous avez besoin de placer un fichier dans
5617 <file>/usr/share/menu</file> (ou <file>/usr/lib/menu</file> pour des
5618 fichiers de menu binaires exécutables, si nécessaire) et d'ajouter des
5619 commandes aux scripts de maintenance pour enregistrer et
5620 désenregistrer ces entrées de menu. Comme il s'agit d'une chose très
5621 commune, pourquoi chaque responsable devrait-il écrire sa propre
5622 version, parfois avec des bogues ? Supposons également que le
5623 répertoire de menu soit modifié, chaque paquet devrait être modifié.
5626 Les scripts d'aide peuvent résoudre ces problèmes. En supposant que
5627 vous vous conformiez aux conventions attendues par le script d'aide,
5628 celui-ci prend soin de tous les détails. Les changements dans la
5629 charte peuvent alors être faits dans le script d'aide ; les
5630 paquets ont alors simplement besoin d'être reconstruits avec la
5631 nouvelle version du script et sans aucun changement supplémentaire.
5634 L'<ref id="tools"> contient plusieurs systèmes d'aide. Le plus courant
5635 et le meilleur (à notre avis) système est
5636 <package>debhelper</package>. Les précédents systèmes d'aide comme
5637 <package>debmake</package> étaient « monolithiques » :
5638 vous ne pouviez pas choisir quelles parties intéressantes vous pouviez
5639 utiliser, mais vous étiez obligé de choisir le système pour tout
5640 faire. <package>debhelper</package>, à l'inverse, consiste en un
5641 certain nombre de petits programmes <prgn>dh_*</prgn>. Par exemple,
5642 <prgn>dh_installman</prgn> installe et compacte les pages de manuel,
5643 <prgn>dh_installmenu</prgn> installe les fichiers de menu et ainsi de
5644 suite. Ainsi, il offre une flexibilité suffisante pour pouvoir
5645 utiliser les scripts d'aide quand ils sont utiles, en complément de
5646 commandes définies manuellement dans le fichier
5647 <file>debian/rules</file>.
5650 Vous pouvez débuter avec <package>debhelper</package> en lisant
5651 <manref section="1" name="debhelper"> et en regardant les exemples
5652 fournis avec le paquet. <prgn>dh_make</prgn> du paquet
5653 <package>dh-make</package> (voir <ref id="dh-make">) peut être utilisé
5654 pour convertir un paquet source « vierge » en une version
5655 utilisant <package>debhelper</package>. Ce raccourci ne devrait
5656 cependant pas vous faire croire que vous n'avez pas besoin de
5657 comprendre les scripts individuels <prgn>dh_*</prgn>. Si vous comptez
5658 utiliser un système d'aide, vous devez prendre le temps d'apprendre à
5659 utiliser ce système pour savoir ce que vous pouvez en attendre ainsi
5660 que son comportement.
5663 Plusieurs personnes pensent que des fichiers <file>debian/rules</file>
5664 vierges sont préférables car vous n'avez pas à apprendre les détails
5665 internes d'un quelconque système d'aide. La décision vous appartient
5666 complètement. Utilisez ce qui vous convient. Plusieurs exemples de
5667 fichiers <file>debian/rules</file> sont disponibles à <url
5668 id="&url-rules-files;">.
5671 <sect1 id="multiple-patches">
5673 Séparer vos correctifs en plusieurs fichiers
5676 Les gros paquets peuvent avoir plusieurs bogues que vous devez
5677 gérer. Si vous corrigez sans faire attention les bogues dans les
5678 sources, vous ne pourrez pas différencier facilement les nombreux
5679 correctifs que vous aurez appliqués. Cela peut devenir très compliqué
5680 de mettre à jour le paquet avec une nouvelle version amont qui intègre
5681 certains correctifs (mais pas tous). Vous ne pouvez pas prendre
5682 l'ensemble des correctifs (par exemple, dans les fichiers
5683 <file>.diff.gz</file>) et décider quels correctifs il vous faut
5684 enlever parce que les bogues ont été corrigés en amont.
5687 Malheureusement, le système de création des paquets tel qu'il est
5688 actuellement ne fournit pas de moyen de séparer les correctifs en
5689 plusieurs fichiers. Cependant, il existe des moyens de séparer les
5690 correctifs : les fichiers correctifs sont livrés dans le fichier
5691 correctif Debian (<file>.diff.gz</file>), habituellement dans le
5692 répertoire <file>debian/</file>. La seule différence est qu'ils ne
5693 sont pas appliqués immédiatement par dpkg-source, mais par la règle
5694 <tt>build</tt> du fichier <file>debian/rules</file>. Inversement, ils
5695 sont annulés par la règle <tt>clean</tt>.
5698 <prgn>dbs</prgn> est l'une des approches les plus populaires pour
5699 cela. Il fait ce qui est décrit ci-dessus et fournit la possibilité de
5700 créer de nouveaux correctifs et de mettre à jour d'anciens
5701 correctifs. Veuillez vous reporter au paquet <package>dbs</package>
5702 pour plus d'informations et au paquet <package>hello-dbs</package>
5706 <prgn>Dpatch</prgn> fournit également ces fonctions, mais il est prévu
5707 pour être encore plus facile d'utilisation. Veuillez voir le paquet
5708 <package>dpatch</package> pour la documentation et des exemples (dans
5709 <file>/usr/share/doc/dpatch</file>).
5712 <sect1 id="multiple-binary">
5714 Paquets binaires multiples
5717 Un simple paquet source va souvent permettre de construire plusieurs
5718 paquets binaires différents, que ce soit pour fournir plusieurs
5719 saveurs du même paquet (par exemple, le paquet source
5720 <package>vim</package>) ou pour créer plusieurs petits paquets au lieu
5721 d'un seul gros (afin, par exemple, que l'utilisateur puisse n'installer
5722 que la partie nécessaire et ainsi économiser de l'espace disque).
5725 Le second cas peut facilement être géré dans le fichier
5726 <file>debian/rules</file>. Vous avez simplement besoin de déplacer les
5727 fichiers appropriés du répertoire de construction dans les
5728 arborescence temporaires du paquet. Vous pouvez le faire en utilisant
5729 <prgn>install</prgn> ou <prgn>dh_install</prgn> du paquet
5730 <package>debhelper</package>. Assurez-vous de vérifier les différentes
5731 permutations de paquets, en garantissant que vous avez bien défini les
5732 dépendances entre les paquets dans le fichier
5733 <file>debian/control</file>.
5736 Le premier cas est un peu plus difficile car il implique de multiples
5737 recompilations du même logiciel, mais avec différentes options de
5738 configuration. Le paquet source <package>vim</package> est un exemple
5739 de la façon de gérer cela avec un fichier <file>rules</file> écrit à
5744 <sect id="bpp-debian-control">
5746 Les meilleures pratiques pour le fichier <file>debian/control</file>
5749 Les pratiques suivantes sont relatives au fichier
5750 <file>debian/control</file>. Elles viennent en complément des <url
5751 id="&url-debian-policy;ch-binary.html#s-descriptions" name="règles pour
5752 les descriptions des paquets">.
5755 La description du paquet, telle qu'elle est définie par le champ
5756 correspondant dans le fichier <file>control</file>, contient à la fois
5757 le résumé du paquet et la description longue pour le paquet. <ref
5758 id="bpp-desc-basics"> décrit des lignes générales pour les deux parties
5759 de la description. Ensuite, <ref id="bpp-pkg-synopsis"> fournit des
5760 principes spécifiques pour le résumé et <ref id="bpp-pkg-desc">
5761 contient des principes spécifiques pour la description longue.
5763 <sect1 id="bpp-desc-basics">
5765 Les règles générales pour les descriptions des paquets
5768 La description du paquet devrait être écrite pour l'utilisateur moyen,
5769 l'utilisateur qui va utiliser et bénéficier du paquet. Par exemple,
5770 les paquets de développement sont pour les développeurs et leur
5771 description peut utiliser un langage technique. Pour les applications
5772 à but plus général comme un éditeur, la description devrait être
5773 écrite pour un non-spécialiste.
5776 Notre critique des descriptions des paquets nous amène à conclure que
5777 la plupart des descriptions des paquets sont techniques, c'est-à-dire,
5778 qu'elles ne sont pas écrites pour être comprises par les
5779 non-spécialistes. À moins que votre paquet ne soit que pour les
5780 techniciens, c'est un problème.
5783 Comment écrire pour les non-spécialistes ? Évitez le
5784 jargon. Évitez de vous référer à d'autres applications et cadres de
5785 travail avec lesquels l'utilisateur n'est pas forcément familier
5786 — « GNOME » ou « KDE » sont corrects
5787 car les utilisateurs sont probablement familiers avec ces termes, mais
5788 « GTK+ » ne l'est probablement pas. Ne supposez aucune
5789 connaissance. Si vous devez utiliser des termes techniques,
5793 Soyez objectif. Les descriptions de paquet ne sont pas un endroit pour
5794 promouvoir votre paquet, quel que soit l'amour que vous lui
5795 portez. Rappelez-vous que le lecteur n'a pas forcément les mêmes
5799 Des références aux noms de tout autre paquet de logiciels, noms de
5800 protocoles, standards ou spécifications devraient utiliser leurs
5801 formes canoniques si elles existent. Par exemple, utilisez « X
5802 Window System », « X11 » ou « X » et non
5803 « X Windows », « X-Windows » ou « X
5804 Window ». Utilisez « GTK+ » et non « GTK » ou
5805 « gtk ». Utilisez « GNOME » et non
5806 « Gnome ». Utilisez « PostScript » et non
5807 « Postscript » ou « postscript ».
5810 Si vous avez des problèmes pour écrire votre description, vous pouvez
5811 l'envoyer à &email-debian-l10n-english; et demander un retour
5815 <sect1 id="bpp-pkg-synopsis">
5817 Le résumé du paquet ou description courte
5820 La ligne de résumé (la description courte) devrait être concise. Elle
5821 ne doit pas répéter le nom du paquet (c'est une règle).
5824 C'est une bonne idée de penser au résumé comme à une clause apposée et
5825 non une phrase complète. Une clause apposée est définie dans WordNet
5826 comme une relation grammaticale entre un mot et une phrase pronominale
5827 qui la suit, par exemple « Rudolph, le renne au nez
5828 rouge ». La clause apposée ici est « le renne au nez
5829 rouge ». Comme le résumé est une clause et non une phrase
5830 complète, nous recommandons de ne pas la commencer par une majuscule
5831 et de ne pas la finir par un point. Il ne doit pas non plus commencer
5832 avec un article, défini (« le ») ou indéfini
5836 Cela peut vous aider d'imaginer le résumé combiné avec le nom du
5837 paquet de la façon suivante :
5838 <example><var>nom-paquet</var> est un <var>résumé</var>.</example>
5839 Sinon, il peut être plus compréhensible de le voir comme
5840 <example><var>nom-paquet</var> est <var>résumé</var>.</example>
5841 ou, si le nom du paquet est lui-même un pluriel (comme
5842 « developer-tools »)
5843 <example><var>nom-paquet</var> sont <var>résumé</var>.</example>
5844 Cette façon de former une phrase à partir du nom du paquet et du
5845 résumé devrait être considérée comme une heuristique et non comme une
5846 règle stricte. Il y a certains cas où cela n'a aucun sens de former
5850 <sect1 id="bpp-pkg-desc">
5852 La description longue
5855 La description longue du paquet est la première information dont
5856 dispose l'utilisateur avant d'installer un paquet. Aussi, elle devrait
5857 fournir toutes les informations nécessaires pour le laisser décider de
5858 l'installation du paquet. Vous pouvez supposer que l'utilisateur a
5859 déjà lu le résumé du paquet.
5862 La description longue devrait toujours être constituée de phrases
5866 Le premier paragraphe de la description longue devrait répondre aux
5867 questions suivantes : qu'est-ce que fait le paquet ? Quelle
5868 tâche aide-t-il l'utilisateur à accomplir ? Il est important de
5869 décrire ceci d'une manière non technique, à moins que le paquet ne
5870 s'adresse qu'à un auditoire de techniciens.
5873 Les paragraphes suivants devraient répondre aux questions
5874 suivantes : Pourquoi, en tant qu'utilisateur, ai-je besoin de ce
5875 paquet ? Quelles sont les autres fonctionnalités dont dispose le
5876 paquet ? Quelles sont les fonctionnalités marquantes et les
5877 déficiences de ce paquet comparé à d'autres paquets (par exemple,
5878 « si vous avez besoin de X, utilisez Y à la place ») ?
5879 Est-ce que le paquet est lié à d'autres paquets d'une certaine façon
5880 qui n'est pas gérée par le gestionnaire de paquet (par exemple,
5881 « il s'agit d'un client pour le serveur foo ») ?
5884 Soyez attentif à éviter les fautes d'orthographe et de
5885 grammaire. N'oubliez pas votre vérificateur orthographique. Les deux
5886 programmes <prgn>ispell</prgn> et <prgn>aspell</prgn> possèdent des
5887 modes spéciaux pour vérifier les fichiers
5888 <file>debian/control</file> :
5889 <example>ispell -d american -g debian/control</example>
5890 <example>aspell -d en -D -c debian/control</example>
5893 Les utilisateurs s'attendent habituellement à ce que les réponses aux
5894 questions suivantes soient présentes dans la description du
5899 Qu'est-ce que fait le paquet ? Si c'est un ajout d'un autre
5900 paquet, la description courte du paquet dont c'est un ajout devrait
5906 Pourquoi est-ce qu'il voudrait installer ce paquet ? Ceci est
5907 lié à ce qui est ci-dessus, mais pas tout à fait (c'est un client
5908 de messagerie ; il est cool, rapide, s'interface avec PGP,
5909 LDAP et IMAP, a les fonctionnalités X, Y et Z).
5914 Si ce paquet ne devrait pas être installé directement, mais être
5915 tiré par un autre paquet, cela devrait être mentionné.
5920 Si le paquet est expérimental, ou s'il y a d'autres raisons pour
5921 lesquelles il ne devrait pas être utilisé, si un autre paquet
5922 devrait être utilisé à la place, cela devrait également être
5928 En quoi le paquet est différent des paquets concurrents ?
5929 Est-ce que c'est une meilleure implémentation ? A-t-il plus de
5930 fonctionnalités, des fonctionnalités différentes ? Pourquoi
5931 devrait-il choisir ce paquet ?
5937 <sect1 id="bpp-upstream-info">
5939 Page d'accueil amont
5942 Nous vous recommandons d'ajouter l'adresse de la page d'accueil du
5943 paquet à la description du paquet dans le fichier
5944 <file>debian/control</file>. Cette information devrait être ajoutée à
5945 la fin de la description en utilisant le format suivant :
5947 Homepage: http://some-project.some-place.org/</example>
5948 Veuillez noter les espaces au début de la ligne, ils servent à séparer
5949 les lignes correctement. Pour voir un exemple de ce que cela affiche,
5950 veuillez vous reporter à <url id="&url-eg-desc-upstream-info;">.
5953 Ne mettez rien s'il n'existe pas de page pour le logiciel.
5956 Veuillez noter que nous espérons que ce champ sera remplacé par un
5957 vrai champ de <file>debian/control</file> qui serait compris par
5958 <prgn>dpkg</prgn> et <tt>&packages-host;</tt>. Si vous ne voulez pas
5959 vous embêter à déplacer la page d'accueil depuis la description vers
5960 ce nouveau champ, vous devriez probablement attendre qu'il soit
5961 disponible. Veuillez vous assurer que cette ligne correspond à
5962 l'expression rationnelle <tt>/^ Homepage: [^ ]*$/</tt> car cela permet
5963 à <file>packages.debian.org</file> de l'analyser correctement.
5967 <sect id="bpp-debian-changelog">
5969 Les meilleures pratiques pour le fichier <file>debian/changelog</file>
5972 Les pratiques suivantes viennent en complément de la <url
5973 id="&url-debian-policy;ch-docs.html#s-changelogs" name="directive sur
5974 les fichiers changelog">.
5976 <sect1 id="bpp-changelog-do">
5978 Écrire des entrées de changelog utiles
5981 L'entrée de changelog pour une révision de paquet documente les
5982 changements dans cette révision et seulement ceux-ci. Concentrez-vous
5983 sur la description des changements significatifs et visibles de
5984 l'utilisateur qui ont été effectués depuis la dernière version.
5987 Ciblez <em>ce</em> qui a été changé — qui, comment et quand
5988 cela a été fait est généralement de moindre importance. Ceci dit,
5989 rappelez-vous de nommer poliment les personnes qui ont fourni une aide
5990 notable pour réaliser le paquet (par exemple, ceux qui ont envoyé des
5994 Vous n'avez pas besoin de détailler les changements triviaux et
5995 évidents. Vous pouvez également regrouper plusieurs de ces changements
5996 dans une seule entrée. D'un autre côté, ne soyez pas trop concis si
5997 vous avez entrepris un changement majeur. Soyez tout spécialement
5998 clair s'il y a des changements qui modifient le comportement du
5999 programme. Pour plus d'explications, utilisez le fichier
6000 <file>README.Debian</file>.
6003 Utilisez un langage anglais commun pour que la majorité des lecteur
6004 puissent le comprendre. Évitez les abréviations, le parler technique
6005 et le jargon quand vous expliquez des changements fermant un bogue,
6006 spécialement pour les rapports de bogue créés par des utilisateurs qui
6007 ne vous paraissent pas particulièrement à l'aise techniquement. Vous
6008 devez être poli et ne pas jurer.
6011 Il est parfois désirable de préfixer les entrées de changelog avec le
6012 nom des fichiers qui ont été modifiés. Cependant, il n'est pas besoin
6013 de lister explicitement tous les fichiers modifiés, particulièrement
6014 si la modification est petite ou répétitive. Vous pouvez utiliser les
6015 caractères génériques.
6018 Quand vous faites référence aux bogues, ne supposez rien a
6019 priori. Dites ce qu'était le problème, comment il a été résolu et
6020 ajoutez la chaîne de caractères « closes: #nnnnn ». Veuillez
6021 voir <ref id="upload-bugfix"> pour plus d'informations.
6024 <sect1 id="bpp-changelog-misconceptions">
6026 idées fausses communes sur les entrées de changelog
6029 Les entrées de changelog <strong>ne devraient pas</strong> documenter
6030 des problèmes génériques d'empaquetage (« Hé, si vous cherchez
6031 foo.conf, il est dans /etc/blah/. ») car les administrateurs et
6032 utilisateurs sont supposés être au moins vaguement rompus à la façon
6033 dont les choses sont arrangées sur un système Debian. Mentionnez
6034 cependant tout changement d'emplacement d'un fichier de configuration.
6037 Les seuls bogues fermés par une entrée de changelog devraient être
6038 ceux qui sont vraiment corrigés dans la même révision du
6039 paquet. Fermer des bogues non liés par le fichier changelog est
6040 considéré comme une très mauvaise pratique. Veuillez voir <ref
6041 id="upload-bugfix">.
6044 Les entrées de changelog <strong>ne devraient pas</strong> être le
6045 lieu de discussions avec les émetteurs de bogues (« Je ne vois
6046 pas de segfaults lors du lancement de foo avec l'option bar ;
6047 envoyez-moi plus d'informations. »), ni celui de phrases
6048 génériques sur la vie, l'univers et tout le reste (« Désolé, cet
6049 envoi m'a pris du temps, mais j'avais attrapé la grippe ») ou
6050 celui de demandes d'aide (« La liste des bogues sur ce paquet est
6051 énorme, donnez-moi un coup de main »). Ceci ne sera généralement
6052 pas remarqué par les personnes ciblées, mais peut ennuyer les
6053 personnes qui désirent lire des informations sur les changements réels
6054 du paquet. Veuillez vous reporter à <ref id="bug-answering"> pour plus
6055 d'informations sur la façon d'utiliser le système de suivi des bogues.
6058 C'est une vieille tradition de valider les bogues fixés par une mise à
6059 jour indépendante dans la première entrée du changelog de l'envoi du
6060 vrai responsable. Comme nous avons maintenant le suivi des versions, il
6061 est suffisant de garder les entrées de changelog des mises à jour
6062 indépendantes et de simplement mentionner ce fait dans votre propre
6063 entrée de changelog.
6066 <sect1 id="bpp-changelog-errors">
6068 Erreurs communes dans les entrées de changelogs
6071 Les exemples suivants montrent des erreurs communes ou des exemples de
6072 mauvais style dans les entrées de changelog<footnote><p>NdT : Les
6073 entrées de changelog sont ici affichées en français pour faciliter la
6074 compréhension, mais vos entrées devront naturellement être rédigées en
6075 anglais.</p></footnote>.
6079 * Corrige tous les bogues restants.
6081 Ceci n'indique visiblement rien d'utile au lecteur.
6085 * Correctif de Jane Random appliqué.
6087 Sur quoi portait le correctif ?
6091 * Révision de cible d'installation la nuit dernière.
6093 Qu'a accompli la révision ? Est-ce que la mention de la nuit
6094 dernière est supposée nous rappeler que nous ne devons pas faire
6095 confiance à ce code ?
6099 * Corrige MRD vsync av. anciens CRTs.
6101 Trop d'acronymes et il n'est pas très clair de ce qu'était vraiment
6102 cette... euh... merde (oups, un mot interdit !) ou comment cela a
6107 * Ceci n'est pas un bogue. Closes: #nnnnnn.
6109 Premièrement, il n'y a absolument pas besoin d'envoyer un paquet pour
6110 communiquer cette information ; à la place, utilisez le système
6111 de suivi des bogues. Deuxièmement, il n'y a aucune explication
6112 concernant la raison pour laquelle le rapport n'était pas un bogue.
6116 * A été fixé il y a longtemps, mais j'ai oublié de le fermer. Closes: #54321.
6118 Si, pour toute raison, vous n'aviez pas indiqué le numéro du bogue
6119 dans une précédente entrée de changelog, ceci n'est pas un problème,
6120 fermez simplement le bogue normalement dans le BTS. Il n'y a pas
6121 besoin de modifier le fichier changelog, en supposant que la
6122 description de la correction est déjà intégrée (ceci s'applique aux
6123 correctifs par les auteurs/responsables amont également, vous n'avez
6124 pas à suivre les bogues qui ont été corrigés il y a longtemps dans
6129 * Closes: #12345, #12346, #15432.
6131 Où est la description ?! Si vous n'arrivez pas à trouver un
6132 message descriptif, commencez par insérer le titre de chacun des
6136 <sect1 id="bpp-news-debian">
6138 Compléter les changelogs avec les fichiers NEWS.Debian
6141 Les nouvelles importantes à propos des changements dans un paquet
6142 peuvent également être placées dans les fichiers NEWS.Debian. Ces
6143 nouvelles seront affichées par des outils comme apt-listchanges, avant
6144 le reste des changelogs. Ceci est le moyen préféré pour informer les
6145 utilisateurs des changements significatifs dans un paquet. Il est
6146 préférable d'utiliser ce fichier plutôt que d'utiliser des notes
6147 debconf car c'est moins ennuyeux et l'utilisateur peut y revenir et se
6148 référer au fichier NEWS.Debian après l'installation. Et c'est mieux
6149 que de lister les changements principaux dans README.Debian car
6150 l'utilisateur peut facilement rater de telles notes.
6153 Le format du fichier est le même que pour un fichier de changelog
6154 Debian, mais il n'utilise pas d'astérisques et décrit chaque élément
6155 de nouvelle dans un paragraphe complet si nécessaire plutôt que les
6156 résumés concis qui iraient dans un changelog. C'est une bonne idée de
6157 passer votre fichier par dpkg-parsechangelog pour vérifier son
6158 formatage car il n'est pas vérifié automatiquement pendant la
6159 construction comme le changelog. Voici un exemple d'un vrai fichier
6162 cron (3.0pl1-74) unstable; urgency=low
6164 The checksecurity script is no longer included with the cron package:
6165 it now has its own package, "checksecurity". If you liked the
6166 functionality provided with that script, please install the new
6169 -- Steve Greenland <stevegr@debian.org> Sat, 6 Sep 2003 17:15:03 -0500
6173 Le fichier NEWS.Debian est installé comme
6174 /usr/share/doc/<package>/NEWS.Debian.gz. Il est compressé et a
6175 toujours ce nom même dans les paquets natifs Debian. Si vous utilisez
6176 debhelper, dh_installchangelogs installera les fichiers debian/NEWS
6180 À la différence des fichiers changelog, vous n'avez pas besoin de
6181 mettre à jour les fichiers NEWS.Debian à chaque nouvelle version. Ne
6182 les mettez à jour que si vous avez quelque chose de particulièrement
6183 important que l'utilisateur a besoin de savoir. Si vous n'avez pas de
6184 nouvelles du tout, il n'est pas nécessaire de fournir de fichier
6185 NEWS.Debian dans votre paquet. Pas de nouvelles, bonne nouvelle !
6189 <sect id="bpp-debian-maint-scripts">
6191 Les meilleures pratiques pour les scripts de maintenance
6194 Les scripts de maintenance incluent les fichiers
6195 <file>debian/postinst</file>, <file>debian/preinst</file>,
6196 <file>debian/prerm</file> et <file>debian/postrm</file>. Ces scripts
6197 prennent en charge la configuration d'installation ou de
6198 désinstallation des paquets, ce qui n'est pas simplement créer ou
6199 supprimer des fichiers et des répertoires. Les instructions suivantes
6200 complètent la <url id="&url-debian-policy;" name="charte Debian">.
6203 Les scripts de maintenance doivent être idempotents. Cela veut dire que
6204 vous devez vous assurer que rien de grave ne se produit si un script
6205 est appelé deux fois là où il ne devrait habituellement être appelé
6209 Les entrée et sortie standard peuvent être redirigées (par exemple,
6210 dans des tubes<footnote><p>pipes</p></footnote>) pour des besoins
6211 d'enregistrement d'activité, donc vous ne devez pas supposer que ce
6215 Tous les affichages et les configurations interactives devraient être
6216 minimisées. Quand cela est nécessaire, vous devriez utiliser le paquet
6217 <package>debconf</package> pour l'interface. Rappelez-vous que, dans
6218 tous les cas, l'affichage ne doit se faire que dans l'étape de
6219 configuration, <tt>configure</tt> du script de post-installation,
6220 <file>postinst</file>.
6223 Gardez les scripts de maintenance aussi simples que possible. Nous vous
6224 suggérons d'utiliser des scripts shell POSIX purs. Rappelez-vous, que
6225 si vous avez besoin d'une fonctionnalité de Bash, le script de
6226 maintenance doit préciser bash dans sa première ligne. Un shell POSIX
6227 ou Bash sont préférés à Perl car ils permettent à
6228 <package>debhelper</package> d'ajouter facilement des parties aux
6232 Si vous modifiez les scripts de maintenance, assurez-vous de tester la
6233 suppression du paquet, la double installation et la purge
6234 complète. Assurez-vous qu'il ne reste rien d'un paquet purgé,
6235 c'est-à-dire, que la purge doit enlever tout fichier créé, directement
6236 ou indirectement, par les scripts de maintenance.
6239 Si vous avez besoin de vérifier l'existence d'une commande, vous
6240 devriez utiliser quelque chose comme :
6241 <example>if [ -x /usr/sbin/install-docs ]; then ...</example>
6242 Si vous ne désirez pas mettre en dur le chemin d'une commande dans le
6243 script de maintenance, la fonction de shell suivante conforme à POSIX
6244 peut vous aider : &example-pathfind; Vous pouvez utiliser cette
6245 fonction pour rechercher le <tt>$PATH</tt> pour un nom de commande
6246 passé en paramètre. Il renvoie vrai (zéro) si la commande a été trouvée
6247 et faux sinon. Il s'agit réellement de la façon la plus portable de
6248 faire car <tt>command -v</tt>, <prgn>type</prgn> et <prgn>which</prgn>
6252 Bien que <prgn>which</prgn> soit une alternative acceptable car il est
6253 présent dans le paquet classé <em>required</em>
6254 <package>debianutils</package>, il n'est pas présent dans la partition
6255 racine. Autrement dit, il est placé dans <file>/usr/bin</file> au lieu
6256 de <file>/bin</file>, il n'est donc pas possible de l'utiliser dans les
6257 scripts qui sont exécutés avant que la partition <file>/usr</file> soit
6258 montée. Cependant, la plupart des scripts n'auront pas ce problème.
6261 <sect id="bpp-config-mgmt">
6263 Gestion de la configuration avec <package>debconf</package>
6266 <package>Debconf</package> est un système de gestion de configuration
6267 qui peut être utilisé par les divers scripts de maintenance
6268 (principalement en post-installation dans le fichier
6269 <file>postinst</file>) pour demander à l'utilisateur des informations
6270 concernant la configuration du paquet. Il faut maintenant éviter les
6271 interactions directes avec l'utilisateur et préférer les interactions
6272 utilisant <package>debconf</package>. Ceci permettra à l'avenir des
6273 installations non interactives.
6276 Debconf est un bon outil, mais il est souvent mal utilisé. Plusieurs
6277 erreurs communes sont référencées dans la page de manuel <manref
6278 section="7" name="debconf-devel">. Vous devriez vraiment lire cette
6279 page si vous décidez d'utiliser debconf. Nous documentons également
6280 plusieurs des meilleures pratiques ici.
6283 Ces lignes directives incluent plusieurs recommandations de style
6284 d'écriture et de typographie, des considérations générales à propos de
6285 l'utilisation de debconf ainsi que des recommandations plus spécifiques
6286 pour certaines parties de la distribution (par exemple, le système
6291 N'abusez pas de debconf
6294 Depuis que debconf est apparu dans Debian, il a été largement abusé et
6295 plusieurs critiques reçues par la distribution Debian proviennent
6296 d'utilisation abusive de debconf avec la nécessité de répondre à un
6297 grand nombre de questions avant d'avoir n'importe quel petit logiciel
6301 Garder les notes d'utilisation à leur place : le fichier
6302 NEWS.Debian ou le fichier README.Debian. N'utilisez des notes que pour
6303 des notes importantes qui peuvent directement concerner l'utilisation
6304 du paquet. Rappelez-vous que les notes bloqueront toujours
6305 l'installation avant leur confirmation ou qu'elles embêtent
6306 l'utilisateur par un courriel.
6309 Choisissez avec soin les priorités des questions dans les scripts de
6310 responsable. Reportez-vous à <manref section="7" name="debconf-devel">
6311 pour plus de détails sur les priorités. La plupart des questions
6312 devraient utiliser un priorité moyenne ou basse.
6317 Recommandations générales pour les auteurs et traducteurs
6323 Écrivez un anglais correct
6326 La plupart des responsables de paquets Debian n'ont pas l'anglais
6327 comme langue maternelle. Écrire des modèles correctement rédigés peut
6328 donc ne pas être facile pour eux.
6331 Veuillez utiliser (et abuser de) la liste de discussions
6332 &email-debian-l10n-english;. Faites relire vos questionnaires.
6335 Des questionnaires écrits incorrectement donnent une pauvre image de
6336 votre paquet, de votre travail... ou même de Debian elle-même.
6339 Évitez le jargon technique autant que possible. Si certains termes
6340 vous semblent courants, ils peuvent être impossibles à expliquer à
6341 d'autres personnes. Si vous ne pouvez pas les éviter, essayez de les
6342 expliquer (en utilisant la description étendue). Quand vous faites
6343 cela, essayez d'équilibrer la verbosité et la simplicité.
6348 Être courtois avec les traducteurs
6351 Les questionnaires debconf peuvent être traduits. Debconf, avec son
6352 paquet-frêre <package>po-debconf</package>, offre un cadre de travail
6353 simple pour obtenir des questionnaires traduits par les équipes de
6354 traduction ou même par des individus isolés.
6357 Veuillez utiliser les questionnaires basés sur gettext. Installez
6358 <package>po-debconf</package> sur votre système de développement et
6359 lisez sa documentation (« man po-debconf » est un bon
6363 Évitez de changer vos questionnaires trop souvent. Modifier le texte
6364 des questionnaires entraîne plus de travail pour les traducteurs dont
6365 les traductions seront rendues « floues »
6366 (« fuzzy »). Si vous prévoyez des modifications dans vos
6367 questionnaires d'origine, veuillez contacter les traducteurs. La
6368 plupart des traducteurs actifs sont très réactifs et obtenir leur
6369 travail inclus avec vos questionnaires modifiés vous économisera des
6370 envois supplémentaires. Si vous utilisez des modèles basés sur
6371 gettext, le nom et l'adresse électronique du traducteur sont
6372 mentionnés dans les en-têtes des fichiers PO.
6375 L'utilisation de <prgn>podebconf-report-po</prgn> du paquet
6376 <package>po-debconf</package> est hautement recommandée pour avertir
6377 les traducteurs qui ont des traductions incomplètes et pour leur
6378 demander des mises à jour.
6381 En cas de doutes, vous pouvez également contacter l'équipe de
6382 traduction pour une langue donnée
6383 (debian-l10n-xxxxx@lists.debian.org) ou la liste de discussions
6384 &email-debian-i18n;.
6387 Les appels à traductions postés sur &email-debian-i18n; avec le
6388 fichier <file>debian/po/templates.pot</file> attaché ou référencé
6389 dans une URL sont encouragés. Assurez-vous de mentionner dans ces
6390 appels pour de nouvelles traductions quelles sont les langues pour
6391 lesquelles vous avez déjà des traductions existantes, pour éviter
6392 toute duplication de travail.
6397 « Dé-fuzzy-fiez » les traductions complètes lors des
6398 corrections de typos et d'orthographe
6401 Quand le texte d'un questionnaire debconf est corrigé et que vous
6402 êtes <strong>certain</strong> que les changements <strong>n'ont
6403 aucun</strong> effet sur les traductions, soyez courtois avec les
6404 traducteurs et dé-fuzzy-fiez leurs traductions.
6407 Si vous ne le faites pas, le questionnaire entier ne sera pas traduit
6408 jusqu'à ce qu'un traducteur vous envoie une mise à jour.
6411 Pour <strong>dé-fuzzy-fier</strong> les traductions, vous pouvez
6412 procéder ainsi :
6413 <enumlist numeration="arabic">
6416 enlevez tous les fichiers PO incomplets. Vous pouvez vérifier si
6417 les fichiers sont complets en utilisant (il faut que le paquet
6418 <package>gettext</package> soit installé) :
6419 <example>for i in debian/po/*po; do echo -n $i: ; msgfmt -o /dev/null
6420 --statistics $i; done</example>
6425 déplacez tous les fichiers ayant des chaînes floues
6426 (« fuzzy ») dans un emplacement temporaire. Les fichiers
6427 n'ayant aucune chaîne floue (seulement des chaînes traduites et
6428 non traduites) seront conservées où ils sont placés,
6433 maintenant <strong>et seulement maintenant</strong>, corrigez les
6434 typos dans le questionnaire et vérifiez que les traductions ne
6435 sont pas impactées (les typos, les fautes d'orthographe et parfois
6436 les corrections de typographie sont généralement acceptables),
6441 exécutez <prgn>debconf-updatepo</prgn>. Cela va fuzzifier toutes
6442 les chaînes que vous avez modifiées dans les traductions. Vous
6443 pouvez constater cela en exécutant à nouveau la commande
6449 utilisez la commande suivante :
6450 <example>for i in debian/po/*po; do msgattrib --output-file=$i --clear-fuzzy $i; done</example>
6455 déplacez dans debian/po les fichiers qui avaient des chaînes
6456 floues dans la première étape,
6461 exécutez à nouveau <prgn>debconf-updatepo</prgn>.
6469 Ne faites pas de suppositions à propos des interfaces
6472 Le texte des modèles ne doit pas faire référence aux composants
6473 appartenant à l'une des interfaces debconf. Des phrases comme
6474 « If you answer Yes... » n'a aucun sens pour les
6475 utilisateurs d'interfaces graphiques qui utilisent des cases à cocher
6476 pour les questions booléennes.
6479 Les modèles de chaînes de caractères devraient éviter de mentionner
6480 les valeurs par défaut dans leur description. Tout d'abord, parce que
6481 cela est redondant avec les valeurs lues par les
6482 utilisateurs. Ensuite, parce ces valeurs par défaut peuvent être
6483 différentes selon les choix du responsable (par exemple, quand la
6484 base de données debconf a été préremplie).
6487 Plus généralement, essayez d'éviter de vous référer à toute action de
6488 l'utilisation. Donnez simplement des faits.
6493 N'utilisez pas la première personne
6496 Vous devriez éviter d'utiliser la première personne (« I will do
6497 this... » ou « We recommend... »). L'ordinateur n'est
6498 pas une personne et les questionnaires debconf ne parlent pas pour
6499 les développeurs Debian. Vous devriez utiliser une construction
6500 neutre et souvent une forme passive. Pour ceux d'entre vous qui
6501 écrivent déjà des publications scientifiques, écrivez simplement vos
6502 questionnaires comme vous écririez un papier scientifique.
6507 Soyez neutre dans le genre
6510 Le monde est fait d'hommes et de femmes. Veuillez utiliser des
6511 constructions neutres dans le genre dans votre texte. Ce n'est pas du
6512 politiquement correct, c'est simplement montrer du respect pour toute
6519 Définition des champs de questionnaires
6522 Cette partie donne plusieurs informations qui sont principalement
6523 extraites de la page de manuel <manref section="7"
6524 name="debconf-devel">.
6534 string: (chaîne de caractères)
6537 Résulte en un champ d'entrée libre dans lequel l'utilisateur peut
6538 écrire toute chaîne.
6543 password: (mot de passe)
6546 Demande un mot de passe à l'utilisateur. Veuillez utiliser ce champ
6547 avec précaution ; soyez conscient que le mot de passe que
6548 l'utilisateur entre sera écrit dans la base de données debconf. Vous
6549 devriez probablement enlever cette valeur de la base de données dès
6558 Un choix vrai/faux. Rappelez-vous : vrai/faux, <strong>pas oui/non</strong>...
6566 Un choix parmi un certain nombre de valeurs. Les choix doivent être
6567 spécifiés dans un champ nommé « Choices ». Séparez les
6568 valeurs possibles par des virgules et des espaces ainsi :
6569 Choices: yes, no, maybe
6574 multiselect: (sélection multiple)
6577 Comme le type de données select, excepté que l'utilisateur peut
6578 choisir un nombre quelconque d'éléments dans la liste de choix (ou
6587 Plutôt que d'être une question en tant que telle, ce type de donnée
6588 indiqué une note qui peut être affichée à l'utilisateur. Il ne
6589 devrait être utilisé que pour des données importantes que
6590 l'utilisateur doit réellement voir, car debconf fera tout ce qu'il
6591 peut pour s'assurer que l'utilisateur le voit ; il stoppera
6592 l'installation en attendant que l'utilisateur appuie sur une touche
6593 ou il leur enverra même la note par courrier dans certains cas.
6601 Ce type est maintenant considéré comme obsolète : ne l'utilisez
6610 <strong>CE TYPE DE MODÈLE N'EST PAS ENCORE GÉRÉ PAR
6614 Il a été ajouté à cdebconf, la version C de debconf, utilisé en
6615 premier dans l'installateur Debian.
6618 Veuillez ne pas l'utiliser à moins que debconf ne le prenne en
6622 Ce type est conçu pour gérer des messages d'erreur. Il est presque
6623 semblable au type « note ». Des interfaces peuvent le
6624 présenter différemment (par exemple, l'interface dialog de cdebconf
6625 affiche un écran rouge au lieu de l'écran bleu habituel).
6631 Description: description courte et étendue
6634 Les descriptions des modèles sont composées de deux parties :
6635 une courte et une étendue. La description courte est dans la ligne
6636 « Description: » du questionnaire.
6639 La description courte devrait être gardée courte (50 caractères
6640 ou moins) pour qu'elle puisse être ajustée par la plupart des
6641 interfaces debconf. La garder courte aide également les traducteurs,
6642 car les traductions ont tendance à être plus longues que l'original.
6645 La description courte devrait se suffire à elle-même. Certaines
6646 interfaces n'affichent pas la description longue par défaut ou
6647 seulement si l'utilisateur la demande explicitement ou même ne
6648 l'affichent pas du tout. Évitez des choses comme « What do you
6649 want to do ? ».
6652 Il n'est pas nécessaire que la description courte soit une phrase
6653 complète. Cela fait partie de la recommandation « gardez-la
6654 courte et efficace ».
6657 La description étendue ne devrait pas répéter la description courte
6658 mot pour mot. Si vous ne trouvez pas de description longue, commencez
6659 par à y réfléchir plus. Envoyez un message sur debian-devel. Demandez
6660 de l'aide. Suivez un cours d'écriture ! La description étendue
6661 est importante. Si, après tout cela, vous ne trouvez toujours rien,
6665 La description étendue devrait utiliser des phrases complètes. Des
6666 paragraphes devraient être gardés court pour améliorer la
6667 lisibilité. Ne mélangez pas deux idées dans le même paragraphe, mais
6668 utilisez plutôt un autre paragraphe.
6671 Ne soyez pas trop verbeux. Les utilisateurs ont tendance à ignorer les
6672 écrans trop longs. Par expérience, 20 lignes est la limite à
6673 éviter de dépasser car cela veut dire sinon que, dans l'interface dialogue
6674 classique, les utilisateurs devront faire défiler le texte et un grand
6675 nombre de personnes ne le font simplement pas.
6678 Pour des règles spécifiques selon le type de questionnaire (chaîne de
6679 caractères, booléen, etc.), veuillez lire ci-dessous.
6687 Ce champ devrait utilisé pour des types Select et Multiselect. Il
6688 contient les choix possibles qui seront présentés aux
6689 utilisateurs. Ces choix devraient être séparés par des virgules.
6694 Default (valeur par défaut)
6697 Ce champ est facultatif. Il contient la réponse par défaut pour les
6698 modèles chaîne de caractères, sélection et multi-sélection. Pour des
6699 questionnaires multi-sélection, il peut contenir une liste de choix
6700 séparés par des virgules.
6706 Guide de style spécifique par champ de questionnaires
6715 Aucune indication spécifique excepté : utilisez le type
6716 approprié en vous référant à la section précédente.
6724 Voici ci-dessous des instructions spécifiques pour écrire
6725 correctement la description (courte et étendue) selon le type de
6730 questionnaire chaîne de caractères/mot de passe
6736 La description courte est une invite et <strong>non</strong> un
6737 titre. Évitez des invites de style question (« IP
6738 Address? ») en faveur d'invites « ouvertes »à
6739 (« IP address: »). L'utilisation des deux-points est
6745 La description étendue est un complément à la description
6746 courte. Dans la partie étendue, expliquez ce qui est demandé,
6747 plutôt que de poser la même question à nouveau en utilisant des
6748 mots plus longs. Utilisez des phrases complètes. Un style
6749 d'écriture trop concis est fortement découragé.
6763 La description courte devrait être rédigée sous la forme d'une
6764 question qui devrait être gardée courte et devrait généralement
6765 se terminer par un point d'interrogation. Un style d'écriture
6766 concis est permis et même encouragé si la question est plutôt
6767 longue (rappelez-vous que les traductions sont souvent plus
6768 longue que les versions d'origine)
6773 La description étendue ne devrait <strong>pas</strong> inclure de
6779 À nouveau, veuillez éviter de vous référer à des composants
6780 d'interface spécifiques. Une erreur courante pour de telles
6781 questionnaires est les constructions du type « if you answer
6790 sélection/multi-sélection
6796 La description courte est une invite et <strong>non</strong> un
6797 titre. N'utilisez <strong>pas</strong> des constructions inutiles
6798 du type « Please choose... ». Les utilisateurs sont assez
6799 intelligents pour réaliser qu'ils doivent choisir quelque chose...:)
6804 La description étendue devra compléter la description
6805 courte. Elle peut se référer aux choix disponibles. Elle peut
6806 également mentionner que l'utilisateur peut choisir plus d'un des
6807 choix disponibles si le questionnaire est du type sélection
6808 multiple (bien que l'interface rende souvent cela clair).
6822 La description courte devrait être considéré comme un *titre*.
6827 La description étendue est ce qui sera affiché comme une
6828 description plus détaillée de la note. Faites des phrases,
6829 n'utilisez pas un style d'écriture trop concis.
6834 <strong>N'abusez pas de debconf.</strong> Les notes sont le moyen le plus courant
6835 d'abus de debconf. Comme il est écrit dans la page de manuel de
6836 debconf-devel : il est préférable de ne les utiliser que
6837 pour des avertissements à propos de problèmes très sérieux. Les
6838 fichiers NEWS.Debian ou README.Debian sont les endroits
6839 appropriés pour un grand nombre de notes. Si, en lisant ceci,
6840 vous envisagez de convertir vos modèles de type note en entrées
6841 dans NEWS/Debian ou README.Debian, veuillez considérer de
6842 conserver les traductions existantes pour une utilisation future.
6854 S'il est probable que les choix changent souvent, veuillez considérer
6855 l'utilisation de l'astuce « __Choices ». Cela séparera
6856 chaque choix individuel en une chaîne de caractères seule, ce qui
6857 aidera considérablement les traducteurs à faire leur travail.
6865 S'il est probable que la valeur par défaut d'un modèle
6866 « select » change selon la langue de l'utilisateur (par
6867 exemple, s'il s'agit d'un choix de langue), veuillez utiliser
6868 l'astuce « _DefaultChoice ».
6871 Ce champ spécial permet aux traducteurs de positionner le choix le
6872 plus approprié selon leur propre langue. Cela deviendra le choix par
6873 défaut quand leur langue sera sélectionnée alors votre choix par
6874 défaut sera utilisé pour l'anglais.
6877 Un exemple tiré des modèles du paquet geneweb :
6879 Template: geneweb/lang
6881 __Choices: Afrikaans (af), Bulgarian (bg), Catalan (ca), Chinese (zh), Czech (cs), Danish (da), Dutch (nl), English (en), Esperanto (eo), Estonian (et), Finnish (fi), French (fr), German (de), Hebrew (he), Icelandic (is), Italian (it), Latvian (lv), Norwegian (no), Polish (pl), Portuguese (pt), Romanian (ro), Russian (ru), Spanish (es), Swedish (sv)
6882 # This is the default choice. Translators may put their own language here
6883 # instead of the default.
6884 # WARNING : you MUST use the ENGLISH FORM of your language
6885 # For instance, the french translator will need to put "French (fr)" here.
6886 _DefaultChoice: English (en)[ translators, please see comment in PO files]
6887 _Description: Geneweb default language:
6891 Notez l'utilisation de crochets qui permettent des commentaires
6892 internes dans les champs debconf. Notez également l'utilisation de
6893 commentaires qui apparaîtront dans les fichiers sur lesquels
6894 travailleront les traducteurs.
6897 Les commentaires sont nécessaires car l'astuce DefaultChoice est un
6898 peu déroutante : les traducteurs peuvent y placer leur propre
6907 N'utilisez PAS de champ par défaut vide. Si vous ne voulez pas
6908 utiliser de valeurs par défaut, n'utilisez simplement pas du tout
6912 Si vous utilisez po-debconf (et vous <strong>devriez</strong> le faire, voir 2.2),
6913 veuillez considérer de rendre ce champ traduisible, si vous pensez
6914 qu'il peut être traduit.
6917 Si la valeur par défaut peut varier selon la langue ou le pays (par
6918 exemple, la valeur par défaut pour un choix de langue), veuillez
6919 considérer l'utilisation du type spécial « _DefaultChoice »
6920 documenté dans <manref section="7" name="po-debconf">).
6925 <sect id="bpp-i18n">
6927 Internationalisation
6929 <sect1 id="bpp-i18n-debconf">
6931 Gestion des traductions de debconf
6934 Comme les porteurs, les traducteurs ont une tâche difficile. Ils
6935 travaillent sur un grand nombre de paquets et doivent donc collaborer
6936 avec plusieurs responsables différents. De plus, la plupart du temps,
6937 l'anglais n'est pas leur langue maternelle, il se peut que vous deviez
6938 être particulièrement patient avec eux.
6941 Le but de <package>debconf</package> était de faciliter la
6942 configuration des paquets aux responsables et aux utilisateurs. À
6943 l'origine, les traductions des questionnaires debconf étaient gérées
6944 avec <prgn>debconf-mergetemplate</prgn>. Cependant, cette technique
6945 est maintenant déconseillée ; la meilleure façon pour
6946 l'internationalisation de <package>debconf</package> est d'utiliser le
6947 paquet <package>po-debconf</package>. Cette méthode est plus facile
6948 pour le responsable et pour les traducteurs ; des scripts de
6949 transition sont fournis.
6952 Lors de l'utilisation de <package>po-debconf</package>, la traduction
6953 est stockée dans des fichiers <file>po</file> (à l'instar des
6954 techniques de traduction de <prgn>gettext</prgn>). Des fichiers
6955 modèles contiennent les messages d'origine et indiquent quels sont les
6956 champs traduisibles. Quand vous modifiez l'état d'un champ traduisible
6957 en appelant <prgn>debconf-updatepo</prgn>, la traduction est marquée
6958 comme ayant besoin de l'attention des traducteurs. Puis, lors de la
6959 construction du paquet, le programme <prgn>dh_installdebconf</prgn>
6960 prendra soin de toute la magie nécessaire à l'ajout du modèle avec les
6961 traductions à jour dans les paquets binaires. Veuillez vous reporter à
6962 la page de manuel <manref section="7" name="po-debconf"> pour les
6966 <sect1 id="bpp-i18n-docs">
6968 Documentation traduite
6971 La traduction de la documentation est cruciale pour les utilisateurs,
6972 mais elle représente un important travail. Il n'existe aucun moyen
6973 d'éliminer ce travail, mais vous pouvez faciliter les choses pour les
6977 Si vous êtes responsable d'une documentation quelle que soit sa
6978 taille, il est plus facile pour les traducteurs d'avoir accès à un
6979 système de contrôle de source. Ceci permet aux traducteurs de voir les
6980 différences entre deux versions de la documentation, pour, par
6981 exemple, qu'ils puissent voir ce qui a besoin d'être retraduit. Il est
6982 recommandé que le document traduit inclue une note à propos de la
6983 révision de contrôle du source sur laquelle la traduction est
6984 basée. Un système intéressant est fourni par <url
6985 id="&url-i18n-doc-check;" name="doc-check"> dans le paquet
6986 <package>boot-floppies</package> qui donne un aperçu de l'état de la
6987 traduction pour une langue donnée, en utilisant les commentaires
6988 structurés pour une révision donnée du fichier à traduire et, pour un
6989 fichier traduit, la révision du fichier d'origine sur laquelle la
6990 traduction est basée. Vous pouvez vouloir adapter et fournir ceci dans
6991 votre référentiel CVS.
6994 Si vous maintenez de la documentation au format XML ou SGML, nous vous
6995 suggérons d'isoler les informations indépendantes de la langue et de
6996 les définir comme des entités dans un fichier séparé qui sera inclus
6997 par les différentes traductions. Ceci aide, par exemple, à garder à
6998 jour les adresses pour plusieurs fichiers.
7002 <sect id="bpp-common-situations">
7004 Pratiques communes d'empaquetage
7006 <sect1 id="bpp-autotools">
7008 Paquets utilisant <prgn>autoconf</prgn>/<prgn>automake</prgn>
7011 Conserver à jour les fichiers d'<prgn>autoconf</prgn>,
7012 <file>config.sub</file> et <file>config.guess</file>, est critique
7013 pour les porteurs, spécialement pour les architectures plus
7014 changeantes. De très bonnes pratiques d'empaquetage utilisant
7015 <prgn>autoconf</prgn> et/ou <prgn>automake</prgn> ont été regroupées
7016 dans &file-bpp-autotools; du paquet
7017 <package>autotools-dev</package>. Vous êtes vivement encouragé à lire
7018 ce fichier et à suivre les recommandations indiquées.
7021 <sect1 id="bpp-libraries">
7026 Pour diverses raisons, il a toujours été difficile d'empaqueter les
7027 bibliothèques. La charte impose plusieurs contraintes pour faciliter
7028 la maintenance et pour garantir que les mises à jour sont aussi
7029 simples que possible quand une nouvelle version amont est
7030 disponible. Une erreur dans une bibliothèque peut rendre défectueux
7031 une douzaine de paquets qui en dépendent.
7034 Les bonnes pratiques d'empaquetage des bibliothèques ont été
7035 regroupées dans <url id="&url-libpkg-guide;" name="le guide
7036 d'empaquetage des bibliothèques">.
7039 <sect1 id="bpp-docs">
7044 Assurez-vous de suivre les <url id="&url-debian-policy;ch-docs.html"
7045 name="règles sur la documentation">.
7048 Si votre paquet contient de la documentation construite à partir de
7049 XML ou SGML, nous vous recommandons de ne pas fournir le source XML ou
7050 SGML dans le(s) paquet(s) binaire(s). Si les utilisateurs désirent
7051 avoir le source de la documentation, ils peuvent récupérer le paquet
7055 La Charte spécifie que la documentation doit être fournie au format
7056 HTML. Nous vous recommandons également de la fournir au format PDF et
7057 texte simple si c'est adapté et qu'une sortie de qualité raisonnable
7058 est possible. Cependant, il n'est généralement pas approprié de
7059 fournir des versions en texte simple pour la documentation dont le
7060 format source est du HTML.
7063 Les principaux manuels fournis devraient être enregistrés par le
7064 paquet <package>doc-base</package> à l'installation. Reportez-vous à
7065 la documentation du paquet <package>doc-base</package> pour plus
7069 <sect1 id="bpp-other">
7071 Types spécifiques de paquets
7074 Plusieurs types spécifiques de paquets ont des sous-chartes spéciales
7075 et des règles et pratiques d'empaquetage correspondantes :
7079 Les paquets liés à Perl ont leur <url id="&url-perl-policy;"
7080 name="charte Perl">, quelques exemples de paquets qui suivent cette
7081 charte sont <package>libdbd-pg-perl</package> (module perl binaire)
7082 ou <package>libmldbm-perl</package> (module perl indépendant de
7088 Les paquets liés à Python ont leur charte Python ; voir
7089 &file-python-policy; dans le paquet <package>python</package>.
7094 Les paquets liés à Emacs ont leur <url id="&url-emacs-policy;"
7095 name="charte Emacs">.
7100 Les paquets liés à Java ont leur <url id="&url-java-policy;"
7101 name="charte Java">.
7106 Les paquets liés à Ocaml ont leur propre charte que l'on trouve
7107 dans &file-ocaml-policy; du paquet <package>ocaml</package>. Un bon
7108 exemple est le paquet source <package>camlzip</package>.
7113 Les paquets fournissant des DTD XML ou SGML devraient se conformer
7114 aux recommandations que l'on peut trouver dans le paquet
7115 <package>sgml-base-doc</package>
7120 Les paquets Lisp devraient s'enregistrer avec le paquet
7121 <package>common-lisp-controller</package> pour lequel vous pouvez
7122 vous reporter au fichier &file-lisp-controller;.
7128 <sect1 id="bpp-archindepdata">
7130 Données indépendantes de l'architecture
7133 Il n'est pas rare d'avoir une grande quantité de données indépendantes
7134 de l'architecture fournie avec un programme. Par exemple, des fichiers
7135 audio, une collection d'icônes, des motifs de papiers peints ou autres
7136 fichiers graphiques. Si la taille des données est négligeable par
7137 rapport à la taille du reste du paquet, il est probablement mieux de
7138 tout garder dans le même paquet.
7141 Cependant, si la taille des données est considérable, vous devez
7142 envisager de les partager dans un paquet séparé et indépendant de
7143 l'architecture (« _all.deb »). Ainsi, en faisant cela, vous
7144 évitez une duplication inutile des mêmes données dans onze fichiers
7145 .debs pour chaque architecture. Bien que ceci ajoute une surcharge
7146 supplémentaire aux fichiers <file>Packages</file>, ceci sauve beaucoup
7147 d'espace disque sur les miroirs Debian. Séparer les données
7148 indépendantes de l'architecture réduit également le temps de
7149 traitement de <prgn>lintian</prgn> ou de <prgn>linda</prgn> (voir <ref
7150 id="tools-lint">) quand ils sont exécutés sur l'ensemble de l'archive
7154 <sect1 id="bpp-locale">
7156 Avoir besoin d'une certaine locale pendant la construction
7159 Si vous avez besoin d'une certaine locale pendant la construction,
7160 vous pouvez créer un fichier temporaire par cette astuce :
7163 Si vous positionnez LOCPATH à l'équivalent de /usr/lib/locale, et
7164 LC_ALL au nom de la locale que vous générez, vous devriez obtenir ce
7165 que vous voulez sans être root. Quelque chose comme ceci :
7167 LOCALE_PATH=debian/tmpdir/usr/lib/locale
7169 LOCALE_CHARSET=UTF-8
7171 mkdir -p $LOCALE_PATH
7172 localedef -i "$LOCALE_NAME.$LOCALE_CHARSET" -f "$LOCALE_CHARSET" "$LOCALE_PATH/$LOCALE_NAME.$LOCALE_CHARSET"
7175 LOCPATH=$LOCALE_PATH LC_ALL=$LOCALE_NAME.$LOCALE_CHARSET date
7179 <sect1 id="bpp-transition">
7181 Rendre les paquets de transition conformes avec deborphan
7184 Deborphan est un programme pour aider les utilisateurs à détecter
7185 quels paquets peuvent être enlevés sans problème du système, i.e. ceux
7186 dont aucun paquet ne dépend. L'opération par défaut est de chercher
7187 seulement parmi les sections libs et oldlibs pour débusquer les
7188 bibliothèques inutilisées. Mais si l'on passe le bon paramètre, il
7189 tente d'attraper d'autres paquets inutiles.
7192 Par exemple, avec --guess-dummy, deborphan cherche tous les paquets de
7193 transition qui étaient nécessaires pour une mise à jour, mais qui
7194 peuvent sans problème être supprimés. Pour cela, il recherche la
7195 chaîne de caractères « dummy » ou « transitional »
7196 dans la description courte.
7199 Ainsi, quand vous créez un tel paquet, assurez-vous d'ajouter ce texte
7200 dans la description courte. Si vous cherchez des exemples, exécutez
7202 <example>apt-cache search .|grep dummy</example>
7204 <example>apt-cache search .|grep transitional</example>
7208 <sect1 id="bpp-origtargz">
7210 Les meilleures pratiques pour les fichiers <file>orig.tar.gz</file>
7213 Il existe deux types d'archives tar (« tarball ») source
7214 d'origine : les sources vierges et les sources amont
7217 <sect2 id="pristinesource">
7222 La caractéristique définissant une archive source vierge est que le
7223 fichier .orig.tar.gz est identique octet-pour-octet à l'archive tar
7224 officielle distribuée par l'auteur amont. <footnote><p>Nous ne
7225 pouvons pas empêcher les auteurs amont de changer l'archive tar
7226 qu'ils distribuent sans également incrémenter le numéro de version,
7227 il ne peut donc pas y avoir de garantie qu'une archive vierge est
7228 identique à ce que l'auteur amont distribue <em>actuellement</em> à
7229 tout moment. La seule chose à laquelle on peut s'attendre est que
7230 c'est identique à quelque chose que l'amont <em>a</em> un jour
7231 distribuée. Si une différence se produit plus tard (par exemple, si
7232 l'amont remarque qu'il n'a pas utilisé la compression maximale pour
7233 sa distribution d'origine et qu'il la recompresse), c'est vraiment
7234 trop dommage. Comme il n'y a pas de bonne façon d'envoyer un nouveau
7235 .orig.tar.gz pour la même version, il n'y a même pas de raison de
7236 traiter cette situation comme un bogue.</p></footnote> Cela rend
7237 possible d'utiliser des vérifications de somme pour vérifier
7238 facilement que tous les changements entre la version Debian et celle
7239 de l'amont sont contenus dans le fichier diff Debian. Également, si
7240 le source amont est énorme, les auteurs amont et d'autres qui ont
7241 déjà l'archive tar amont peuvent économiser du temps de
7242 téléchargement s'ils veulent inspecter votre empaquetage en détail.
7245 Il n'y a pas de règles universellement acceptées suivies par les
7246 auteurs amont concernant la structure des répertoires dans leur
7247 archive tar, mais <prgn>dpkg-source</prgn> est cependant capable de
7248 traiter la plupart des archives tar comme source vierge. Sa stratégie
7249 est équivalente à la suivante :
7252 <enumlist numeration="arabic">
7255 Il décompacte l'archive tar dans un répertoire temporaire vide par
7257 zcat chemin/vers/<nom-du-paquet>_<version-amont>.orig.tar.gz | tar xf -
7263 Si, après cela, le répertoire temporaire ne contient qu'un
7264 répertoire et pas d'autres fichiers, <prgn>dpkg-source</prgn>
7265 renomme ce répertoire en
7266 <tt><packagename>-<version-amont>(.orig)</tt>. Le nom
7267 du répertoire de premier niveau dans l'archive tar n'a pas
7268 d'importance et est oublié.
7273 Sinon, l'archive tar a dû être empaqueté sans répertoire de
7274 premier niveau commun (honte à l'auteur amont !). Dans ce
7275 cas, <prgn>dpkg-source</prgn> renomme le répertoire temporaire
7276 <em>lui-même</em> en
7277 <tt><packagename>-<version-amont>(.orig)</tt>.
7283 <sect2 id="repackagedorigtargz">
7285 Réempaquetage des sources amont
7288 Vous <strong>devriez</strong> envoyer des paquets sources avec une
7289 archive tar vierge si possible, mais il peut y avoir diverses raisons
7290 pour lesquelles cela n'est pas possible. C'est le cas si l'amont ne
7291 distribue pas le source comme un tar gzipé du tout ou si l'archive
7292 tar amont contient du matériel non libre au sens des DFSG que vous
7293 devez supprimer avant l'envoi.
7296 Dans tous ces cas, le développeur doit construire un fichier
7297 .orig.tar.gz convenable lui-même. Nous nous référerons à une telle
7298 archive tar comme un « source amont réempaqueté ». Notez
7299 qu'un « source amont réempaqueté » est différent d'un
7300 paquet natif Debian. Un source réempaqueté est toujours fourni avec
7301 des changements spécifiques Debian dans un fichier <tt>.diff.gz</tt>
7302 séparé et il a toujours un numéro de version composé de
7303 <tt><source-amont></tt> et de <tt><debian-revision></tt>.
7306 Il peut y avoir des cas où il est souhaitable de réempaqueter le
7307 source même si l'amont distribue un fichier <tt>.tar.gz</tt> qui
7308 pourrait en principe être utilisé dans sa forme vierge. Le plus
7309 évident est si des économies d'espaces <em>significatives</em>
7310 peuvent être réalisées en recompressant l'archive tar ou en
7311 supprimant des parties fondamentalement inutiles de l'archive
7312 source. Agissez à votre guise à cet endroit, mais soyez prêt à
7313 défendre votre décision si vous réempaquetez un source qui aurait pu
7317 Un .orig.tar.gz réempaqueté :
7320 <enumlist numeration="arabic">
7323 <strong>doit</strong> contenir des informations détaillées sur la
7324 façon dont a été obtenu le source réempaqueté et comment cela peut
7325 être reproduit dans le fichier <file>README.Debian-source</file>
7326 ou un fichier similaire. Ce fichier devrait être dans la partie
7327 <file>diff.gz</file> du paquet source Debian, habituellement dans
7328 le répertoire <file>debian</file>, <em>pas</em> dans le
7329 <file>orig.tar.gz</file> réempaqueté. C'est également une bonne
7330 idée de fournir une cible <tt>get-orig-source</tt> dans votre
7331 fichier <file>debian/rules</file> qui répète le processus, comme
7332 décrit dans la Charte, <url
7333 id="&url-debian-policy;ch-source.html#s-debianrules"
7334 name="debian/rules, le principal script de construction">.
7339 <strong>ne devrait pas</strong> contenir de fichiers qui ne
7340 viennent pas de l'auteur amont ou dont vous avez changé le
7341 contenu. <footnote><p>Comme exception spéciale, si l'omission d'un
7342 fichier non libre devait entraîner l'échec de la compilation du
7343 source sans assistance du diff Debian, il peut être approprié au
7344 lieu de cela d'éditer les fichiers, en omettant seulement les
7345 parties non libres de ceux-ci et/ou d'expliquer la situation dans
7346 un fichier README.Debian-source à la racine de l'arborescence du
7347 source. Mais dans ce cas, veuillez également demander instamment à
7348 l'auteur amont de faciliter la séparation des composants non
7349 libres du reste du source.</p></footnote>
7354 <strong>devrait</strong>, sauf cas impossible pour des raisons
7355 légales, préserver l'infrastructure de construction entière et de
7356 portabilité fournie par l'auteur amont. Par exemple, ce n'est pas
7357 une raison suffisante pour omettre un fichier qui n'est utilisé
7358 que pour la construction sur MS-DOS. De manière similaire, un
7359 Makefile fourni par l'amont ne devrait pas être réécrit en
7360 exécutant un script configure.
7363 (<em>Explication :</em> il est courant que les utilisateurs
7364 Debian qui ont besoin de reconstruire un logiciel pour des
7365 plates-formes non-Debian récupèrent le source d'un miroir Debian
7366 plutôt que de chercher à localiser un point de distribution
7372 <strong>devrait</strong> utiliser
7373 <tt><nom-du-paquet>-<version-amont>.orig</tt> comme
7374 nom du répertoire de premier niveau dans son archive tar. Cela
7375 rend possible la distinction entre des archives tar vierges
7376 d'archives réempaquetées.
7381 <strong>devrait</strong> être gzipé avec une compression maximale.
7387 La façon canonique de réaliser les deux derniers points est de
7388 laisser <tt>dpkg-source -b</tt> construire l'archive tar réempaquetée
7389 à partir du répertoire décompacté.
7392 <sect2 id="changed-binfiles">
7394 Changer des fichiers binaires dans le <tt>diff.gz</tt>
7397 Il est parfois nécessaire de changer des fichiers binaires contenus
7398 dans l'archive tar d'origine ou d'ajouter des fichiers binaires qui
7399 ne sont pas dans celle-ci. Si cela est fait en copiant simplement les
7400 fichiers dans l'arborescence de l'archive debianisée,
7401 <prgn>dpkg-source</prgn> ne pourra pas gérer cela. D'un autre côté,
7402 selon les règles détaillées ci-dessus, vous ne pouvez pas inclure un
7403 tel fichier binaire modifié dans un fichier <file>orig.tar.gz</file>
7404 réempaqueté. Au lieu de cela, incluez le fichier dans le répertoire
7405 <file>debian</file> dans un format <prgn>uuencode</prgn> (ou
7406 semblable) <footnote><p>Le fichier devrait avoir un nom qui indique
7407 clairement quel fichier binaire il encode. Habituellement, un
7408 postfixe indiquant le codage devrait être ajouté au nom du fichier
7409 d'origine. Notez que vous n'avez pas besoin de dépendre de
7410 <package>sharutils</package> pour avoir le programme
7411 <prgn>uudecode</prgn> si vous utilisez la fonction <tt>pack</tt> de
7412 <prgn>perl</prgn>. Le code pourrait ressembler à ceci :
7415 perl -ne 'print(pack "u", $$_);' $(file) > $(file).uuencoded
7418 perl -ne 'print(unpack "u", $$_);' $(file).uuencoded > $(file)
7420 </p></footnote>. Le fichier sera ensuite décodé et copié à
7421 son emplacement pendant l'étape de construction. Le changement sera
7422 donc visible assez facilement.
7425 Certains paquets utilisent <prgn>dbs</prgn> pour gérer les correctifs
7426 à leur source amont et créent toujours un nouveau fichier
7427 <tt>orig.tar.gz</tt> contenant le vrai <tt>orig.tar.gz</tt> dans son
7428 répertoire de premier niveau. Cela est discutable concernant la
7429 préférence pour un source vierge. D'un autre côté, il est facile de
7430 modifier ou d'ajouter des fichiers binaires dans ce cas : placez
7431 les simplement dans le fichier <tt>orig.tar.gz</tt> nouvellement créé
7432 à côté du vrai et copiez les au bon endroit pendant l'étape de
7439 <chapt id="beyond-pkging">
7441 Au-delà de l'empaquetage
7444 Debian, c'est beaucoup plus que de l'empaquetage de logiciels et de la
7445 maintenance de paquets. Ce chapitre contient des informations sur les
7446 façons, souvent vraiment importantes, de contribuer à Debian au-delà de
7447 la simple création et maintenance de paquets.
7450 En tant qu'organisation de volontaires, Debian repose sur la liberté de
7451 choisir ce sur quoi l'on désire travailler et de choisir la partie la
7452 plus importante à laquelle on veut consacrer son temps.
7454 <sect id="submit-bug">
7456 Rapporter des bogues
7459 Nous vous encourageons à remplir des rapports de bogue quand vous
7460 trouvez des bogues dans les paquets Debian. En fait, les développeurs
7461 Debian sont souvent les testeurs de première ligne. Trouver et
7462 rapporter les bogues dans les paquets d'autres développeurs améliore la
7466 Lisez les <url id="&url-bts-report;" name="instructions pour créer un
7467 rapport de bogue"> dans le <url id="&url-bts;" name="système de suivi
7468 des bogues"> Debian.
7471 Essayez de soumettre le bogue à partir d'un compte utilisateur normal
7472 sur lequel vous pouvez recevoir des courriers, pour que les personnes
7473 puissent vous joindre s'ils ont besoin de plus d'informations à propos
7474 du bogue. Ne soumettez pas de bogues en tant que root.
7477 Vous pouvez utiliser un outil comme <manref section="1"
7478 name="reportbug"> pour soumettre des bogues. Il peut automatiser et
7479 dans l'ensemble faciliter le processus.
7482 Assurez-vous que le bogue n'a pas déjà été rapporté. Chaque paquet
7483 dispose d'une liste de bogues facilement accessible à
7484 <tt>http://&bugs-host;/<var>nom_paquet</var></tt>. Des outils comme
7485 <manref section="1" name="querybts"> peuvent également vous fournir ces
7486 informations (et <prgn>reportbug</prgn> invoquera également
7487 habituellement <prgn>querybts</prgn> avant l'envoi).
7490 Essayez d'envoyer vos bogues au bon emplacement. Quand, par exemple,
7491 votre bogue concerne un paquet qui réécrit des fichiers d'un autre
7492 paquet, vérifiez les listes des bogues pour les <em>deux</em> paquets
7493 pour éviter de créer des rapports de bogues dupliqués.
7496 Vous pouvez également parcourir les bogues d'autres paquets, en les
7497 regroupant s'ils sont indiqués plus d'une fois, ou en les marquant avec
7498 « fixed » quand ils ont déjà été corrigés. Notez cependant
7499 que si vous n'êtes ni le rapporteur du bogue, ni le responsable du
7500 paquet, vous ne devriez pas fermer réellement le bogue (à moins que
7501 vous n'ayez obtenu la permission du responsable).
7504 De temps en temps, vous pourrez vouloir vérifier ce qui s'est passé à
7505 propos des bogues que vous avez rapportés. Saisissez cette occasion
7506 pour fermer les bogues que vous ne pouvez plus reproduire. Pour trouver
7507 tous les bogues que vous avez rapportés, vous avez simplement besoin
7509 <tt>http://&bugs-host;/from:<var><votre-adresse-de-courrier></var></tt>.
7511 <sect1 id="submit-many-bugs">
7513 Ouvrir un grand nombre de rapports en une seule fois (« mass bug
7517 Ouvrir un grand nombre de rapports pour le même problème sur un grand
7518 nombre de paquets — plus de dix — est une
7519 pratique que nous déconseillons. Prenez toutes les mesures possibles
7520 pour éviter cette situation. Si le problème peut être détecté
7521 automatiquement par exemple, ajoutez un nouveau test dans le paquet
7522 <package>lintian</package> pour générer une erreur ou un
7526 Si vous ouvrez plus de dix rapports sur le même sujet, il est
7527 préférable d'indiquer votre intention sur la liste
7528 &email-debian-devel; et de mentionner le fait dans le sujet de votre
7529 message. Cela donnera à d'autres développeurs la possibilité de
7530 vérifier que le problème existe vraiment. De plus, cela permet
7531 d'éviter que plusieurs responsables ne rédigent les mêmes rapports de
7532 bogue simultanément.
7535 Veuillez utiliser les programmes <prgn>dd-list</prgn> et si nécessaire,
7536 <prgn>whodepends</prgn> (du paquet <package>devscripts</package>) pour
7537 générer une liste de tous les paquets concernés et incluez la sortie
7538 dans votre courrier à &email-debian-devel;.
7541 Quand vous envoyez un grand nombre de rapports sur le même sujet, vous
7542 devriez les envoyer à <email>maintonly@&bugs-host;</email> pour qu'ils
7543 ne soient pas redirigés vers les listes de diffusion.
7547 <sect id="qa-effort">
7549 Effort d'assurance qualité
7551 <sect1 id="qa-daily-work">
7556 Bien qu'il y ait un groupe de personnes dédié à l'assurance qualité,
7557 les devoirs de QA ne leur sont pas exclusivement réservés. Vous pouvez
7558 participer à cet effort en conservant vos paquets aussi exempts de
7559 bogues que possible et aussi corrects que possible selon
7560 <prgn>lintian</prgn> (reportez-vous à <ref id="lintian">). Si cela
7561 vous paraît impossible, vous devriez alors envisager d'abandonner
7562 certains de vos paquets (reportez-vous à <ref id="orphaning">). Sinon,
7563 vous pouvez demander de l'aide à d'autres personnes pour qu'elles
7564 puissent rattraper votre retard dans la correction des bogues (vous
7565 pouvez demander de l'aide sur &email-debian-qa; ou
7566 &email-debian-devel;). En même temps, vous pouvez rechercher des
7567 co-responsables (reportez-vous à <ref id="collaborative-maint">).
7572 Les chasses aux bogues
7575 De temps en temps, le groupe d'assurance qualité organise des chasses
7576 aux bogues<footnote><p><em>Bug Squashing Party</em></p></footnote>
7577 pour essayer de supprimer le plus de problèmes possible. Elles sont
7578 annoncées sur &email-debian-devel-announce; et l'annonce explique quel
7579 domaine sera visé pendant la chasse : habituellement, il s'agit
7580 des bogues empêchant l'intégration du paquet dans la distribution
7581 (« Release Critical »), mais il peut arriver qu'ils décident
7582 d'aider à finir une transition majeure (comme une nouvelle version de
7583 Perl qui demande la recompilation de tous les modules binaires).
7586 Les règles pour les mises à jour indépendantes sont différentes au
7587 cours de la chasse parce que l'annonce de la chasse est considérée
7588 comme une annonce préalable pour les mises à jour indépendantes. Si
7589 vous avez des paquets qui peuvent être affectées par la chasse (parce
7590 qu'ils ont des bogues critiques par exemple), vous devriez envoyer une
7591 mise à jour pour chaque bogue correspondant pour expliquer leur état
7592 actuel et ce que vous attendez de la chasse. Si vous ne voulez pas
7593 d'une mise à jour indépendante ou si vous n'êtes intéressé que par un
7594 correctif ou si vous voulez gérer vous-même le bogue, veuillez
7595 l'expliquer dans le BTS.
7598 Les personnes qui participent à la chasse ont des règles spécifiques
7599 pour les mises à jour indépendantes, ils peuvent en faire une sans
7600 avertissement préalable s'ils envoient leur paquet avec un délai d'au
7601 moins 3 jours dans DELAYED/3-day. Toutes les autres règles de mise à
7602 jour indépendante s'appliquent comme d'habitude ; ils devraient
7603 envoyer le correctif de la mise à jour dans le BTS (pour l'un des
7604 bogues ouverts corrigé par la mise à jour ou pour un nouveau bogue
7605 marqué comme fixé). Ils devraient également respecter tout souhait du
7606 responsable s'il en a exprimé.
7609 Si vous ne vous sentez pas à l'aise avec une mise à jour indépendante,
7610 envoyez simplement un correctif au BTS. C'est de loin meilleur qu'une
7611 mise à jour défectueuse.
7615 <sect id="contacting-maintainers">
7617 Contacter d'autres responsables
7620 Pendant vos activités dans Debian, vous aurez à contacter d'autres
7621 responsables pour différentes raisons. Vous pourrez vouloir discuter
7622 d'une nouvelle façon de coopérer au sein d'un ensemble de paquets liés,
7623 ou vous pouvez simplement rappeler à quelqu'un qu'une nouvelle version
7624 est disponible et que vous en avez besoin.
7627 Chercher l'adresse d'un responsable d'un paquet peut être
7628 fastidieux. Heureusement, il existe un alias de courrier simple,
7629 <tt><paquet>@&packages-host;</tt>, qui fournit un moyen d'envoyer
7630 un courrier à un responsable, quelle que soit son adresse (ou ses
7631 adresses). Remplacez <tt><paquet></tt> par le nom du paquet
7635 Vous pouvez également vouloir contacter les personnes qui sont
7636 inscrites à un paquet de source donné par le <ref
7637 id="pkg-tracking-system">. Vous pouvez le faire en utilisant l'adresse
7638 <tt><paquet>@&pts-host;</tt>.
7643 Gérer les responsables non joignables
7646 Si vous remarquez qu'un paquet manque de maintenance, vous devriez vous
7647 assurer que le responsable est toujours actif et qu'il continue à
7648 travailler sur ses paquets. Il est possible qu'il ne soit plus actif,
7649 mais qu'il ne se soit pas désenregistré du système. D'un autre côté, il
7650 est possible qu'il ait simplement besoin d'un rappel.
7653 Il y a un système simple (la base de données MIA) dans laquelle les
7654 informations sur les responsables supposés Absents En Exercice
7655 (« Missing In Action) sont enregistrées. Quand un membre du groupe
7656 QA contacte un responsable inactif ou trouve plus d'informations sur
7657 celui-ci, c'est enregistré dans la base de données MIA. Ce système est
7658 disponible dans /org/qa.debian.org/mia sur l'hôte qa.debian.org et peut
7659 être interrogé avec un outil de nom <prgn>mia-query</prgn>.
7660 Utilisez <example>mia-query --help</example> pour voir comment interroger
7661 la base de données. Si vous déterminez qu'aucune
7662 information n'a encore été enregistrée pour un responsable inactif ou
7663 si vous voulez ajouter plus d'informations, vous deviez utiliser la
7667 La première étape est de contacter poliment le responsable et
7668 d'attendre une réponse pendant un temps raisonnable. Il est assez
7669 difficile de définir le « temps raisonnable », mais il est
7670 important de prendre en compte que la vraie vie est parfois assez
7671 mouvementée. Une façon de gérer cela pourrait être d'envoyer un rappel
7672 après deux semaines.
7675 Si le responsable ne répond pas après quatre semaines (un mois), on
7676 peut supposer qu'il n'y aura probablement pas de réponse. Si ceci se
7677 produit, vous devriez poursuivre vos investigations et essayer de
7678 réunir toutes les informations utiles sur ce responsable. Ceci
7685 Les informations « echelon » disponibles dans la <url
7686 id="&url-debian-db;" name="base de données LDAP des développeurs">,
7687 qui indiquent quand le développeur a envoyé un message pour la
7688 dernière fois sur une liste de diffusion Debian (cela inclut les
7689 envois via les listes debian-*-changes). Rappelez-vous également de
7690 vérifier si le responsable est indiqué comme en vacances dans la
7696 Le nombre de paquets de ce responsable et les conditions de ces
7697 paquets. En particulier, reste-t-il des bogues empêchant
7698 l'intégration du paquet dans la distribution qui sont ouverts depuis
7699 des lustres ? De plus, combien de bogues y a-t-il en
7700 général ? Un autre point d'information important est si les
7701 paquets ont subi des mises à jour indépendantes et si oui, par qui.
7706 Est-ce que le responsable est actif en dehors de Debian ? Par
7707 exemple, il peut avoir envoyé des messages récemment à des listes de
7708 diffusion non-Debian ou des groupes de discussion.
7714 Un problème particulier est représenté par les paquets parrainés
7715 — le responsable n'est pas un développeur Debian
7716 officiel. Les informations « echelon » ne sont pas
7717 disponibles pour les personnes parrainées, par exemple, vous devez donc
7718 trouver et contacter le responsable Debian qui a réellement envoyé le
7719 paquet. Étant donné qu'il a signé le paquet, il est responsable de
7720 l'envoi de toute façon et il est probable qu'il sait ce qui s'est passé
7721 avec la personne qu'il parraine.
7724 Il est également permis d'envoyer une demande à &email-debian-devel;
7725 demandant si quelqu'un est au courant d'information sur le responsable
7726 manquant. Veuillez mettre en CC: la personne en question.
7729 Une fois que vous avez réuni toutes ces informations, vous pouvez
7730 contacter &email-mia;. Les personnes de cet alias utiliseront les
7731 informations que vous aurez fournies pour décider comment procéder. Par
7732 exemple, ils peuvent abandonner un ou tous les paquets du
7733 responsable. Si un paquet a subi une mise à jour indépendante, ils
7734 peuvent préférer contacter le responsable ayant fait cette mise à jour
7735 — il est peut-être intéressé par le paquet.
7738 Un dernier mot : veuillez vous souvenir d'être poli. Nous sommes
7739 tous des volontaires et nous ne pouvons dédier l'intégralité de notre
7740 temps à Debian. Vous n'êtes pas non plus au courant des circonstances
7741 de la personne impliquée. Elle est peut-être sérieusement malade ou
7742 pourrait même nous avoir quitté — vous ne savez pas qui
7743 recevra vos courriers. Imaginez comme un proche se sentira s'il lit un
7744 courrier pour la personne décédée et trouve un message très impoli, en
7745 colère et accusateur !
7748 D'un autre côté, bien que nous soyons tous volontaires, nous avons une
7749 responsabilité. Vous pouvez donc insister sur l'importance du plus
7750 grand intérêt — si un responsable n'a plus le temps ou
7751 l'envie, il devrait « laisser filer » et donner le paquet à
7752 quelqu'un ayant plus de temps.
7755 Si vous êtes intéressé pour travailler dans l'équipe MIA, veuillez
7756 étudier le fichier README dans /org/qa.debian.org/mia sur qa.debian.org
7757 où les détails techniques et les procédures MIA sont documentées et
7758 contactez &email-mia;.
7761 <sect id="newmaint">
7763 Interagir avec de futurs développeurs Debian
7766 Le succès de Debian dépend de sa capacité à attirer et retenir de
7767 nouveaux et talentueux volontaires. Si vous êtes un développeur
7768 expérimenté, nous vous recommandons de vous impliquer dans le processus
7769 d'apport des nouveaux responsables. Cette section décrit comment aider
7770 les futurs développeurs.
7772 <sect1 id="sponsoring">
7774 Parrainer des paquets
7777 Parrainer un paquet veut dire envoyer un paquet pour un responsable
7778 qui n'est pas encore autorisé à le faire lui-même, un candidat nouveau
7779 responsable. Parrainer un paquet veut aussi dire que vous en acceptez
7783 Les nouveaux responsables ont habituellement certaines difficultés à
7784 créer des paquets Debian — ceci est bien
7785 compréhensible. C'est pourquoi le parrain est là pour vérifier que le
7786 paquet parrainé est assez bon pour être inclus dans Debian. (Notez que
7787 si le paquet parrainé est nouveau, les ftpmasters devront également
7788 l'inspecter avant de l'intégrer)
7791 Effectuer un parrainage en signant simplement l'envoi ou en
7792 recompilant le paquet <strong>n'est définitivement pas
7793 recommandé</strong>. Vous devez construire le paquet source comme si
7794 vous vouliez construire l'un de vos paquets. Rappelez-vous que cela ne
7795 change rien si vous avez laissé le nom du candidat développeur dans le
7796 changelog et dans le fichier de contrôle, il est toujours possible de
7797 savoir que c'est vous qui avez fait l'envoi.
7800 Si vous êtes un gestionnaire de candidature pour un futur développeur,
7801 vous pouvez également être son parrain. Ainsi, vous pourrez vérifier
7802 comment le candidat gère la partie « Tâches et
7803 Capacités »<footnote><p>Tasks and Skills</p></footnote> de sa
7809 Gérer les paquets parrainés
7812 En envoyant un paquet sponsorisé vers Debian, vous certifiez que le
7813 paquet atteint les standards minimum de Debian. Ceci implique que vous
7814 devez construire et tester le paquet sur votre propre système avant
7818 Vous ne pouvez pas simplement envoyer un fichier <file>.deb</file>
7819 binaire d'un filleul. En théorie, vous devriez seulement demander le
7820 fichier diff et l'emplacement de l'archive source d'origine et ensuite
7821 vous devriez récupérer le source et appliquer le diff vous-même. En
7822 pratique, vous pouvez vouloir utiliser le paquet source construit par
7823 votre filleul. Dans ce cas, vous devez vérifier qu'il n'a pas modifié
7824 les fichiers sources du fichier <file>.orig.tar.gz</file> qu'il
7828 N'ayez pas peur de répondre au filleul et de lui indiquer les
7829 changements qu'il doit faire. Cela prend souvent plusieurs échanges de
7830 courriers avant que le paquet ne soit dans un état acceptable. Être un
7831 parrain veut dire être un mentor.
7834 Une fois que le paquet a atteint les standards Debian, construisez et
7835 signez le paquet avec
7836 <example>dpkg-buildpackage -k<var>KEY-ID</var></example>
7837 avant de l'envoyer dans le répertoire incoming. Bien sûr, vous pouvez
7838 également utiliser toute partie de votre <var>KEY-ID</var>, tant
7839 qu'elle est unique dans votre porte-clés secret.
7842 Le champ Maintainer du fichier <file>control</file> et le fichier
7843 <file>changelog</file> devraient afficher la personne qui a fait
7844 l'empaquetage, c'est-à-dire, le filleul. Celui-ci recevra donc tous
7845 les courriers du système de suivi des bogues (BTS) à propos de son
7849 Si vous préférez laisser une trace plus visible de votre travail de
7850 parrainage, vous pouvez ajouter une ligne l'indiquant dans la plus
7851 récente entrée du changelog.
7854 Vous êtes encouragé à garder un œil sur le suivi des paquets que
7855 vous parrainez en utilisant le <ref id="pkg-tracking-system">.
7860 Recommander un nouveau développeur
7863 Reportez-vous à la page sur les <url id="&url-newmaint-advocate;"
7864 name="recommandations pour un développeur prospectif"> sur le site web
7870 Gérer les candidatures des nouveaux candidats
7873 Veuillez vous reporter à la <url id="&url-newmaint-amchecklist;"
7874 name="liste à vérifier pour les responsables de candidatures"> sur le
7882 Internationalisation, traduction, être internationalisé et être traduit
7885 Debian prend en charge un nombre toujours croissant de langues
7886 naturelles. Même si l'anglais est votre langue maternelle et que vous ne
7887 parlez pas d'autre langue, il est de votre devoir de responsable d'être
7888 conscient des problèmes d'internationalisation (abrégé en i18n à cause
7889 des 18 lettres entre le i et le n dans internationalisation). C'est
7890 pourquoi, même si des programmes seulement en anglais vous suffisent,
7891 vous devriez lire la plupart de ce chapitre.
7894 Selon l'<url id="http://www.debian.org/doc/manuals/intro-i18n/"
7895 name="introduction à l'i18n"> de Tomohiro KUBOTA, « I18N
7896 (internationalisation) veut dire la modification d'un logiciel ou de
7897 technologies liées pour qu'un logiciel puisse potentiellement gérer des
7898 langues multiples, des conventions multiples et ainsi de suite dans le
7899 monde entier » alors que « L10N (localisation) veut dire
7900 l'implémentation dans une langue spécifique pour un logiciel déjà
7901 internationalisé ».
7904 La l10n et l'i18n sont interconnectées, mais les difficultés liées à
7905 chacune sont très différentes. Il n'est pas vraiment difficile de
7906 permettre à un programme de changer la langue dans laquelle sont
7907 affichés les textes selon les paramètres de l'utilisateur, mais il est
7908 très coûteux en temps de traduire réellement ces messages. D'un autre
7909 côté, définir le codage des caractères est trivial, mais adapter le code
7910 pour utiliser des codages de caractères différents est un problème
7914 En laissant de côté les problèmes d'i18n pour lesquels il n'existe pas
7915 de règle générale, il n'y a pas actuellement d'infrastructure
7916 centralisée pour la l10n dans Debian qui puisse être comparée au
7917 mécanisme dbuild pour le portage. Le plus gros du travail doit donc être
7918 réalisé manuellement.
7920 <sect id="l10n-handling">
7922 Comment sont gérées les traductions au sein de Debian
7925 La gestion des traductions des textes contenus dans un paquet est
7926 encore une tâche manuelle et le processus dépend du type de texte que
7927 vous désirez voir traduit.
7930 Pour les messages des programmes, l'infrastructure gettext est utilisée
7931 pour la plupart d'entre eux. La plupart du temps, la traduction est
7932 gérée en amont dans des projets comme le <url
7933 id="http://www.iro.umontreal.ca/contrib/po/HTML/" name="projet de
7934 traduction libre">, le <url
7935 id="http://developer.gnome.org/projects/gtp/" name="projet de
7936 traduction de Gnome"> ou <url id="http://i18n.kde.org/" name="celui de
7937 KDE">. La seule ressource centralisée dans Debian est les <url
7938 id="http://www.debian.org/intl/l10n/" name="statistiques de traduction
7939 Debian centralisées"> où vous pouvez trouver des statistiques sur les
7940 fichiers de traduction trouvés dans les paquets, mais il n'y a aucune
7941 infrastructure pour faciliter le processus de traduction.
7944 Un effort pour traduire les descriptions de paquet a démarré il y a
7945 longtemps, même si les outils fournissent très peu de prise en charge
7946 pour les utiliser vraiment (i.e., seul APT peut les utiliser quand il
7947 est configuré convenablement). Les responsables n'ont rien à faire de
7948 particulier pour gérer les traductions des descriptions de
7949 paquets ; les traducteurs devraient utiliser le <url
7950 id="http://ddtp.debian.org/" name="DDTP">.
7953 Pour les questionnaires debconf, les responsable devraient utiliser le
7954 paquet po-debconf pour faciliter le travail des traducteurs, qui
7955 peuvent utiliser le DDTP pour faire leur travail (mais les équipes
7956 française et brésilienne ne le font pas). On peut trouver certaines
7957 statistiques à la fois sur le site du DDTP (à propos de ce qui est
7958 vraiment traduit) et sur le site des <url
7959 id="http://www.debian.org/intl/l10n/" name="statistiques de traduction
7960 Debian centralisées"> (à propos de ce qui est intégré dans les
7964 Pour les pages web, chaque équipe l10n a accès au CVS correspondant et
7965 les statistiques sont disponibles sur le site des statistiques de
7966 traduction Debian centralisées.
7969 Pour la documentation générale à propos de Debian, le processus est
7970 plus ou moins le même que pour les pages web (les traducteurs ont accès
7971 au CVS), mais il n'y a pas de page de statistiques.
7974 Pour la documentation spécifique aux paquets (pages de manuel,
7975 documents info, autres formats), presque tout est encore à faire.
7978 Le plus notablement, le projet KDE gère la traduction de ses
7979 documentations de la même façon que ses messages de programme.
7982 Il existe un effort pour gérer les pages de manuel spécifiques Debian
7984 id="http://cvs.debian.org/manpages/?cvsroot=debian-doc" name="dépôt CVS
7988 <sect id="l10n-faqm">
7990 FAQ I18N & L10N pour les responsables
7993 Voici une liste des problèmes que les responsables peuvent rencontrer
7994 concernant l'i18n et la l10n. Lorsque vous lirez cela, gardez à
7995 l'esprit qu'il n'y a pas de consensus sur ces points au sein de Debian
7996 et que ce ne sont que des conseils. Si vous avez une meilleure idée
7997 pour un problème donné ou si vous êtes en désaccord avec certains
7998 points, vous êtes libre de fournir vos impressions pour que ce document
7999 puisse être amélioré.
8001 <sect1 id="l10n-faqm-tr">
8003 Comment faire en sorte qu'un texte soit traduit
8006 Pour traduire des descriptions de paquet ou des questionnaires
8007 debconf, vous n'avez rien à faire, l'infrastructure du DDTP répartira
8008 le matériel à traduire aux volontaires sans besoin d'interaction de
8012 Pour tous les autres matériels (fichiers gettext, pages de manuel ou
8013 autre documentation), la meilleure solution est de placer votre texte
8014 quelque part sur l'Internet et de demander sur debian-i18n la
8015 traduction dans différentes langues. Certains membres des équipes de
8016 traduction sont abonnés à cette liste et ils prendront soin de la
8017 traduction et du processus de relecture. Une fois qu'ils ont fini,
8018 vous recevrez de leur part votre document traduit dans votre boîte aux
8022 <sect1 id="l10n-faqm-rev">
8024 Comment faire en sorte qu'une traduction donnée soit relue
8027 De temps en temps, des personnes indépendantes traduiront certains
8028 textes inclus dans votre paquet et vous demanderont d'inclure la
8029 traduction dans le paquet. Cela peut devenir problématique si vous
8030 n'êtes pas familier avec la langue donnée. C'est une bonne idée
8031 d'envoyer le document à la liste de diffusion l10n correspondante en
8032 demandant une relecture. Une fois celle-ci faite, vous devriez avoir
8033 plus confiance dans la qualité de la traduction et l'inclure sans
8034 crainte dans votre paquet.
8037 <sect1 id="l10n-faqm-update">
8039 Comment faire en sorte qu'une traduction donnée soit mise à jour
8042 Si vous avez certaines traductions d'un texte donné qui traînent,
8043 chaque fois que vous mettez à jour l'original, vous devriez demander
8044 au précédent traducteur de mettre à jour sa traduction avec vos
8045 nouveaux changements. Gardez à l'esprit que cette tâche demande du
8046 temps ; au moins une semaine pour obtenir une mise à jour relue.
8049 Si votre traducteur ne répond pas, vous pouvez demander de l'aide sur
8050 la liste de diffusion correspondante. Si tout échoue, n'oubliez pas de
8051 mettre un avertissement dans le document traduit, indiquant que la
8052 traduction est un peu obsolète et que le lecteur devrait se référer au
8053 document d'origine si possible.
8056 Évitez de supprimer complètement une traduction à cause de son
8057 obsolescence. Un vieux document est souvent mieux que pas de
8058 documentation du tout pour les personnes non anglophones.
8061 <sect1 id="l10n-faqm-bug">
8063 Comment gérer un rapport de bogue concernant une traduction
8066 La meilleure solution peut être de marquer le bogue comme « suivi
8067 au développeur amont » (<em>forwarded to upstream</em>) et de
8068 faire suivre le bogue à la fois au précédent traducteur et à son
8069 équipe (en utilisant la liste de diffusion debian-l10n-XXX
8074 <sect id="l10n-faqtr">
8076 FAQ I18N & L10N pour les traducteurs
8079 Lorsque vous lirez cela, gardez à l'esprit qu'il n'y a pas de procédure
8080 générale dans Debian concernant ces points et que, dans tous les cas,
8081 vous devriez collaborer avec votre équipe et les responsables des
8084 <sect1 id="l10n-faqtr-help">
8086 Comment aider l'effort de traduction
8089 Choisissez ce que vous désirez traduire, assurez-vous que personne ne
8090 travaille déjà dessus (en utilisant votre liste de diffusion
8091 debian-l10n-XXX), traduisez-le, faites-le relire par d'autres
8092 personnes dont c'est également la langue maternelle sur votre liste de
8093 diffusion l10n et fournissez-le au responsable du paquet (voir le
8097 <sect1 id="l10n-faqtr-inc">
8099 Comment fournir une traduction pour inclusion dans un paquet
8102 Assurez-vous que votre traduction est correcte (en demandant une
8103 relecture sur votre liste de discussion l10n) avant de la fournir pour
8104 inclusion. Cela gagnera du temps à tout le monde et évitera le chaos
8105 qui résulterait d'avoir plusieurs versions du même document dans les
8109 La meilleure solution est de créer un rapport de bogue standard
8110 contenant la traduction sur le paquet. Assurez-vous d'utiliser
8111 l'étiquette « patch » et n'utilisez pas une gravité
8112 supérieure à « wishlist » car l'absence de traduction n'a
8113 jamais empêché un programme de fonctionner.
8117 <sect id="l10n-best">
8119 Meilleures pratiques actuelles concernant la l10n
8125 En tant que responsable, ne modifiez jamais les traductions en
8126 aucune façon (même pour reformater l'affichage) sans demander à la
8127 liste de diffusion l10n correspondante. Vous risquez, par exemple,
8128 de casser le codage du fichier en agissant ainsi. De plus, ce que
8129 vous considérez comme une erreur peut être correct (ou même
8130 nécessaire) pour une langue donnée.
8135 En tant que traducteur, si vous trouvez une erreur dans le texte
8136 d'origine, assurez-vous de l'indiquer. Les traducteurs sont souvent
8137 les lecteurs les plus attentifs d'un texte donné et s'ils ne rendent
8138 pas compte des erreurs qu'ils trouvent, personne ne le fera.
8143 Dans tous les cas, rappelez-vous que le problème principal avec la
8144 l10n est qu'elle demande la coopération de plusieurs personnes et
8145 qu'il est très facile de démarrer une guerre incendiaire à propos de
8146 petits problèmes dûs à des incompréhensions. Donc, si vous avez des
8147 problèmes avec votre interlocuteur, demandez de l'aide sur la liste
8148 de diffusion l10n correspondante, sur debian-i18n ou même sur
8149 debian-devel (attention, cependant, les discussions sur la l10n
8150 tournent très souvent à l'incendie sur cette liste :)
8155 Dans tous les cas, la coopération ne peut être atteinte qu'avec un
8156 <strong>respect mutuel</strong>.
8163 <appendix id="tools">
8165 Aperçu des outils du responsable Debian
8168 Cette section contient un aperçu rapide des outils dont dispose le
8169 responsable. Cette liste n'est ni complète, ni définitive, il s'agit
8170 juste d'un guide des outils les plus utilisés.
8173 Les outils du responsable Debian sont destinés à aider les responsables
8174 et libérer leur temps pour des tâches plus cruciales. Comme le dit Larry
8175 Wall, il y a plus d'une manière de le faire.
8178 Certaines personnes préfèrent utiliser des outils de haut niveau,
8179 d'autres pas. Debian n'a pas de position officielle sur la
8180 question ; tout outil conviendra du moment qu'il fait le
8181 boulot. C'est pourquoi cette section n'a pas été conçue pour indiquer à
8182 chacun quel outil il doit utiliser ou comment il devrait faire pour
8183 gérer sa charge de responsable Debian. Elle n'est pas non plus destinée
8184 à favoriser l'utilisation d'un outil aux dépens d'un autre.
8187 La plupart des descriptions de ces outils proviennent des descriptions
8188 de leurs paquets. Vous trouverez plus d'informations dans les
8189 documentations de ces paquets. Vous pouvez aussi obtenir plus
8190 d'informations avec la commande <tt>apt-cache show
8191 <nom_paquet></tt>.
8193 <sect id="tools-core">
8198 Les outils suivants sont pratiquement nécessaires à tout responsable.
8200 <sect1 id="dpkg-dev">
8202 <package>dpkg-dev</package>
8205 Le paquet <package>dpkg-dev</package> contient les outils (y compris
8206 <prgn>dpkg-source</prgn>) nécessaires pour déballer, fabriquer et
8207 livrer des paquets Debian source. Ces utilitaires fournissent les
8208 fonctionnalités de bas niveau indispensables pour créer et manipuler
8209 les paquets ; en tant que tels, ils sont essentiels à tout
8213 <sect1 id="debconf">
8215 <package>debconf</package>
8218 Le paquet <package>debconf</package> fournit une interface unifiée
8219 pour configurer les paquets interactivement. Il est indépendant de
8220 l'interface et permet une configuration en mode texte, par une
8221 interface HTML ou par boîtes de dialogue. D'autres types d'interface
8222 peuvent être ajoutés sous forme de modules.
8225 Vous trouverez la documentation de ce paquet dans le paquet
8226 <package>debconf-doc</package>.
8229 Beaucoup pensent que ce système devrait être utilisé pour tout paquet
8230 nécessitant une configuration interactive ; reportez-vous à la
8231 <ref id="bpp-config-mgmt">. <package>debconf</package> n'est pas
8232 requis par la <em>charte Debian</em> pour le moment ; cependant,
8233 cela pourra changer.
8236 <sect1 id="fakeroot">
8238 <package>fakeroot</package>
8241 <package>fakeroot</package> simule les privilèges <em>root</em>. Cela
8242 permet de fabriquer un paquet sans être root (en général, les paquets
8243 installent des fichiers appartenant à <em>root</em>). Si vous avez
8244 installé <package>fakeroot</package>, vous pouvez construire un paquet
8245 en tant que simple utilisateur avec : <tt>dpkg-buildpackage
8250 <sect id="tools-lint">
8252 Outils du paquet lint
8255 Selon le « Free On-line Dictionary of Computing » (FOLDOC),
8256 « lint » est « un outil de traitement de langage C qui
8257 contient beaucoup plus de tests complets sur le code que n'en font
8258 habituellement les compilateurs C. ». Les outils du paquet lint
8259 aide les responsables de paquet à trouver automatiquement des problèmes
8260 habituels et des violations de charte dans leurs paquets
8262 <sect1 id="lintian">
8264 <package>lintian</package>
8267 <package>lintian</package> dissèque les paquets pour y repérer des
8268 bogues et des manquements aux règles de développement. Il contient des
8269 tests automatisés pour vérifier de nombreuses règles et quelques
8273 Vous devriez récupérer la dernière version de
8274 <package>lintian</package> depuis <em>unstable</em> régulièrement et
8275 vérifier tous vos paquets. Notez que l'option <tt>-i</tt> donne des
8276 explications détaillées sur la signification de chaque erreur, la
8277 partie concernée dans la charte et le moyen habituel de régler le
8281 Veuillez vous reporter à <ref id="sanitycheck"> pour plus
8282 d'informations sur comment et quand utiliser Lintian.
8285 Vous pouvez aussi obtenir un résumé de tous les problèmes reportés par
8286 Lintian sur vos paquets à <url id="&url-lintian;">. Ces rapports
8287 contiennent la sortie de la dernière version de <prgn>lintian</prgn>
8288 pour l'ensemble de la distribution de développement
8289 (<em>unstable</em>).
8294 <package>linda</package>
8297 <package>linda</package> est un autre vérificateur de paquet. Il est
8298 semblable à <package>lintian</package>, mais il a un ensemble de tests
8299 différents. Il est écrit en Python plutôt qu'en Perl.
8302 <sect1 id="debdiff">
8304 <package>debdiff</package>
8307 <prgn>debdiff</prgn> (du paquet <package>devscripts</package>, <ref
8308 id="devscripts">) compare des listes de fichiers et des fichiers de
8309 contrôle de deux paquets. C'est un simple test de régression qui peut
8310 vous aider à remarquer si le nombre de paquets binaires a changé
8311 depuis le dernier envoi ou si autre chose a changé dans le fichier de
8312 contrôle. Bien sûr, certains des changements qu'il indique sont
8313 normaux, mais il peut aider à empêcher différents accidents.
8316 Vous pouvez l'exécuter sur un couple de paquets binaires :
8318 debdiff package_1-1_arch.deb package_2-1_arch.deb
8322 Ou même sur un couple de fichiers de changements :
8324 debdiff package_1-1_arch.changes package_2-1_arch.changes
8328 Pour plus d'informations, veuillez voir <manref section="1"
8333 <sect id="tools-helpers">
8335 Aides pour le fichier <file>debian/rules</file>
8338 Des outils de construction de paquets rendent le processus d'écriture
8339 du fichier <file>debian/rules</file> plus facile. Veuillez voir les
8340 <ref id="helper-scripts"> pour plus d'informations sur les raisons pour
8341 lesquelles ils peuvent être désirables ou non.
8343 <sect1 id="debhelper">
8345 <package>debhelper</package>
8348 Le paquet <package>debhelper</package> regroupe un ensemble de
8349 programmes qui peuvent être utilisés dans <file>debian/rules</file>
8350 pour automatiser les tâches courantes relatives à la fabrication des
8351 paquets Debian binaires. <package>debhelper</package> inclut des
8352 programmes pour installer différents fichiers, les compresser, ajuster
8353 leurs droits et intégrer votre paquet dans le système de menu Debian.
8356 À la différence d'autres approches, <package>debhelper</package> est
8357 divisé en plusieurs petits utilitaires simples qui agissent de manière
8358 cohérente. Ce découpage permet un contrôle des opérations plus fin que
8359 certains des autres « <em>outils debian/rules</em> ».
8362 Il existe aussi un certain nombre de petites extensions
8363 <package>debhelper</package> trop éphémères pour être
8364 documentées. Vous en listerez la plupart en faisant <tt>apt-cache
8368 <sect1 id="debmake">
8370 <package>debmake</package>
8373 <package>debmake</package> — un précurseur de
8374 <package>debhelper</package> — est un assistant moins modulaire
8375 pour manipuler le fichier <file>debian/rules</file>. Il inclut deux
8376 programmes principaux : <prgn>deb-make</prgn>, utile au
8377 développeur Debian pour convertir un paquet source normal (non-Debian)
8378 en paquet source Debian, et <prgn>debstd</prgn> qui regroupe le type
8379 de fonction que l'on trouve dans <package>debhelper</package>.
8382 Le consensus actuel est que l'utilisation de
8383 <package>debmake</package> est déconseillée au profit de
8384 <package>debhelper</package>. C'est un bogue d'utiliser
8385 <package>debmake</package> pour les nouveaux paquets. Les nouveaux
8386 paquets utilisant <package>debmake</package> seront rejetés de
8390 <sect1 id="dh-make">
8392 <package>dh-make</package>
8395 Le paquet <package>dh-make</package> contient <prgn>dh_make</prgn>, un
8396 programme qui crée un squelette de fichiers nécessaires à la
8397 construction d'un paquet Debian à partir d'une arborescence
8398 source. Comme le nom le suggère, <prgn>dh_make</prgn> est une
8399 réécriture de <package>debmake</package> et ses fichiers modèles
8400 utilisent les programmes dh_* de <package>debhelper</package>.
8403 Quoique les fichiers de règles fabriqués par <prgn>dh_make</prgn>
8404 constituent en général une base suffisante pour un paquet fonctionnel,
8405 ce ne sont que les fondations : la charge incombe toujours au
8406 responsable d'affiner les fichiers générés et de rendre le paquet
8407 complètement fonctionnel et en conformité avec la charte.
8412 <package>yada</package>
8415 Le paquet <package>yada</package> est un autre assistant pour la
8416 création de paquets. Il utilise un fichier
8417 <file>debian/packages</file> pour générer <file>debian/rules</file> et
8418 d'autres fichiers nécessaires dans le sous-répertoire
8419 <file>debian/</file>. Le fichier <file>debian/packages</file> contient
8420 des instructions pour construire les paquets et il n'y a pas besoin de
8421 créer de fichiers <file>Makefile</file>. Il existe la possibilité
8422 d'utiliser un moteur de macros semblable à celui utilisé dans les
8423 fichiers SPECS des paquets source RPM.
8426 Pour plus d'informations, voir le <tt><url
8427 id="http://yada.alioth.debian.org/" name="site de YADA"></tt>.
8432 <package>equivs</package>
8435 <package>equivs</package> est un autre paquet pour faire des
8436 paquets. Il est souvent conseillé pour un usage local, si vous avez
8437 besoin de faire un paquet pour satisfaire des dépendances. Il est
8438 aussi parfois utilisé pour faire des « méta-paquets » qui
8439 sont des paquets dont l'unique objet est de dépendre d'autres paquets.
8443 <sect id="tools-builders">
8445 Constructeurs de paquets
8448 Les paquets suivants aident le processus de construction des paquets,
8449 en général en contrôlant <prgn>dpkg-buildpackage</prgn> ainsi que la
8450 gestion du support de tâches.
8452 <sect1 id="cvs-buildpackage">
8454 <package>cvs-buildpackage</package>
8457 Le paquet <package>cvs-buildpackage</package> permet de mettre à jour
8458 ou de récupérer des paquets sources dans un référentiel CVS, il permet
8459 de fabriquer un paquet Debian depuis le référentiel CVS et il assiste
8460 le développeur lors de l'intégration de modifications amont dans le
8464 Ce paquet fournit l'infrastructure facilitant l'utilisation de CVS
8465 pour le responsable Debian. Il permet de conserver des branches CVS
8466 distinctes pour les distributions <em>stable</em>, <em>unstable</em>
8467 et probablement <em>experimental</em> et de bénéficier des avantages
8468 d'un système de contrôle de version.
8471 <sect1 id="debootstrap">
8473 <package>debootstrap</package>
8476 Le paquet <package>debootstrap</package> vous permet d'amorcer un
8477 système Debian de base à n'importe quel endroit dans votre système de
8478 fichiers. Par « système de base », nous entendons le strict
8479 minimum nécessaire pour fonctionner et installer le reste du système.
8482 Avoir un système comme celui-ci peut vous servir de différentes
8483 manières. Vous pouvez, par exemple, déplacer votre racine dans ce
8484 système avec <prgn>chroot</prgn> pour tester vos dépendances de
8485 construction. Vous pouvez aussi l'utiliser pour voir comment se
8486 comporte votre paquet quand il est installé dans un environnement
8490 <sect1 id="pbuilder">
8492 <package>pbuilder</package>
8495 <package>pbuilder</package> construit un système « chrooté »
8496 et compile des paquets dans ce système. Ceci est très utile pour
8497 vérifier que les dépendances de compilation de votre paquet sont
8498 correctes et pour vous assurer qu'aucune dépendance de construction
8499 inutile ou incorrecte n'existe dans le paquet résultant.
8502 Un paquet lié est <package>pbuilder-uml</package>, qui va même plus
8503 loin en réalisant la construction au sein d'un environnement
8504 « User Mode Linux ».
8509 <package>sbuild</package>
8512 <package>sbuild</package> est un autre compilateur automatique. Il
8513 peut aussi être utilisé dans un environnement
8514 « chrooté ». Il peut être utilisé seul ou comme partie d'un
8515 environnement de compilation distribué en réseau. Comme le précédent,
8516 c'est une partie du système utilisé par les porteurs pour construire
8517 des paquets binaires pour toutes les architectures
8518 disponibles. Veuillez vous reporter à <ref id="buildd"> pour plus
8519 d'informations et à <url id="&url-buildd;"> pour voir le système en
8524 <sect id="uploaders">
8526 Téléchargeurs de paquets
8529 Les paquets suivants aident à automatiser ou à simplifier le processus
8530 d'envoi de paquets dans l'archive officielle.
8532 <sect1 id="dupload">
8534 <package>dupload</package>
8537 Le paquet <package>dupload</package> contient un script du même nom
8538 pour mettre à jour des paquets dans l'archive Debian, tracer les mises
8539 à jour et les annoncer par courrier électronique automatiquement. Vous
8540 pouvez le configurer pour faire des mises à jour à d'autres endroits
8541 et avec d'autres méthodes.
8546 <package>dput</package>
8549 Le script <package>dput</package> fait à peu près la même chose que
8550 <package>dupload</package>, mais il le fait différemment. Il a aussi
8551 quelques fonctions supplémentaires telles que la possibilité de
8552 vérifier la signature GnuPG et les sommes de contrôles avant le
8553 téléchargement et la possibilité de démarrer <prgn>dinstall</prgn> en
8554 mode simulation (<em>dry-run</em>) après le téléchargement.
8559 <package>dcut</package>
8562 Le script <package>dcut</package> (faisant partie du paquet <ref
8563 id="dput">) aide à la suppression de fichiers du répertoire d'envoi
8568 <sect id="tools-maint-automate">
8570 Automatisation de la maintenance
8573 Les outils suivants aident à automatiser les différentes tâches de
8574 maintenance par l'ajout des entrées de changelog ou de lignes de
8575 signatures, par la recherche de bogues à partir d'Emacs et par
8576 l'utilisation du fichier officiel <file>config.sub</file> le plus
8579 <sect1 id="devscripts">
8581 <package>devscripts</package>
8584 Le paquet <package>devscripts</package> contient des scripts et outils
8585 qui sont très utiles pour maintenir vos paquets Debian. Parmi ces
8586 scripts, vous trouverez <prgn>debchange</prgn> et <prgn>dch</prgn> qui
8587 manipulent votre fichier <file>debian/changelog</file> depuis la ligne
8588 de commande et <prgn>debuild</prgn> qui est construit au-dessus de
8589 <prgn>dpkg-buildpackage</prgn>. L'outil <prgn>bts</prgn> est également
8590 très utile pour mettre à jour l'état des rapports de bogue depuis la
8591 ligne de commande. Le programme <prgn>uscan</prgn> peut être utilisé
8592 pour suivre les nouvelles versions amont de vos paquets. Le programme
8593 <prgn>debrsign</prgn> peut être utilisé pour signer à distance un
8594 paquet avant de l'envoyer, ce qui est agréable quand la machine sur
8595 laquelle vous construisez le paquet est différente de celle où
8596 résident vos clés GPG.
8599 Vérifiez la page de manuel <manref section="1" name="devscripts"> pour
8600 une liste complète des scripts disponibles.
8603 <sect1 id="autotools-dev">
8605 <package>autotools-dev</package>
8608 <package>autotools-dev</package> contient les meilleurs pratiques pour
8609 des personnes assurant la maintenance de paquets qui utilisent
8610 <prgn>autoconf</prgn> et/ou <prgn>automake</prgn>. Contient également
8611 des fichiers canoniques <file>config.sub</file> et
8612 <file>config.guess</file> qui sont connus pour fonctionner avec tous
8613 les portages Debian.
8616 <sect1 id="dpkg-repack">
8618 <package>dpkg-repack</package>
8621 <prgn>dpkg-repack</prgn> crée un paquet Debian à partir d'un paquet
8622 qui a déjà été installé. Si des changements ont été effectués sur le
8623 paquet quand il a été décompacté (par exemple, des fichiers dans
8624 <file>/etc</file> ont été modifiés), le nouveau paquet héritera de ces
8628 Cet utilitaire peut faciliter la copie de paquet d'un ordinateur vers
8629 un autre ou la re-création de paquets installés sur un système, mais
8630 qui ne sont plus disponibles ailleurs ou pour sauvegarder l'état
8631 actuel d'un paquet avant de le mettre à jour.
8636 <package>alien</package>
8639 <prgn>alien</prgn> convertit des paquets binaires entre différents
8640 formats de paquets, y compris des paquets Debian, RPM (RedHat), LSB
8641 (Linux Standard Base), Solaris et Slackware.
8644 <sect1 id="debsums">
8646 <package>debsums</package>
8649 <prgn>debsums</prgn> vérifie des paquets installés par rapport à leur
8650 somme de hachage MD5. Veuillez noter que tous les paquets n'ont pas de
8651 sommes MD5 car elles ne sont pas requises par la charte.
8654 <sect1 id="dpkg-dev-el">
8656 <package>dpkg-dev-el</package>
8659 <package>dpkg-dev-el</package> fournit des macros Emacs Lisp qui
8660 apportent une aide lors de l'édition des fichiers du répertoire
8661 <file>debian</file> de votre paquet. Par exemple, il y a des fonctions
8662 pratiques pour lister les bogues actuels d'un paquet et pour finaliser
8663 la dernière entrée d'un fichier <file>debian/changelog</file> file.
8666 <sect1 id="dpkg-depcheck">
8668 <package>dpkg-depcheck</package>
8671 <prgn>dpkg-depcheck</prgn> (du paquet <package>devscripts</package>,
8672 <ref id="devscripts">) exécute une commande sous <prgn>strace</prgn>
8673 pour déterminer tous les paquets utilisés par la commande.
8676 Pour les paquets Debian, c'est utile quand vous devez créer une ligne
8677 <tt>Build-Depends</tt> pour votre nouveau paquet : exécuter le
8678 processus de compilation avec <prgn>dpkg-depcheck</prgn> vous fournira
8679 une bonne première approximation des dépendances de compilation. Par
8682 dpkg-depcheck -b debian/rules build
8686 <prgn>dpkg-depcheck</prgn> peut aussi être utilisé pour vérifier les
8687 dépendances d'exécution, particulièrement si votre paquet utilise
8688 exec(2) pour exécuter d'autres programmes.
8691 Pour plus d'informations, veuillez voir <manref section="1"
8692 name="dpkg-depcheck">.
8696 <sect id="tools-porting">
8701 Les outils suivants facilitent le travail des porteurs et la
8702 compilation croisée.
8704 <sect1 id="quinn-diff">
8706 <package>quinn-diff</package>
8709 <package>quinn-diff</package> est utilisé pour localiser les
8710 différences d'une architecture à l'autre. Il pourrait vous dire, par
8711 exemple, quels paquets de l'architecture <var>X</var> doivent être
8712 portés sur l'architecture <var>Y</var>.
8715 <sect1 id="dpkg-cross">
8717 <package>dpkg-cross</package>
8720 <package>dpkg-cross</package> est un outil qui installe les
8721 bibliothèques et les en-têtes nécessaires à une compilation
8722 croisée<footnote><p><em>cross-compilation</em></p></footnote> d'une
8723 manière similaire à <package>dpkg</package>. De plus, les paquets
8724 <prgn>dpkg-buildpackage</prgn> et <prgn>dpkg-shlibdeps</prgn> ont été
8725 améliorés pour accepter les compilations croisées.
8729 <sect id="tools-doc">
8731 Documentation et information
8734 Les paquets suivants fournissent des informations pour les responsables
8735 ou de l'aide pour construire de la documentation
8737 <sect1 id="debiandoc-sgml">
8739 <package>debiandoc-sgml</package>
8742 <package>debiandoc-sgml</package> fournit la DTD DebianDoc SGML qui
8743 est habituellement utilisée pour la documentation Debian. Ce manuel,
8744 par exemple, est écrit en DebianDoc. Il fournit également des scripts
8745 pour construire et décliner le source en de multiples formats de
8749 La documentation sur la DTD peut être trouvée dans le paquet
8750 <package>debiandoc-sgml-doc</package>.
8753 <sect1 id="debian-keyring">
8755 <package>debian-keyring</package>
8758 Contient les clés publiques GPG et PGP des développeurs Debian. Voir
8759 <ref id="key-maint"> et la documentation du paquet pour plus
8763 <sect1 id="debview">
8765 <package>debview</package>
8768 <package>debview</package> fournit un mode Emacs pour voir les paquets
8769 binaires Debian. Il vous permet d'examiner un paquet sans le