summaryrefslogtreecommitdiffstats
path: root/man/pt/dpkg-source.pod
blob: ee4b46cf8dbd581053618643638707181c74e567 (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
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
        *****************************************************
        *           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 NOME

dpkg-source - ferramenta de manipulação de pacotes fonte Debian (.dsc)

=head1 SINOPSE

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

=head1 DESCRIÇÃO

B<dpkg-source> empacote e desempacota arquivos de fonte Debian.

Nenhum destes comandos permite que várias acções sejam combinadas em uma, e
eles não permitem que o valor para uma opção seja especificado num argumento
separado.

=head1 COMANDOS

=over 

=item B<-x>, B<--extract> I<filename>.dsc [I<output-directory>]

Extrai o pacote fonte (B<--extract> desde dpkg 1.17.14). Tem de ser
fornecido um argumento não-opção, o nome do ficheiro de controle de fonte
Debian (B<.dsc>). Opcionalmente pode ser fornecido um segundo argumento
não-opção para especificar o directório para onde extrair o pacote fonte, e
este não pode existir. Se não for especificado o directório de saída, o
pacote fonte é extraído para um directório chamado I<source>-I<version> sob
o directório de trabalho actual.

O B<dpkg-source> irá ler os nomes dos outros ficheiros que fazem o pacote
fonte a partir do ficheiro de controle; assume-se que eles estejam no mesmo
directório que o B<.dsc>.

Os ficheiros no pacote extraído irão ter as suas permissões e propriedades
definidas para aquelas que seriam as esperadas caso os ficheiros e
directórios tivessem simplesmente sido criados - os directórios e ficheiros
executáveis irão ficar com 0777 e ficheiros simples irão ficar com 0666,
ambos modificados pelo umask do extractor; se o directório pai está com
setgid então os directórios extraídos estarão também, e todos os ficheiros e
directórios irão herdar a propriedade do seu grupo.

Se o pacote fonte usar um formato não-standard (actualmente isto significa
todos os formatos excepto “1.0”), o seu nome será armazenado em
B<debian/source/format> para que as compilações seguintes do pacote fonte
usem o mesmo formato por predefinição.

=item B<-b>, B<--build> I<directory> [I<format-specific-parameters>]

Compila um pacote fonte (B<--build> desde dpkg 1.17.14). O primeiro
argumento não-opção é tomado como o nome do directório que contém a árvore
fonte debianizada (isto é, com um sub-directório debian e talvez alterações
aos ficheiro originais). Dependendo do formato do pacote fonte usado para
compilar o pacote, podem ser aceites parâmetros adicionais.

B<dpkg-source> irá compilado o pacote fonte com o primeiro formato
encontrado nesta lista por esta ordem: o formato indicado com a opção de
linha de comando I<--format>, o formato indicado em B<debian/source/format>,
“1.0”. O cair para “1.0” está descontinuado e será removido em algum ponto
no futuro, você deve sempre documentar o formato de fonte desejado em
B<debian/source/format>.Veja a secção B<SOURCE PACKAGE FORMATS> para uma
descrição extensiva dos vários formatos de pacote fonte.

=item B<--print-format> I<directory>

Escreve o formato de fonte que será usado para compilar o pacote fonte se
foi chamado B<dpkg-source -b> I<directory> (nas mesmas condições e com os
mesmos parâmetros; desde dpkg 1.15.5).

=item B<--before-build> I<directory>

Corre o hook correspondente do formato de pacote fonte (desde dpkg
1.15.8). Este hook é chamado antes de qualquer compilação do pacote
(B<dpkg-buildpackage> chama-o muito cedo ainda antes de B<debian/rules
clean>). Este comando é idempotente e pode ser chamado várias vezes. Nem
todos os formatos fonte implementam alguma coisa neste hook, e os que o
fazem geralmente preparam a árvore fonte para a compilação, por exemplo ao
assegurarem que as patches Debian são aplicadas.

=item B<--after-build> I<directory>

Corre o hook correspondente do formato de pacote fonte (desde dpkg
1.15.8). Este hook é chamado após qualquer compilação do pacote
(B<dpkg-buildpackage> chama-o no em último). Este comando é idempotente e
pode ser chamado várias vezes. Nem todos os formatos fonte implementam
alguma coisa neste hook, e os que o fazem geralmente usam-no para desfazer o
que o B<--before-build> fez.

=item B<--commit> [I<directory>] ...

Grava alterações na árvore fonte desempacotada em I<directory> (desde dpkg
1.16.1). Este comando pode levar parâmetros suplementares dependendo do
formato de fonte. Irá terminar em erro para formatos onde este operador não
signifique nada.

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

Mostra a mensagem de utilização e termina. O formato específico de
compilação e opções de extração podem ser mostrados ao usar a opção
B<--format>.

=item B<--version>

Mostra a versão e termina.

=back

=head1 OPÇÕES

=head2 Opções de compilação genéricas

=over 

=item B<-c>I<control-file>

Especifica o ficheiro de controle fonte principal de onde ler informação. A
predefinição é B<debian/control>. Se fornecido com nome de caminho relativo
isso é interpretado como começado a partir do directório de nível de topo da
árvore fonte.

=item B<-l>I<changelog-file>

Especifica o ficheiro changelog de onde ler informação. A predefinição é
B<debian/changelog>. Se fornecido com nome de caminho relativo isso é
interpretado como começado a partir do directório de nível de topo da árvore
fonte.

=item B<-F>I<changelog-format>

Especifica o formato do registo de alterações. Veja
B<dpkg-parsechangelog>(1) para informação acerca dos formatos alternativos.

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

Usa o formato fornecido para compilar o pacote fonte (desde dpkg
1.14.17). Sobrepõe-se a qualquer formato dado em B<debian/source/format>.

=item B<-V>I<name>B<=>I<value>

Define uma variável de substituição de saída. Veja B<deb-substvars>(5) para
uma discussão sobre substituição da saída.

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

Lê variáveis de substituição em I<substvars-file>; a predefinição é não ler
nenhum ficheiro. Esta opção pode usada várias vezes para ler variáveis de
substituição a partir de múltiplos ficheiros (desde 1.15.6).

=item B<-D>I<field>B<=>I<value>

Sobrepõe ou adiciona um campo de ficheiro de controle de resultado.

=item B<-U>I<field>

Remove um campo de ficheiro de controle de resultado.

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

Especifica a compressão a usar para os ficheiros tarball e diff criados
(B<--compression> desde dpkg 1.15.5). Note que esta opção não irá fazer com
que tarballs existentes sejam re-comprimidos, apenas afecta os novos
ficheiros. Valores suportados são: I<gzip>, I<bzip2>, I<lzma> e I<xz>. A
predefinição é I<xz> para formatos 2.0 e mais recentes, e I<gzip> para o
formato 1.0. I<xz> é apenas suportado desde dpkg 1.15.5.

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

Nível de compressão a usar (B<--compression-level> desde dpkg 1.15.5). Tal
como B<-Z> irá apenas afectar ficheiros recentemente criados. Valores
suportados são: I<1> até I<9>, I<best>, e I<fast>.  A predefinição é I<9>
para gzip e bzip2, I<6> para xz e lzma.

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

Você pode especificar uma expressão regular perl para coincidir aos
ficheiros que deseja filtrar e retirar da lista de ficheiros para o diff
(B<--diff-ignore> desde dpkg 1.15.6). (Esta lista é gerada por um comando de
procura (find)) (Se o pacote fonte está a ser compilado como um pacote fonte
de versão 3 usando um VCS, isto pode ser usado para ignorar alterações não
cometidas em ficheiros específicos . Usar -i.* irá ignorar todos eles.)

A opção B<-i> por si só activa esta definição com uma regex predefinida
(preservando qualquer modificação ao regex predefinido feito por uma
utilização anterior de B<--extend-diff-ignore>) que irá filtrar fora
ficheiros de controle e directórios dos sistemas de controlo de revisão mais
comuns, salvaguardas e ficheiros swap, e directórios de resultados de
compilação de Libtool. Só pode existir um regex activo, das várias opções
B<-i> apenas a última irá ter efeito.

Isto é uma grande ajuda para cortar ficheiros alheios que foram incluídos no
diff, ex, se você mantêm a sua fonte num sistema de controle de revisão e
deseja usar um checkout para compilar um pacote fonte sem incluir os
ficheiros adicionais e os directórios que geralmente contém (ex. CVS/,
.cvsignore, .svn/). O regex predefinido já é bastante exaustivo, mas se
precisar de o substituir, por favor note que por predefinição ele consegue
corresponder a qualquer parte de um caminho, portanto se você quer
corresponder ao inicio de um nome de ficheiro, ou apenas nomes completos de
ficheiros, precisa ser você próprio a fornecer as âncoras necessárias (ex,
‘(^|/)’, ‘($|/)’).

=item B<--extend-diff-ignore>=I<regex>

A expressão regular perl especificada irá estender o valor predefinido usado
por B<--diff-ignore> e o seu valor actual, se definido (desde dpkg
1.15.6). Faz isto ao concatenar “B<|>I<regex>” ao valor existente. Esta
opção é conveniente de usar em B<debian/source/options> para excluir alguns
ficheiros -auto-gerados da geração de patch automática.

=item B<-I>[I<file-pattern>], B<--tar-ignore>[=I<file-pattern>]

Se esta opção for especificada, o padrão será passado à opção B<--exclude>
do B<tar>(1) quando este é chamado para gerar um ficheiro .orig.tar ou .tar
(B<--tar-ignore> desde dpkg 1.15.6). Por exemplo, B<-I>CVS irá fazer o tar
saltar os directórios CVS ao gerar um ficheiro .tar.gz. A opção pode ser
repetida várias vezes para listar vários padrões de exclusão.

B<-I> por si próprio adiciona opções B<--exclude> predefinidas que irão
filtrar ficheiros de controle e directórios dos sistemas de controlo de
revisão mais comuns, ol systems, salvaguarda e permutar ficheiros e
directórios de saída de compilação de Libtool.

=back

B<Nota:> Apesar de terem objectivos semelhantes, B<-i> e B<-I> têm muitas
diferenças na sintaxe e semântica. B<-i> só pode ser especificado uma vez e
e recebe uma expressão regular compatível com perl que é correspondida ao
caminho relativo completo de cada ficheiro. B<-I> pode se especificado
várias vezes e recebe um padrão de nome de ficheiro com wildcards de
shell. O padrão é aplicado ao caminho relativo completo mas também a cada
parte do caminho individualmente. A semântica exacta da opção B<--exclude>
do tar é um tanto complicada, veja
L<https://www.gnu.org/software/tar/manual/tar.html#wildcards> para a
documentação completa.

A regex e padrões predefinidos para ambas opções podem ser vistos no
resultado do comando B<--help>.

=head2 Opções de extração genéricas

=over 

=item B<--no-copy>

Não copia os tarballs originais perto do pacote fonte extraído (desde dpkg
1.14.17).

=item B<--no-check>

Não verifica assinaturas nem sumários de verificação antes de desempacotar
desde dpkg 1.14.17).

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

