
        *****************************************************
        *           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 RESUMO

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 L</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 L<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 L<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, por exemplo 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 L<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<--no-vendor-certs>

Do not use the vendor specific certificate keyrings.

Supported since dpkg 1.23.0.

=item B<--signer-certs=>I<keyring>

Use this I<keyring> containing signer certificates during signature verification of source packages.

The option may be repeated multiple times to add multiple keyrings.

Supported since dpkg 1.23.0.

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

Refuse to unpack the source package if it doesn't contain an OpenPGP signature that can be verified (since dpkg 1.15.0) either with the user supplied B<--signer-certs> keyrings, or one of the vendor-specific keyrings, including any parent vendor keyrings if relevant.

=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

=head2 Opções gerais genéricas

=over 

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

Define o número máximo de tópicos permitidos para compressores que suportam operações multi-tópico (desde dpkg 1.21.14).

=item B<-q>

Define o modo silencioso para suprimir avisos.

=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<Note>: On some vendors, dpkg has been made to permit native sources with non-native versions, making this incoherent and adding to the confusion of the concept, where in addition this tends to be a trap for accidental mistakes.

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ção.

=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 extraçã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>).

B<Note>: On some vendors, dpkg has been made to permit native sources with non-native versions, making this incoherent and adding to the confusion of the concept, where in addition this tends to be a trap for accidental mistakes.

=head2 Formato: 3.0 (quilt)

Supported since dpkg 1.14.17.  A source package in this format contains at least an original tarball (B<.orig.tar.>I<ext> where I<ext> can be B<gz>, B<bz2>, B<lzma> and B<xz>) and a debian tarball (B<.debian.tar.>I<ext>).  It can also contain additional original tarballs (B<.orig->I<addon>B<.tar.>I<ext>).  I<addon> can only contain alphanumeric (‘a-zA-Z0-9’) characters and hyphens (‘-’).  Optionally each original tarball can be accompanied by a detached upstream signature (B<.orig.tar.>I<ext>B<.asc> and B<.orig->I<addon>B<.tar.>I<ext>B<.asc>), extraction supported since dpkg 1.17.20, building supported since dpkg 1.18.5.

B<Extracting>

The main original tarball is extracted first, then all additional original tarballs are extracted in subdirectories named after the I<addon> part of their filename (any pre-existing directory is replaced).  The debian tarball is extracted on top of the source directory after prior removal of any pre-existing B<debian> directory.  Note that the debian tarball must contain a B<debian> sub-directory but it can also contain binary files outside of that directory (see B<--include-binaries> option).

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 L<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 L<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 aplica-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 extraçã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 (o primeiro encontrado de B<sensible-editor>, C<$VISUAL>, C<$EDITOR>, B<vi>) 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 desaplicaçã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 extraçã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 extraçã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 “main”, 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.

L<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 L<git-rev-list(1)>. Por exemplo, para incluir apenas o ramo main, use B<--git-ref=>main. 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 L<tar(5)>.

Desde dpkg 1.18.11.

=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 SEGURANÇA

Examinar pacotes fonte não-confiáveis ou extraí-los para directórios estagiários deve ser considerado um limite à segurança, e qualquer violação desse limite derivando dessas operações deve ser considerada uma vulnerabilidade na segurança. Mas manusear pacotes fonte não-confiáveis não deve ser feito com facilitismos, pois a área de superfície inclui qualquer comando de compressão suportado, comandos para lidar com formatos de dados específicos e os próprios ficheiros de controle. Executar essas operações sobre dados não-confiáveis como root é fortemente desaconselhado.

A compilação de pacotes fonte só deve ser executada sobre dados de confiança.

=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

L<deb-src-control(5)>, L<deb-changelog(5)>, L<deb-substvars(5)>, L<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>.
