summaryrefslogtreecommitdiffstats
path: root/man/fr/dpkg-source.pod
blob: 5836f3df47c8a05061ed7329999f95e03a03cee3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
        *****************************************************
        *           GENERATED FILE, DO NOT EDIT             *
        * THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
        *****************************************************

This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.

In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.

=encoding UTF-8

=head1 NOM

dpkg-source - Outil de manipulation des paquets sources Debian (.dsc).

=head1 SYNOPSIS

B<dpkg-source> [I<option>...] I<commande>

=head1 DESCRIPTION

B<dpkg-source> empaquette ou dépaquette une archive source Debian.

Aucune de ces commandes ne permet la combinaison de plusieurs options en une seule et elles ne permettent pas d'indiquer la valeur d'une option dans un argument séparé.

=head1 COMMANDES

=over 

=item B<-x> , B<--extract> I<nom-de-fichier>.dsc [I<répertoire-de-sortie>]

Cette option sert à extraire un paquet source (B<--extract> depuis dpkg 1.17.14). Un seul argument sans option doit être S<donné :> le nom du fichier de contrôle des sources Debian (B<.dsc>). Un deuxième argument sans option peut également être donné pour indiquer le répertoire où extraire le paquet S<source :> ce répertoire ne doit pas déjà exister. Quand aucun répertoire n'est indiqué, le paquet source est extrait dans un répertoire I<source>-I<version> du répertoire courant.

B<dpkg-source> lit, dans le fichier de contrôle, les noms des fichiers qui composent le paquet source ; il suppose qu'ils sont dans le même répertoire que le fichier B<.dsc>.

Les fichiers extraits du paquet auront leurs propriétaires et permissions définis à ceux attendus s'ils avaient été simplement créés. Les répertoires et les fichiers exécutables auront une permission égale à 0777 et les simples fichiers à 0666, les deux étant modifiées par le masque (umask) de celui qui fait l'extraction. Si le répertoire parent est S<« setgid »,> les répertoires extraits le seront aussi et tous les fichiers et répertoires hériteront de sa propriété de groupe.

Si le paquet source utilise un format non standard (actuellement, cela signifie tous les formats sauf le S<« 1.0 »),> son nom sera enregistré dans B<debian/source/format> de sorte que la construction du paquet source utilise le même format par défaut.

=item B<-b>, B<--build> I<répertoire> [I<paramètres-dans-un-format-spécifique>]

Construit un paquet source (B<--build> depuis S<dpkg 1.17.14).> Le premier argument sans option est pris comme nom du répertoire contenant l'arborescence des sources debianisée (c'est-à-dire avec un sous-répertoire debian et peut-être des modifications sur les fichiers d'origine). Selon le format du paquet source utilisé pour construire le paquet, d'autres paramètres peuvent être acceptés.

B<dpkg-source> va construire le paquet source dans le premier format trouvé dans la liste S<suivante :> le(s) format(s) indiqué(s) avec le paramètre de la ligne de commande I<--format>, le format indiqué dans B<debian/source/format>, S<« 1.0 ».> L'utilisation de S<« 1.0 »> comme dernier recours est obsolète et sera retirée dans le futur. Le format source devrait toujours être indiqué dans B<debian/source/format>. Voir la section B<FORMATS DE PAQUET SOURCE> pour une description plus détaillée des différents formats de paquet source.

=item B<--print-format> I<répertoire>

Affiche le format source qui serait utilisé pour construire le paquet source si B<dpkg-source --build> I<répertoire> était utilisé (dans les mêmes conditions et avec les mêmes options ; depuis S<dpkg 1.15.5).>

=item B<--before-build> I<répertoire>

