Provided by: debhelper_11.1.6ubuntu2_all bug

NOME

       debhelper - a suite de ferramentas debhelper

RESUMO

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

DESCRIÇÃO

       Debhelper é usado para ajudá-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 editá-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 debian/control e debian/compat 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.

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

       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 propositadamente simples para os tornar fáceis de ler, perceber, e
       modificar. Se você preferir o poder e a complexidade, pode tornar o ficheiro executável, e escrever um
       programa que gere um conteúdo apropriado para uma dada situação seja ela qual for. Quando o fizer, o
       resultado já não é mais processado para expandir wildcards ou despojar comentários.

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 todos os comandos que modificam 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.

           This option is removed in compat 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.

       --ignore=ficheiro
           Ignora  o ficheiro especificado. Isto pode ser usado se debian/ conter um ficheiro de configuração de
           debhelper que um  comando  debhelper  não  deve  usar.  Note  que  debian/compat,  debian/control,  e
           debian/changelog  não  podem  ser  ignorados, mas também, nunca deverá existir uma razão para ignorar
           estes ficheiros.

           Por exemplo, se o autor do programa juntar um  debian/init  que  você  não  quer  que  dh_installinit
           instale, use --ignore=debian/init

       -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 \fIitem\fR é 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
       heurísticamente 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_*.

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

       -Ddirectório, --sourcedirectory=directório
           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.

       -B[directório], --builddirectory=[directório]
           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.

       --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. O
       nível de compatibilidade é especificado no ficheiro debian/compat e este ficheiro tem de estar presente.

       Diz ao debhelper qual nível de compatibilidade deve usar ao escrever  um  número  em  debian/compat.  Por
       exemplo, para usar o modo v11:

         % echo 11 > debian/compat

       O  seu  pacote  também vai precisar de uma dependência de compilação de versão de uma versão do debhelper
       igual (ou maior que) ao  nível  de  compatibilidade  que  o  seu  pacote  usa.  Portanto  para  nível  de
       compatibilidade 11, certifique-se que debian/control tem:

         Build-Depends: debhelper (>= 11)

       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
       Estes são os níveis de compatibilidade disponíveis:

       v5  Este é o nível de compatibilidade mais baixo suportado.

           Se  você  está  a  actualizar  a  partir  de  um  nível de compatibilidade anterior, por favor reveja
           debhelper-obsolete-compat(7).

           Este modo está descontinuado.

       v6  As alterações a partir de v5 são:

           -       Os comandos que geram fragmentos de script de mantenedor irão ordenar os fragmentos em  ordem
                   reversa para os scripts prerm e postrm.

           -       dh_installwm  irá instalar uma ligação escrava de manual para x-window-manager.1.gz, se vir o
                   manual em usr/share/man/man1 no directório de compilação do pacote.

           -       O dh_builddeb anteriormente não apagava  nada  que  correspondesse  a  DH_ALWAYS_EXCLUDE,  se
                   estivesse definida uma lista de coisas  a excluir, como CVS:.svn:.git. Mas agora fá-lo.

           -       dh_installman  permite  a  sobreposição  de manuais existentes no directório de compilação do
                   pacote. Nos níveis de compatibilidade anteriores recusava-se em silêncio a fazer isto.

           Este modo está descontinuado.

       v7  As alterações a partir de v6 são:

           -       dh_install, irá regressar a procurar por ficheiros em  debian/tmp  se  não  os  encontrar  no
                   directório actual (ou onde você lhe disser para procurar usando --sourcedir). Isto permite ao
                   dh_install  inter-operar  com o dh_auto_install, o qual instala para debian/tmp, sem precisar
                   de nenhuns parâmetros especiais.

           -       dh_clean irá ler debian/clean e apagar os ficheiros listados lá.

           -       dh_clean irá apagar ficheiros *-stamp do nível de topo.

           -       dh_installchangelogs irá adivinhar qual ficheiro está no relatório de alterações da origem se
                   nenhum for especificado.

           Este modo está descontinuado.

       v8  As alterações a partir de v7 são:

           -       Os comandos  irão  falhar  em  vez  de  emitirem  avisos  quando  lhes  são  passadas  opções
                   desconhecidas.

           -       dh_makeshlibs  irá  correr  dpkg-gensymbols em todas as bibliotecas partilhadas para as quais
                   gera ficheiros shlibs. Portanto o -X pode ser usado  para  excluir  bibliotecas.  Também,  as
                   bibliotecas em localizações fora do habitual que o dpkg-gensymbols não tenha processado antes
                   serão  passadas  para  ele, uma alteração no comportamento que pode causar que alguns pacotes
                   falhem a compilar.

           -       dh requer que a sequência a correr seja especificada como o primeiro parâmetro,  e  quaisquer
                   switches que venham depois dela. Isto é, use dh $@ --foo", e não "dh --foo $@

           -       dh_auto_* prefere usar o Module::Build do Perl em preferência de Makefile.PL.

           Este modo está descontinuado.

       v9  As alterações a partir de v8 são:

           -       Suporte  a  multi-arquitectura.  Em particular, dh_auto_configure passa directórios de multi-
                   arquitectura ao autoconf em --libdir e --libexecdir.

           -       O dh tem conhecimento das dependências habituais entre metas em debian/rules. Por isso, o "dh
                   binary" irá correr quaisquer metas  de  build,  build-arch,  build-indep,  install,  etc  que
                   existam  no  ficheiro de regras. Não há necessidade de definir uma meta binário explícito com
                   dependências explícitas em outras metas.

           -       dh_strip comprime ficheiros de símbolos de depuração para reduzir  o  tamanho  instalado  dos
                   pacotes -dbg.

           -       dh_auto_configure não inclui o nome do pacote fonte em --libexecdir quando usa autoconf.

           -       dh não tem por predefinição a activação de --with=python-support

                   (Obsoleto:  Pois  a  ferramenta dh_pysupport foi removida a partir de Debian stretch. Desde o
                   debhelper/10.3, dh já não se activa esta  sequência  add-on  independentemente  do  nível  de
                   compatibilidade)

           -       Todos  os programas debhelper dh_auto_* e dh definem variáveis de ambiente listadas por dpkg-
                   buildflags, a menos que elas estejam já definidas.

           -       dh_auto_configure passa as dpkg-buildflags CFLAGS, CPPFLAGS, e  LDFLAGS  para  Makefile.PL  e
                   Build.PL de perl.

           -       dh_strip põe símbolos de depuração separados numa localização baseada no seu build-id.

           -       Os  ficheiros  de  configuração  executáveis  do  debhelper são corridos e os seus resultados
                   usados como configuração.

       v10 As alterações a partir de v9 são:

           -       dh_installinit não irá mais instalar um ficheiro chamado  debian/pacote  como  um  script  de
                   iniciação (init).

           -       O  dh_installdocs  irá  dar  erro  se  detectar links criados com --link-doc entre pacotes de
                   arquitectura "all" e não-"all" porque isso faz quebrar binNMUs.

           -       dh já não cria o directório de compilação do pacote  quando  salta  a  execução  de  comandos
                   debhelper.  Isto não vai afectar pacotes que apenas compilam com comandos debhelper, mas pode
                   expor bugs em comandos não incluídos no debhelper.

           -       O  dh_installdeb  já  não  instala  um  ficheiro  debian/pacote.shlibs  disponibilizado  pelo
                   mantenedor. Em vez disso, isto agora é feito pelo dh_makeshlibs.

           -       O dh_installwm recusa-se a criar um pacote quebrado se não encontrar nenhuma página de manual
                   (necessário para registo para a alternativa do x-window-manager).

           -       Debhelper  irá  predefinir  para  --parallel  em todos os sistemas de compilação que suportam
                   compilação  paralela.  Isto  pode  ser   desactivado   usando   --no-parallel   ou   passando
                   --max-parallel com o valor de 1.

           -       O  comando  dh  não  irá  aceitar  nenhum  dos  parâmetros  de  "controle de sequência manua"
                   descontinuados (--before, --after, etc.). Por favor utilize  metas  de  sobreposição  em  vez
                   destes.

           -       O  comando  dh não irá mais usar ficheiros log para seguir quais comandos foram executados. O
                   comando dh ainda mantêm o seguimento se já correu a sequência de "compilação" e salta-a se já
                   o fez.

                   Os principais efeitos disto são:

                   -   Com isto, é agora mais fácil de depurar as sequências install ou/e  binary  porque  agora
                       podem ser trivialmente re-executadas (sem ter que fazer um ciclo de "limpar e recompilar"
                       completo.

                   -   O  principal  embargo é que dh_* agora apenas mantêm acompanhamento do que aconteceu numa
                       meta de sobreposição singular.  Quanto  todas  as  chamadas  a  um  dado  comando  dh_cmd
                       acontecem na mesma meta de sobreposição tudo irá funcionar como dantes.

                       Exemplo de onde pode falhar:

                         override_dh_foo:
                           dh_foo -pmy-pkg

                         override_dh_bar:
                           dh_bar
                           dh_foo --remaining

                       Neste  caso,  a  chamada a dh_foo --remaining irá também incluir my-pkg, desde que dh_foo
                       -pmy-pkg tenha corrido numa meta de sobreposição separada. Este problema não está imitado
                       a --remaining, mas também inclui -a, -i, etc.

           -       O comando dh_installdeb agora faz "escape de shell" às linhas no ficheiro de configuração  de
                   maintscript.  Esta  foi  a  intenção  original  mas não trabalhava correctamente e os pacotes
                   começaram a confiar no "escapar de shell" incompleto (ex. ao mencionar nomes de ficheiros).

           -       O comando dh_installinit agora usa por predefinição --restart-after-upgrade. Para pacotes que
                   precisam do comportamento anterior, por favor use --no-restart-after-upgrade.

           -       A sequência  autoreconf  é  agora  activada  por  predefinição.  Por  favor  passe  --without
                   autoreconf ao dh se isto não for desejável para um determinado pacote

           -       A  sequência  systemd é agora activada por predefinição. Por favor passe --without systemd ao
                   dh se isto não for desejável para um determinado pacote.

       v11 Este é o modo de operação recomendado.

           As alterações a partir de v10 são:

           -       dh_installinit já não instala ficheiros service ou tmpfile, nem gera  scripts  do  mantenedor
                   para esses ficheiros, Por favor use o novo ajudante dh_installsystemd

           -       Os  ajudantes  dh_systemd_enablee  dh_systemd_start  foram  substituídos  pelo  novo ajudante
                   dh_installsystemd. Pela mesma razão, a sequência do systemd para dh foi também  removida.  Se
                   você precisar de desactivar a ferramenta de ajuda dh_installsystemd, por favor use um alvo de
                   sobreposição vazio.

                   Por favor note que a ferramenta dh_installsystemd tem um comportamento ligeiramente diferente
                   em alguns casos (ex. quando se usa o parâmetro --name).

           -       dh_installdirs  já  não  cria  directórios  debian/pacote a menos que tal seja explicitamente
                   pedido (ou se tiver de criar um sub-directório nele).

                   A grande maioria dos pacotes não serão afectados por esta alteração.

           -       O sistema de compilação makefile agora  passa  INSTALL=install  --strip-program=true  para  o
                   make(1).  Sistemas  de  compilação derivativos (ex. configure ou cmake) não são afectados por
                   esta alteração.

           -       O sistema de compilação autoconf agora passa --runstatedir=/run para ./configure.

           -       O sistema de compilação cmake agora passa -DCMAKE_INSTALL_RUNSTATEDIR=/run para cmake(1).

           -       dh_installman irá agora preferir detectar a linguagem a partir do nome de caminho em vez de a
                   extensão.

           -       dh_auto_install irá agora apenas criar o directório de destino  que  precisa.  Anteriormente,
                   iria  criar  o directório de compilação de pacote para todos os pacotes. Isto não vai afectar
                   pacotes que apenas compilam com comandos debhelper, mas  pode  expor  bugs  em  comandos  não
                   incluídos no debhelper.

           -       Os  ajudantes  dh_installdocs,  dh_installexamples, dh_installinfo, e dh_installman agora dão
                   erro se a sua configuração tiver um padrão que não coincida com nada ou faça referência a  um
                   caminho que não exista.

                   Excepções  conhecidas  incluem  compilar com o perfil nodoc, onde as ferramentas de cima irão
                   permitir em silêncio correspondências falhadas onde os padrões são  usados  para  especificar
                   documentação.

           -       Os  ajudantes  dh_installdocs,  dh_installexamples,  dh_installinfo,  e  dh_installman  agora
                   aceitam o parâmetro --sourcedir com o mesmo significado  que  dh_install.  Mais  ainda,  eles
                   agora também retornam (em fall back) a debian/tmp como dh_install.

                   Migration  note:  A  bug  in debhelper 11 up to 11.1.5 made dh_installinfo incorrectly ignore
                   --sourcedir.

           -       Os sistemas de compilação perl-makemaker e perl-build já não passam -I. ao perl.  Os  pacotes
                   que  ainda  precisam  deste  comportamento  podem  emula-lo  ao  usar  a variável de ambiente
                   PERL5LIB. Ex. ao adicionar export PERL5LIB=. no seu ficheiro debian/rules (ou semelhante).

           -       A variável de ambiente  PERL_USE_UNSAFE_INC  já  não  é  definida  pelo  dh  ou  nenhuma  das
                   ferramentas  dh_auto_*.  Ela foi adicionada como um meio de contorno temporário evitar muitos
                   pacotes a falharem a compilação ao mesmo tempo.

                   Note que este item irá eventualmente tornar-se obsoleto pois  o  auto  pretende  abandonar  o
                   suporte  para a variável de ambiente PERL_USE_UNSAFE_INC. Quando o perl abandonar o para ala,
                   então esta variável será também  removida  retroactivamente  dos  níveis  de  compatibilidade
                   existentes.

           -       O  ajudante dh_makeshlibs irá agora terminar em erro se objdump retornar uma saída não-zero a
                   partir da análise de um determinado ficheiro.

           -       As ferramentas dh_installdocs e dh_installexamples  irão  agora  tentar  adivinha  o  "pacote
                   principal" para um dado pacote de documentação (ex. pkg-doc irá ter pkg como pacote principal
                   se este último existir). Se um pacote principal é encontrado, a maioria  da documentação será
                   instalada  por  predefinição em /usr/share/doc/main-pkg como recomendado pela política Debian
                   §12.3 desde a versão 3.9.7. Excepções notáveis incluem o ficheiro de copyright e os ficheiros
                   changelog.

                   A opção --doc-main-package pode ser usada quando a auto-detecção é insuficiente.

           -       As ferramentas dh_strip e dh_shlibdeps já não usam mais padrões de nomes  de  ficheiros  para
                   determinar  quais  ficheiros  processar.  Em  vez  disso, elas abrem o ficheiro e procuram um
                   cabeçalho ELF para determinar se um dado ficheiro é um objecto partilhado  ou  um  executável
                   ELF.

                   Esta alteração fazer com que as ferramentas processem mais ficheiros que anteriormente.

       v12 Este nível de compatibilidade ainda está aberto em desenvolvimento; use com cuidado.

           As alterações a partir de v11 são:

           -       A opção -s (--same-arch) foi removida. Por favor use -a (--arch) em vez desta.

           -       Invocar dh_clean -k agora causa um erro em vez de um aviso de descontinuação.

           -       A  opção  --no-restart-on-upgrade  em  dh_installinit foi removida. Por favor use o novo nome
                   --no-stop-on-upgrade

           -       Existia um bug nas funções doit (e similares) a partir de Debian::Debhelper::Dh_Lib que fazia
                   aparece uma linha de comandos numa circunstância particular. Este bug foi  agora  removido  e
                   irá  fazer  com que os ajudantes que contavam com esse bug falhem com um erro de "comando não
                   encontrado".

           -       O --list-missing e --fail-missing em dh_install foram removidos. Por favor use  dh_missing  e
                   as  suas  opções  correspondentes,  o qual pode também ver os ficheiros instalados por outros
                   ajudantes.

           -       O ajudante dh_installinit já não instala configuração para o sistema de init upstart. Em  vez
                   disso,  irá  abortar  a compilação se encontrar um ficheiro de configuração upstart antigo. O
                   erro está lá para lembrar ao mantenedor do pacote para assegurar  a  remoção  apropriada  dos
                   ficheiros de configuração empacotados em versões anteriores do pacote (caso existam).

           -       A    ferramenta    dh_installdeb    irá   fazer   validação   básica   de   alguns   comandos
                   dpkg-maintscript-helper(1) e irá terminar em erro se os comandos parecerem ser inválidos.

           -       The dh_missing tool will now default to --list-missing.

           -       The dh_makeshlibs tool will now only pass libraries to dpkg-gensymbols(1) if the  ELF  binary
                   has a SONAME (containing ".so").

           -       The   dh_compress   tool   no   longer   compresses  examples  (i.e.  anything  installed  in
                   </usr/share/doc/package/examples>.)

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 na meta debian/rules
       binary-arch, e os pacotes independentes de arquitectura na meta 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  mantenedor  Debian.  Se
       desejar  que  estas  coisas geradas automaticamente sejam incluídas nos sues scripts de mantenedor 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 usá-lo directamente  num  script  de
       Perl.  Se  desejar  embebê-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 testemunho
       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

       As seguintes variáveis de ambiente podem influenciar o comportamento do debhelper. É importante notar que
       estas que estas têm de ser mesmo variáveis de  ambiente  de  modo  a  funcionarem  correctamente  (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
           Defina para 1 para activar o modo detalhado. O debhelper irá mostrar os resultados  de  cada  comando
           que  corre. Também activa relatórios de compilação detalhados para alguns sistemas de compilação como
           o autoconf.

       DH_QUIET
           Definir para 1 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 for também definido.

       DH_COMPAT
           Especifica temporariamente em que nível  de  compatibilidade  o  debhelper  deve  correr,  sobrepondo
           qualquer valor em debian/compat.

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

       DH_OPTIONS
           Qualquer  coisa  nesta  variável  será  pre-confinada aos argumentos de linha de comandos de todos os
           comandos do debhelper.

           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
           If set, this adds the specified dh addons to be run in the appropriate  places  in  the  sequence  of
           commands.  This is equivalent to specifying the addon to run with the --with flag in the debian/rules
           file. Any --without calls specifying an addon in this environment variable will not be run.

           This is intended to be used by downstreams or specific local configurations that require a  debhelper
           addon  to  be  run during multiple builds without having to patch a large number of rules file. If at
           all possible, this should be avoided in favor of a --with flag in the rules file.

VEJA TAMBÉM

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

11.1.6ubuntu2                                      2018-05-10                                       debhelper(7)