Provided by: dpkg-dev_1.22.18ubuntu3_all bug

NOME

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

RESUMO

       dpkg-source [option...] command

DESCRIÇÃO

       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.

COMANDOS

       -x, --extract filename.dsc [output-directory]
           Extrai  o pacote fonte (--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 (.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 source-version sob o directório de trabalho actual.

           O  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 .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 debian/source/format  para  que  as  compilações  seguintes  do
           pacote fonte usem o mesmo formato por predefinição.

       -b, --build directory [format-specific-parameters]
           Compila  um pacote fonte (--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.

           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  --format,  o formato indicado em
           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 debian/source/format.Veja a secção
           "SOURCE PACKAGE FORMATS" para uma descrição extensiva dos vários formatos de pacote fonte.

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

       --before-build 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 (dpkg-buildpackage chama-o muito cedo ainda  antes  de  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.

       --after-build 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 (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 --before-build fez.

       --commit [directory] ...
           Grava alterações na árvore fonte desempacotada em 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.

       -?, --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 --format.

       --version
           Mostra a versão e termina.

OPÇÕES

   Opções de compilação genéricas
       -ccontrol-file
           Especifica  o  ficheiro  de  controle  fonte  principal  de  onde  ler  informação.  A predefinição é
           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.

       -lchangelog-file
           Especifica  o  ficheiro  changelog  de  onde  ler  informação.  A predefinição é 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.

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

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

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

       -Tsubstvars-file
           Lê  variáveis de substituição em 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).

       -Dfield=value
           Sobrepõe ou adiciona um campo de ficheiro de controle de resultado.

       -Ufield
           Remove um campo de ficheiro de controle de resultado.

       -Zcompression, --compression=compression
           Especifica  a  compressão  a  usar para os ficheiros tarball e diff criados (--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: gzip, bzip2, lzma e xz. A predefinição é xz para
           formatos 2.0 e mais recentes, e gzip para o formato 1.0. xz é apenas suportado desde dpkg 1.15.5.

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

       -i[regex], --diff-ignore[=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 (--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 -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 --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 -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, ‘(^|/)’, ‘($|/)’).

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

       -I[file-pattern], --tar-ignore[=file-pattern]
           Se esta opção for especificada, o padrão será passado à opção  --exclude  do  tar(1)  quando  este  é
           chamado para gerar um ficheiro .orig.tar ou .tar (--tar-ignore desde dpkg 1.15.6). Por exemplo, -ICVS
           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.

           -I por si próprio adiciona opções --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.

       Nota: Apesar de terem objectivos semelhantes, -i e -I têm muitas diferenças na sintaxe e semântica. -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. -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  --exclude  do  tar  é  um  tanto
       complicada,   veja   <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 --help.

   Opções de extração genéricas
       --no-copy
           Não copia os tarballs originais perto do pacote fonte extraído (desde dpkg 1.14.17).

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

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

       --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 trustedkeys.gpg do utilizador, com um chaveiro
           específico      do      fornecedor,      ou      um      dos      chaveiros      oficiais      Debian
           (/usr/share/keyrings/debian-keyring.gpg,          /usr/share/keyrings/debian-nonupload.gpg          e
           /usr/share/keyrings/debian-maintainers.gpg).

       --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 é SHA-256.

       --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.

   Opções gerais genéricas
       --threads-max=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).

       -q  Define o modo silencioso para suprimir avisos.

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  <https://wiki.debian.org/Projects/DebSrc3.0>  para  informação sobre o desenvolvimento
       desses formatos em Debian.

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

       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 .orig.tar.gz e depois aplicar a patch contida  no  ficheiro
       .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.

       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  .diff.gz  ao
       comparar o directory do pacote fonte com o directório .orig.

       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 dpkg-source irá procurar o ficheiro tar
       fonte  original  package_upstream-version.orig.tar.gz  ou  o  directório  fonte  original  directory.orig
       dependendo dos argumentos -sX.

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

       -sk Especifica que se espera a fonte original como um ficheiro tar,  por  predefinição  package_upstream-
           version.orig.tar.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 directory.orig para
           a geração do diff.

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

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

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

       -ss Especifica  que  a fonte original está disponível tanto como directório e como um ficheiro tar. dpkg-
           source irá usar o directório para criar o diff, mas o ficheiro tar para criar o .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.

       -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.

       -sa ou -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 -sp); Se for encontrado um directório irá empacota-lo para criar  a  fonte  original  e
           remove-lo  depois (isto é o equivalente a -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 -sn).  Se  ambos
           forem encontrados então o dpkg-source irá ignorar o directório, sobrescrevendo-o, se for especificado
           -sA (isto é o equivalente a -sP)  ou elevar um erro se for especificado -sa. -sa é a predefinição.

       --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  debian/source/options  mas  pode  ser  usada  em
           debian/source/local-options.

       Opções de extração (com --extract):

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

       -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á. (Isto é a predefinição).

       -su Desempacota a árvore fonte original.

       -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.

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

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

   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 debian/patches/ que correspondem  à  expressão  regular
       perl [\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 zz_debian-diff-auto.

   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 -I no resultado de --help).

   Formato: 3.0 (quilt)
       Suportado  desde  dpkg  1.14.17.   Um  pacote  fonte  neste formato contém pelo menos um tarball original
       (.orig.tar.ext onde ext pode ser gz, bz2, lzma e xz) e um tarball debian (.debian.tar.ext).  Também  pode
       conter  tarballs originais adicionais (.orig-component.tar.ext).  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 (.orig.tar.ext.asc e .orig-component.tar.ext.asc), extração suportada
       desde dpkg 1.17.20, compilação suportada desde dpkg 1.18.5.

       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 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  debian  pré-existente  mas  pode  também  conter  ficheiros binários fora desse
       directório (veja a opção --include-binaries).

       Todas as patches listadas em debian/patches/vendor.series ou debian/patches/series são  então  aplicadas,
       onde  vendor  será  o  nome  em  minúsculas  do fornecedor actual, ou 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 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  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  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 -p1 ou patch. Irá portanto emitir
       um aviso quando encontra tais opções, e é provável que a compilação falhe.

       Note que 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 «--profile dpkg» a 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  quilt,  espera-se  que as patches sejam aplicadas sem
       confusões. Quando esse não é o caso, você deve refrescar tais  patches  com  quilt,  ou  dpkg-source  irá
       terminar em erro ao tentar aplica-las.

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

       O ficheiro .pc/applied-patches é criado se algumas patches foram aplicadas durante a extração.

       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 (debian-changes-version ou debian-
       changes, dependendo de --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
       --single-debian-patch ou --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 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 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
       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 -i no resultado de --help). Em particular,
       o directório .pc usado por quilt é ignorado durante a geração da patch automática.

       Nota: dpkg-source --before-build (e --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   series   mas   não   em
       .pc/applied-patches),  e  se a primeira patch nesse conjunto puder ser aplicada sem erros, irá aplica-las
       todas. A opção --no-preparation pode ser usada para desactivar este comportamento.

       Gravar alterações

       --commit [directory] [patch-name] [patch-file]
           Gera uma patch correspondente às alterações locais que não são geridas pelo sistema de patch quilt  e
           integra-a  no  sistema  de  patch  sob  o  nome  patch-name. se o nome está em falta, será perguntado
           interactivamente. Se 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 sensible-editor,
           $VISUAL, $EDITOR, vi) para que você possa editar a meta-informação no cabeçalho da patch.

           Passar 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  debian/source/include-binaries para que eles acabem no tarbal debian (exactamente como dpkg-source
           --include-binaries --build faria).

       Opções de compilação

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

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

       --include-timestamp
           Inclui o carimbo data/hora na patch gerada automaticamente.

       --include-binaries
           Adiciona    todos   os   binários   modificados   ao   tarball   debian.   Também   os   adiciona   a
           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.

       --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).

       --single-debian-patch
           Usa debian/patches/debian-changes em vez de  debian/patches/debian-changes-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
           debian/source/local-options      e      deveria      ser      acompanhada     por     um     ficheiro
           debian/source/local-patch-header explicando como as alterações Debian poderão  ser  melhor  revistas,
           por exemplo no VCS que é usado.

       --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”.

       --no-unapply-patches, --unapply-patches
           Por  predefinição,  dpkg-source  irá  automaticamente  desfazer  a  aplicação  das  patches  no  hook
           --after-build  se  ele  as  aplicou  durante  --before-build  (--unapply-patches  desde  dpkg 1.15.8,
           --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 debian/source/local-options
           para que todos os pacotes fonte gerados tenham o mesmo comportamento por predefinição.

       --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 quilt separadas
           antes da compilação do pacote fonte. Esta opção não é permitida em debian/source/options mas pode ser
           usada em debian/source/local-options.

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

       Opções de extração

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

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

   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.

       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.

       --target-format=value
           Requerido. Define o formato real do pacote fonte gerado. O ficheiro .dsc gerado irá conter este valor
           no seu campo Format e não “3.0 (custom)”.

   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 .git para manter a fonte de um
       pacote. Também pode existir um ficheiro .gitshallow listando revisões para um clone git shallow.

       Extracting

       O bolo é clonado como um repositório git para o directório alvo. Se existir  um  ficheiro  gitshallow,  é
       instalado como .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 remotes/origin/.

       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.

       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.

       Opções de compilação

       --git-ref=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 ref pode ser
           o nome de um ramo ou etiqueta a incluir. Também pode ser qualquer parâmetro que possa ser passado  ao
           git-rev-list(1). Por exemplo, para incluir apenas o ramo main, use --git-ref=main. Para incluir todos
           as etiquetas e ramos, excepto para o ramo privado, use --git-ref=--all --git-ref=^private

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

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

       Extracting

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

       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.

DIAGNÓSTICO

   nenhum formato fonte especificado em debian/source/format
       O ficheiro 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, 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  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 debian/source/format.

   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.

   não pode representar alteração no 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.

   o ficheiro 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.

   perms de modo executável do 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.

   perms de modo especial do 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.

AMBIENTE

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

       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 0
           e 1 (predefinição).

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

           Desde dpkg 1.18.11.

       VISUAL
       EDITOR
           Usado pelos módulos de formato de fonte “2.0” e “3.0 (quilt)”.

       GIT_DIR
       GIT_INDEX_FILE
       GIT_OBJECT_DIRECTORY
       GIT_ALTERNATE_OBJECT_DIRECTORIES
       GIT_WORK_TREE
           Usado pelos módulos de formato de fonte “3.0 (git)”.

FICHEIROS

   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.

   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 ‘#’ são comentários e são saltadas. Linhas vazias são
       ignoradas.

   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 dpkg-source --build ou dpkg-source --print-format. Opções como
       --compression e --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 ‘#’ são ignoradas.
       O ‘--’ 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 '=’ 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)$"

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

   debian/source/local-options
       Exactamente como 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.

   debian/source/local-patch-header
   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)”. local-patch-header não é incluído no pacote fonte gerado enquanto patch-header o é.

   debian/patches/vendor.series
   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 vendor será o nome em minúsculas do
       fornecedor actual, ou 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 ‘#’ 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 debian/patches/) até ap primeiro caractere de espaço ou ao fim da
       linha. Opções quilt opcionais podem seguir até ao fim da linha ou ao primeiro ‘#’  precedido  por  um  ou
       mais espaços (o que marca o começo de um comentário até ao fim da linha).

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.

BUGS

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

VEJA TAMBÉM

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

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>.

1.22.18                                            2025-04-28                                     dpkg-source(1)