Não sobrepõe o directório de extração se este já existir (desde dpkg
1.18.8).

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

Recusa-se a desempacotar um pacote fonte se este não conter uma assinatura
OpenPGP que possa ser verificada (desde dpkg 1.15.0) seja com o chaveiro
I<trustedkeys.gpg> do utilizador, com um chaveiro específico do fornecedor,
ou um dos chaveiros oficiais Debian
(I</usr/share/keyrings/debian-keyring.gpg>,
I</usr/share/keyrings/debian-nonupload.gpg> e
I</usr/share/keyrings/debian-maintainers.gpg>).

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

Recusa-se a desempacotar p pacote fonte se este não conter nenhuns checksums
fortes (desde 1.18.7). Actualmente o único checksum conhecido considerado
forte é B<SHA-256>.

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

Torna a verificação de versão má de pacote fonte num aviso não-fatal (desde
dpkg 1.17.7). Esta opção só deve ser necessária quando se extrai pacotes
fonte anciãos com versões quebradas, apenas para compatibilidade com versões
antigas.

=back

=head1 FORMATOS DE PACOTE FONTE

Se você não sabe que formato de fonte usar, deve provavelmente escolher
entre “3.0 (quilt)” ou “3.0 (native)”.  Veja
L<https://wiki.debian.org/Projects/DebSrc3.0> para informação sobre o
desenvolvimento desses formatos em Debian.

