.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "debhelper 7" .TH debhelper 7 "2017-02-18" "10.2.5~bpo8+1" "Debhelper" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOME" .IX Header "NOME" debhelper \- a suite de ferramentas debhelper .SH "RESUMO" .IX Header "RESUMO" \&\fBdh_\fR\fI*\fR [\fB\-v\fR] [\fB\-a\fR] [\fB\-i\fR] [\fB\-\-no\-act\fR] [\fB\-p\fR\fIpackage\fR] [\fB\-N\fR\fIpackage\fR] [\fB\-P\fR\fItmpdir\fR] .SH "DESCRIÇÃO" .IX Header "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 \fIdebian/rules\fR 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. .PP Um ficheiro \fIdebian/rules\fR típico que usa debhelper irá chamar vários comandos debhelper em sequência, ou usar \fIdh\fR\|(1) para automatizar este processo. Em \fI/usr/share/doc/debhelper/examples/\fR estão exemplos de ficheiros de regras que usam debhelper. .PP 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 \&\fBdh-make\fR, o qual contém um comando dh_make que automatiza parcialmente o processo Para uma introdução mais gentil, o pacote Debian \&\fBmaint-guide\fR contém um tutorial acerca de como fazer o seu primeiro pacote usando o debhelper. .SH "COMANDOS DO DEBHELPER" .IX Header "COMANDOS DO DEBHELPER" Aqui está a lista dos comandos debhelper que você pode usar. Veja os seus manuais para documentação adicional. .Sp .RS 4 #LISTA# .RE .SS "Comandos Descontinuados" .IX Subsection "Comandos Descontinuados" Alguns comandos debhelper estão descontinuados e não devem ser usados. .Sp .RS 4 #LISTA_DE_DESCONTINUADOS# .RE .SS "Outros comandos" .IX Subsection "Outros comandos" Se o nome dum programa começa com \fBdh_\fR, 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. .SH "FICHEIROS DE CONFIGURAÇÃO DO DEBHELPER" .IX Header "FICHEIROS DE CONFIGURAÇÃO DO DEBHELPER" Muitos comandos do debhelper usam ficheiros em \fIdebian/\fR para controlar o que fazem. Para além dos comuns \fIdebian/changelog\fR e \fIdebian/control\fR, 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/\fIpacote\fR.foo (onde \fIpacote\fR é claro, é substituído pelo nome do pacote no qual se está a actuar). .PP Por exemplo, \fBdh_installdocs\fR usa ficheiros chamados \fIdebian/package.docs\fR 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. .PP Note que para o primeiro (ou único) pacote binário listado em , o debhelper irá usar \fIdebian/foo\fR quando não existe nenhum ficheiro \fIdebian/package.foo\fR. .PP Em alguns casos raros, você pode querer ter versões diferentes destes ficheiros para arquitecturas ou sistemas operativos diferentes. Se existirem ficheiros chamados debian/\fIpacote\fR.foo.\fI\s-1ARCH\s0\fR ou debian/\fIpacote\fR.foo.\fI\s-1OS\s0\fR, onde \fI\s-1ARCH\s0\fR e \fI\s-1OS\s0\fR são o mesmo que o resultado de "\fBdpkg-architecture \-qDEB_HOST_ARCH\fR\*(L" / \*(R"\fBdpkg-architecture \&\-qDEB_HOST_ARCH_OS\fR", então eles irão ser usados em preferência de outros ficheiros mais gerais. .PP 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 \*(L"wildcard\*(R" de shell standard (classes de caracteres \fB?\fR e \fB*\fR e \fB[\fR\fI..\fR\fB]\fR) nos ficheiros. Também pode meter comentários neste ficheiros; as linhas começadas com \fB#\fR são ignoradas. .PP 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. .SH "OPÇÕES DO DEBHELPER PARTILHADAS" .IX Header "OPÇÕES DO DEBHELPER PARTILHADAS" As seguintes opções de linha de comandos são suportadas por todos os programas do debhelper. .IP "\fB\-v\fR, \fB\-\-verbose\fR" 4 .IX Item "-v, --verbose" Modo detalhado: mostra todos os comandos que modificam o directório de compilação de pacotes. .IP "\fB\-\-no\-act\fR" 4 .IX Item "--no-act" Não faz nada na realidade. Se usado com \-v, o resultado é que o comando mostra o que iria fazer. .IP "\fB\-a\fR, \fB\-\-arch\fR" 4 .IX Item "-a, --arch" Actua em pacotes dependentes da arquitectura que devem ser compilados para a arquitectura de compilação \fB\s-1DEB_HOST_ARCH\s0\fR. .IP "\fB\-i\fR, \fB\-\-indep\fR" 4 .IX Item "-i, --indep" Actua em todos os pacotes independentes da arquitectura. .IP "\fB\-p\fR\fIpacote\fR, \fB\-\-package=\fR\fIpacote\fR" 4 .IX Item "-ppacote, --package=pacote" Actua no pacote chamado \fIpacote\fR. Esta opção pode ser especifica várias vezes para fazer o debhelper operar num determinado conjunto de pacotes. .IP "\fB\-s\fR, \fB\-\-same\-arch\fR" 4 .IX Item "-s, --same-arch" Alias descontinuado de \fB\-a\fR. .IP "\fB\-N\fR\fIpacote\fR, \fB\-\-no\-package=\fR\fIpacote\fR" 4 .IX Item "-Npacote, --no-package=pacote" Não actua no pacote especificado mesmo se uma opção \fB\-a\fR, \fB\-i\fR, ou \fB\-p\fR listarem o pacote como um em que se deverá actuar. .IP "\fB\-\-remaining\-packages\fR" 4 .IX Item "--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. .IP "\fB\-\-ignore=\fR\fIficheiro\fR" 4 .IX Item "--ignore=ficheiro" Ignora o ficheiro especificado. Isto pode ser usado se \fIdebian/\fR conter um ficheiro de configuração de debhelper que um comando debhelper não deve usar. Note que \fIdebian/compat\fR, \fIdebian/control\fR, e \fIdebian/changelog\fR não podem ser ignorados, mas também, nunca deverá existir uma razão para ignorar estes ficheiros. .Sp Por exemplo, se o autor do programa juntar um \fIdebian/init\fR que você não quer que \fBdh_installinit\fR instale, use \fB\-\-ignore=debian/init\fR .IP "\fB\-P\fR\fItmpdir\fR, \fB\-\-tmpdir=\fR\fItmpdir\fR" 4 .IX Item "-Ptmpdir, --tmpdir=tmpdir" Usa \fItmpdir\fR para directório de compilação de pacotes. A predefinição é debian/\fIpacote\fR .IP "\fB\-\-mainpackage=\fR\fIpacote\fR" 4 .IX Item "--mainpackage=pacote" Esta opção pouco usada muda o pacote que o debhelper considera o \*(L"pacote principal\*(R", isto é, o primeiro listado em \fIdebian/control\fR, e aquele para o qual os ficheiros \fIdebian/foo\fR podem ser usados em vez dos ficheiros \&\fIdebian/package.foo\fR usuais. .IP "\fB\-O=\fR\fIopção\fR|\fIbundle\fR" 4 .IX Item "-O=opção|bundle" Isto é usado pelo \fIdh\fR\|(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. .SH "OPÇÕES COMUNS DO DEBHELPER" .IX Header "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. .IP "\fB\-n\fR" 4 .IX Item "-n" Não modifique os scripts \fIpostinst\fR, \fIpostrm\fR, etc. .IP "\fB\-X\fR\fIitem\fR, \fB\-\-exclude=\fR\fIitem\fR" 4 .IX Item "-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 \efIitem\efR é tipicamente parte de um nome de ficheiro, e qualquer ficheiro que contenha o texto especificado será excluído. .IP "\fB\-A\fR, \fB\-\-all\fR" 4 .IX Item "-A, --all" Faz com que ficheiros ou outros itens que são especificados na linha de comandos tenham efeito em \s-1TODOS\s0 os pacotes em que se actua, e não apenas o primeiro. .SH "OPÇÕES DO SISTEMA DE COMPILAÇÃO" .IX Header "OPÇÕES DO SISTEMA DE COMPILAÇÃO" As seguintes opções de linha de comandos são suportadas por todos os comandos \fBdh_auto_\fR\fI*\fR 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 \fIdh\fR\|(1), o qual passa-as a todos os programas \&\fBdh_auto_\fR\fI*\fR. .IP "\fB\-S\fR\fIsistemacompilação\fR, \fB\-\-buildsystem=\fR\fIsistemacompilação\fR" 4 .IX Item "-Ssistemacompilação, --buildsystem=sistemacompilação" Força a utilização do | especificado, em vez de tentar auto-seleccionar um que pode ser aplicável para o pacote. .IP "\fB\-D\fR\fIdirectório\fR, \fB\-\-sourcedirectory=\fR\fIdirectório\fR" 4 .IX Item "-Ddirectório, --sourcedirectory=directório" Assume que a árvore fonte do pacote original está no \fIdirectório\fR especificado em vez de estar no directório de nível de topo da árvore de pacotes fonte de Debian. .IP "\fB\-B\fR[\fIdirectório\fR], \fB\-\-builddirectory=\fR[\fIdirectório\fR]" 4 .IX Item "-B[directório], --builddirectory=[directório]" Activa a compilação da fonte e usa o \fIdirectório\fR especificado como o directório de compilação. Se o parâmetro \fIdirectório\fR for omitido, é escolhido o directório de compilação predefinido. .Sp 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 \fB\-\-builddirectory\fR não seja especificado. .Sp 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. .IP "\fB\-\-parallel\fR, \fB\-\-no\-parallel\fR" 4 .IX Item "--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 \fB\s-1DEB_BUILD_OPTIONS\s0\fR (\*(L"Debian Policy, secção 4.9.1\*(R") durante a compilação. Também pode servir como um limite específico do sistema de compilação. .Sp Se nenhuma destas opções for especificada, presentemente o debhelper usa por predefinição \fB\-\-parallel\fR em modo compatibilidade 10 (ou posterior) e \&\fB\-\-no\-parallel\fR em caso contrário. .Sp Como uma optimização, o \fBdh\fR 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 \fB\s-1DEB_BUILD_OPTIONS\s0\fR não tem um parâmetro \&\fIparallel\fR (ou o seu valor é 1). .IP "\fB\-\-max\-parallel=\fR\fImáximo\fR" 4 .IX Item "--max-parallel=máximo" Esta opção implica \fB\-\-parallel\fR 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. .Sp De notar que, definir o máximo para 1 é efectivamente o mesmo que usar \&\fB\-\-no\-parallel\fR. .IP "\fB\-\-list\fR, \fB\-l\fR" 4 .IX Item "--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 \fB\-\-buildsystem\fR. .SH "NÍVEIS DE COMPATIBILIDADE" .IX Header "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 \fIdebian/compat\fR e este ficheiro tem de estar presente. .PP Diz ao debhelper qual nível de compatibilidade deve usar ao escrever um número em \fIdebian/compat\fR. Por exemplo, para usar o modo v9: .PP .Vb 1 \& % echo 9 > debian/compat .Ve .PP 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 9, certifique-se que debian/control tem: .PP .Vb 1 \& Build\-Depends: debhelper (>= 9) .Ve .PP 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. .PP Estes são os níveis de compatibilidade disponíveis: .IP "v5" 4 .IX Item "v5" Este é o nível de compatibilidade mais baixo suportado. .Sp Se você está a actualizar a partir de um nível de compatibilidade anterior, por favor reveja \fIdebhelper\-obsolete\-compat\fR\|(7). .Sp Este modo está descontinuado. .IP "v6" 4 .IX Item "v6" As alterações a partir de v5 são: .RS 4 .IP "\-" 8 Os comandos que geram fragmentos de script de mantenedor irão ordenar os fragmentos em ordem reversa para os scripts \fIprerm\fR e \fIpostrm\fR. .IP "\-" 8 \&\fBdh_installwm\fR irá instalar uma ligação escrava de manual para \&\fIx\-window\-manager.1.gz\fR, se vir o manual em \fIusr/share/man/man1\fR no directório de compilação do pacote. .IP "\-" 8 O \fBdh_builddeb\fR anteriormente não apagava nada que correspondesse a \&\fB\s-1DH_ALWAYS_EXCLUDE\s0\fR, se estivesse definida uma lista de coisas a excluir, como \fB\s-1CVS:\s0.svn:.git\fR. Mas agora fá\-lo. .IP "\-" 8 \&\fBdh_installman\fR 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. .RE .RS 4 .Sp Este modo está descontinuado. .RE .IP "v7" 4 .IX Item "v7" As alterações a partir de v6 são: .RS 4 .IP "\-" 8 \&\fBdh_install\fR, irá regressar a procurar por ficheiros em \fIdebian/tmp\fR se não os encontrar no directório actual (ou onde você lhe disser para procurar usando \fB\-\-sourcedir\fR). Isto permite ao \fBdh_install\fR inter-operar com o \&\fBdh_auto_install\fR, o qual instala para \fIdebian/tmp\fR, sem precisar de nenhuns parâmetros especiais. .IP "\-" 8 \&\fBdh_clean\fR irá ler \fIdebian/clean\fR e apagar os ficheiros listados lá. .IP "\-" 8 \&\fBdh_clean\fR irá apagar ficheiros \fI*\-stamp\fR do nível de topo. .IP "\-" 8 \&\fBdh_installchangelogs\fR irá adivinhar qual ficheiro está no relatório de alterações da origem se nenhum for especificado. .RE .RS 4 .Sp Este modo está descontinuado. .RE .IP "v8" 4 .IX Item "v8" As alterações a partir de v7 são: .RS 4 .IP "\-" 8 Os comandos irão falhar em vez de emitirem avisos quando lhes são passadas opções desconhecidas. .IP "\-" 8 \&\fBdh_makeshlibs\fR irá correr \fBdpkg-gensymbols\fR em todas as bibliotecas partilhadas para as quais gera ficheiros shlibs. Portanto o \fB\-X\fR pode ser usado para excluir bibliotecas. Também, as bibliotecas em localizações fora do habitual que o \fBdpkg-gensymbols\fR não tenha processado antes serão passadas para ele, uma alteração no comportamento que pode causar que alguns pacotes falhem a compilar. .IP "\-" 8 \&\fBdh\fR requer que a sequência a correr seja especificada como o primeiro parâmetro, e quaisquer switches que venham depois dela. Isto é, use \fBdh $@ \&\-\-foo\fR\*(L", e não \*(R"\fBdh \-\-foo $@\fR .IP "\-" 8 \&\fBdh_auto_\fR\fI*\fR prefere usar o \fBModule::Build\fR do Perl em preferência de \&\fIMakefile.PL\fR. .RE .RS 4 .Sp Este modo está descontinuado. .RE .IP "v9" 4 .IX Item "v9" As alterações a partir de v8 são: .RS 4 .IP "\-" 8 Suporte a multi-arquitectura. Em particular, \fBdh_auto_configure\fR passa directórios de multi-arquitectura ao autoconf em \-\-libdir e \-\-libexecdir. .IP "\-" 8 O dh tem conhecimento das dependências habituais entre metas em debian/rules. Por isso, o \*(L"dh binary\*(R" 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. .IP "\-" 8 \&\fBdh_strip\fR comprime ficheiros de símbolos de depuração para reduzir o tamanho instalado dos pacotes \-dbg. .IP "\-" 8 \&\fBdh_auto_configure\fR não inclui o nome do pacote fonte em \-\-libexecdir quando usa autoconf. .IP "\-" 8 \&\fBdh\fR não tem por predefinição a activação de \-\-with=python\-support .IP "\-" 8 Todos os programas debhelper \fBdh_auto_\fR\fI*\fR e \fBdh\fR definem variáveis de ambiente listadas por \fBdpkg-buildflags\fR, a menos que elas estejam já definidas. .IP "\-" 8 \&\fBdh_auto_configure\fR passa as \fBdpkg-buildflags\fR \s-1CFLAGS, CPPFLAGS,\s0 e \s-1LDFLAGS\s0 para \fIMakefile.PL\fR e \fIBuild.PL\fR de perl. .IP "\-" 8 \&\fBdh_strip\fR põe símbolos de depuração separados numa localização baseada no seu build-id. .IP "\-" 8 Os ficheiros de configuração executáveis do debhelper são corridos e os seus resultados usados como configuração. .RE .RS 4 .RE .IP "v10" 4 .IX Item "v10" Este é o modo de operação recomendado. .Sp As alterações a partir de v9 são: .RS 4 .IP "\-" 8 \&\fBdh_installinit\fR não irá mais instalar um ficheiro chamado debian/\fIpacote\fR como um script de iniciação (init). .IP "\-" 8 O \fBdh_installdocs\fR irá dar erro se detectar links criados com \-\-link\-doc entre pacotes de arquitectura \*(L"all\*(R" e não\-\*(L"all\*(R" porque isso faz quebrar binNMUs. .IP "\-" 8 \&\fBdh\fR 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. .IP "\-" 8 O \fBdh_installdeb\fR já não instala um ficheiro debian/\fIpacote\fR.shlibs disponibilizado pelo mantenedor. Em vez disso, isto agora é feito pelo \&\fBdh_makeshlibs\fR. .IP "\-" 8 O \fBdh_installwm\fR 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). .IP "\-" 8 Debhelper irá predefinir para \fB\-\-parallel\fR em todos os sistemas de compilação que suportam compilação paralela. Isto pode ser desactivado usando \fB\-\-no\-parallel\fR ou passando \fB\-\-max\-parallel\fR com o valor de 1. .IP "\-" 8 O comando \fBdh\fR não irá aceitar nenhum dos parâmetros de \*(L"controle de sequência manua\*(R" descontinuados (\fB\-\-before\fR, \fB\-\-after\fR, etc.). Por favor utilize metas de sobreposição em vez destes. .IP "\-" 8 O comando \fBdh\fR não irá mais usar ficheiros log para seguir quais comandos foram executados. O comando \fBdh\fR \fIainda\fR mantêm o seguimento se já correu a sequência de \*(L"compilação\*(R" e salta-a se já o fez. .Sp Os principais efeitos disto são: .RS 8 .IP "\-" 4 Com isto, é agora mais fácil de depurar as sequências \fIinstall\fR ou/e \&\fIbinary\fR porque agora podem ser trivialmente re-executadas (sem ter que fazer um ciclo de \*(L"limpar e recompilar\*(R" completo. .IP "\-" 4 O principal embargo é que \fBdh_*\fR agora apenas mantêm acompanhamento do que aconteceu numa meta de sobreposição singular. Quanto todas as chamadas a um dado comando \fBdh_cmd\fR acontecem na mesma meta de sobreposição tudo irá funcionar como dantes. .Sp Exemplo de onde pode falhar: .Sp .Vb 2 \& override_dh_foo: \& dh_foo \-pmy\-pkg \& \& override_dh_bar: \& dh_bar \& dh_foo \-\-remaining .Ve .Sp Neste caso, a chamada a \fBdh_foo \-\-remaining\fR irá \fItambém\fR incluir \&\fImy-pkg\fR, desde que \fBdh_foo \-pmy\-pkg\fR tenha corrido numa meta de sobreposição separada. Este problema não está imitado a \fB\-\-remaining\fR, mas também inclui \fB\-a\fR, \fB\-i\fR, etc. .RE .RS 8 .RE .IP "\-" 8 O comando \fBdh_installdeb\fR agora faz \*(L"escape de shell\*(R" às linhas no ficheiro de configuração de \fImaintscript\fR. Esta foi a intenção original mas não trabalhava correctamente e os pacotes começaram a confiar no \*(L"escapar de shell\*(R" incompleto (ex. ao mencionar nomes de ficheiros). .IP "\-" 8 O comando \fBdh_installinit\fR agora usa por predefinição \&\fB\-\-restart\-after\-upgrade\fR. Para pacotes que precisam do comportamento anterior, por favor use \fB\-\-no\-restart\-after\-upgrade\fR. .IP "\-" 8 A sequência \fBautoreconf\fR é agora activada por predefinição. Por favor passe \&\fB\-\-without autoreconf\fR ao \fBdh\fR se isto não for desejável para um determinado pacote .IP "\-" 8 A sequência \fBsystemd\fR é agora activada por predefinição. Por favor passe \&\fB\-\-without systemd\fR ao \fBdh\fR se isto não for desejável para um determinado pacote. .RE .RS 4 .RE .IP "v11" 4 .IX Item "v11" Este nível de compatibilidade ainda está aberto em desenvolvimento; use com cuidado. .Sp As alterações a partir de v10 são: .RS 4 .IP "\-" 8 \&\fBdh_installmenu\fR já não instala ficheiros \fImenu\fR. Os ficheiros \&\fImenu-method\fR continuam a ser instalados. .IP "\-" 8 \&\fBdh_installinit\fR já não instala ficheiros \fIservice\fR ou \fItmpfile\fR, nem gera scripts do mantenedor para esses ficheiros, Use \fBdh_systemd_enable\fR e \&\fBdh_systemd_start\fR em vez deste. .IP "\-" 8 A opção \fB\-s\fR (\fB\-\-same\-arch\fR) foi removida. .IP "\-" 8 Invocar \fBdh_clean \-k\fR agora causa um erro em vez de um aviso de descontinuação. .IP "\-" 8 \&\fBdh_installdocs\fR agora instala documentação fornecida por utilizador (ex. debian/\fIpacote\fR.docs) em \fI/usr/share/doc/mainpackage\fR em vez de \&\fI/usr/share/doc/package\fR por predefinição como recomendado por Debian Policy 3.9.7. .Sp Se você precisar do comportamento antigo, este pode ser emulado ao usar a opção \fB\-\-mainpackage\fR. .Sp Por favor lembre-se de verificar/actualizar os seus ficheiros doc-base. .IP "\-" 8 \&\fBdh_installdirs\fR já não cria directórios debian/\fIpacote\fR a menos que tal seja explicitamente pedido (ou se tiver de criar um sub\-directório nele). .Sp A grande maioria dos pacotes não serão afectados por esta alteração. .IP "\-" 8 \&\fBdh\fR já não cria um ficheiro stamp (ou log) para gravar se a compilação já correu ou não. Isto significa que a menos que o sistema de compilação do autor (upstream) actual acompanhe isto, a compilação irá correr duas vezes (uma vez para o alvo \*(L"build\*(R" e outra para o alvo \*(L"binary\*(R"). .Sp Por outro lado, isto significa que recompilar sem limpar (ex. \fBdpkg-buildpackage \-nc\fR) irá ter o comportamento que a maioria das pessoas iriam esperar. .Sp O comportamento anterior pode ser restaurado ao usar \fB\-\-with build-stamp\fR .RE .RS 4 .RE .SS "Participar no teste beta aberto dos novos níveis de compatibilidade" .IX Subsection "Participar no teste beta aberto dos novos níveis de compatibilidade" É possível aderir aos testes beta abertos dos novos níveis de compatibilidade. Isto é feito ao definir o nível de compatibilidade para a string \*(L"beta-tester\*(R". .PP Os pacotes que usam este nível de compatibilidade serão automaticamente actualizados para o nível mais alto de compatibilidade em beta aberto. Em períodos sem nenhumas versões beta abertas, o nível de compatibilidade será o nível de compatibilidade estável mais alto. .PP Por favor considere o seguinte antes de decidir como optar: .IP "\(bu" 4 A actualização automática no nível de compatibilidade pode causar que o pacote (ou alguma funcionalidade nele) deixe de funcionar. .IP "\(bu" 4 Os níveis de compatibilidade em beta aberto ainda estão sujeitos a alterações. Nós vamos tentar manter as alterações num mínimo assim que o beta arranque. No entanto, não existem garantias que a compatibilidade não altere durante o beta. .IP "\(bu" 4 Nós iremos notificá\-lo via debian\-devel@lists.debian.org antes de começarmos um novo nível de compatibilidade beta aberto. No entanto, assim que o beta arrancar esperamos que você se mantenha actualizado nas alterações para o debhelper. .IP "\(bu" 4 A versão de compatibilidade \*(L"beta-tester\*(R" em unstable e testing será muitas vezes diferente daquela nos backports de stable. Assim, não é recomendada para pacotes que sejam colocados em backport regularmente. .IP "\(bu" 4 Você pode sempre deixar o beta ao repor o nível de compatibilidade do seu pacote para uma versão estável. .PP Caso esteja ainda interessado no teste beta aberto, por favor execute: .PP .Vb 1 \& % echo beta\-tester > debian/compat .Ve .PP Você também precisa assegurar que debian/control tem: .PP .Vb 1 \& Build\-Depends: debhelper (>= 9.20160815~) .Ve .PP Para assegurar que o debhelper sabe acerca do nível de compatibilidade \&\*(L"beta-tester\*(R". .SH "NOTAS" .IX Header "NOTAS" .SS "Suporte a pacotes de múltiplos binários" .IX Subsection "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 \fIdebian/rules\fR binary-arch, e os pacotes independentes de arquitectura na meta \fIdebian/rules\fR binary-indep. .PP 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 \fB\-a\fR, \fB\-i\fR, \fB\-p\fR, e \fB\-s\fR. 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. .PP Primeiro, qualquer pacote cujo campo \fBArchitecture\fR em \fBdebian/control\fR não corresponda à arquitectura \fB\s-1DEB_HOST_ARCH\s0\fR será excluído (\*(L"Debian Policy, secção 5.6.8\*(R"). .PP Também, alguns pacotes adicionais podem ser excluídos com base no conteúdo da variável de ambiente \fB\s-1DEB_BUILD_PROFILES\s0\fR e nos campos \fBBuild-Profiles\fR nas estrofes de pacotes binários em \fBdebian/control\fR, de acordo com a política proposta em . .SS "Geração automática de scripts de instalação Debian" .IX Subsection "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 \fB#DEBHELPER#\fR aos seus scripts, no local onde o código deverá ser adicionado. \fB#DEBHELPER#\fR será substituído por qualquer código auto-gerado quando você correr o \fBdh_installdeb\fR. .PP Se não existir nenhum script e o debhelper precisar de adicionar algo a ele, então o debhelper irá criar o script completo. .PP Todos os comandos debhelper que geram código automaticamente deste modo permitem que o seja desactivado pelo parâmetro \-n (ver em cima). .PP 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 \f(CW$1\fR, \f(CW$2\fR, etc são definidos com o comando \*(L"set\*(R"): .PP .Vb 12 \& my $temp="set \-e\enset \-\- @ARGV\en" . << \*(AqEOF\*(Aq; \& #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}"); \& } \& } .Ve .SS "Geração automática de dependências variadas." .IX Subsection "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 \&\fIdh_installdebconf\fR\|(1), o seu pacote irá geralmente depender do debconf. Ou se você usar \fIdh_installxfonts\fR\|(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. .PP 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 \fB${misc:Depends}\fR. Se você colocar esse testemunho no seu ficheiro \&\fIdebian/control\fR, será expandido às dependências que o debhelper descobre que você precisa. .PP Isto é inteiramente independente do standard \fB${shlibs:Depends}\fR gerado pelo \fIdh_makeshlibs\fR\|(1), e do \fB${perl:Depends}\fR gerado pelo \&\fIdh_perl\fR\|(1). Você pode escolher usar qualquer um destes, se as escolhas do debhelper não corresponderem à realidade. .SS "Directórios de compilação de pacotes" .IX Subsection "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/\fIpacote\fR. .PP Por vezes, você pode querer usar outro directório temporário. Isto é suportado pela bandeira \fB\-P\fR, por exemplo, "\fBdh_installdocs \&\-Pdebian/tmp\fR", irá usar \fBdebian/tmp\fR como directório temporário. Note que se você usar \fB\-P\fR, 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 \fB\-p\fR para especificar em qual pacote binário o programa debhelper irá actuar. .SS "udebs" .IX Subsection "udebs" Debhelper inclui suporte para udebs. Para criar um udeb com o debhelper, adicione "\fBPackage-Type: udeb\fR" à estrofe do pacote em \fIdebian/control\fR. O Debhelper irá tentar criar udebs em conformidade com a política do instalador debian, ao finalizar os ficheiros de pacotes gerados com \&\fI.udeb\fR, não instalando nenhuma documentação num udeb, saltando os scripts \&\fIpreinst\fR, \fIpostrm\fR, \fIprerm\fR, e \fIconfig\fR, etc. .SH "AMBIENTE" .IX Header "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 \fIMakefile\fR). Para as especificar correctamente em \&\fIdebian/rules\fR, assegure-se de lhes fazer "\fBexport\fR\*(L". Por exemplo, \&\*(R"\fBexport \s-1DH_VERBOSE\s0\fR" .IP "\fB\s-1DH_VERBOSE\s0\fR" 4 .IX Item "DH_VERBOSE" Defina para \fB1\fR 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. .IP "\fB\s-1DH_QUIET\s0\fR" 4 .IX Item "DH_QUIET" Definir para \fB1\fR 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 \s-1DH_VERBOSE\s0 for também definido. .IP "\fB\s-1DH_COMPAT\s0\fR" 4 .IX Item "DH_COMPAT" Especifica temporariamente em que nível de compatibilidade o debhelper deve correr, sobrepondo qualquer valor em \fIdebian/compat\fR. .IP "\fB\s-1DH_NO_ACT\s0\fR" 4 .IX Item "DH_NO_ACT" Defina para \fB1\fR para activar o modo no-act. .IP "\fB\s-1DH_OPTIONS\s0\fR" 4 .IX Item "DH_OPTIONS" Qualquer coisa nesta variável será pre-confinada aos argumentos de linha de comandos de todos os comandos do debhelper. .Sp Quando se usa \fIdh\fR\|(1), podem-se passar opções que irão ser passadas a cada comando do debhelper, o que é geralmente melhor do que usar \s-1DH_OPTIONS.\s0 .IP "\fB\s-1DH_ALWAYS_EXCLUDE\s0\fR" 4 .IX Item "DH_ALWAYS_EXCLUDE" Se definido, isto adiciona o valor que está definido na variável às opções \&\fB\-X\fR de todos os comandos que suportam a opção \fB\-X\fR. Ainda mais, o \&\fBdh_builddeb\fR irá fazer \fBrm \-rf\fR a tudo o que corresponda a esse valor na sua árvore de compilação do pacote. .Sp Isto pode ser útil se você está a fazer uma compilação a partir de uma árvore fonte \s-1CVS,\s0 que no caso definindo \fBDH_ALWAYS_EXCLUDE=CVS\fR irá prevenir que quaisquer directórios \s-1CVS\s0 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 \s-1CVS,\s0 você pode querer exportar \&\fBDH_ALWAYS_EXCLUDE=CVS\fR em \fIdebian/rules\fR, para o fazer ter efeito onde o seu é compilado. .Sp Várias coisas a excluir podem ser separadas com \*(L"dois pontos\*(R", como em \&\fBDH_ALWAYS_EXCLUDE=CVS:.svn\fR .SH "VEJA TAMBÉM" .IX Header "VEJA TAMBÉM" .IP "\fI/usr/share/doc/debhelper/examples/\fR" 4 .IX Item "/usr/share/doc/debhelper/examples/" Um conjunto de ficheiros \fIdebian/rules\fR exemplo que usam debhelper. .IP "" 4 .IX Item "" Sítio web do debhelper. .SH "AUTOR" .IX Header "AUTOR" Joey Hess .SH "TRADUÇÃO" .IX Header "TRADUÇÃO" Américo Monteiro .PP Se encontrar algum erro na tradução deste documento, por favor comunique para Américo Monteiro \fIa_monteiro@gmx.com\fR ou Equipa Debian de Tradução Portuguesa \fItraduz@debianpt.org\fR.