Exécute le point d'entrée correspondant du format de paquet source (depuis dpkg 1.15.8). Ce point d'entrée doit être utilisé avant toute construction du paquet (B<dpkg-buildpackage> l'utilise très tôt, avant même B<debian/rules clean>). Cette commande est idempotente et peut être lancée plusieurs fois. Tous les formats source ne mettent pas en œuvre ce branchement et ceux qui le font préparent l'arborescence source pour la construction, par exemple en garantissant que les correctifs Debian sont appliqués.

=item B<--after-build> I<répertoire>

Exécute le point d'entrée correspondant du format de paquet source (depuis dpkg 1.15.8). Ce point d'entrée doit être utilisé après toute construction du paquet (B<dpkg-buildpackage> l'utilise en dernier). Cette commande est idempotente et peut être lancée plusieurs fois. Tous les formats source ne mettent pas en œuvre ce branchement et ceux qui le font s'en servent pour défaire ce qui a été fait par B<--before-build>.

=item B<--commit> [I<répertoire>] ...

Enregistre les modifications dans l'arborescence source décompressée dans I<répertoire> (depuis S<dpkg 1.16.1).> Cette commande peut accepter des paramètres supplémentaires selon le format source. Elle provoquera une erreur pour les formats où cette opération n'a pas de signification.

=item B<-?>, B<--help>

Affiche un message d'aide puis quitte. Les options de construction et d'extraction spécifiques au format peuvent être montrées avec l'option B<--format>.

=item B<--version>

Afficher le numéro de version puis quitter.

=back

=head1 OPTIONS

=head2 Options de construction générique

=over 

=item B<-c>I<fichier-de-contrôle>

Indique le principal fichier de contrôle des sources où trouver les renseignements. Par défaut, c'est le fichier B<debian/control>. Lorsqu'un chemin relatif est fourni, on considère qu'il est relatif au répertoire le plus élevé de l'arborescence source.

=item B<-l>I<fichier-des-changements>

Indique le journal des modifications où trouver des renseignements. Par défaut, c'est le fichier B<debian/changelog>. Lorsqu'un chemin relatif est fourni, on considère qu'il est relatif au répertoire le plus élevé de l'arborescence source.

=item B<-F>I<format-du-fichier-des-changements>

Indique le format du fichier des changements. Voir B<dpkg-parsechangelog>(1) pour plus d'informations à propos des formats gérés.

=item B<--format=>I<valeur>

Utilise le format indiqué pour la construction du paquet source (depuis dpkg 1.14.17). Ce choix remplace le format indiqué dans B<debian/source/format>.

=item B<-V>I<nom>B<=>I<valeur>

Fixe la valeur d'une variable de substitution. Consultez B<deb-substvars>(5) pour une discussion sur la valeur de substitution.

=item B<-T>I<fichier-substvars>

Lit les variables de substitution dans I<fichier-substvars> ; par défaut aucun fichier n'est lu. Cette option peut être utilisée plusieurs fois pour lire des variables de substitution depuis plusieurs fichiers (depuis dpkg 1.15.6).

=item B<-D>I<champ>B<=>I<valeur>

Remplace ou ajoute en sortie un champ dans le fichier de contrôle.

=item B<-U>I<champ>

Supprime en sortie un champ dans le fichier de contrôle.

=item B<-Z>I<compression>, B<--compression>=I<compression>

Spécifie le niveau de compression à utiliser pour les fichiers archive et diff créés (B<--compression> depuis S<dpkg 1.15.5).> Notez que cette option ne causera pas la recompression des archives existantes, cela ne concerne que les nouveaux fichiers. Les valeurs acceptées sont les S<suivantes :> I<gzip>, I<bzip2>, I<lzma> et I<xz>. L'option par défaut est I<xz> pour les formats 2.0 et plus récents, et I<gzip> pour le format 1.0. I<xz> n'est géré que depuis S<dpkg 1.15.5.>

=item B<-z>I<niveau>, B<--compression-level>=I<niveau>

Niveau de compression à utiliser (B<--compression-level> depuis dpkg 1.15.5). Comme avec B<-Z> cela ne concerne que les fichiers nouvellement créés. Les valeurs prises possibles sont les S<suivantes :> I<1> à I<9>, I<best> et I<fast>. La valeur par défaut est I<9> pour gzip et bzip2, I<6> pour xz et lzma.

=item B<-i>[I<expression-rationnelle>],
B<--diff-ignore>[=I<expression-rationnelle>]

Il est possible de donner une expression rationnelle Perl pour filtrer les fichiers qui doivent être éliminés de la liste des fichiers pour le S<« diff »> (B<--diff-ignore> depuis S<dpkg 1.15.6).> Cette liste est créée avec une commande S<« find ».> Si le fichier source en construction est un fichier source de version 3 utilisant un système de suivi de versions, cette option est utile pour ignorer les modifications non envoyées. Utiliser B<-i>I<.*> les ignorera toutes.

L'option B<-i> active cette fonction avec une expression rationnelle par défaut (en préservant toutes les modifications faites avec l'expression rationnelle par défaut par une utilisation précédente de B<--extend-diff-ignore>) qui couvre les fichiers de contrôle des plus usuels systèmes de gestion de version, les fichiers de sauvegarde, les fichiers d'échange et les répertoires utilisés par Libtool. Il ne peut y avoir qu'une seule expression rationnelle active ; avec de multiples options B<-i>, seule la dernière mentionnée sera prise en compte.

C'est très utile pour supprimer des fichiers qui sont inclus dans le diff, par exemple, si vous maintenez un source avec un système de contrôle de version et que voulez construire un paquet source sans inclure des fichiers et répertoires additionnels qu'il contient généralement (par exemple CVS/, .cvsignore, .svn/). L'expression rationnelle par défaut est déjà très exhaustive, mais si avez besoin de la remplacer, veuillez noter que par défaut, il sait vérifier n'importe quelle partie d'un chemin, donc si vous voulez trouver le début d'un nom de fichier ou des noms de fichiers complets, vous devrez fournir les caractères spéciaux vous-même (par exemple S<« (^|/) »,> S<« ($|/) »).>

=item B<--extend-diff-ignore>=I<expression-rationnelle>

L'expression rationnelle Perl indiquée complétera la valeur par défaut utilisée par B<--diff-ignore> et sa valeur courante si elle est définie (depuis S<dpkg 1.15.6).> Cela est effectué en concaténant S<« B<|>I<expression-rationnelle> »> à la valeur existante. Cette option est pratique dans B<debian/source/options> pour exclure certains fichiers auto-créés de la création automatique de correctifs.

=item B<-I>[I<motif-fichier>], B<--tar-ignore>[=I<motif-fichier>]

Avec cette option, le fichier est passé à l'option B<--exclude> de B<tar>(1) quand on veut créer un fichier .orig.tar ou .tar (B<--tar-ignore> depuis dpkg 1.15.6). Par exemple, B<-I>CVS fera que tar sautera les répertoires du CVS quand il doit créer un fichier .tar.gz. On peut répéter cette option pour exclure à partir de plusieurs motifs.

B<-I> ajoute par défaut des options B<--exclude> qui élimineront les fichiers et les répertoires de contrôles des systèmes les plus connus de contrôle de version, les fichiers d'échange et de sauvegarde et les répertoires utilisés par Libtool.

=back

S<B<Note> :> même si elles ont des rôles similaires, B<-i> et B<-I> ont une syntaxe et une sémantique très différentes. B<-i> ne peut être spécifié qu'une fois et reçoit une expression rationnelle compatible avec le langage Perl qui est appliquée sur chaque chemin relatif complet de chaque fichier. B<-I> peut être spécifié plusieurs fois et prend un motif de nom de fichier avec les méta-caractères du shell. Le motif est appliqué au chemin relatif complet mais aussi à chaque partie du chemin individuellement. La sémantique exacte de l'option B<--exclude> de tar est un peu compliquée, voir L<https://www.gnu.org/software/tar/manuel/tar.html#wildcards> pour une documentation plus complète.

L'expression rationnelle et le motif par défaut pour les deux options peuvent être trouvés dans la sortie de la commande B<--help>.

=head2 Options d'extraction génériques

=over 

=item B<--no-copy>

Ne copie pas l'archive d'origine à côté de l'extraction du paquet source (depuis S<dpkg 1.14.17).>

=item B<--no-check>

Ne vérifie pas les signatures et les sommes de contrôle avant de dépaqueter(depuis S<dpkg 1.14.17).>

=item B<--no-overwrite-dir>

Ne pas remplacer le répertoire d'extraction s'il existe déjà (depuis dpkg 1.18.8)

=item B<--require-valid-signature>

Refuse de décompresser le paquet source s'il ne contient pas de signature OpenPGP pouvant être vérifiée (depuis S<dpkg 1.15.0)> soit avec le fichier de clés I<trustedkeys.gpg> de l'utilisateur, un des fichiers de clés propre à un distributeur ou un des fichiers de clés officiels de Debian (I</usr/share/keyrings/debian-keyring.gpg>, I</usr/share/keyrings/debian-nonupload.gpg> et I</usr/share/keyrings/debian-maintainers.gpg>).

=item B<--require-strong-checksums>

Refuse de décompresser le paquet source s'il ne contient pas de somme de contrôle robuste (depuis S<dpkg 1.18.7).> Actuellement, B<SHA-256> est le seul type de somme de contrôle considéré comme robuste.

=item B<--ignore-bad-version>

Transforme la vérification des mauvaises versions des paquets source en avertissement non fatal (since dpkg 1.17.7). Cette option sera seulement nécessaire quand on extrait des anciens paquets source avec des versions cassées, pour préserver la compatibilité avec les versions précédentes.

=back

=head2 Options générales génériques

=over 

=item B<--threads-max=>I<threads>

Fixe le nombre maximal de processus permis pour les compresseurs qui gèrent les opérations multi-threadées (depuis S<dpkg 1.21.14).>

=item B<-q>

Définit le mode silencieux pour supprimer les avertissements.

=back

=head1 FORMATS DE PAQUET SOURCE

Si vous ne savez pas quel format source utiliser, il est conseillé de choisir soit S<« 3.0> S<(quilt) »> soit S<« 3.0> S<(native) ».> Voir L<https://wiki.debian.org/Projects/DebSrc3.0> pour plus d'informations sur la mise en œuvre de ces formats dans Debian.

=head2 S<Format :> 1.0

Un paquet source dans ce format se compose soit d'un B<.orig.tar.gz> associé à un B<.diff.gz> ou un simple B<.tar.gz> (dans ce cas, le paquet est appelé natif I<native>). L'archive tar originale pourrait être accompagnée de façon facultative d'une signature amont séparée B<.orig.tar.gz.asc>, extraction prise en charge depuis S<dpkg 1.18.5.>

B<Extraction>

Extraire un paquet natif revient à une simple extraction de l'archive tar dans le répertoire cible. L'extraction d'un paquet non natif consiste au dépaquetage du B<.orig.tar.gz> puis l'application des correctifs contenus dans le B<.diff.gz>. La date de tous les fichiers correctifs est réglée à celle du moment de l'extraction depuis le paquet source (cela évite les horodatages faux menant à des problèmes lorsque des fichiers générés automatiquement sont modifiés). Le diff peut créer de nouveaux fichiers (tout le répertoire debian est créé de cette façon) mais ne peut pas supprimer de fichiers (les fichiers vides seront laissés là) et ne peut ni créer ni modifier des liens symboliques.

B<Construction>

Construire un paquet natif revient simplement à créer une archive tar avec le répertoire du source. La création d'un paquet non natif consiste à extraire l'archive d'origine dans un répertoire séparé S<« .orig »> puis à régénérer le B<.diff.gz> en comparant le I<répertoire> du paquet source avec le répertoire S<« .orig ».>

B<Options de construction (avec S<--build)> :>

Si l'on donne un second argument, ce sera le nom du répertoire source d'origine ou le nom du fichier tar ou bien une chaîne vide si le paquet est un S<« Debian> pure S<souche »> et n'a donc pas de fichiers S<« diffs »> pour sa S<« debianisation ».> S'il n'y a pas de second argument, B<dpkg-source> cherche le fichier tar des sources d'origine I<paquet>B<_>I<version-amont>B<.orig.tar.gz> ou bien le répertoire source d'origine I<répertoire>B<.orig> selon les paramètres B<-sX>.

Les options B<-sa>, B<-sp>, B<-sk>, B<-su> et B<-sr> ne remplacent pas les fichiers tar ou les répertoires existants. Pour cela, il faut utiliser les options B<-sA>, B<-sP>, B<-sK>, B<-sU> et B<-sR.>

=over 

=item B<-sk>

Spécifie que le source d'origine est attendu sous forme tar ; par défaut, I<paquet>B<_>I<version-amont>B<.orig.tar>I<extension>. Il le laisse en place en tant que fichier tar ou le copie dans le répertoire en cours s'il n'y est pas déjà. Le fichier sera dépaqueté dans I<répertoire>B<.orig> pour la génération du fichier diff.

=item B<-sp>

Comme B<-sk> mais supprimera le répertoire à nouveau par la suite.

=item B<-su>

Quand on spécifie que le source d'origine est un répertoire ; la valeur par défaut est le répertoire I<paquet>B<->I<version-amont>B<.orig> et B<dpkg-source> crée une nouvelle archive du source d'origine.

=item B<-sr>

Comme B<-su> mais supprimera ce répertoire après utilisation.

=item B<-ss>

Indique que le source d'origine est disponible à la fois comme un répertoire et comme un fichier tar. B<dpkg-source> se servira du répertoire pour créer le S<« diff »,> mais du fichier tar pour créer le fichier B<.dsc>. Aussi, faire attention avec cette option. Si le répertoire et le fichier tar ne correspondent pas, il en résulte une mauvaise archive source.

=item B<-sn>

Indique de ne pas chercher de source d'origine et de ne pas créer de S<« diff ».> Le second argument, s'il existe, doit être une chaîne vide. Cela sert pour les paquets Debian pure souche qui n'ont pas un source d'origine distincte et donc pas de fichier S<« diff »> de debianisation.

=item B<-sa> or B<-sA>

Indique comme source d'origine soit un fichier tar, soit un répertoire — le deuxième argument, s'il existe, doit être l'un d'eux ou bien une chaîne vide (cela revient à utiliser l'option B<-sn)>. Quand un fichier tar existe, il est dépaqueté pour créer le fichier S<« diff »> ; ensuite il est supprimé (cela revient à utiliser l'option B<-sp)> ; quand un répertoire est trouvé, il est empaqueté et B<dpkg-source> crée le source d'origine et supprime ensuite ce répertoire (cela revient à utiliser l'option B<-sr)> ; quand ni l'un ni l'autre n'est trouvé, B<dpkg-source> suppose que le paquet ne possède pas de fichier S<« diff »> de debianisation, mais seulement une simple archive source (cela revient à utiliser l'option B<-sn>). Quand les deux sont trouvés, B<dpkg-source> ignore le répertoire et le remplace si l'option B<-sA> a été spécifiée (cela revient à utiliser l'option B<-sP)> ou il provoque une erreur si l'option B<-sa> a été spécifiée. L'option par défaut est B<-sa>.