=head2 Formato: 1.0

Um pacote fonte neste formato consiste ou de um B<.orig.tar.gz> associado a
um B<.diff.gz> ou de um único B<.tar.gz> (nesse caso diz-se que o pacote é
I<nativo>). Opcionalmente o tarball origina pode estar acompanhado de uma
assinatura separada do autor B<.orig.tar.gz.asc>, extração suportada desde
dpkg 1.18.5.

B<Extracting>

Extrair um pacote nativo é uma simples extração do único tarball no
directório alvo. Extrair um pacote não-nativo é feito ao primeiro
desempacotar o B<.orig.tar.gz> e depois aplicar a patch contida no ficheiro
B<.diff.gz>. O carimbo temporal de todos os ficheiros que receberam patch é
reposto à hora de extração do pacote fonte (isto evita confusões com
carimbos temporais que levam a problemas quando se aplicam patch a ficheiros
auto-gerados). O diff pode criar novos ficheiros (todo o directório debian é
criado deste modo) mas não pode remover ficheiros (ficheiros vazios serão
deixados) e não pode criar ou modificar links simbólicos.

B<Building>

Compilar um pacote nativo é apenas criar um único tarball com o directório
fonte. Compilar um pacote não-nativo involve extrair o tarball original num
directório “.orig” separado e regenerar o B<.diff.gz> ao comparar o
I<directory> do pacote fonte com o directório .orig.

B<Build options (with --build):>

Se um segundo argumento não-opção for fornecido este deve ser o nome do
directório fonte original ou ficheiro tar ou uma string vazia se o pacote é
um específico de Debian, e assim não tem diffs de debianização. Se não for
fornecido um segundo argumento, então B<dpkg-source> irá procurar o ficheiro
tar fonte original I<package>B<_>I<upstream-version>B<.orig.tar.gz> ou o
directório fonte original I<directory>B<.orig> dependendo dos argumentos
B<-sX>.

B<-sa>, B<-sp>, B<-sk>, B<-su> e B<-sr> não irão sobrescrever ficheiros tar
ou directórios existentes. Se isto for desejado então devem antes ser usados
B<-sA>, B<-sP>, B<-sK>, B<-sU> e B<-sR>.

=over 

=item B<-sk>

