Provided by: debhelper_13.24.2ubuntu1_all bug

NOME

       debhelper-compat-upgrade-checklist - Actualiza a lista de verificação para níveis de compatibilidade do
       debhelper suportados.

RESUMO

       Este documento é uma lista de verificação de actualização para todos os níveis de compatibilidade do
       debhelper suportados. Também lista todos os níveis de compatibilidade de debhelper suportados.

       Informação sobre como declarar os níveis de compatibilidade está em "NÍVEIS DE COMPATIBILIDADE" in
       debhelper(7).

       Se você está a actualizar a partir de um nível de compatibilidade (agora) obsoleto, então por favor
       consulte debhelper-obsolete-compat(7).

DESCRIÇÃO

   Actualizar lista de verificação para os níveis de compatibilidade suportados.
       Estes são os níveis de compatibilidade disponíveis:

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

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

           -       O  add-on  single-binary  para dh já não é mais implicitamente activado por pacotes fonte que
                   têm uma única estrofe Package em debian/control.  Se  o  pacote  precisar  dos  atalhos  para
                   pacotes binário-singular, tem de explicitamente activar o add-in single-binary.

                   Isto pode ser feito via um Build-Depends em dh-sequence-single-binary.

                   Qualquer --without single-binary passado ao dh para evitar o aviso em compatibilidade 14 pode
                   agora ser removido para simplificar debian/rules sem que despolete o aviso.

           -       Agora  é  um  erro  usar versões sem-pacote dos ficheiros de configuração do debhelper quando
                   existem 2 ou mais pacotes binário listados em debian/control na maioria dos casos.  Ficheiros
                   legados  devem ser renomeados para debian/pacote.foo (de debian/foo) onde pacote é o primeiro
                   pacote binário listado em debian/control.

                   A principal excepção a esta alteração são ficheiros  como  debian/changelog,  debian/NEWS,  e
                   debian/copyright, onde o mesmo ficheiro é usado para todos os pacotes por predefinição. Estes
                   casos irão continuar inalterados.

           -       Agora  é  um erro usar um ficheiro de empacotamento sem o prefixo do pacote para --name mesmo
                   que o pacote fonte apenas produza um pacote binário.  Como  exemplo,  se  você  adicionar  um
                   debian/bar.service com o seguinte trecho em debian/rules:

                    override_dh_installsystemd:
                       dh_installsystemd -p foo --name bar

                   Então você precisa renomear debian/bar.service para debian/foo.bar.service.

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

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

           -       A  ferramenta  dh_installpam  irá  agora  instalar  ficheiros  de  configuração  do  PAM  sob
                   /usr/lib/pam.d/package em vez de /etc/pam.d/package.

                   Por favor considere usar a funcionalidade "rm_conffile" de dh_installdeb(1) para assegurar  a
                   remoção apropriada dos ficheiros PAM anteriores.

           -       Pacotes que usam o sequenciador dh devem estar conscientes das seguintes alterações:

                   -   A  ordem  e posicionamento mudou para dh_strip_nondeterminism, dh_compress, e dh_fixperm.
                       Anteriormente, estes três comandos eram corridos na ordem listada entre  dh_installxfonts
                       e dh_missing.

                       O seu novo posicionamento é após dh_missing (arch:all) ou dh_shlibdeps (arch:any) e antes
                       de    dh_installdeb.    Adicionalmente,    a    sua    nova    ordem    é    dh_fixperms,
                       dh_strip_nondeterminism, e depois dh_compress.

                       Esta alteração pode requerer actualizações a add-ons de terceiros que usem ou estes  três
                       comandos  como  ancoras  ou  para  alvos  gancho  para qualquer destes comandos que fazem
                       suposições acerca da ordem dos comandos.

                       Adicionalmente, dh_strip_nondeterminism e dh_compress mais quaisquer comandos adicionados
                       por add-ons de terceiros que  usem  estes  como  ancoras  não  poderão  mais  confiar  na
                       normalização modo/posse pelo dh_fixperms, o que pode expor bugs na forma de modo ou posse
                       incorrecta no pacote binário resultante.

                       Por  favor  relate  tais  bugs  contra  a  ferramenta relevante. Seja livre de incluir os
                       maintainers do debhelper em CC.

                   -   A ferramenta dh_installsysusers  está  agora  incluída  na  sequência  predefinida.  Esta
                       ferramenta de ajuda irá processar ficheiros sysusers do systemd.

                   -   A  ferramenta dh_installsystemduser irá predefinir para activar unidades de utilizador de
                       systemd,  arranca-los  na  instalação,  reinicia-los  nas  actualizações  e  para-los  ao
                       desinstalar o pacote.

                   -   Usar  o  comando  dh_gconf em alvos de sobreposição e hook agora causa um erro. O comando
                       dh_gconf foi um não-operativo durante anos e foi removido no debhelper 13.4.

                   -   A ferramenta dh_installalternatives  irá  agora  correr  após  dh_link  em  vez  de  após
                       dh_installinitramfs na sequência predefinida do dh.

                   -   Este  item  apenas  se  aplica a pacotes fonte que têm exactamente uma estrofe Package em
                       debian/control.

                       O  comando  dh_auto_install  agora  usa   incondicionalmente   --destdir=debian/tmp   por
                       predefinição.  O  caso-especial para pacotes fonte que compilam um único pacote binário é
                       agora movido para o addon single-binary dh. Nota, este add-on é activado por predefinição
                       na compatibilidade 14 mas não em compatibilidade 15 (veja próximo item).

                   -   Este item apenas se aplica a pacotes fonte que têm exactamente  uma  estrofe  Package  em
                       debian/control.

                       O  sequenciador  dh  irá avisar se o addon single-binary for activado implicitamente para
                       avisar os maintainers da pendente alteração na compatibilidade 15 em  dh_auto_install.  A
                       activação  implícita  é uma funcionalidade de transição para reduzir as chances de riscos
                       com esta alteração. Em compatibilidade 15, a activação implícita não mais despoleta.

                       Maintainers são incentivados a ou  activar  explicitamente  o  addon  single-binary  para
                       preservar  o  comportamento  existente  (ex.  ao  adicionar <dh-sequence-single-binary> a
                       Build-Depends), ou passar explicitamente --destdir a dh_auto_install se  usado  e  depois
                       passar --without single-binary a dh (a última para silenciar o aviso).

                       A  razão  para esta alteração é evitar "surpresas" ao adicionar um segundo pacote binário
                       mais tarde. Anteriormente, o debhelper iria em silêncio alterar  o  comportamento  muitas
                       vezes  resultado  em  pacotes binários vazios a serem enviados para o arquivo por engano.
                       Com o novo comportamento, o addon single-binary irá detectar a discrepância  e  avisar  o
                       maintainer do que está prestes a acontecer.

           -       A  ferramenta dh_gencontrol agora aplica automaticamente relacionamentos substvars aos campos
                   relevantes. Isto significa que muitos substvars como ${misc:Depends} e  ${shlibs:Depends}  já
                   não  precisam  de ser mencionados explicitamente no debian/control. Isto aplica-se a qualquer
                   substvar nomeado após um campo que a versão instalada do dpkg considere um campo  de  relação
                   ou tipo-dependência. Na altura desta escrita, a lista consiste de:

                   -   Pré-Dependências

                   -   Dependências

                   -   Recomendações

                   -   Sugestões

                   -   Melhorias

                   -   Conflitos

                   -   Quebras

                   -   Substituições

                   -   Fornecimentos

                   -   Utilização-Built

                   -   Utilização-Built-Estático

                   Isto  significa que Depends: foo, ${misc:Depends} em debian/control pode agora ser reduzido a
                   Depends: foo e Depends: ${misc:Depends}, ${shlibs:Depends}  pode  ser  removido  inteiramente
                   como exemplos de como a funcionalidade trabalha.

                   Note  que outros substvars como ${binary:Version} não são afetados por esta alteração e devem
                   ainda ser usados explicitamente como necessário. Adicionalmente, para pacotes Essential:  yes
                   que promovem manualmente ${shlibs:Depends} no campo <Pre-Depends>, dh_shlibdeps irá lidar com
                   isto automaticamente também (veja o próximo item de compatibilidade).

                   Veja  <https://lists.debian.org/debian-devel/2024/02/msg00230.html>  para  os  detalhes desta
                   sugestão. O sumário em  <https://lists.debian.org/debian-devel/2024/03/msg00030.html>  também
                   fala de quando os substvars precisam ser afinados. Os casos mais comuns envolvem usar a opção
                   -d de dpkg-shlibdeps possivelmente via dh_shlibdeps.

                   Nota:  Esta alteração irá causar falso-positivos a partir de um lintian(1) não corrigido. Por
                   favor  verifique  <https://bugs.debian.org/1067653>  para  suporte  do  lintian(1)   a   esta
                   alteração.

           -       A ferramenta dh_shlibdeps agora está predefinida para usar ${shlibs:Pre-Depends} para pacotes
                   que são Essential: yes.

                   Nota  devido  à alteração dh_gencontrol acima, qualquer pacote que use dh_gencontrol não terá
                   de fazer nada para esta migração.

           -       Quando se corre dh_auto_install, os sistemas de compilação  fornecidos  pelo  debhelper  irão
                   agora  assegurar que todos os caminhos em destdir têm permissões de utilizador mínimas (chmod
                   -R u+rwX) para evitar erros esquisitos de permissão negada durante as compilações.

                   Aos sistemas de compilação debhelper fornecidos por terceiros recomenda-se que suportem  isto
                   também.  Isto pode ser feito ao correr

                        $this->ensure_minimal_permissions($destdir) if not compat(13);

                   no código Buildsystem do debhelper a partir da sua implementação sub install após o código do
                   autor ter corrido.

                   Se  você  não  está a usar dh_auto_install e depara com erros de permissão negada esquisitos,
                   geralmente você pode resolver isto ao correr chmod -R u+rwX DIRECTÓRIO após correr o alvo  de
                   instalação a partir do sistema de compilação do autor.

                   Por  favor  tenha  o  cuidado  de  verificar  se o seu pacote tem alguns casos especiais para
                   permissões onde os ficheiros ou directório por alguma razão não podem ter o "bit escrita  por
                   utilizador"  definido.  Casos  conhecidos  são  ficheiros  *.ali  e  /etc/sudoers.d,  o que o
                   dh_fixperms irá corrigir por predefinição.

                   O problema com permissões não comuns sempre esteve presente em teoria.  No  entanto,  tem  se
                   tornado  consideravelmente  mais  visível  com  o  dh_fixperms  a  ser  corrido mais tarde na
                   sequência a partir da compatibilidade 14 e com o mover para remover por predefinição fakeroot
                   (o que cobria algumas destas situações).  Esta alteração destina-se a mitigar o problema.

           -       Os ficheiros de configuração do debhelper estão sujeitos às seguintes alterações:

                   -   Agora dispara um aviso para usar versões sem-pacote  dos  ficheiros  de  configuração  do
                       debhelper  quando existem 2 ou mais pacotes binário listados em debian/control na maioria
                       dos casos. Ficheiros legados devem ser renomeados para debian/pacote.foo (de  debian/foo)
                       onde pacote é o primeiro pacote binário listado em debian/control.

                       A principal excepção a esta alteração são ficheiros como debian/changelog, debian/NEWS, e
                       debian/copyright,  onde  o  mesmo  é  usado para todos os pacotes por predefinição. Estes
                       casos irão continuar inalterados.  A  ferramenta  debhelper  que  usa  os  ficheiros  irá
                       disparar avisos durante a utilização.

                       Em compatibilidade 15 (ou posterior), isto é mudado para um erro.

                   -   Agora  despoleta  um aviso usar um ficheiro de empacotamento sem o prefixo do pacote para
                       --name mesmo que o pacote fonte apenas produza um pacote binário. Como exemplo,  se  você
                       adicionar um debian/bar.service com o seguinte trecho em debian/rules:

                        override_dh_installsystemd:
                           dh_installsystemd -p foo --name bar

                       Então você precisa renomear debian/bar.service para debian/foo.bar.service.

                       Em compatibilidade 15 (ou posterior), isto é mudado para um erro.

                   -   As  regras  de procura predefinidas para ferramentas baseadas no Dh_Lib agora assumem que
                       os ficheiros de configuração  já  não  têm  nome  (--name)  nem  suportam  restrições  de
                       arquitectura  por  redefinição.  Se  você  trabalha  com uma ferramenta tipo-debhelper de
                       terceiros e precisa de suporte  para  qualquer  uma  destas  funcionalidades,  por  favor
                       preencha  um  relatório  de bug contra a ferramenta pedindo que declare o seu ficheiro de
                       configuração com as opções relevantes na sua chamada pkgfile.

                       Note que o próprio debhelper ajustou as suas regras também para a maioria das ferramentas
                       com base em análises de utilização via codesearch.debian.org. Se você está a confiar numa
                       funcionalidade como as restrições de arquitectura para um dado ficheiro  de  configuração
                       que  já  não  é  suportado,  por favor preencha um pedido para o caso ou uso e poderá ser
                       restaurada.

           -       Pacotes que usam o  sistema  de  compilação  cmake  devem  estar  conscientes  das  seguintes
                   alterações:

                   -   O  sistema  de  compilação cmake agora passa -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON a cmake(1)
                       para evitar alguns problemas de reprodutibilidade.

                   -   O sistema de compilação cmake agora define a variável de  ambiente  ASMFLAGS  quando  não
                       está  definida  e  ASFLAGS está presente. O nome anterior (ASMFLAGS) é o nome que o cmake
                       espera, enquanto o posterior (ASFLAGS) é o nome que o dpkg-buildpackage(1) usa.

                   -   Os sistemas de compilação cmake agora usam cmake --install em vez de make  install  e  na
                       chamada dh_auto_install(1). Qualquer sobreposição de dh_auto_install que passe parâmetros
                       extra ao sistema de compilação do autor deve ser revista.

           -       Pacotes  que  usam  o  sistema  de  compilação  meson  devem  estar conscientes das seguintes
                   alterações:

                   -   O sistema de compilação meson agora passa --auto-features=enabled ao meson.

                   -   O sistema de compilação meson+ninja agora usa meson install em vez de  ninja  install  na
                       chamada dh_auto_install(1). Qualquer sobreposição de dh_auto_install que passe parâmetros
                       extra ao sistema de compilação do autor deve ser revista.

           -       O  ficheiro  debian/compat  não  e  mais  aceite  como  fonte  para  especificar  o  nível de
                   compatibilidade do debhelper. Ponha o  nível  de  compatibilidade  no  campo  X-DH-Compat  da
                   estrofe Source do debian/control.

                   Nota  para  evitar  quebrar  pacotes  que  já migraram para compatibilidade 14 imediatamente,
                   enquanto era experimental esta alteração era primeiro forçada quando a compatibilidade 14  se
                   tornava estável.

           -       A  ferramenta  dh_installtmpfiles agora corre com --remove na remoção do pacote, e --purge na
                   purga do pacote. É requerido systemd v256 para o posterior.

           -       A ferramenta dh_lintian não mais aceita ficheiros de sobreposição específicos de arquitectura
                   para pacotes com Multi-Arch: same em debian/control, pois esta não seriam co-instaláveis.  As
                   instâncias afetadas por este erro devem migrar para sobreposições específicas de arquitectura
                   do lintian(1).

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

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

           -       O  sistema de compilação meson+ninja agora usa meson test em vez de ninja test quando corre a
                   suite de testes. Qualquer sobreposição de dh_auto_test que passe parâmetros extra ao testador
                   original do autor deve ser revista, pois o meson test não é compatível em linha  de  comandos
                   com o ninja test.

           -       Todas  as ferramentas tipo debhelper baseadas na biblioteca debhelper oficial (incluindo dh e
                   as ferramentas oficiais dh_*) não aceitam mais parâmetros abreviados de  comandos.  Ao  mesmo
                   tempo,  dh  agora optimiza as chamadas a ajudantes redundantes dh_* mesmo quando passa opções
                   longas da linha de comandos.

           -       As ferramentas debhelper relacionadas com ELF (dh_dwz, dh_strip, dh_makeshlibs, dh_shlibdeps)
                   são agora apenas executadas para os pacotes  dependentes  de  arquitectura  por  predefinição
                   (isto  é,  estão  excluídas  de  alvos  *-indep  e são passadas -a por predefinição). Se você
                   precisar delas para alvos *-indep, você pode adicionar  um  Build-Depends  explícito  em  dh-
                   sequence-elf-tools.

           -       O  sistema  de  compilação de terceiros gradle (do pacote gradle-debian-helper) agora corre a
                   suite de testes disponibilizada pelo autor automaticamente. Para suprimir tal  comportamento,
                   sobreponha dh_auto_test.

           -       A  ferramenta  dh_installman agora aborta se vir definições conflituosas de uma manpage. Isto
                   tipicamente acontece se o  sistema  de  compilação  do  autor  está  a  instalar  uma  versão
                   comprimida  e  o pacote lista uma versão descomprimida da manpage em debian/package.manpages.
                   Muitas vezes a correção mais fácil é remover a manpage de debian/package.manpages  (assumindo
                   que ambas as versões são idênticas).

           -       Os  ajudantes  de  dh_auto_* agora reiniciam a variável de ambiente HOME e as variáveis comum
                   XDG_*. Por favor veja a descrição das variáveis de ambiente em "ENVIRONMENT" in  debhelper(1)
                   para como lidar com isto.

                   Esta funcionalidade mudou entre debhelper 13 e debhelper 13.2.

           -       O  comando dh ir+a agora dar erro se estiver presente um alvo de sobreposição ou hook para um
                   comando obsoleto em debian/rules (ex.override_dh_systemd_enable:).

           -       O comando dh_missing irá agora usar por predefinição --fail-missing. Isto pode ser  revertido
                   para  um  aviso não fatal ao passar explicitamente --list-missing como era na compatibilidade
                   12.

                   Se você também não quiser o aviso, por favor omita a chamada ao dh_missing.  Se você  usar  o
                   sequenciador  de  comandos dh, então pode fazer isto ao inserir um alvo de sobreposição vazio
                   no ficheiro debian/rules do pacote relevante. Como exemplo:

                       # Disable dh_missing
                       override_dh_missing:

           -       O sequenciador de comandos dh agora corre  dh_installtmpfiles  na  sequência  predefinida.  O
                   dh_installtmpfiles   assume   o   manusear   dos  ficheiros  de  configuração  tmpfiles.d.  A
                   funcionalidade relacionada em dh_installsystemd está agora desactivada.

                   Note que dh_installtmpfiles responde a debian/package.tmpfiles onde dh_installsystemd usou um
                   nome sem o "s" final.

           -       Muitas ferramentas dh_* agora suportam expansão de variáveis limitada via sintaxe ${foo}.  Em
                   muitos  casos, isto pode ser usado para referenciar caminhos que contêm ou espaços ou valores
                   dpkg-architecture(1). Enquanto isto pode reduzir a necessidade de dh-exec(1) em alguns casos,
                   não é um substituto de dh-exec(1) em geral. Se você precisar de filtrar, renomear,  etc...  o
                   pacote irá continuar a precisar de dh-exec(1).

                   Por  favor  veja  "Substituições  em  ficheiros  de configuração do debhelper" para sintaxe e
                   variáveis de substituição disponíveis. Para os escritores da ferramenta  dh_*, a expansão  de
                   substituição ocorre como parte das funções filearray e filedoublearray.

           -       O  sequenciador  de  comandos  dh irá agora saltar todos os alvos hook e de sobreposição para
                   dh_auto_test, dh_dwz e dh_strip quando DEB_BUILD_OPTIONS listar as opções nocheck  /  nostrip
                   relevantes.

                   Qualquer pacote que se apoie nestes alvos para ser sempre corrido deve, em vez disto, mover a
                   lógica  relevante  para  fora  destes  alvos. Ex, código de empacotamento não relacionado com
                   testes a partir de override_dh_auto_test deverá ser movido  para  execute_after_dh_auto_build
                   ou execute_before_dh_auto_install.

           -       O  sistema de compilação cmake agora passa -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=ON ao cmake(1)
                   para acelerar o processo de instalação automática. Se  por  alguma  razão  você  precisar  do
                   comportamento anterior, sobreponha a flag:

                       dh_auto_configure -- -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=OFF ...

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

           -       A  ferramenta  dh_makeshlibs  agora  gera  ficheiros  shlibs  com  dependência  de versão por
                   predefinição. Isto significa que -VUpstream-Version (a.k.a. -V) é agora a predefinição.

                   Se é pedida uma dependência sem versão no ficheiros  shlibs,  isto  pode  ser  conseguido  ao
                   passar   -VNone  em  substituição.  No  entanto,  por  favor  veja  dh_makeshlibs(1)  para  a
                   problemática das dependências sem versã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 maintainer 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.

           -       A ferramenta dh_missing irá agora usar por predefinição --list-missing.

           -       A  ferramenta  dh_makeshlibs irá agora apenas passar bibliotecas para dpkg-gensymbols(1) se o
                   binário ELF tiver um SONAME (contendo ".so").

           -       A  ferramenta  dh_compress  não  mais  comprime  exemplos  (isto   é,   nada   instalado   em
                   </usr/share/doc/pacote/examples>.)

           -       A  sequência  standard em dh agora inclui dh_dwz e dh_installinitramfs por predefinição. Isto
                   tornas as sequências dwz e installinitramfs obsoletas e elas agora irão falhar com  um  erro.
                   Se desejar saltar estes comandos, por favor insira um alvo de sobreposição vazio para eles em
                   debian/rules (ex. override_dh_dwz:)

           -       Os  sistemas  de  compilação  meson  e  autoconf  não  mais definem explicitamente a variável
                   --libexecdir e assim apoia-se na predefinição do sistema de compilação  -  O  qual  deve  ser
                   /usr/libexec (por FHS 3.0, adoptado em Debian Policy 4.1.5).

                   Se um determinado pacote original do autor não usar a predefinição correcta, o parâmetro pode
                   muitas  vezes  ser  passado  manualmente   via dh_auto_configure(1). Por exemplo via seguinte
                   exemplo:

                       override_dh_auto_configure:
                           dh_auto_configure -- --libexecdir=/usr/libexec

                   Note o -- antes do parâmetro --libexecdir.

           -       Retroativamente removido em debhelper/13.5:

                   A ferramenta dh_installdeb não  iria  mais  instalar  o  ficheiro  conffiles  fornecido  pelo
                   responsável  pois  isso  foi  considerado  desnecessário.  No entanto, o remove-on-upgrade do
                   dpkg/1.20 tornou o ficheiro relevante de novo e dh_installdeb agora instala-o nos  níveis  de
                   compatibilidade 12+.

           -       A ferramenta dh_installsystemd não mais se apoia em dh_installinit para lidar com os serviços
                   do  systemd  que têm uma alternativa de sysvinit. ambas ferramentas devem agora ser usadas em
                   tais casos para assegurar que o serviço  é  arrancado  correctamente  sob  ambos  sysvinit  e
                   systemd.

                   Se  tiver  uma  sobreposição para dh_installinit (ex. para chama-lo com --no-start) então irá
                   provavelmente precisar agora também de um para dh_installsystemd.

                   Esta alteração faz dh_installinit injectar um misc:Pre-Depends para  init-system-helpers  (>=
                   1.54~).   Por  favor assegure que o pacote lista ${misc:Pre-Depends} no seu campo Pre-Depends
                   antes de actualizar para a compatibilidade 12.

           -       Esta ferramenta de terceiros dh_golang (do pacote dh-golang) agora por predefinição  honra  a
                   variável  DH_GOLANG_EXCLUDES  para  instalação  fonte  em pacotes -dev e não apenas durante o
                   processo de compilação. Por favor defina DH_GOLANG_EXCLUDES_ALL para falso para reverter para
                   o comportamento anterior. Veja Debian::Debhelper::Buildsystem::golang(3pm)  para  detalhes  e
                   exemplos

           -       dh_installsystemduser é agora incluído na sequência standard do dh por predefinição.

           -       O  sistema  de  compilação  python-distutils  foi  agora removido. Por favor use o sistema de
                   compilação de terceiros pybuild em substituição.

       v11 Este modo está desencorajado.

           A compatibilidade 11 é desencorajada para novos pacotes pois sofre de  interação  de  características
           entre  dh_installinit e dh_installsystemd o que causa com que os serviços não funcionem correctamente
           em alguns casos. Por favor considere usar modo de  compatibilidade  10  ou  12  em  vez  deste.  Mais
           detalhes      sobre      este      problema      estão     disponíveis     em     Debian#887904     e
           <https://lists.debian.org/debian-release/2019/04/msg01442.html>.

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

           -       dh_installinit já não instala ficheiros service ou tmpfile, nem gera  scripts  do  maintainer
                   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.

                   Nota  de  migração:  Um  bug  no debhelper 11 até ao 11.1.5 faz com que dh_installinfo ignore
                   incorrectamente --sourcedir.

           -       Os sistemas de compilação perl-makemaker e perl-build já não passam -I. ao perl.  Os  pacotes
                   que dependem deste comportamento podem muitas vezes usar a variável de ambiente PERL5LIB como
                   substituto. 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  podem  agora  instalar  a  maioria da
                   documentação num caminho diferente para cumprir com a recomendação da política  Debian  §12.3
                   (desde versão 3.9.7).

                   Note  que  um  dado  pacote  fonte apenas contém um único pacote binário em debian/control ou
                   nenhum dos pacotes são pacotes -doc, então esta alteração não é relevante  para  esse  pacote
                   fonte e você pode saltar a próxima alteração.

                   Por  predefinição, estas ferramentas irão agora tentar determinar um "pacote principal para a
                   documentação" (chamado um doc-main-package  daqui  em  diante)  para  cada  pacote  -doc.  Se
                   encontrarem o tal doc-main-package, irão agora instalar a documentação em /usr/share/doc/doc-
                   main-package no pacote doc fornecido. Isto é, o caminho pode mudar mas a documentação será na
                   mesma enviada no pacote -doc.

                   A  opção  --doc-main-package  pode  ser  usada  quando a auto-detecção é insuficiente ou para
                   reiniciar o caminho para o seu valor anterior se existir razão para divergir da  recomendação
                   da política Debian.

                   Alguma  documentação não será afectada por esta alteração. Estas excepções incluem o ficheiro
                   copyright, ficheiros changelog, README.Debian, etc. Estes ficheiros serão na mesma instalados
                   no caminho /usr/share/doc/pacote.

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

       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.

           -       O  dh_installdeb  já  não  instala  um  ficheiro  debian/pacote.shlibs  disponibilizado  pelo
                   maintainer. 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 alvos de sobreposição em vez
                   destes.

                   Retroactively applied to earlier compat levels: dh  já  não  aceita  nenhum  destes  desde  o
                   debhelper/12.4.

           -       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 num
                       alvo de sobreposição singular.  Quanto  todas  as  chamadas  a  um  dado  comando  dh_cmd
                       acontecem no mesmo alvo 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 num alvo de sobreposição separado. 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.

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

                   Esta  funcionalidade  de  compatibilidade  tinha   um   bug   desde   a   sua   inserção   no
                   debhelper/9.20130516  que  o  fazia falhar ao aplicar em compatibilidade 9 e anteriores. Como
                   não tem havido relatórios de problemas causados por este bug nesses -5 anos,  este  item  foi
                   removido em vez de corrigido.

       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 alvos em debian/rules. Por isso, o "dh
                   binary" irá correr quaisquer alvos  de  build,  build-arch,  build-indep,  install,  etc  que
                   existam  no  ficheiro  de regras. Não há necessidade de definir um alvo binário explícito com
                   dependências explícitas em outros alvos.

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

           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.

       v7  Este modo está descontinuado.

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

VEJA TAMBÉM

       debhelper-obsolete-compat(7)
           A actualizar a partir de um nível de compatibilidade (agora) obsoleto?  Este  documento  a  lista  de
           verificação de actualização até ao nível suportado mais recente.

       debhelper(7)
           Informação  geral  acerca  da estrutura do debhelper. Este documento também cobre como declarar o seu
           nível de compatibilidade debhelper escolhido.

AUTORES

       Niels Thykier <niels@thykier.net>

       Joey Hess

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.24.2ubuntu1                                     2025-05-22                                       debhelper(7)