Provided by: dpkg-dev_1.21.9ubuntu1_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
           Define o nome-ficheiro para o ficheiro .buildinfo gerado (desde 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
           Define o nome-ficheiro para o ficheiro .changes gerado (desde 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

       /usr/share/doc/dpkg/spec/rootless-builds.txt, 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>.