=item B<--abort-on-upstream-changes>

Ce processus échoue si le fichier de différences contient des modifications apportées à des fichiers en dehors du sous-répertoire debian (depuis dpkg 1.15.8). Cette option n'est pas autorisée dans B<debian/source/options> mais peut être utilisée dans B<debian/source/local-options>.

=back

B<options d'extraction (avec S<--extract)> :>

Dans tous ces cas, l'arborescence existante des sources d'origine est supprimée.

=over 

=item B<-sp>

Quand on extrait le répertoire source d'origine (s'il existe), il est conservé en tant que fichier tar. S'il n'est pas déjà dans le répertoire courant ou si ce répertoire contient un fichier différent, le fichier tar est copié dans ce répertoire. (B<Cela est le comportement par défaut>).

=item B<-su>

Dépaquetage de l'arborescence du répertoire source d'origine.

=item B<-sn>

Assure que le répertoire source d'origine ne sera ni copié dans le répertoire en cours, ni dépaqueté. Si une arborescence source d'origine est présente dans le répertoire courant, elle est toujours supprimée.

=back

Toutes les options B<-s>I<X> s'excluent mutuellement. Si vous en indiquez plusieurs, seule la dernière sera prise en compte.

=over 

=item B<--skip-debianization>

Passe l'étape d'application du fichier de différences Debian aux sources amont (depuis S<dpkg 1.15.1).>