Especifica que se espera a fonte original como um ficheiro tar, por
predefinição I<package>B<_>I<upstream-version>B<.orig.tar.>I<extension>.
irá deixar a fonte original no lugar como um ficheiro tar, ou irá copia-la
para o directório actual se não estiver já lá. O tarball será desempacotado
em I<directory>B<.orig> para a geração do diff.

=item B<-sp>

Tal como B<-sk> mas irá remover o directório outra vez depois.

=item B<-su>

Especifica que a fonte original é esperada como um directório, por
predefinição I<pacote>B<->I<versão-do-autor>B<.orig> e B<dpkg-source> irá
criar um novo arquivo de fonte original a partir dele.

=item B<-sr>

Como B<-su> mas irá remover esse directório após ter sido usado.

=item B<-ss>

Especifica que a fonte original está disponível tanto como directório e como
um ficheiro tar. B<dpkg-source> irá usar o directório para criar o diff, mas
o ficheiro tar para criar o B<.dsc>.  Esta opção tem de ser usada com
cuidado, Se o directório e o ficheiro tar não corresponderem, será gerado um
arquivo de má fonte.

=item B<-sn>

Especifica para não procurar por nenhuma fonte original, e não gerar um
diff. O segundo argumento, se fornecido, deve ser a string vazia. Isto é
usado para pacotes específicos-Debian que não têm uma fonte de autor
separada e por isso não têm diffs de debianizaçao.

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

Especifica para procurar pelo arquivo fonte original como um ficheiro tar ou
como um directório - o segundo argumento, se existir, pode ser um de, ou a
string vazia (isto é equivalente a usar <-sn>). Se for encontrado um
ficheiro tar irá desempacota-lo para criar o diff e remove-lo depois (isto é
equivalente a B<-sp>); Se for encontrado um directório irá empacota-lo para
criar a fonte original e remove-lo depois (isto é o equivalente a B<-sr>);
Se nenhum for encontrado irá assumir que o pacote não tem diffs de
debianização, é apenas um arquivo fonte directo (isto é o equivalente a
B<-sn>). Se ambos forem encontrados então o B<dpkg-source> irá ignorar o
directório, sobrescrevendo-o, se for especificado B<-sA> (isto é o
equivalente a B<-sP>)  ou elevar um erro se for especificado B<-sa>. B<-sa>
é a predefinição.

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

O processo falha se o diff gerado conter diferenças de ficheiros fora do
sub-directório debian (desde dpkg 1.15.8). Esta opção não é permitida em
B<debian/source/options> mas pode ser usada em
B<debian/source/local-options>.

=back

B<Opções de extracção (com --extract):>

Em todos os casos qualquer árvore de fonte original existente será removida.

=over 

=item B<-sp>

Usado ao extrair depois a fonte original (se alguma) será deixada como um
ficheiro tar. Se não estiver já localizada no directório actual ou se um
ficheiro existente mas diferente estiver lá será copiado para lá. (B<Isto é
a predefinição>).

=item B<-su>

Desempacota a árvore fonte original.

=item B<-sn>

Assegura que a árvore original nem é copiada para o directório actual nem
desempacotada. Qualquer árvore de fonte original que esteja no directório
actual é ainda removida.

=back

Todas as opções B<-s>I<X> são mutuamente exclusivas. Se você especificar
mais do que uma, apenas será usada a última.

=over 

=item B<--skip-debianization>

Salta a aplicação do diff debian no topo das fontes do autor (desde dpkg
1.15.1).

=back

=head2 Formato: 2.0

Extração suportada desde dpkg 1.13.9, compilação suportada desde dpkg
1.14.8. Também conhecido como wig&pen. Este formato não é recomendado para
utilização em massa, o formato "3.0 (quilt)" substitui este. Wig&pen foi a
primeira especificação de um formato de pacote fonte da nova geração.

O comportamento deste formato é o mesmo que o do formato "3.0 (quilt)" com a
excepção de que não usa uma lista de patches explicita. Todos os ficheiros
em B<debian/patches/> que correspondem à expressão regular perl B<[\w-]+>
têm de ser patches válidas: elas são aplicadas durante a extração.

Quando se constrói um novo pacote fonte, qualquer alteração na fonte do
autor é armazenada numa patch chamada B<zz_debian-diff-auto>.

=head2 Formato: 3.0 (nativo)

Suportado desde dpkg 1.14.17. Este formato é uma extensão do formato de
pacote nativo como definido no formato 1.0. Suporta todos os métodos de
compressão e irá ignorar por predefinição quaisquer ficheiros específicos de
VCS e directórios também assim como muitos ficheiros temporários (veja valor
predefinido associado à opção B<-I> no resultado de B<--help>).

=head2 Formato: 3.0 (quilt)

