Provided by: debhelper_13.14.1ubuntu5_all bug

NOME

       debhelper - a suite de ferramentas debhelper

RESUMO

       dh_* [-v] [-a] [-i] [--no-act] [-ppackage] [-Npackage] [-Ptmpdir]

DESCRIÇÃO

       Debhelper é usado para ajuda-lo a compilar um pacote Debian. A filosofia por detrás de debhelper é
       disponibilizar uma colecção de ferramentas pequenas, simples e de fácil compreensão que são usadas em
       debian/rules para automatizar vários aspectos comuns da compilação de um pacote. Isto significa menos
       trabalho para si, o empacotador. Também significa, até certo ponto, que estas ferramentas podem ser
       alteradas se a política de Debian alterar, e os pacotes que as usam irão precisar apenas de uma
       recompilação para ficarem em conformidade com a nova política.

       Um ficheiro debian/rules típico que usa debhelper irá chamar vários comandos debhelper em sequência, ou
       usar dh(1) para automatizar este processo. Em /usr/share/doc/debhelper/examples/ estão exemplos de
       ficheiros de regras que usam debhelper.

       Para criar um novo pacote Debian usando o debhelper, você pode copiar um dos ficheiros de regras exemplo
       e edita-lo à mão. Ou pode tentar o pacote dh-make, o qual contém um comando dh_make que automatiza
       parcialmente o processo Para uma introdução mais gentil, o pacote Debian maint-guide contém um tutorial
       acerca de como fazer o seu primeiro pacote usando o debhelper.

       Excepto onde a ferramenta explicitamente denota, caso contrário, todas as ferramentas do debhelper
       assumem que são corridas a partir do directório raiz de um pacote fonte descompactado. Isto é feito para
       que possam localizar e encontrar ficheiros como debian/control quando necessário.

COMANDOS DO DEBHELPER

       Aqui está a lista dos comandos debhelper que você pode usar. Veja os seus manuais para documentação
       adicional.

           #LISTA#

   Comandos Descontinuados
       Alguns comandos debhelper estão descontinuados e não devem ser usados.

           #LISTA_DE_DESCONTINUADOS#

   Outros comandos
       Se o nome dum programa começa com dh_, e o programa não está nas listas em cima, então não faz parte do
       pacote debhelper, mas mesmo assim deverá funcionar como os outros programas descritos nesta página.