=back

=head2 S<Format :> 2.0

Extraction prise en charge depuis S<dpkg 1.13.9,> construction depuis dpkg 1.14.8. Aussi connu sous le nom de S<« wig&pen ».> Ce format n'est pas recommandé pour une utilisation massive, le format S<« 3.0> S<(quilt) »> le remplace. Wig&pen a été la première spécification d'une nouvelle génération de format de paquet source.

Le comportement de ce format est le même que pour le format S<« 3.0> S<(quilt) »> sauf qu'il n'utilise pas de liste explicite de correctifs. Tous les fichiers dans B<debian/patches/> correspondant à l'expression rationnelle Perl B<[\w-]+> doivent être des correctifs S<valables :> ils sont appliqués au moment de l'extraction.

Lors de la construction d'un nouveau paquet source, toute modification apportée au source amont est enregistrée dans un correctif nommé B<zz_debian-diff-auto>.

=head2 S<Format :> 3.0 (native)

Pris en charge depuis S<dpkg 1.14.17.> Ce format est une extension du format de paquet natif tel que défini dans le format 1.0. Il gère toutes les méthodes de compression et ignore par défaut tout fichier et répertoire spécifique à VCS ainsi que de nombreux fichiers temporaires (voir la valeur par défaut associée à l'option B<-I> dans la sortie de B<--help>).

=head2 S<Format :> 3.0 (quilt)

Pris en charge depuis 1.14.17. Un paquet source dans ce format contient au moins une archive tar d'origine (B<.orig.tar.>I<ext> où I<ext> peut être B<gz>, B<bz2> B<lzma> et B<xz>) et une archive tar debian (B<.debian.tar.>I<ext>). Il peut également contenir d'autres archives tar d'origine (B<.orig->I<composant>B<.tar.>I<ext>). I<composant> ne peut être constitué que de caractères alphanumériques S<(« a-zA-Z0-9 »)> et de tirets S<(« - »).> Chaque archive tar originale peut être accompagnée de façon facultative d'une signature amont séparée (B<.orig.tar.>I<ext>B<.asc> et B<.orig->I<composant>B<.tar.>I<ext>B<.asc>), extraction prise en charge depuis dpkg 1.17.20, construction depuis S<dpkg 1.18.5.>

B<Extraction>

L'archive principale tar d'origine est extraite tout d'abord, puis toutes les autres archives tar d'origine sont extraites dans des sous-répertoires dont le nom est formé à partir de la partie I<composant> de leur nom. L'archive tar Debian est extraite du répertoire source, après la suppression de tout répertoire B<debian> existant. Notez que l'archive tar Debian doit contenir un sous-répertoire B<debian>, mais elle peut également contenir des fichiers binaires en dehors de ce répertoire (voir l'option B<--include-binaries>).

Toutes les modifications figurant dans B<debian/patches/>I<distributeur>B<.series> ou B<debian/patches/series> sont alors appliquées, où I<distributeur> sera le nom en minuscules du distributeur actuel, ou Debian s'il n'y a pas de distributeur défini. Si l'ancien fichier est utilisé et qu'il n'y en a pas de plus récent (ou si c'est un lien symbolique), alors celui-ci est remplacé par un lien symbolique vers l'ancien. Cette disposition vise à simplifier l'utilisation de B<quilt> pour gérer l'ensemble des correctifs. Les fichiers de séries propres au distributeur sont destinés à permettre de sérialiser plusieurs branches de développement en se basant sur le distributeur, d'une manière déclarative, de préférence au codage ouvert de cette gestion dans B<debian/rules>. Cela est particulièrement utile quand le source à besoin de correctifs de manière conditionnelle, car les fichiers affectés n’ont pas de gestion interne d’inclusion conditionnelle. Notez toutefois que si B<dpkg-source> analyse correctement les fichiers de séries avec les options utilisées pour l'application du correctif (stockées sur chaque ligne après le nom du correctif et une ou plusieurs espaces), il ignore ces options et s'attendra toujours à ce que les correctifs puissent être appliqués avec l'option B<-p1> de B<patch>. Il va donc émettre un avertissement lorsqu'il rencontrera ces options, et la construction est susceptible d'échouer.

Notez que B<lintian>(1) émettra des avertissements sans condition lors de l'utilisation de séries de distributeur du fait d'une règle controversée particulière de Debian qui ne devrait pas affecter une utilisation externe ; pour les faire taire, le profil lintian de dpkg peut être utilisé en passant l'option «B<--profile dpkg>» à B<lintian>(1).

La date de tous les fichiers correctifs est celle du moment où se déroule l'extraction du paquet source (cela évite les horodatages faux menant à des problèmes lorsque des fichiers générés automatiquement sont modifiés).

Au contraire du comportement par défaut de B<quilt>, les correctifs doivent s'appliquer sans décalage S<(« fuzz »).> Quand cela n'est pas le cas, il est suggéré de les rafraîchir avec B<quilt> sinon B<dpkg-source> se terminera avec une erreur en tentant de les appliquer.

Similaire au comportement par défaut de B<quilt>, les modifications peuvent aussi supprimer des fichiers.

Le fichier B<.pc/applied-patches> est créé si certains correctifs ont été appliqués au cours de l'extraction.

B<Construction>

Les originaux de toutes les archives tar trouvées dans le répertoire courant sont extraits dans un répertoire temporaire en suivant la même logique que pour le dépaquetage, le répertoire debian est copié dans le répertoire temporaire, et tous les correctifs excepté le correctif automatique B<debian-changes->I<version> ou B<debian-changes>, selon B<--single-debian-patch>) sont appliquées. Le répertoire temporaire est comparé à celui du paquet source. Si le fichier de différences n'est pas vide, la construction échoue à moins que B<--single-debian-patch> ou B<--auto-commit>  aient été utilisés, et dans ce cas le diff est stocké dans le correctif automatique. Si le correctif automatique est créé ou supprimé, il est ajouté ou supprimé dans le fichier S<« series »> et les métadonnées de B<quilt>.