Suportado desde dpkg 1.14.17.  Um pacote fonte neste formato contém pelo
menos um tarball original (B<.orig.tar.>I<ext> onde I<ext> pode ser B<gz>,
B<bz2>, B<lzma> e B<xz>) e um tarball debian (B<.debian.tar.>I<ext>). Também
pode conter tarballs originais adicionais
(B<.orig->I<component>B<.tar.>I<ext>).  I<component> pode apenas conter
caracteres alfanuméricos (‘a-zA-Z0-9’) e hífens (‘-’). Opcionalmente cada
tarball original pode ser acompanhado por uma assinatura em separado do
autor (B<.orig.tar.>I<ext>B<.asc> e
B<.orig->I<component>B<.tar.>I<ext>B<.asc>), extração suportada desde dpkg
1.17.20, compilação suportada desde dpkg 1.18.5.

B<Extracting>

O tarball original principal é extraído primeiro, depois todos os tarballs
originais adicionais são extraídos em sub-directórios nomeados após a parte
I<component> do seu nome de ficheiro (qualquer directório pré-existente é
substituído). O tarball debian é extraído no topo do directório fonte após a
pré remoção de qualquer directório B<debian> pré-existente mas pode também
conter ficheiros binários fora desse directório (veja a opção
B<--include-binaries>).

Todas as patches listadas em B<debian/patches/>I<vendor>B<.series> ou
B<debian/patches/series> são então aplicadas, onde I<vendor> será o nome em
minúsculas do fornecedor actual, ou B<debian> se não existir um fornecedor
definido. Se o ficheiro anterior for usado e o posterior não existir (ou for
um link simbólico), então o posterior é substituído por um link simbólico
para o antigo. Isto destina-se a simplificar a utilização de B<quilt> para
gerir o conjunto de patches. Ficheiros de séries especificas-de-fornecedor
destinam-se a tornar possível a criação de séries de múltiplos ramos de
desenvolvimento baseados no fornecedor, num modo declarativo, dando
preferência a codificação-aberta deste manuseamento em B<debian/rules>. Isto
é particularmente útil quando a fonte precisa de receber uma patch
condicionalmente porque os ficheiros afectados não possuem suporte a oclusão
condicional embutido. Note no entanto que enquanto B<dpkg-source> analisa
correctamente ficheiros de séries com opções explícitas usadas para aplicar
patch a aplicação (armazenada em cada linha antes do nome de ficheiro de
patch e um ou mais espaços), ele ignora essas opções e espera sempre que as
patches possam ser aplicadas com a opção B<-p1> ou B<patch>. Irá portanto
emitir um aviso quando encontra tais opções, e é provável que a compilação
falhe.

Note que B<lintian>(1) irá emitir avisos incondicionais quando usa séries de
fornecedor devido a regulamento controverso específico de Debian, o qual não
deve afectar nenhuma utilização externa; para silenciar isto, o perfil
lintian do dpkg pode ser usado ao passar «B<--profile dpkg>» a
B<lintian>(1).

O carimbo temporal de todos os ficheiros com patch é reposto para a hora da
extração do pacote fonte (isto evita inclinações do carimbo temporal que
levam a problemas quando aplica patch a ficheiros auto-gerados).

Contrariamente ao comportamento predefinido de B<quilt>, espera-se que as
patches sejam aplicadas sem confusões. Quando esse não é o caso, você deve
refrescar tais patches com B<quilt>, ou B<dpkg-source> irá terminar em erro
ao tentar aplicá-las.

Semelhante ao comportamento predefinido de B<quilt>. as patches também podem
remover ficheiros.

O ficheiro B<.pc/applied-patches> é criado se algumas patches foram
aplicadas durante a extracção.

B<Building>

Todos os tarballs originais encontrados no directório actual são extraídos
num directório temporário seguindo a mesma lógica que para o desempacotar, o
directório debian é copiado sobre o directório temporário, e todas as são
aplicadas, excepto a patch automática (B<debian-changes->I<version> ou
B<debian-changes>, dependendo de B<--single-debian-patch>). O directório
temporário é comparado com o directório do pacote fonte. Quando o diff é
não-vazio, a compilação falha a menos que tenham sido usados
B<--single-debian-patch> ou B<--auto-commit>, que neste caso o diff é
guardado na patch automática. Se a patch automática for criada/apagada, é
adicionada/removida do ficheiro de séries e dos meta-dados B<quilt>.

Qualquer alteração num ficheiro binário não é representável num diff e irá
assim levar a uma falha a menos que o maintainer tenha decidido
deliberadamente incluir esse ficheiro binário modificado no tarball debian
(ao lista-lo em B<debian/source/include-binaries>). A compilação irá também
falhar se encontrar ficheiros binários no sub-directório debian a menos que
estes tenham sido autorizados através de B<debian/source/include-binaries>.

O directório debian actualizado e a lista de binários modificados são então
usados para gerar o tarball debian.

O diff gerado automaticamente não inclui alterações em ficheiros específicos
de VCS assim como em muitos ficheiro temporários (veja valor predefinido
associado à opção B<-i> no resultado de B<--help>). Em particular, o
directório B<.pc> usado por B<quilt> é ignorado durante a geração da patch
automática.

