Provided by: dpkg-dev_1.21.1ubuntu2.3_all bug

NOME

       dpkg-buildpackage - compila pacotes binários ou fonte a partir de fontes

SINOPSE

       dpkg-buildpackage [option...]

DESCRIÇÃO

       dpkg-buildpackage é um programa que automatiza os processos de compilar um pacote Debian. Consiste nos
       seguintes passos:

       1.  Prepara o ambiente de compilação ao definir várias variáveis de ambiente. (veja ENVIRONMENT), corre o
           hook init, e chama dpkg-source --before-build (a menos que -T ou --target sejam usados).

       2.  Verifica se as dependências de compilação e os conflitos de compilação estão satisfeitos (a menos que
           -d ou --no-check-builddeps seja especificado).

       3.  Se  um  ou  mais alvos específicos foram seleccionado com a opção -T ou --target, chama esses alvos e
           pára aqui. Caso contrário corre o hook preclean e chama fakeroot debian/rules  clean  para  limpar  a
           árvore de compilação (a menos que -nc ou --no-pre-clean seja especificado).

       4.  Corre  o  hook  source  e  chama  dpkg-source  -b  para  gerar  o pacote fonte. (se foi requerida uma
           compilação source com --build ou com opções equivalentes).

       5.  Corre o hook build e chama debian/rules build-target, depois corre o hook binary seguido de  fakeroot
           debian/rules  binary-target  (a  menos  que  tenha  sido  requerido  uma  compilação apenas-fonte com
           --build=source ou opções equivalentes). Note que build-target e binary-target são ou build  e  binary
           (caso  predefinido, ou se uma compilação any e all foi requerida com --build ou opções equivalentes),
           ou build-arch e binary-arch (se uma compilação any e não all foi  requerida  com  --build  ou  opções
           equivalentes),  ou  build-indep  e  binary-indep  (se  uma compilação all e não any foi requerida com
           --build ou opções equivalentes).

       6.  Corre o hook buildinfo, e chama dpkg-genbuildinfo para gerar um ficheiro .buildinfo. Várias opções de
           dpkg-buildpackage são reencaminhadas para o dpkg-genbuildinfo.

       7.  Corre o hook changes e chama dpkg-genchanges para gerar um ficheiro  .changes.  O  nome  do  ficheiro
           .changes  irá  depender  do  tipo de compilação e será tão específico quando necessário mas não mais;
           para uma compilação que inclua any  o  nome  será  source-name_binary-version_arch.changes,  ou  caso
           contrário  para  uma compilação que inclua all o nome será source-name_binary-version_all.changes, ou
           caso  contrário  para  uma  compilação  que   inclua   source   o   nome   será   source-name_source-
           version_source.changes.  Muitas opções de dpkg-buildpackage são reencaminhadas para dpkg-genchanges.

       8.  Corre  o  hook  postclean e se -tc ou --post-clean for especificado, irá chamar fakeroot debian/rules
           clean outra vez.

       9.  Chama dpkg-source --after-build.

       10. Corre o hook check e chama um verificados de pacote para o  ficheiro  .changes  (se  um  comando  for
           especificado em DEB_CHECK_COMMAND ou com --check-command).

       11. Corre  o  hook  sign  e chama gpg (desde que não seja uma compilação NÃO-LANÇADA, ou se --no-sign for
           especificado) para assinar o ficheiro .dsc (se algum, a menos  que  -us  ou  --unsigned-source  sejam
           especificados),   o   ficheiro   .buildinfo   (a   menos   que   -ui,  --unsigned-buildinfo,  -uc  ou
           --unsigned-changes sejam especificados) e o ficheiros .changes (a menos que -uc ou --unsigned-changes
           sejam especificados).

       12. Corre o hook done.