Tout changement dans un fichier binaire ne peut être indiqué dans le diff et va déboucher sur un échec à moins que le responsable ne décide délibérément d'inclure cette modification binaire dans l'archive tar Debian (en le listant dans B<debian/source/include-binaries>). La construction pourra également échouer si des fichiers binaires sont trouvés dans le sous-répertoire debian à moins qu'ils aient été autorisés au moyen de B<debian/source/include-binaries>.

Le répertoire debian mis à jour et la liste des binaires modifiés sont ensuite utilisés pour recréer l'archive tar debian.

Le diff généré automatiquement n'inclut pas les changements spécifiques sur les fichiers VCS ainsi sur que de nombreux fichiers temporaires (pour la valeur par défaut associée à l'option B<-i>, voir la sortie de B<--help>). En particulier, le répertoire B<.pc> utilisé par B<quilt> est ignoré lors de la génération automatique du correctif.

S<B<Note> :> B<dpkg-source> B<--before-build> (et B<--build>) prendront soin d'appliquer les correctifs indiqués dans le fichier series afin qu'un paquet soit toujours construit avec toutes les corrections appliquées. Pour effectuer cette détection, il recherche la liste des correctifs non appliqués (ils sont mentionnés dans le fichier B<series> mais pas dans B<.pc/applied-patches>) et si le premier de cette liste peut être appliqué sans erreur, il les applique tous. L'option B<--no-preparation> peut être utilisée pour désactiver ce comportement.