B<Nota:> B<dpkg-source> B<--before-build> (e B<--build>) irão assegurar que
todas as patches listadas no ficheiro series são aplicadas para que uma
compilação do pacote tenha sempre todas as patches aplicadas. Faz isto ao
encontrar patches não aplicadas (elas estão listadas no ficheiro B<series>
mas não em B<.pc/applied-patches>), e se a primeira patch nesse conjunto
puder ser aplicada sem erros, irá aplica-las todas. A opção
B<--no-preparation> pode ser usada para desactivar este comportamento.

B<Gravar alterações>

=over 

=item B<--commit> [I<directory>] [I<patch-name>] [I<patch-file>]

Gera uma patch correspondente às alterações locais que não são geridas pelo
sistema de patch B<quilt> e integra-a no sistema de patch sob o nome
I<patch-name>. se o nome está em falta, será perguntado interactivamente. Se
I<patch-file> for fornecido, é usado como uma patch correspondente às
alterações locais a integrar. Uma vez integrada, é lançado um editor para
que você possa editar a meta-informação no cabeçalho da patch.

Passar I<patch-file> é principalmente útil após uma falha de compilação que
pré-gerou este ficheiro, e por esse motivo o ficheiro fornecido é removido
após integração. Note também que as alterações contidas no ficheiro patch
têm de já estar aplicadas na árvore e que os ficheiros modificados pela
patch não podem ter alterações suplementares por gravar.

Se a geração da patch detectar ficheiros binários modificados, eles serão
adicionados automaticamente a B<debian/source/include-binaries> para que
eles acabem no tarbal debian (exactamente como B<dpkg-source
--include-binaries --build> faria).

=back

B<Opções de compilação>

=over 

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

Permite a B<dpkg-source> compilar o pacote fonte se a versão dos meta-dados
B<quilt> for uma especificada, mesmo se B<dpkg-source> não souber disso
(desde dpkg 1.15.5.4).  Efectivamente isto diz que a versão dada dos
meta-dados B<quilt> é compatível com a versão 2 que o B<dpkg-source>
presentemente suporta. A versão dos meta-dados B<quilt> é guardada em
B<.pc/.version>.

=item B<--include-removal>

Não ignora os ficheiros removidos e inclui-os na patch gerada
automaticamente.

=item B<--include-timestamp>

Inclui o carimbo data/hora na patch gerada automaticamente.

=item B<--include-binaries>

Adiciona todos os binários modificados ao tarball debian. Também os adiciona
a B<debian/source/include-binaries>: eles serão adicionados por predefinição
em compilações subsequentes e esta opção é assim não mais necessária.

=item B<--no-preparation>

Não tenta preparar a árvore de compilação ao não aplicar as patches que
aparentemente ainda não foram aplicadas (desde dpkg 1.14.18).

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

Usa B<debian/patches/debian-changes> em vez de
B<debian/patches/debian-changes->I<version> para o nome da patch automática
gerada durante a compilação (desde dpkg 1.15.5.4). Esta opção é
particularmente útil quando o pacote é mantido num VCS e um conjunto de
patch não pode ser gerado com confiança. Em vez disso o diff actual com o
original deve ser guardado numa patch única. A opção seria posta em
B<debian/source/local-options> e deveria ser acompanhada por um ficheiro
B<debian/source/local-patch-header> explicando como as alterações Debian
poderão ser melhor revistas, por exemplo no VCS que é usado.

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

Cria automaticamente o principal tarball original como vazio se está em
falta e se existirem tarballs suplementares originais (desde dpkg
1.15.6). Esta opção destina-se a ser usada quando o pacote fonte é apenas um
bolo de múltiplos softwares originais e não há nenhum software “main”.

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

Por predefinição, B<dpkg-source> irá automaticamente desfazer a aplicação
das patches no hook B<--after-build> se ele as aplicou durante
B<--before-build> (B<--unapply-patches> desde dpkg 1.15.8,
B<--no-unapply-patches> desde dpkg 1.16.5). Essas opções permitem-lhe
desactivar ou activar à força o processo de des-aplicação da patch. Essas
opções são apenas permitidas em B<debian/source/local-options> para que
todos os pacotes fonte gerados tenham o mesmo comportamento por
predefinição.

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

O processo falha se uma patch automática foi gerada (desde dpkg
1.15.8). Esta opção pode ser usada para assegurar que todas as alterações
foram gravadas apropriadamente em patches B<quilt> separadas antes da
compilação do pacote fonte. Esta opção não é permitida em
B<debian/source/options> mas pode ser usada em
B<debian/source/local-options>.

=item B<--auto-commit>

O processo não falha se foi gerada uma patch automática, em vez disso, é
imediatamente gravado nas séries B<quilt>.

=back

B<Opções de Extracção>

=over 

=item B<--skip-debianization>

Salta a extração do tarball debian por cima da fonte do autor (desde dpkg
1.15.1).

=item B<--skip-patches>

Não aplica as patches no final da extracção (desde dpkg 1.14.18).

=back

=head2 Formato: 3.0 (personalizado)