FICHEIROS DE CONFIGURAÇÃO DO DEBHELPER

       Muitos comandos do debhelper usam ficheiros em debian/ para controlar o que fazem. Para além dos comuns
       debian/changelog e debian/control, que estão em todos os pacotes, e não apenas aqueles que usam
       debhelper, alguns ficheiros adicionais podem ser usados para configurar o comportamento de comandos
       debhelper específicos. Estes ficheiros são chamados tipicamente debian/pacote.foo (onde pacote é claro, é
       substituído pelo nome do pacote no qual se está a actuar).

       Por exemplo, dh_installdocs usa ficheiros chamados debian/package.docs para listar os ficheiros de
       documentação que ira instalar. Veja os manuais individuais dos comandos para detalhes acerca dos nomes e
       formatos dos ficheiros que usam. Geralmente, estes ficheiros irão listar ficheiros onde se vai actuar, um
       ficheiro por linha. Alguns programas no debhelper usam pares de ficheiros e destinos ou formatos
       ligeiramente mais complicados.

       Nota para o primeiro (ou único) pacote binário listado em debian/control, o debhelper irá usar debian/foo
       quando não existe nenhum ficheiro debian/package.foo. No entanto, é geralmente uma boa ideia manter o
       prefixo package. pois é mais explícito. A principal excepção a isto são ficheiro que o debhelper instala
       por predefinição em todos os pacotes binários quando não tem um prefixo de pacote (tal como
       debian/copyright ou debian/changelog).

       Em alguns casos raros, você pode querer ter versões diferentes destes ficheiros para arquitecturas ou
       sistemas operativos diferentes. Se existirem ficheiros chamados debian/pacote.foo.ARCH ou
       debian/pacote.foo.OS, onde ARCH e OS são o mesmo que o resultado de "dpkg-architecture -qDEB_HOST_ARCH" /
       "dpkg-architecture -qDEB_HOST_ARCH_OS", então eles irão ser usados em preferência de outros ficheiros
       mais gerais.

       Maioritariamente, estes ficheiros de configuração são usados para especificar listas de vários tipos de
       ficheiros. Documentação ou ficheiros exemplo para instalar, ficheiros para mover, e etc. Quando
       apropriado, em casos como estes, você pode usar caracteres "wildcard" de shell standard (classes de
       caracteres ? e * e [..]) nos ficheiros. Também pode meter comentários neste ficheiros; as linhas
       começadas com # são ignoradas.

       A sintaxe destes ficheiros é mantida intencionalmente muito simples para os tornar fáceis de ler,
       compreender e modificar.

   Substituições em ficheiros de configuração do debhelper
       Em nível de compatibilidade 13 e posterior, é possível usar substituições simples em ficheiros de
       configuração do debhelper para as seguintes ferramentas:

       •   dh_clean

       •   dh_install

       •   dh_installcatalogs

       •   dh_installdeb

       •   dh_installdirs

       •   dh_installdocs

       •   dh_installexamples

       •   dh_installinfo

       •   dh_installman

       •   dh_installwm

       •   dh_link

       •   dh_missing

       •   dh_ucf

       Todas  as  variáveis  de  substituição são do formato ${foo} e as chavetas são obrigatórias. Os nomes das
       variáveis são sensíveis a maiúscula/minúscula e  consistem  de  alfanuméricos  (a-zA-Z0-9),  hífens  (-),
       underscores (_), and dois pontos (:). O primeiro caractere tem de ser alfanumérico.

       Se  precisar  de  um  sinal  literal  de  dollar  que não despolete uma substituição, você pode ou usar a
       substituição de ${Dollar} ou a sequência ${}.

       As seguintes expansões estão disponíveis:

       DEB_HOST_*, DEB_BUILD_*, DEB_TARGET_*
           Expande para o valor dpkg-architecture(1) relevante (semelhante a dpkg-architecture -qVARIABLE_HERE).

           Em caso de dúvida, a variante DEB_HOST_* é aquela que irá trabalhar para ambas compilações nativas  e
           cruzadas.

           Por  razões de performance, o debhelper irá tentar resolver esses nomes primeiro a partir do ambiente
           antes de consultar dpkg-architecture(1). Isto é muito mencionado para  plenitude  pois  não  irá  ter
           importância na maioria dos casos.

       Dollar
           Expande  para  um símbolo literal único $-symbol. Este símbolo nunca irá ser considerado parte de uma
           variável de substituição. Isso é:

              # Triggers an error
              ${NO_SUCH_TOKEN}
              # Expands to the literal value "${NO_SUCH_TOKEN}"
              ${Dollar}{NO_SUCH_TOKEN}

           Esta variável é equivalente à sequência ${} e as duas podem ser usadas alternadamente.

       Newline, Space, Tab
           Expande para uma nova linha ASCII única, espaço e tab respetivamente.

           Isto pode ser útil se precisar de incluir um caractere literal de "espaço  em  branco"  (ex.  espaço)
           onde caso contrário ele iria ser descartado ou usado como um separador.

       env:NAME
           Expande  para  a  variável  de  ambiente NAME. A variável de ambiente tem de estar definida (mas pode
           estar definida para uma string vazia).

       Note que todas as variáveis têm de expandir para um valor definido. Como  exemplo,  se  o  debhelper  vir
       ${env:FOO}, então ele irá insistir que a variável de ambiente FOO está definida (pode estar definida para
       uma string vazia).

       Limites de substituição

       Para  evitar ciclos infinitos e exaustão de recursos, o debhelper irá parar com um erro se o texto conter
       muitas variáveis de substituição (50) ou se elas expandirem para  lá  de  um  determinado  tamanho  (4096
       caracteres ou 3x o comprimento da entrada original - qual deles for maior).

   Ficheiros de configuração do debhelper executáveis.
       Se  precisar  de  flexibilidade  adicional, muitas das ferramentas debhelper (ex, dh_install(1)) suportam
       executar um ficheiro de configuração como um script.

       Para usar esta funcionalidade, simplesmente marque o ficheiro de configuração como executável (ex.  chmod
       +x  debian/package.install)  e a ferramenta irá tentar executa-lo e usar o resultado do script. Em muitos
       casos, você pode usar dh-exec(1) como interpretador do ficheiro de configuração para reter a  maioria  da
       sintaxe original enquanto obtém a flexibilidade adicional que precisa.

       Quando usar ficheiros de configuração executáveis do debhelper, por favor tenha em atenção o seguinte:

       •   O  ficheiro de configuração executável must termina com sucesso (isto é, o seu código de retorne deve
           indicar sucesso).

       •   Em nível de compatibilidade 13+, o resultado será sujeito a  substituições  (veja  "Substituições  em
           ficheiros  de  configuração do debhelper") onde a ferramenta suportar estes. Lembre-se disto se o seu
           gerador também disponibilizar substituições pois isto pode causar confusão desnecessária.

           Caso contrário, o resultado de saída irá ser usado exatamente como está. De notar que o debhelper não
           irá expandir wildcards, nem retirar comentários ou espaços em branco ao resultado de saída.

       Se precisar que o pacote compile num sistema de ficheiros onde não pode desactivar o bit  de  executável,
       então você pode usar dh-exec(1) o o seu script strip-output.

OPÇÕES DO DEBHELPER PARTILHADAS

       As seguintes opções de linha de comandos são suportadas por todos os programas do debhelper.

       -v, --verbose
           Modo detalhado: mostra os comandos que modificam o directório de compilação de pacotes.

           Note  que o modo detalhado pode também gerar resultados de outros comandos "internos" que não afectam
           diretamente o directório de compilação de pacotes.

       --no-act
           Não faz nada na realidade. Se usado com -v, o resultado é que o comando mostra o que iria fazer.

       -a, --arch
           Actua em pacotes dependentes da  arquitectura  que  devem  ser  compilados  para  a  arquitectura  de
           compilação DEB_HOST_ARCH.

       -i, --indep
           Actua em todos os pacotes independentes da arquitectura.

       -ppacote, --package=pacote
           Actua  no  pacote  chamado pacote. Esta opção pode ser especifica várias vezes para fazer o debhelper
           operar num determinado conjunto de pacotes.

       -s, --same-arch
           Alias descontinuado de -a.

           Esta opção foi removida no nível de compatibilidade 12.

       -Npacote, --no-package=pacote
           Não actua no pacote especificado mesmo se uma opção -a, -i, ou -p listarem o pacote como um em que se
           deverá actuar.

       --remaining-packages
           Não actua nos pacotes que já foram actuados antes por este comando do debhelper (isto é, se o comando
           estiver presente no debhelper log do pacote). Por exemplo, se você precisar de chamar o  comando  com
           opções  especiais  apenas  para um par de pacotes binários, passe esta opção para a última chamada do
           comando para processar o resto dos pacotes com as definições predefinidas.

       -Ptmpdir, --tmpdir=tmpdir
           Usa tmpdir para directório de compilação de pacotes. A predefinição é debian/pacote

       --mainpackage=pacote
           Esta opção pouco usada muda o pacote que o debhelper  considera  o  "pacote  principal",  isto  é,  o
           primeiro  listado em debian/control, e aquele para o qual os ficheiros debian/foo podem ser usados em
           vez dos ficheiros debian/package.foo usuais.

       -O=opção|bundle
           Isto é usado pelo dh(1) quando se passa opções específicas do utilizador  a  todos  os  comandos  que
           corre.  Se  o  comando  suportar  a opção ou opções especificadas, irá fazer efeito. Se o comando não
           suportar a opção (ou alguma parte do conjunto de opções), será ignorado.

OPÇÕES COMUNS DO DEBHELPER

       As seguintes opções de linha de comandos são suportadas por alguns programas do debhelper. Veja o  manual
       de cada programa para uma explicação completa sobre o que cada opção faz.

       -n  Não modifique os scripts postinst, postrm, etc.

       -Xitem, --exclude=item
           Exclui um item do processamento. Esta opção pode ser usada várias vezes, para excluir mais do que uma
           coisa.  O  item  é tipicamente parte de um nome de ficheiro, e qualquer ficheiro que contenha o texto
           especificado será excluído.

       -A, --all
           Faz com que ficheiros ou outros itens que são especificados na linha de  comandos  tenham  efeito  em
           TODOS os pacotes em que se actua, e não apenas o primeiro.

OPÇÕES DO SISTEMA DE COMPILAÇÃO

       As  seguintes  opções  de  linha de comandos são suportadas por todos os comandos dh_auto_* do debhelper.
       Estes  programas  suportam  uma  variedade  de  sistemas  de   compilação,   e   normalmente   determinam
       heuristicamente qual usar, e como os usar. Você pode usar estes opções de linha de comandos para sobrepor
       o  comportamento  predefinido.  Tipicamente  estas  são  passadas  ao  dh(1),  o qual passa-as a todos os
       programas dh_auto_*.

       -Sbuildsystem, --buildsystem=buildsystem
           Força a utilização do |<buildsystem> especificado, em vez de tentar auto-seleccionar um que pode  ser
           aplicável para o pacote.

           Passa none como buildsystem para desactivar a auto-selecção.

       -Ddirectory, --sourcedir=directory, --sourcedirectory=directory
           Assume  que  a  árvore  fonte  do  pacote original está no directório especificado em vez de estar no
           directório de nível de topo da árvore de pacotes fonte de Debian.

           Aviso: A variante --sourcedir corresponde a uma opção de nome semelhante em dh_install  e  dh_missing
           (etc.)  por razões históricas. Apesar de terem nomes semelhantes, elas têm objectivos muito distintos
           e em alguns casos podem causar erros quando esta variante é passada ao dh (quando então passada  para
           todas as ferramentas).

       -B[directory], --builddir[=directory], --builddirectory[=directory]
           Activa  a  compilação  da fonte e usa o directório especificado como o directório de compilação. Se o
           parâmetro directório for omitido, é escolhido o directório de compilação predefinido.

           Se esta opção não for especificada, a compilação será feita por predefinição na fonte a menos  que  o
           sistema  de compilação requeira ou prefira a compilação da árvore de fonte. Em tal caso, será usado o
           directório de compilação predefinido mesmo se --builddirectory não seja especificado.

           Se o sistema de compilação preferir a compilação da árvore fonte mas ainda permitir a  compilação  da
           fonte,  a última pode ser re-activada ao passar-lhe um caminho para um directório de compilação que é
           o mesmo que o caminho para o directório fonte.

       --parallel, --no-parallel
           Controla se devem ser usadas compilações paralelas se o sistema de compilação o suportar. O número de
           trabalhos paralelos é controlado pela variável de ambiente DEB_BUILD_OPTIONS ("Debian Policy,  secção
           4.9.1") durante a compilação. Também pode servir como um limite específico do sistema de compilação.

           Se  nenhuma destas opções for especificada, presentemente o debhelper usa por predefinição --parallel
           em modo compatibilidade 10 (ou posterior) e --no-parallel em caso contrário.

           Como uma optimização, o dh irá tentar evitar passar estas opções aos sub-processos,  se  estas  forem
           desnecessárias  e  as únicas opções a passar. De notar que isto acontece quando DEB_BUILD_OPTIONS não
           tem um parâmetro parallel (ou o seu valor é 1).

       --max-parallel=máximo
           Esta opção implica --parallel e permite mais limitação ao número de trabalhos que  podem  ser  usados
           numa compilação paralela. Se a compilação do pacote é conhecida por apenas funcionar em certos níveis
           de  concorrência,  você  pode  definir isto para o nível máximo que é sabido funcionar, ou que deseje
           suportar.

           De notar que, definir o máximo para 1 é efectivamente o mesmo que usar --no-parallel.

       --reload-all-buildenv-variables
           Por predefinição, o dh(1) irá computar várias variáveis de ambiente (ex. ao usar  dpkg-buildflags(1))
           e guarda-los em cache para evitar que todas as ferramentas dh_auto_* os recompute.

           Quando  se  passa  esta  opção,  a  ferramenta  dh_auto_* concreta irá ignorar a cache de dh(1) e re-
           despoletar uma recompilação destas variáveis. Isto é útil nos casos muito raros onde o pacote precisa
           de fazer múltiplas compilações mas com diferentes opções ...FLAGS. Um exemplo concreto seria precisar
           de alterar o parâmetro -O em CFLAGS na segunda compilação:

               export DEB_CFLAGS_MAINT_APPEND=-O3

               %:
                   dh $@

               override_dh_auto_configure:
                   dh_auto_configure -Bbuild-deb ...
                   DEB_CFLAGS_MAINT_APPEND=-Os dh_auto_configure \
                      --reload-all-buildenv-variables -Bbuild-udeb ...

           Sem --reload-all-buildenv-variables na  segunda  chamada  ao  dh_auto_configure(1),  a  alteração  em
           DEB_CFLAGS_MAINT_APPEND  seria  ignorada  pois  dh_auto_configure(1)  iria  usar  o valor em cache de
           <CFLAGS> definido por dh(1).

           Esta opção  está  apenas  disponível  com  debhelper  (>=  12.7~)  quando  o  pacote  usar  nível  de
           compatibilidade 9 ou posterior.

       --list, -l
           Lista  todos  os sistemas de compilação suportados pelo debhelper neste sistema. A lista inclui ambos
           sistemas de compilação predefinidos e de terceiros (marcados como tal). Também mostra qual o  sistema
           de  compilação  será  seleccionado automaticamente, ou qual está especificado manualmente com a opção
           --buildsystem.

NÍVEIS DE COMPATIBILIDADE

       De tempos a tempos, precisam de ser feitas grandes alterações no debhelper que  não  compatíveis  com  as
       versões  anteriores,  para  o  manter limpo e bem construído quando as necessidades alteram e o seu autor
       ganha mais experiência. Para prevenir que tais grandes alterações danifiquem os pacotes  existentes,  foi
       introduzido  o  conceito  de  níveis de compatibilidade no debhelper. Você deve dizer ao debhelper qual o
       nível de compatibilidade que ele deve usar, e ele modifica o seu comportamento de várias maneiras.

       No debhelper actual, você pode especificar o nível de compatibilidade em debian/control ao  adicionar  um
       Build-Depends  no  pacote  debhelper-compat. Por exemplo, para usar modo v13, assegure que debian/control
       tem:

         Build-Depends: debhelper-compat (= 13)

       Isto também serve como uma dependência de compilação de  versão  apropriada  numa  versão  suficiente  do
       pacote  debhelper, assim você não precisa de especificar uma dependência de compilação de versão separada
       no pacote debhelper a menos que precise de um lançamento pontual específico do debhelper (tal como para a
       introdução de uma nova funcionalidade ou correcção de bug dentro de um nível de compatibilidade).

       Note que o debhelper não fornece debhelper-compat para os níveis de compatibilidade experimental ou beta;
       os pacotes que experimentem com esses níveis de compatibilidade devem usar debian/compat  ou,  se  apenas
       para comandos selecionados, DH_COMPAT.

       As  versões  anteriores  do  debhelper  requeriam  o  nível  de  compatibilidade especificado no ficheiro
       debian/compat, e o debhelper actual ainda suporta isto para compatibilidade  com  as  versões  anteriores
       Para  usar  este  método,  o ficheiro debian/compat deve conter o nível de compatibilidade como um número
       singular, e nenhum outro conteúdo. Se você especificar o nível de compatibilidade  neste  método,  o  seu
       pacote  vai  também  precisar  duma  dependência  de compilação baseada em versão de uma versão do pacote
       debhelper igual (ou superior) ao  nível  de  compatibilidade  que  o  seu  pacote  usa.  Assim,  se  você
       especificar o nível de compatibilidade 13 em debian/compat, assegure-se que debian/control contém:

         Build-Depends: debhelper (>= 13~)

       Note  que  você  usar  ou  build-dependency  em  debhelper-compat ou o ficheiro debian/compat. Sempre que
       possível, é recomendado a build-dependency do debhelper-compat.

       Se necessário, a variável de ambiente DH_COMPAT pode ser usada para sobrepor o nível  de  compatibilidade
       para  um  dado  comando. Esta funcionalidade é maioritariamente útil seja para actualizar temporariamente
       alguns comandos  para  um  novo  nível  de  compatibilidade  ou  manter  alguns  comandos  num  nível  de
       compatibilidade   inferior.   Esta  funcionalidade  é  melhor  ser  usada  com  moderação  pois  introduz
       efectivamente casos-especiais no ficheiro debian/rules que podem ser surpreendentes para  maintainers  ou
       revisores (ou, a longo prazo, para si).

       A  menos  que  seja  indicado o contrário, toda a documentação do debhelper assume que você está a usar o
       nível de compatibilidade mais recente, e na maioria dos casos não indica se o comportamento  é  diferente
       num  nível  de  compatibilidade  anterior,  portanto  se  não está a usar o nível de compatibilidade mais
       recente, você é aconselhado a procurar em baixo por notas  acerca  do  que  é  diferente  nos  níveis  de
       compatibilidade anteriores.

   Níveis de compatibilidade suportados
       A  lista  dos níveis de compatibilidade suportados e a lista de verificação de actualizações relacionadas
       foi movida para debhelper-compat-upgrade-checklist(7).

NOTAS

   Suporte a pacotes de múltiplos binários
       Se o seu pacote fonte gerar mais do que um pacote binário, os programas do debhelper,  por  predefinição,
       irão  actuar  em  todos  os  pacotes  binários quando correm. No caso do seu pacote fonte gerar um pacote
       dependente de arquitectura, e outro pacote independente da  arquitectura,  este  não  é  o  comportamento
       correcto,  porque  você  precisa  de  gerar  os  pacotes dependentes de arquitectura no alvo debian/rules
       binary-arch, e os pacotes independentes de arquitectura no alvo debian/rules binary-indep.

       Para facilitar isto, e também para lhe dar mais controle sobre em quais pacotes  os  programas  debhelper
       actuam,  todos  os  programas  debhelper  aceitam  os  parâmetros  -a, -i, -p, e -s. Estes parâmetros são
       cumulativos. Se nenhum for usado, os programas debhelper por predefinição  actuam  em  todos  os  pacotes
       listados no ficheiro de controle, com as excepções em baixo.

       Primeiro,  qualquer  pacote  cujo  campo  Architecture  em  debian/control não corresponda à arquitectura
       DEB_HOST_ARCH será excluído ("Debian Policy, secção 5.6.8").

       Também, alguns pacotes adicionais podem ser excluídos com  base  no  conteúdo  da  variável  de  ambiente
       DEB_BUILD_PROFILES  e  nos  campos  Build-Profiles nas estrofes de pacotes binários em debian/control, de
       acordo com a política proposta em  <https://wiki.debian.org/BuildProfileSpec>.

       Interacção entre selecções de pacotes e Build-Profiles

       Build-Profiles afectam quais pacotes são incluídos nos mecanismos de selecção de  pacotes  do  debhelper.
       Geralmente,  as  selecções  de  pacotes  são descritas a partir do pressuposto que todos os pacotes estão
       activados. Esta secção descreve como as selecções reagem quando um pacote é desactivado devido  a  Build-
       Profiles activos (ou a falta de Build-Profiles activos).

       -a/--arch, -i/--indep OU nenhuma opção de selecção (uma chamada "dh_X" crua)
           O pacote desactivado por Build-Profiles é excluído em silêncio da selecção.

           Note  que  vai  receber  um  aviso  se  todos  os  pacotes relacionados com estas selecções estiverem
           desactivados. Nesse caso, geralmente não faz nenhum sentido sequer fazer a compilação.

       -N package / --no-package package
           A opção é aceite e efectivamente não faz nada.

       -p package / --package package
           A opção é  aceite, mas o debhelper não irá actuar no pacote.

       Note que não importa se um pacote está activado ou desactivado por predefinição.

   Geração automática de scripts de instalação Debian
       Alguns comandos do debhelper irão gerar automaticamente  partes  de  scripts  de  maintainer  Debian.  Se
       desejar  que  estas  coisas geradas automaticamente sejam incluídas nos sues scripts de maintainer Debian
       existentes, então você precisa adicionar #DEBHELPER# aos seus scripts, no local onde o código deverá  ser
       adicionado.   #DEBHELPER#  será  substituído  por  qualquer  código  auto-gerado  quando  você  correr  o
       dh_installdeb.

       Se não existir nenhum script e o debhelper precisar de adicionar algo a ele, então o debhelper irá  criar
       o script completo.

       Todos  os  comandos debhelper que geram código automaticamente deste modo permitem que o seja desactivado
       pelo parâmetro -n (ver em cima).

       Note que o código inserido será código shell, portanto você não pode usa-lo directamente  num  script  de
       Perl.  Se  desejar  embebe-lo num script Perl, aqui está um modo de o fazer (note que Eu certifico-me que
       $1, $2, etc são definidos com o comando "set"):

         my $temp="set -e\nset -- @ARGV\n" . << 'EOF';
         #DEBHELPER#
         EOF
         if (system($temp)) {
            my $exit_code = ($? >> 8) & 0xff;
            my $signal = $? & 0x7f;
            if ($exit_code) {
                die("The debhelper script failed with error code: ${exit_code}");
            } else {
                die("The debhelper script was killed by signal: ${signal}");
            }
         }

   Geração automática de dependências variadas.
       Alguns programas debhelper podem fazer com que o pacote gerado  precise  de  depender  de  alguns  outros
       pacotes.  Por  exemplo,  se  você  usar  o  dh_installdebconf(1), o seu pacote irá geralmente depender do
       debconf. Ou se você usar dh_installxfonts(1),  o  seu  pacote  irá  geralmente  depender  de  uma  versão
       particular  do  xutils.  Acompanhar estas dependências variadas pode ser aborrecido pois elas dependem de
       como o debhelper faz as coisas, então o debhelper oferece um modo de automatizar isto.

       Todos os comandos deste tipo, além de documentar  quais  dependências  podem  ser  necessárias  nos  seus
       manuais,  irão  gerar  automaticamente um substvar chamado ${misc:Depends}. Se você colocar esse token no
       seu ficheiro debian/control, será expandido às dependências que o debhelper descobre que você precisa.

       Isto é inteiramente independente  do  standard  ${shlibs:Depends}  gerado  pelo  dh_makeshlibs(1),  e  do
       ${perl:Depends}  gerado  pelo  dh_perl(1).  Você pode escolher usar qualquer um destes, se as escolhas do
       debhelper não corresponderem à realidade.

   Directórios de compilação de pacotes
       Por predefinição, todos os programas do debhelper assumem que o directório temporário usado para montar a
       árvore de ficheiros num pacote é debian/pacote.

       Por vezes, você pode querer usar outro directório temporário. Isto é  suportado  pela  bandeira  -P,  por
       exemplo,  "dh_installdocs -Pdebian/tmp", irá usar debian/tmp como directório temporário. Note que se você
       usar -P, os programas debhelper só podem actuar num pacote de cada vez. Por isso se  tem  um  pacote  que
       compila  muitos  pacotes  binários,  irá  também  precisar de usar a bandeira -p para especificar em qual
       pacote binário o programa debhelper irá actuar.

   udebs
       Debhelper inclui suporte para udebs. Para criar um udeb com o debhelper, adicione "Package-Type: udeb"  à
       estrofe do pacote em debian/control. O Debhelper irá tentar criar udebs em conformidade com a política do
       instalador  debian,  ao  finalizar  os  ficheiros  de  pacotes  gerados com .udeb, não instalando nenhuma
       documentação num udeb, saltando os scripts preinst, postrm, prerm, e config, etc.

AMBIENTE

       Esta secção descreve algumas das variáveis de ambiente que influenciam o comportamento do debhelper ou de
       quem o debhelper interage.

       É importante notar que estas que estas têm de ser mesmo variáveis de  ambiente  de  modo  a  afectarem  o
       comportamento  do debhelper (e não simplesmente variáveis do Makefile). Para as especificar correctamente
       em debian/rules, assegure-se de lhes fazer "export". Por exemplo, "export DH_VERBOSE"

       DH_VERBOSE
           Definir para um valor não-vazio para activar o modo detalhado. Por favor veja a opção -v /  --verbose
           para detalhes.

       DH_QUIET
           Definir  para  um  valor  não-vazio  para  activar o modo silencioso. O Debhelper não irá escrever os
           comandos a chamar o sistema de compilação do autor nem o  dh  irá  escrever  quais  sub-comandos  são
           chamados  e  dependendo do sistema de compilação do autor, poderá também tornar isso mais silencioso.
           Isto facilita a identificação de mensagens importantes mas torna os resultados inúteis como relatório
           do buildd.

           É ignorado se DH_VERBOSE estiver também definido ou se for passado -v / --verbose.

       DH_COMPAT
           Especifica temporariamente em que nível  de  compatibilidade  o  debhelper  deve  correr,  sobrepondo
           qualquer valor especificado via Build-Depend em debhelper-compat ou via ficheiro debian/compat.

       DH_NO_ACT
           Defina para 1 para activar o modo no-act.

       DH_OPTIONS
           Todas  as  ferramentas  debhelper  irão  processar  os argumentos de linha de comandos listados nesta
           variável antes de qualquer opção de comando (como se eles fossem anexados aos argumentos de linha  de
           comandos).  Infelizmente,  algumas ferramentas disponibilizadas por terceiros podem não suportar esta
           variável e irão ignorar estes argumentos de linha de comandos.

           Quando se usa dh(1), podem-se passar opções que irão ser passadas a cada comando do debhelper, o  que
           é geralmente melhor do que usar DH_OPTIONS.

       DH_ALWAYS_EXCLUDE
           Se  definido,  isto  adiciona o valor que está definido na variável às opções -X de todos os comandos
           que suportam a opção -X. Ainda mais, o dh_builddeb irá fazer rm -rf a tudo o que corresponda  a  esse
           valor na sua árvore de compilação do pacote.

           Isto  pode ser útil se você está a fazer uma compilação a partir de uma árvore fonte CVS, que no caso
           definindo DH_ALWAYS_EXCLUDE=CVS irá prevenir que quaisquer directórios CVS se esgueirem para o pacote
           que está a compilar. Ou, se um pacote tem um tarball  de  fonte  que  (não  inteligentemente)  inclui
           directórios  CVS,  você  pode querer exportar DH_ALWAYS_EXCLUDE=CVS em debian/rules, para o fazer ter
           efeito onde o seu é compilado.

           Várias coisas a excluir podem ser separadas com "dois pontos", como em DH_ALWAYS_EXCLUDE=CVS:.svn

       DH_EXTRA_ADDONS
           Se definido, isto adiciona os addons especificados do dh para serem corridos nos lugares  apropriados
           na  sequência de comandos. Isto é equivalente a especificar o addon a correr coma  bandeira --with no
           ficheiro debian/rules file. Qualquer chamada --without que especifique um  addon  nesta  variável  de
           ambiente não será executada.

           Isto  destina-se  a  ser  usado  por  downstreams ou configurações locais especificas que requeiram a
           execução dum addon do debhelper durante múltiplas compilações sem terem que aplica patch a um  grande
           número  de  ficheiros  de regras. Se de todo possível, isto deve ser evitado em favor de uma bandeira
           --with no ficheiro rules.

       DH_COLORS, DPKG_COLORS
           Estas variáveis podem ser usadas para controlar se os comandos do  debhelper  devem  usar  cores  nos
           resultados textuais. Podem ser definidas para "always", "auto" (a predefinição), ou "never".

           Note  que  DPKG_COLOR também afecta um número de ferramentas relacionadas ao dpkg e o debhelper usa-o
           na suposição que você quer a mesma definição de cor para o dpkg e  debhelper.  Na  hipótese  de  você
           querer  definição  de cor diferente para o debhelper, pode usar DH_COLORS em vez disso ou em adição a
           DPKG_COLORS.

       NO_COLOR
           Se não for fornecido um pedido  específico  para  cor   (ex.  DH_COLORS  e  DPKG_COLORS  estão  ambos
           não-definidos), a presença desta variável de ambiente faz com que a definição de cor predefinida seja
           "never".

           A  variável  é  definida  de  acordo  com  <https://no-color.org/>.   Neste projecto, as variáveis de
           ambiente (tais como DH_COLORS) são consideradas um requisito explícito para cor.

       CFLAGS, CPPFLAGS, CXXFLAGS, OBJCFLAGS, OBJCXXFLAGS, GCJFLAGS, FFLAGS, FCFLAGS, LDFLAGS
           Por  predefinição  (em  qualquer  nível  de  compatibilidade   não-abandonado).   o   debhelper   irá
           automaticamente  definir  estas  flags ao usar dpkg-buildflags(1), quando não estiverem definidas. Se
           você  precisar  de  modificar  as  flags  predefinidas,  por  favor   use   as   funcionalidades   de
           dpkg-buildflags(1)     para     o     fazer     (ex.     DEB_BUILD_MAINT_OPTIONS=hardening=all     ou
           DEB_CPPFLAGS_MAINT_APPEND=-DCUSTOM_MACRO=true) em vez de definir a variável concreta directamente.

       HOME, XDG_*
           Em compatibilidade 13 e posterior, estas variáveis de ambiente são reiniciadas  antes  de  invocar  o
           sistema  de  compilação  do  autor  via ajudantes do dh_auto_*. As variáveis HOME (todos os ajudantes
           dh_auto_*) e XDG_RUNTIME_DIR (apenas dh_auto_test) irão ser definidas para  um  directório  gravável.
           Todas as restantes variáveis e XDG_RUNTIME_DIR (excepto para durante dh_auto_test) irão ser limpas.

           O  directório  HOME  será  criado  como um directório vazio mas ele será reutilizado entre chamadas a
           dh_auto_*. Qualquer conteúdo irá persistir até ser explicitamente apagado ou dh_clean.

       DEB_BUILD_OPTIONS
           Por favor veja "Bandeiras suportadas em DEB_BUILD_OPTIONS" para esta variável de ambiente.

           Por favor note que esta  variável  não  deve  ser  alterada  por  maintainers  de  pacote  dentro  de
           debian/rules  para  mudar  o  comportamento  do  debhelper. Em vez disso, onde o maintainer do pacote
           precisar  destas  funcionalidades,  eles  devem  procurar  desactivar  a   funcionalidade   relevante
           directamente (ex. ao sobrepor as ferramentas concretas).

       DEB_BUILD_MAINT_OPTIONS
           Esta  é  uma  variável  de  ambiente especifica do dpkg (veja por ex. dpkg-buildflags(1)). A suite de
           ferramentas do debhelper ignora-a em silêncio.

           Está documentada aqui porque tem um nome semelhante a DEB_BUILD_OPTIONS, o que faz  com  que  algumas
           pessoas assumam em erro que o debhelper também vai reagir a esta variável.

   Bandeiras suportadas em DEB_BUILD_OPTIONS
       A suite de ferramentas debhelper reage às seguintes bandeiras em DEB_BUILD_OPTIONS.

       dherroron=obsolete-compat-levels
           Este é um valor específico do debhelper.

           Quando dherroron está presente e definida para obsolete-compat-levels, então as ferramentas debhelper
           irão  promover para erros os avisos de descontinuidade de níveis de compatibilidade antigos e prestes
           a serem removidos.

           Isto é útil para  verificação  automática  de  confiança  de  código  em  níveis  de  compatibilidade
           descontinuados que estão agendados para remoção.

           Esta opção destina-se a objectivos de teste; não compilações produtivas.

       nostrip
           Este  valor  irá mudar o conteúdo dos debs a serem compilados. Os pacotes .deb compilados quando isto
           está definido são por isto não reproduzíveis bit-a-bit com uma compilação  regular  nas  generalidade
           dos casos.

           Este  valor  irá  fazer  com  que  as ferramentas oficiais debhelper saltem acções e ajudantes que ou
           removem, desanexam ou duplicam símbolos em binários ELF.

           Este valor afecta dh_dwz(1) e dh_strip(1).

       nocheck
           Este valor irá fazer com que os sistemas de compilação oficiais debhelper saltem execuções de  suites
           de testes do autor original.

           Os  maintainers  de pacotes que procurem evitar correr os testes do autor não devem confiar nisto. Em
           vez disto, eles podem adicionar um alvo de sobreposição vazio para saltar o dh_auto_test.

           Este valor afecta dh_auto_test(1).

       nodoc
           Este valor irá mudar o conteúdo dos debs a serem compilados. Os pacotes .deb compilados  quando  isto
           está  definido  são  por isto não reproduzíveis bit-a-bit com uma compilação regular nas generalidade
           dos casos.

           Este valor irá fazer com que várias ferramentas debhelper saltem a  instalação  de  documentação  tal
           como  os  manuais  ou documentação fornecida pelo autor original. Adicionalmente, as ferramentas irão
           também ignorar se a documentação declarada está "em falta"  assumindo  que  a  documentação  não  foi
           compilada.

           Este  valor  afecta  ferramentas  do  tipo  dh_installdocs(1),  que  sabem  que estão a trabalhar com
           documentação.

       notrimdch
           Este valor irá mudar o conteúdo dos debs a serem compilados. Os pacotes .deb compilados  quando  isto
           está  definido  são  por isto não reproduzíveis bit-a-bit com uma compilação regular nas generalidade
           dos casos.

           Este valor irá fazer o dh_installchangelogs(1) actuar como se  tivesse  passado  a  opção  --no-trim,
           forçando-o a renunciar a remoção de entradas antigas dos registos de alterações.

       noautodbgsym, noddebs
           O nome oficial é noautodbgsym. A variante noddebs é aceite por razões históricas.

           Este  valor  faz  com  que  o  debhelper  salte a geração de pacotes de símbolos de depuração gerados
           automaticamente.

           Este valor afecta dh_strip(1).

       parallel=N
           Este valor habilita o debhelper a usar  até  N  linhas  de  processos  (sujeitos  a  parâmetros  como
           --no-parallel  e  --max-parallel=M).  Nem  todas  as  ferramentas   debhelper  trabalham  com tarefas
           paralelas e podem ignorar o pedido em silêncio.

           Este valor afecta muitas ferramentas debhelper. Mais notoriamente dh_auto_*, a qual irá tentar correr
           o sistema de compilação subjacente do autor com esse número de linhas de execução.

       terse
           Este valor irá fazer com que os sistemas de compilação oficiais debhelper configurem  as  compilações
           do  autor  para serem concisas (isto é, reduzir os detalhes dos seus resultados). Isto está sujeito a
           que os sistemas de compilação do autor e do debhelper suportem tais funcionalidades.

           Este valor afecta a maioria das ferramentas dh_auto_*  diretamente.  Para  comandos  fornecidos  pelo
           pacote  debhelper,  também  faz com que as ferramentas actuem como se a variável de ambiente DH_QUIET
           estiver não-vazia.

       Bandeiras desconhecidas são ignoradas em silêncio.

       Note que ferramentas de terceiros estilo-debhelper ou sistemas de  compilação  fornecidos  por  terceiros
       podem não reagir às bandeiras em cima. Isto tende a depender dos detalhes de implementação da ferramenta.

VEJA TAMBÉM

       debhelper-compat-upgrade-checklist(7)
           Lista de níveis de compatibilidade suportados e uma lista de verificação de actualização para cada um
           deles.

       /usr/share/doc/debhelper/examples/
           Um conjunto de ficheiros debian/rules exemplo que usam debhelper.

       <http://joeyh.name/code/debhelper/>
           Sítio web do debhelper.

AUTOR

       Joey Hess <joeyh@debian.org>

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 ou Equipa Debian de Tradução Portuguesa traduz@debianpt.org.

13.14.1ubuntu5                                     2024-03-01                                       debhelper(7)