B<Enregistrement des modifications>

=over 

=item B<--commit> [I<répertoire>] [I<nom-du-correctif>] [I<fichier-de-correctif>]

Crée un correctif correspondant aux modifications locales non gérées par le système de gestion de correctifs B<quilt> et les intègre dans la liste des correctifs sous le nom I<nom-du-correctif>. Si le nom est omis, il sera demandé interactivement. Si I<fichier-de-correctifs> est indiqué, il est utilisé comme fichier de modifications locales à intégrer. Une fois intégré, un éditeur est lancé afin de permettre d'ajouter des méta-informations dans l'en-tête du correctif.

Le fait de passer I<fichier-de-correctifs> est essentiellement utile après un échec de construction qui prégénère ce fichier. Sur ces bases, le fichier est supprimé après intégration. Veuillez également noter que les modifications contenues dans le fichier de correctifs doivent déjà être appliquées dans l'arborescence et que les fichiers modifiés par le correctif ne doivent pas comporter de modifications supplémentaires.

Si la création de correctif détecte des fichiers binaires modifiés, ils seront ajoutés automatiquement à B<debian/source/include-binaries> afin de pouvoir être inclus dans l'archive debian (de façon analogue à ce que ferait B<dpkg-source --include-binaries --build>).

=back

B<Options de construction>

=over 

=item B<--allow-version-of-quilt-db=>I<version>

Autorise B<dpkg-source> à construire le fichier si la version des métadonnées de B<quilt> est celle indiquée, même si B<dpkg-source> n'en n'a pas connaissance (depuis S<dpkg 1.15.5.4).> En fait, cela indique que la version indiquée des métadonnées de B<quilt> est compatible avec la version 2 que B<dpkg-source> gère. La version des métadonnées de B<quilt> est conservée dans B<.pc/.version>.

=item B<--include-removal>

N'ignore pas les fichiers supprimés et les inclut dans le fichier de modifications généré automatiquement.

=item B<--include-timestamp>

Inclut la date dans le correctif généré automatiquement.

=item B<--include-binaries>

Ajoute tous les binaires modifiés dans l'archive tar debian. Les ajoute aussi à S<B<debian/source/include-binaries> :> elles seront ajoutées par défaut dans les constructions suivantes aussi cette option n'est donc plus nécessaire.

=item B<--no-preparation>

N'essaye pas de préparer l'arbre de la construction en appliquant les correctifs qui ne sont apparemment pas appliqués (depuis S<dpkg 1.14.8).>

=item B<--single-debian-patch>

Utilise B<debian/patches/debian-changes> au lieu de B<debian/patches/debian-changes->I<version> comme nom du correctif automatique créé au cours de la construction (depuis S<dpkg 1.15.5.4).> Cette option est particulièrement pratique lorsque le paquet est géré avec un outil de gestion de versions et qu'un jeu de correctifs ne peut être créé de façon fiable. Dans ce cas, les différences avec la version amont doivent être conservées dans un correctif unique. Cette option serait indiquée dans B<debian/source/local-options> et accompagnée par un fichier B<debian/source/local-patch-header> qui explique la meilleure méthode pour revoir les corrections spécifiques à Debian, par exemple dans le gestionnaire de versions utilisé.

=item B<--create-empty-orig>

Crée automatiquement l'archive principale tar d'origine vide si elle est manquante et qu'il existe des archives tar d'origine additionnelles (depuis dpkg 1.15.6). Cette option peut être utilisée lorsque le paquet source est une collection de différents sources amont et qu'il n'existe pas de logiciel S<« principal ».>

=item B<--no-unapply-patches, --unapply-patches>

Par défaut, B<dpkg-source> retire automatiquement les correctifs dans le point d'entrée B<--after-build> s'ils ont été appliqués pendant B<--before-build> (B<--unapply-patches> depuis S<dpkg 1.15.8,> B<--no-unapply-patches> depuis S<dpkg 1.16.5).> Ces options permettent de désactiver ou activer unilatéralement ce retrait des correctifs. Elles ne sont permises que dans B<debian/source/local-options> afin que tous les paquets source créés aient le même comportement par défaut.

=item B<--abort-on-upstream-changes>

Ce processus échouera si un correctif automatique a été créé (depuis dpkg 1.15.8). Cette option peut servir à vérifier que toutes les modifications ont été enregistrées correctement dans des correctifs B<quilt> distincts avant la construction du paquet source. Elle n'est pas autorisée dans B<debian/source/options> mais peut prendre place dans B<debian/source/local-options>.

=item B<--auto-commit>

Pas d'échec du processus de construction si un correctif automatique a été S<créé :> il est enregistré automatiquement dans le fichier series de B<quilt>.

=back

B<Options d'extraction>

=over 

=item B<--skip-debianization>

Passe l'étape d'extraction de l'archive tar debian des sources amont (depuis dpkg 1.15.1).

=item B<--skip-patches>

Ne pas appliquer des correctifs à la fin de l'extraction (depuis dpkg 1.14.18).

=back

=head2 S<Format :> 3.0 (custom)

Pris en charge depuis S<dpkg 1.14.17.> Ce format est particulier. Il ne représente pas un réel format de paquet source mais peut être utilisé pour créer des paquets sources avec des fichiers arbitraires.

B<Options de construction>

Tous les arguments qui ne sont pas des options sont pris pour des fichiers à intégrer dans le paquet source généré. Ils doivent exister et être de préférence dans le répertoire courant. Au moins un fichier doit être donné.

=over 

=item B<--target-format=>I<valeur>