Suportado desde dpkg 1.14.17. Este formato é especial. Não representa o
formato real  do pacote fonte mas pode ser usado para criar pacotes fonte
com ficheiros arbitrários.

B<Opções de compilação>

Todos os argumentos não-opção são tomados como ficheiros para integrar no
pacote fonte gerado. Estes têm de existir e estão preferencialmente no
directório actual. Pelo menos um ficheiro tem de ser fornecido.

=over 

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

B<Requerido>. Define o formato real do pacote fonte gerado. O ficheiro .dsc
gerado irá conter este valor no seu campo B<Format> e não “3.0 (custom)”.

=back

=head2 Formato: 3.0 (git)

Suportado desde dpkg 1.14.17. Este formato é experimental.

Um pacote fonte neste formato consiste de um único bolo de repositório git
B<.git> para manter a fonte de um pacote. Também pode existir um ficheiro
B<.gitshallow> listando revisões para um clone git shallow.

B<Extracting>

O bolo é clonado como um repositório git para o directório alvo. Se existir
um ficheiro gitshallow, é instalado como I<.git/shallow> dentro do
repositório git clonado.

Note que por predefinição o novo repositório irá ter o mesmo ramo "checked
out" como era "checked out" na fonte original. (Tipicamente “master”, mas
pode ser qualquer coisa.) Quaisquer outros ramos irão estar disponíveis sob
I<remotes/origin/>.

B<Building>

Antes de avançar-mos, são feitas algumas verificações para assegurar que não
temos nenhumas alterações não ignoradas por submeter.

B<git-bundle>(1) é usado para gerar um bolo do repositório git. Por
predefinição, todos os ramos e etiquetas no repositório são incluídos no
bolo.

B<Opções de compilação>

=over 

=item B<--git-ref=>I<ref>

Permite especificar um ref de git para incluir no bolo do git. O uso
desactiva o comportamento predefinido de incluir todos os ramos e
etiquetas. Pode ser especificado várias vezes. O I<ref> pode ser o nome de
um ramo ou etiqueta a incluir. Também pode ser qualquer parâmetro que possa
ser passado ao B<git-rev-list>(1). Por exemplo, para incluir apenas o ramo
master, use B<--git-ref=>master. Para incluir todos as etiquetas e ramos,
excepto para o ramo privado, use B<--git-ref=>--all B<--git-ref=>^private

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

Cria um clone sombra com o histórico truncado ao número específico de
revisões.

=back

=head2 Formato: 3.0 (bzr)

Suportado desde dpkg 1.14.17. Este formato é experimental. Gera um único
tarball que contem o repositório bzr.

B<Extracting>

O tarball é desempacotado e depois é usado o bzr para fazer "checkout" ao
ramo actual.

B<Building>

Antes de avançar-mos, são feitas algumas verificações para assegurar que não
temos nenhumas alterações não ignoradas por submeter.

Depois a parte específica de VCS do directório fonte é copiada para um
directório temporário. Antes deste directório temporário ser empacotado num
tarball, são feitas várias limpezas para libertar espaço.

=head1 DIAGNÓSTICO

=head2 nenhum formato fonte especificado em debian/source/format

O ficheiro B<debian/source/format> deve sempre existir e indicar o formato
de fonte desejado. Para compatibilidade com software anterior, o  formato
“1.0” é assumido quando o ficheiro não existe mas você não deve confiar
nisto: algures no futuro, B<dpkg-source> será modificado para falhar quando
esse ficheiro não existe.

A lógica é que o formato “1.0”não é mais o formato recomendado, você deve
geralmente escolher um dos formatos mais recentes (“3.0 (quilt)”, “3.0
(native)”) mas o B<dpkg-source> não vai fazer isto automaticamente por
si. Se você deseja continuar a usar o formato antigo, você deve ser
explícito acerca disso a colocar "1.0” em B<debian/source/format>.

=head2 o diff modifica os seguintes ficheiros do autor

Quando se usar o formato de fonte “1.0” é geralmente uma má ideia modificar
ficheiros do autor directamente pois as alterações acabam escondidas e
maioritariamente não documentadas no ficheiro .diff.gz. Em vez disso você
deve guardar as suas alterações em patches no directório debian e aplica-las
durante a compilação. Para evitar esta complexidade você pode também usar o
formato "3.0 (quilt)” que oferece isto nativamente.

=head2 não pode representar alteração no I<ficheiro>

As alterações às fontes originais são geralmente guardadas com ficheiros
patch, mas nem todas as alterações podem ser representadas com patches: elas
apenas podem alterar o conteúdo de ficheiros de texto simples. Se você
tentar substituir um ficheiro por algo de diferente tipo (por exemplo,
substituir um ficheiro simples por um link simbólico ou directório), você
vai receber esta mensagem  de erro.

=head2 o ficheiro I<ficheiro> vazio acabado de criar não será representado no diff.

Ficheiros vazios não podem ser criados com ficheiros patch. Assim esta
alteração não é gravada no pacote fonte e você é avisado acerca disso.