OPÇÕES

       Todas as opções longas podem ser especificadas em ambos linha de comandos e no sistema  dpkg-buildpackage
       e nos ficheiros de configuração do utilizador. Cada linha no ficheiro de  configuração  é  ou  uma  opção
       (exatamente  igual  a  uma  opção  de  linha de comandos mas sem os hífens iniciais) ou um comentário (se
       começar com ‘#’).

       --build=type
           Especifica o type de compilação a partir de uma lista separada por  vírgulas  de  componentes  (desde
           dpkg 1.18.5). Passado para dpkg-genchanges.

           Os valores permitidos são:

           source
               Compila o pacote fonte.

               Nota:  Quando  se  usa  este  valor  autónomo e se o que você quer é simplesmente (re-)compilar o
               pacote fonte a partir de uma árvore fonte limpa,  usar  dpkg-source  directamente  é  sempre  uma
               melhor  opção pois não requer que sejam instaladas quaisquer dependências de compilação as quais,
               caso contrário, são precisas para ser capaz de chamar o alvo clean.

           any Compila os pacotes binários específicos de arquitectura.

           all Compila os pacotes binários independentes de arquitectura.

           binary
               Compila os pacotes binários independentes e específicos de arquitectura. Isto  é  um  alias  para
               any,all.

           full
               Compila  tudo. Isto é um alias para source,any,all, e o mesmo que o caso predefinido quando não é
               especificada nenhuma opção de compilação.

       -g  Equivalente a --build=source,all (desde dpkg 1.17.11).

       -G  Equivalente a --build=source,any (desde dpkg 1.17.11).

       -b  Equivalente a --build=binary ou --build=any,all.

       -B  Equivalente a --build=any.

       -A  Equivalente a --build=all.

       -S  Equivalente a --build=source.

       -F  Equivalente a --build=full, --build=source,binary ou --build=source,any,all (desde dpkg 1.15.8).

       --target=target[,...]
       --target target[,...]
       -T, --rules-target=target[,...]
           Chama debian/rules target uma vez por cada alvo especificado, após  ter  configurado  o  ambiente  de
           compilação  (excepto  para  chamar  dpkg-source  --before-build),  e pára o processo de compilação do
           pacote aqui (desde dpkg 1.15.0, opção longa desde  dpkg  1.18.8,  suporte  a  multi-alvo  desde  dpkg
           1.18.16).   Se  --as-root  for  também  fornecido,  então  o  comando  é  executado  como  root (veja
           --root-command).  Note que alvos conhecidos que são obrigados a correr como root não  precisam  desta
           opção (isto é, os alvos clean, binary, binary-arch e binary-indep).

       --as-root
           Apenas  significativo  junto  com  --target  (desde  dpkg 1.15.0). Requer que o alvo seja corrido com
           direitos de root.

       -si
       -sa
       -sd
       -vversion
       -Cchanges-description
       -m, --release-by=maintainer-address
       -e, --build-by=maintainer-address
           Passado sem alterações ao dpkg-genchanges. Veja o seu manual.

       -a, --host-arch architecture
           Especifica  a  arquitectura  Debian  para  qual  compilamos  (opção  longa  desde  dpkg  1.17.17).  A
           arquitectura  da máquina onde compilamos é determinada automaticamente, e é também a predefinida para
           a máquina anfitriã.

       -t, --host-type gnu-system-type
           Especifica o tipo de sistema GNU para qual compilamos (opção longa  desde  dpkg  1.17.17).  Pode  ser
           usado  no lugar de --host-arch ou como um complemento para sobrepor o tipo de sistema GNU predefinido
           da arquitectura Debian anfitriã.

       --target-arch architecture
           Especifica a arquitectura Debian para que os binários são compilados (desde dpkg  1.17.17).  O  valor
           predefinido é o da máquina anfitriã.

       --target-type gnu-system-type
           Especifica  o  tipo de sistema GNU para que os binários são compilados (desde dpkg 1.17.17). Pode ser
           usado no lugar de --target-arch  ou  como  um  complemento  para  sobrepor  o  tipo  de  sistema  GNU
           predefinido da arquitectura Debian do alvo.

       -P, --build-profiles=profile[,...]
           Especifica  os  perfil(es)  que  compilamos, como uma lista separada por vírgulas (desde dpkg 1.17.2,
           opção longa desde dpkg 1.18.8). O comportamento predefinido é compilar para nenhum perfil específico.
           Também os define (como uma lista separada por espaços) como a variável de ambiente DEB_BUILD_PROFILES
           o  que  permite,  por  exemplo,  ficheiros  debian/rules  usarem  esta  informação  para  compilações
           condicionais.

       -j, --jobs[=jobs|auto]
           Número  de  trabalhos  permitidos  para correr em simultâneo, número de trabalhos que correspondem ao
           número de processadores online. Se for especificado auto(desde dpkg 1.17.10), ou não for especificado
           um número limite de jobs, equivalente à opção make(1) do mesmo nome (desde dpkg 1.14.7,  opção  longa
           desde dpkg 1.18.8). Irá adiciona-se a ele próprio à variável de ambiente MAKEFLAGS, a qual pode fazer
           com  que todas as invocações subsequentes do make herdem a opção. assim forçando a definição paralela
           no  empacotamento  (e  possivelmente  o  sistema  de  compilação  do  autor  se  esse  usar  o  make)
           independentemente do seu suporte para compilações paralelas, a qual pode causar falhas de compilação.
           Adiciona  também  parallel=jobs  ou  parallel  A`variável de ambiente DEB_BUILD_OPTIONS que permite a
           ficheiros debian/rules usar esta informação para os seus próprios objectivos. O valor -j irá sobrepor
           a opção parallel=jobs ou parallel na variável de ambiente DEB_BUILD_OPTIONS. Note que  o  valor  auto
           irá ser substituído pelo número real de processadores actuais activos, e como tal, não será propagado
           para  nenhum  processo  filho.  Se  o  número de processadores online não poder ser deduzido, então o
           código ira cair para o uso de execução em série (desde dpkg 1.18.15), no entanto isto  apenas  deverá
           acontecer em sistemas exóticos e não suportados.

       -J, --jobs-try[=jobs|auto]
           Esta opção (desde dpkg 1.18.2, opção longa desde dpkg 1.18.8) é equivalente à opção -j excepto em que
           não  define  a  variável  de ambiente MAKEFLAGS, e como tal é mais segura de usar com qualquer pacote
           incluindo aqueles que não são seguros de compilação em paralelo.

           auto é o comportamento predefinido (desde dpkg 1.18.11). Definir o número de  trabalhos  para  1  irá
           restaurar um comportamento em série.

       -D, --check-builddeps
           Verifica  dependências  e  conflitos de compilação; aborta se não satisfeitos (opção longa desde dpkg
           1.18.8). Este é o comportamento predefinido.

       -d, --no-check-builddeps
           Não verifica dependências e conflitos de compilação (opção longa desde dpkg 1.18.8).

       --ignore-builtin-builddeps
           Não verifica dependências  de  compilação  embutidas  e  conflitos  (desde  dpkg  1.18.2).  Estas  as
           dependências  de  compilação  implícitas  e  específicas  da  distribuição requeridas num ambiente de
           compilação, o chamado conjunto de pacotes Build-Essential.

       --rules-requires-root
           Não respeita o campo Rules-Requires-Root, caindo para o seu valor de predefinição antiga (desde  dpkg
           1.19.1).

       -nc, --no-pre-clean
           Não  limpa  a árvore fonte antes de compilar (opção longa desde dpkg 1.18.8). Implica -b se nada mais
           foi seleccionado entre -F, -g, -G, -B, -A ou -S. Implica -d com -S (desde dpkg 1.18.0).

       --pre-clean
           Limpa a árvore fonte antes de compilar (desde dpkg 1.18.8). Este é o comportamento predefinido.

       -tc, --post-clean
           Limpa a árvore fonte (usando gain-root-command debian/rules clean) após o pacote ter  sido  compilado
           (opção longa desde dpkg 1.18.8).

       --no-post-clean
           Não limpa a árvore fonte após o pacote ter sido compilado (desde dpkg 1.19.1). Este é o comportamento
           predefinido.

       --sanitize-env
           Higieniza  o  ambiente  de  compilação  (desde  dpkg  1.20.0). Isto irá repor ou remover variáveis de
           ambiente, umask, e quaisquer outros  atributos  de  processo  que  poderiam  caso  contrário  afectar
           adversamente  a  compilação  dos  pacotes.  Porque o ponto de entrada oficial para compilar pacotes é
           debian/rules, os pacotes não podem confiar que estas definições  estejam  no  lugar,  e  assim  devem
           funcionar mesmo quando elas não estão. O que há a higienizar é específico do fornecedor.

       -r, --root-command=gain-root-command
           Quando  o  dpkg-buildpackage precisa de executar parte do processo de compilação como root, prefixa o
           comando que executa com gain-root-command se foi especificado um (opção  longa  desde  dpkg  1.18.8).
           Caso  contrário,  se  nenhum  foi  especificado, será usado por predefinição o fakeroot, se o comando
           estiver presente. gain-root-command deverá começar com o nome de  um  programa  presente  na  PATH  e
           receberá  como  argumentos  o  nome do comando real a correr e os argumentos que este deve receber. O
           gain-root-command pode incluir parâmetros (têm se ser separados por espaços) mas não  meta-caracteres
           da  shell.  O  gain-root-commandpode  ser  tipicamente  fakeroot,  sudo,  super ou really. O su não é
           apropriado, pois ele só pode invocar a shell do  utilizador  com  -c  em  vez  de  passar  argumentos
           individualmente aos comandos que corre.

       -R, --rules-file=rules-file
           Compilar  um  pacote  Debian  geralmente  involve  invocar  debian/rules  como  um comando com vários
           parâmetros standard (desde dpkg 1.14.17, opção longa desde dpkg 1.18.8). Com esta  opção  é  possível
           usar  outra  invocação  de  programa  para  compilar  o pacote (pode incluir parâmetros separados por
           espaços). Em alternativa pode ser usado para  executar  o  ficheiro  de  regras  standard  com  outro
           programa make (por exemplo ao usar /usr/local/bin/make -f debian/rules como rules-file).

       --check-command=check-command
           Comando  usado  para  verificar  o  próprio  ficheiro  .changes  e  qualquer  artefacto de compilação
           referenciado no ficheiro (desde dpkg 1.17.6). O comando deve receber o nome de  caminho  de  .changes
           como um argumento. Este comando é geralmente o lintian.

       --check-option=opt
           Passa  a  opção opção ao comando-de-verificação especificado com DEB_CHECK_COMMAND ou --check-command
           (desde dpkg 1.17.6). Pode ser usado várias vezes.

       --hook-hook-name=hook-command
           Define o código shell especificado hook-command como o hook hook-name, o qual vai correr  nos  tempos
           especificados  nos  passos de execução (desde dpkg 1.17.6). Os hooks irão sempre ser executados mesmo
           que a acção seguinte não seja executada (excepto para o hook binary). Todos os hooks irão  correr  no
           directório fonte desempacotado.

           Nota:  Os  hooks  podem  afectar  o  processo  de  compilação, e causar falhas ao compilar se os seus
           comandos falharem,  portanto esteja atento a consequências indesejadas.

           Os nome-de-hook actualmente suportados são:

           init preclean source build binary buildinfo changes postclean check sign done

           O comando-hook suporta as seguintes strings de formato de  substituição,  que  lhes  serão  aplicadas
           antes da execução.

           %%  Um único caracteres %.

           %a  Um valor booleano (0 ou 1), que representa se a seguinte acção foi executada.

           %p  O nome do pacote fonte.

           %v  A versão do pacote fonte

           %s  A versão do pacote fonte (sem a época).

           %u  A versão do autor.

       --buildinfo-file=filename
           Set the filename for the generated .buildinfo file (since dpkg 1.21.0).

       --buildinfo-option=opt
           Passa a opção opt ao dpkg-genbuildinfo (desde dpkg 1.18.11).  Pode ser usado várias vezes.

       -p, --sign-command=sign-command
           Quando dpkg-buildpackage precisa de executar GPG para assinar um ficheiro de controle de fonte (.dsc)
           ou  um  ficheiro  .changes  irá  correr sign-command (procurando na PATH se necessário) em vez de gpg
           (opção longa desde dpkg 1.18.8).  sign-command irá obter todos os argumentos que gpg  teriam  obtido.
           sign-command não deve conter espaços ou outros meta-caracteres de shell.

       -k, --sign-key=key-id
           Especifica o ID de chave a usar quando assina pacotes. (opção longa desde dpkg 1.18.8).

       -us, --unsigned-source
           Não assina o pacote fonte (opção longa desde dpkg 1.18.8).

       -ui, --unsigned-buildinfo
           Não assina o ficheiro .buildinfo (desde dpkg 1.18.19).

       -uc, --unsigned-changes
           Não assina os ficheiros .buildinfo e .changes (opção longa desde dpkg 1.18.8).

       --no-sign
           Não  assina  nenhum ficheiro, isto inclui o pacote fonte, o ficheiro .buildinfo e o ficheiro .changes
           (desde dpkg 1.18.20).

       --force-sign
           Força  o  assinar  dos  ficheiros  resultantes  (desde  dpkg  1.17.0),  independentemente   de   -us,
           --unsigned-source,  -ui,  --unsigned-buildinfo,  -uc,  --unsigned-changes  ou  de  outras heurísticas
           internas.

       -sn
       -ss
       -sA
       -sk
       -su
       -sr
       -sK
       -sU
       -sR
       -i, --diff-ignore[=regex]
       -I, --tar-ignore[=pattern]
       -z, --compression-level=level
       -Z, --compression=compressor
           Passado sem alterações ao dpkg-source. Veja o seu manual.

       --source-option=opt
           Passa a opção opção ao dpkg-source (desde dpkg 1.15.6. Pode ser usado várias vezes.

       --changes-file=filename
           Set the filename for the generated .changes file (since dpkg 1.21.0).

       --changes-option=opt
           Passa a opção opção ao dpkg-genchanges (desde dpkg 1.15.6).  Pode ser usado várias vezes.

       --admindir=dir
       --admindir dir
           Altera a localização da base de dados do dpkg  (desde  dpkg  1.14.0).  A  localização  predefinida  é
           /var/lib/dpkg.

       -?, --help
           Mostra a mensagem de utilização e termina.

       --version
           Mostra a versão e termina.

AMBIENTE

   Ambiente externo
       DEB_CHECK_COMMAND
           Se  definido,  será  usado  como  o  comando  para verificar o ficheiro .changes (desde dpkg 1.17.6).
           Sobreposto pela opção --check-command.

       DEB_SIGN_KEYID
           Se definido, será usado para assinar os ficheiros .changes e .dsc  (desde  dpkg  1.17.2).  Sobreposto
           pela opção --sign-key.

       DEB_BUILD_OPTIONS
           Se  definido,  irá  conter  uma lista de opções separadas por espaços que podem afectar o processo de
           compilação em debian/rules, e o comportamento de alguns comandos do dpkg.

           Com nocheck a variável DEB_CHECK_COMMAND será ignorada. com parallel=N os trabalhos  paralelos  serão
           definidos para N, sobrepostos pela opção --jobs-try.

       DEB_BUILD_PROFILES
           Se  definido,  será  usado como perfil(es) de compilação activos para o pacote a ser compilado (desde
           dpkg 1.17.2). É uma lista separada por espaços de nomes de perfis. Sobreposto pela opção -P.

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

   Ambiente interno
       Mesmo que dpkg-buildpackage exporte algumas variáveis, o debian/rules não deve confiar na sua presença  e
       deve  em vez disso usar a interface respectiva para obter os valore que precisa, porque esse ficheiro é o
       ponto de entrada principal para compilar pacotes e deve ser suportado poder fazê-lo sozinho.

       DEB_BUILD_*
       DEB_HOST_*
       DEB_TARGET_*
           dpkg-architecture é chamado com os parâmetros -a e -t reencaminhados.  Qualquer  variável   que  seja
           resultante da sua opção -s é integrada no ambiente de compilação.

       DEB_RULES_REQUIRES_ROOT
           Esta  variável  é  definida  para o valor obtido a partir do campo Rules-Requires-Root ou a partir da
           linha de comandos. Quando definida, será um valor válido para o campo  Rules-Requires-Root.  É  usada
           para notificar debian/rules se a especificação rootless-builds.txt é suportada.

       DEB_GAIN_ROOT_CMD
           Esta variável é definida para gain-root-command quando o campo Rules-Requires-Root é definido para um
           valor diferente de no e binary-targets.

       SOURCE_DATE_EPOCH
           Esta   variável   é  definida  à  marca  temporal  de  Unix  desde  a  época  da  última  entrada  em
           debian/changelog, se não estiver já definida.

FICHEIROS

       /etc/dpkg/buildpackage.conf
           Ficheiro de configuração geral do sistema

       $XDG_CONFIG_HOME/dpkg/buildpackage.conf ou
       $HOME/.config/dpkg/buildpackage.conf
           Ficheiro de configuração do utilizador.

NOTAS

   As bandeiras de compilador  não são exportadas
       Entre dpkg 1.14.17 e 1.16.1, dpkg-buildpackage exportava as bandeiras de  compilador  (CFLAGS,  CXXFLAGS,
       FFLAGS, CPPFLAGS e LDFLAGS) com valores como retornados por dpkg-buildflags. Isto já não acontece.

   Metas de compilação predefinidas
       dpkg-buildpackage está  a usar os alvos build-arch e build-indep desde dpkg 1.16.2. Esses alvos são assim
       obrigatórios.  Mas  para evitar ruturas de pacotes existentes, e facilitar a transição, se o pacote fonte
       não compilar ambos pacotes binários independentes e dependentes da arquitectura (desde dpkg  1.18.8)  irá
       regressar ao uso de alvo build se make -f debian/rules -qn build-target retornar 2 como código de saída.

BUGS

       Deverá  ser possível especificar espaços e meta-caracteres de shell e argumentos iniciais para gain-root-
       command e sign-command.

VEJA TAMBÉM

       dpkg-source(1),  dpkg-architecture(1),  dpkg-buildflags(1),   dpkg-genbuildinfo(1),   dpkg-genchanges(1),
       fakeroot(1), lintian(1), gpg(1).

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.21.1                                             2024-02-23                               dpkg-buildpackage(1)