B<Required>. Définit le format réel du paquet source généré. Le fichier généré .dsc contiendra cette valeur dans son champ B<format> et non S<« 3.0> S<(custom) ».>

=back

=head2 S<Format :> 3.0 (git)

Pris en charge depuis S<dpkg 1.14.17.> Ce format est expérimental.

Un paquet source qui utilise ce format est constitué d'un seul ensemble d'un dépôt git B<.git> qui contient les sources du paquet. Il peut également exister un fichier I<.gitshallow> qui donne les révisions d'un clone git S<« shallow ».>

B<Extraction>

Cet ensemble est cloné sous forme d'un dépôt git dans le répertoire cible. S'il existe un fichier I<.gitshallow>, il est installé en tant que I<.git/shallow> dans le dépôt git cloné.

Veuillez noter que, par défaut, le nouveau dépôt aura la même branche récupérée que celle qui était récupérée dans les sources d'origine (souvent S<« main »> mais cela peut être tout à fait autre chose). Toutes les autres branches seront disponibles sous I<remotes/origin>.

B<Construction>

Avant d'aller plus loin, quelques vérifications sont effectuées afin de s'assurer qu'il n'existe aucun changement non ignoré non soumis.

B<git-bundle>(1) permet de créer un ensemble à partir du dépôt git. Par défaut, toutes les branches et étiquettes du dépôt sont incluses dans cet ensemble.

B<Options de construction>

=over 

=item B<--git-ref=>I<réf>

Permet d'indiquer une référence git à inclure dans l'ensemble git. L'utilisation de cette option désactive le comportement par défaut qui est d'inclure toutes les branches et étiquettes. Cette option peut être utilisée plusieurs fois. Le paramètre I<réf> peut être le nom d'une branche ou une étiquette à inclure. Il peut également être tout paramètre que l'on peut passer à B<git-rev-list>(1). Par exemple, pour n'inclure que la branche S<« main »,> on peut utiliser B<--git-ref=>main. Pour inclure toutes les étiquettes et toutes les branches, sauf la branche privée, on peut utiliser -B<git-ref=>--all B<-- git-ref=>^private.

=item B<--git-depth=>I<nombre>

Crée un clone S<« shallow »> dont l'historique est tronqué au nombre indiqué de révisions.

=back

=head2 S<Format :> 3.0 (bzr)

Pris en charge depuis S<dpkg 1.14.17.> Ce format est expérimental. Il crée une archive tar contenant le dépôt bzr correspondant.

B<Extraction>

L'archive tar est décompressée puis bzr est utilisé afin de récupérer la branche courante.

B<Construction>

Avant d'aller plus loin, quelques vérifications sont effectuées afin de s'assurer qu'il n'existe aucun changement non ignoré non soumis.

Ensuite, la partie spécifique du répertoire source du gestionnaire de versions est copiée dans un répertoire temporaire. Avant que ce répertoire temporaire ne soit empaqueté dans une archive tar, divers nettoyages sont effectués pour économiser de l'espace.

=head1 DIAGNOSTICS

=head2 aucun format source indiqué dans debian/source/format

Le fichier B<debian/source/format> devrait toujours exister et indiquer le format source souhaité. Pour préserver la compatibilité avec d'anciennes versions, le format S<« 1.0 »> est implicite quand le fichier n'existe pas. Il est déconseillé de dépendre de ce comportement qui pourrait être modifié dans de futures versions de B<dpkg-source>, qui échoueront alors en l'absence d'une mention explicite de format.

Cela est dû au fait que le format S<« 1.0 »> n'est plus le format recommandé, qu'il est conseillé de choisir un des formats les plus récents S<(« 3.0> S<(quilt) »> ou S<« 3.0> S<(native) »)> mais que dpkg-source ne le fera pas automatiquement. Si vous souhaitez continuer à utiliser l'ancien format, il est nécessaire d'être explicite et indiquer S<« 1.0 »> dans B<debian/source/format>.

=head2 le fichier de différences modifie les fichiers amont suivants

Lors de l'utilisation du format source S<« 1.0 »,> il est déconseillé de modifier directement les fichiers amont, car les modifications restent alors cachées et souvent non documentées dans le fichier diff.gz. Au contraire, il est conseillé de conserver les modifications sous forme de correctifs dans le répertoire debian et de les appliquer au moment de la construction. Pour éviter ces opérations plus complexes, vous pouvez également choisir le format S<« 3.0> S<(quilt) »> qui permet ces opérations de manière native.

=head2 impossible d'identifier les changements de I<fichier>

Les modifications des sources amont sont en général conservées dans des fichiers de correctifs mais certaines modifications ne peuvent être représentées sous forme de tels fichiers qui ne peuvent modifier que des fichiers texte. Si vous essayez de remplacer un fichier avec un objet d'un type différent (par exemple remplacer un fichier par un lien ou un répertoire), ce message d'erreur s'affichera.

=head2 le fichier I<fichier>, nouvellement créé, ne sera pas représenté dans le
fichier de différences

Les fichiers vides ne peuvent pas être créés avec des correctifs. En conséquence, la modification n'est pas enregistrée dans le paquet source, ce qui provoque cet avertissement.

=head2 le mode exécutable I<permissions> de I<fichier> ne sera pas représenté dans
le fichier de différences

Les fichiers de correctifs n'enregistrent pas les permissions de fichiers et, en conséquence, les permissions des exécutables ne sont pas enregistrées dans le paquet source, ce qui provoque cet avertissement.

=head2 le mode spécial I<permissions> de I<fichier> ne sera pas représenté dans le
fichier de différences