=head2 I<perms> de modo executável do I<ficheiro> não serão representados no diff

Os ficheiros patch não gravam permissões dos ficheiro e assim as permissões
de executável não são guardadas no pacote fonte. Este aviso lembra-o desse
facto.

=head2 I<perms> de modo especial do I<ficheiro> não serão representados no diff

Os ficheiros patch não gravam permissões dos ficheiro e assim as permissões
modificadas não são guardadas no pacote fonte. Este aviso lembra-o desse
facto.

=head1 AMBIENTE

=over 

=item B<DPKG_COLORS>

Define o modo de cor (desde dpkg 1.18.5). Os valores actualmente aceites
são: B<auto> (predefinido), B<always> e B<never>.

=item B<DPKG_NLS>

Se definida, será usada para decidir se deve activar o Suporte a Linguagem
Nativa. Também como conhecido como suporte de internacionalização (ou i18n)
(desde dpkg 1.19.0). Os valores aceites são B<0> e B<1> (predefinição).

=item B<SOURCE_DATE_EPOCH>

Se definido, será usado como marca temporal (em segundos desde a época) para
engatar o mtime nas entradas do ficheiro B<tar>(5).

=item B<VISUAL>

=item B<EDITOR>

Usado pelos módulos de formato de fonte “2.0” e “3.0 (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>

Usado pelos módulos de formato de fonte “3.0 (git)”.

=back

=head1 FICHEIROS

=head2 debian/source/format

Este ficheiro contém numa linha única o formato que deve ser usado para
compilar o pacote fonte (os formatos possíveis estão descritos acima). Não
são permitidos espaços a anteceder ou a preceder.

=head2 debian/source/include-binaries

Este ficheiro contém uma lista nomes de caminhos de ficheiros binários (um
por cada linha) relativos ao directório raiz da fonte que devem ser
incluídos no tarball de debian. Os espaços que antecedem e precedem são
removidos. As linhas que começam com ‘B<#>’ são comentários e são
saltadas. Linhas vazias são ignoradas.

=head2 debian/source/options

Este ficheiro contem uma lista de opções longas que devem ser
automaticamente anexadas ao conjunto de opções de linha de comandos de uma
chamada B<dpkg-source --build> ou B<dpkg-source --print-format>. Opções como
B<--compression> e B<--compression-level> são bem apropriadas para este
ficheiro.

Cada opção deve ser posta numa linha separada. AS linhas vazias e linhas
começadas com ‘B<#>’ são ignoradas.  O ‘B<-->’ inicial deve ser cortado e as
opções curtas não são permitidas. São permitidos espaços opcionais a
contornar o símbolo 'B<=>’ e são permitidas citações opcionais a envolver o
valor. Aqui está um exemplo de tal ficheiro:

 # let dpkg-source create a debian.tar.bz2 with maximal compression
 compression = "bzip2"
 compression-level = 9
 # use debian/patches/debian-changes as automatic patch
 single-debian-patch
 # ignore changes on config.{sub,guess}
 extend-diff-ignore = "(^|/)(config.sub|config.guess)$"

B<Nota:> As opções B<format> não são aceites neste ficheiro, em vez disso
você deve usar B<debian/source/format>.

=head2 debian/source/local-options

Exactamente como B<debian/source/options> excepto que o ficheiro não é
incluído no pacote fonte gerado. Pode ser útil para guardar uma preferência
amarrada ao maintainer ou ao repositório VCS onde o pacote fonte é mantido.

=head2 debian/source/local-patch-header

=head2 debian/source/patch-header

Texto de formato livre que é colocado no topo da patch automática gerada em
formatos “2.0” ou “3.0 (quilt)”. B<local-patch-header> não é incluído no
pacote fonte gerado enquanto B<patch-header> o é.

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

=head2 debian/patches/series

Este ficheiro lista todas as patches que têm de ser aplicadas (na ordem
dada) no topo do pacote fonte do autor original. Os espaços iniciais e
finais são retirados. O I<vendor> será o nome em minúsculas do fornecedor
actual, ou B<debian> se não existir um fornecedor definido. Se o ficheiro
series especifico-do-fornecedor não existir, será usado o ficheiro series
sem-fornecedor. As linha começadas com ‘B<#>’ são comentários e são
retiradas. Linhas vazias são ignoradas. As linhas restantes começam com um
nome de ficheiro patch (relativo ao directório B<debian/patches/>) até ap
primeiro caractere de espaço ou ao fim da linha. Opções B<quilt> opcionais
podem seguir até ao fim da linha ou ao primeiro ‘B<#>’ precedido por um ou
mais espaços (o que marca o começo de um comentário até ao fim da linha).

=head1 BUGS

O ponto no qual cada sobreposição de campo ocorre comparado com certas
definições de campos de saídas standard é bastante confuso.

=head1 VEJA TAMBÉM

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


=head1 TRADUÇÃO

Américo Monteiro

Se encontrar algum erro na tradução deste documento, por favor comunique para
Américo Monteiro <a_monteiro@gmx.com>.