Les fichiers correctifs n'enregistrent pas les permissions de fichiers et, en conséquence, les permissions modifiées ne sont pas enregistrées dans le paquet source, ce qui provoque cet avertissement.

=head1 ENVIRONNEMENT

=over 

=item B<DPKG_COLORS>

Définit le mode de couleur (depuis S<dpkg 1.18.5).> Les valeurs actuellement acceptées sont B<auto> (par défaut), B<always> et B<never>.

=item B<DPKG_NLS>

Si cette variable est définie, elle sera utilisée pour décider l'activation de la prise en charge des langues (NLS – Native Language Support), connu aussi comme la gestion de l'internationalisation (ou i18n) (depuis S<dpkg 1.19.0).> Les valeurs permises S<sont :> B<0> et B<1> (par défaut).

=item B<SOURCE_DATE_EPOCH>

Si cette option est utilisée, elle sera utilisée comme horodatage (en seconde à partir de S<« l'epoch »)> pour fixer le S<« mtime »> dans les entrées du fichier B<tar>(5).

=item B<VISUAL>

=item B<EDITOR>

Utilisé par les modules de format source S<« 2.0 »> et S<« 3.0> S<(quilt) ».>

=item B<GIT_DIR>

=item B<GIT_INDEX_FILE>

=item B<GIT_OBJECT_DIRECTORY>

=item B<GIT_ALTERNATE_OBJECT_DIRECTORIES>

=item B<GIT_WORK_TREE>

Utilisés par les modules de format source S<« 3.0> S<(git) ».>

=back

=head1 FICHIERS

=head2 debian/source/format

Ce fichier contient sur une seule ligne le format à utiliser pour construire le paquet source (les formats acceptés sont décrits plus haut). Il ne doit pas contenir d'espace avant ou après l'indication du format.

=head2 debian/source/include-binaries

Ce fichier contient une liste de chemin de fichiers binaires (un par ligne) relatifs au répertoire racine source qui doivent être inclus dans l'archive tar debian. Les espaces placées avant ou après ces noms sont supprimées. Les lignes commençant par S<« B<#> »> sont des commentaires et sont ignorées, ainsi que les lignes vides.

=head2 debian/source/options

Ce fichier contient la liste des options qui seront automatiquement ajoutées au jeu d'options de ligne de commande lors de l'appel à B<dpkg-source --build> ou B<dpkg-source --print-format>. Des options comme B<--compression> et B<--compression-level> conviennent bien pour ce fichier.

Chaque option doit être placée sur une ligne distincte. Les lignes vides et les lignes commençant par le caractère S<« B<#> »> sont ignorées. Les caractères initiaux S<« B<--> »> doivent être retirés et les options courtes ne peuvent pas être utilisées. Des espaces optionnelles sont autorisées autour du symbole S<« B<=> »,> ainsi que des guillemets optionnels autour de la valeur d'une option donnée. Voici un exemple d'un tel S<fichier :>

  # autoriser dpkg-source à créer un fichier debian.tar.bz2 avec la
  #compression maximale
  compression = "bzip2"
  compression-level = 9
  # utiliser debian/patches/debian-changes comme correctif automatique
  single-debian-patch
  # ignorer les modifications dans config.{sub,guess}
  extend-diff-ignore = "(^|/)(config.sub|config.guess)$"

S<B<Note :>> les options de B<format> ne sont pas acceptées dans ce fichier. Vous devriez utiliser B<debian/source/format> à la place.

=head2 debian/source/local-options

Identique à B<debian/source/options> mais n'est pas enregistré dans le paquet source créé. Ce fichier peut être utile pour conserver une préférence propre au responsable ou au dépôt de gestionnaire de versions où le paquet source est géré.

=head2 debian/source/local-patch-header

=head2 debian/source/patch-header

Texte en format libre qui sera ajouté au début du correctif automatique créé dans les formats S<« 2.0 »> et S<« 3.0> S<(quilt) ».> B<local-patch-header> n'est pas inclus dans le paquet source créé alors que B<patch-header> l'est.

=head2 debian/patches/I<distributeur>.series

=head2 debian/patches/series

Ce fichier comporte la liste de toutes les correctifs qui ont été appliqués (dans l'ordre indiqué) aux sources amont. Les espaces situées avant et après les noms sont ignorées. L'argument I<distributeur> sera le nom en minuscules du distributeur ou B<debian> si aucun distributeur n'est défini. Si le fichier de séries propre au distributeur n'existe pas, le fichier de séries sans distributeur sera utilisé. Les lignes commençant par S<« B<#> »> sont des commentaires et sont ignorées, ainsi que les lignes vides. Les autres lignes débutent par le nom du fichier de correctifs (relatif au répertoire B<debian/patches/>) et se terminent à la première espace ou à la fin de la ligne. Des options facultatives de B<quilt> peuvent être ajoutées jusqu'à la fin de la ligne ou jusqu'au premier caractère S<« B<#> »> précédé par une ou plusieurs espaces (ce qui indique le début d'un commentaire se terminant à la fin de la ligne).

=head1 BOGUES

Le moment où se déroule le remplacement d'un champ par rapport à certaines déterminations de champ affichées sur la sortie standard est plutôt embrouillé.

=head1 VOIR AUSSI

B<deb-src-control>(5), B<deb-changelog>(5), B<deb-substvars>(5), B<dsc>(5).


=head1 TRADUCTION

Ariel VARDI <ariel.vardi@freesbee.fr>, 2002.
Philippe Batailler, 2006.
Nicolas François, 2006.
Veuillez signaler toute erreur à <debian-l10n-french@lists.debian.org>.