Este é o comando dh que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
dh - sequenciador de comandos debhelper
SINOPSE
dh seqüência [--com addon[,addon ...]] [--Lista] [opções debhelper]
DESCRIÇÃO
dh executa uma sequência de comandos debhelper. O apoiado seqüências correspondem ao
alvos de um debian / rules arquivo: arco de construção, construir indep, construir, limpar, instalar indep,
instalar o arco, instalar, arco binário, binário indep e binário.
SOBREPOR ALVOS
A debian / rules arquivo usando dh pode substituir o comando que é executado em qualquer etapa de um
sequência, definindo um alvo de substituição.
Para substituir dh_command, adicione um alvo chamado sobrepor_dh_command para o arquivo de regras. Quando
normalmente funcionaria dh_command, dh em vez disso, chamará esse alvo. O alvo de substituição pode
em seguida, execute o comando com opções adicionais ou execute comandos totalmente diferentes.
Veja os exemplos abaixo.
Os destinos de substituição também podem ser definidos para serem executados apenas ao construir dependentes de arquitetura ou
pacotes independentes de arquitetura. Use alvos com nomes como sobrepor_dh_command-arco
e sobrepor_dh_command-indep. (Observe que para usar este recurso, você deve Build-Depend
debhelper 8.9.7 ou superior.)
OPÇÕES
--com addon[,addon ...]
Adicione os comandos debhelper especificados pelo addon fornecido aos locais apropriados no
sequência de comandos que é executada. Esta opção pode ser repetida mais de uma vez, ou
vários addons podem ser listados, separados por vírgulas. Isso é usado quando há um
pacote de terceiros que fornece comandos debhelper. Veja o PROGRAMAÇÃO arquivo para
documentação sobre a interface do complemento de sequência.
--sem addon
O inverso de --com, desativa o addon fornecido. Esta opção pode ser repetida
mais de uma vez, ou vários addons para desativar podem ser listados, separados por vírgulas.
--Lista, -l
Liste todos os complementos disponíveis.
- no-act
Imprime comandos que seriam executados para uma determinada sequência, mas não os executa.
Observe que o dh normalmente pula a execução de comandos que ele sabe que não farão nada. Com
--no-act, a lista completa de comandos em uma sequência é impressa.
Outras opções passadas para dh são passados para cada comando executado. Isso pode ser usado para definir
uma opção como -v or -X or -N, bem como para opções mais especializadas.
EXEMPLOS
Para ver quais comandos estão incluídos em uma sequência, sem realmente fazer nada:
dh arco binário --no-act
Este é um arquivo de regras muito simples, para pacotes onde as sequências padrão de comandos
trabalhar sem opções adicionais.
#!/ usr / bin / make -f
%:
dh $ @
Freqüentemente, você desejará passar uma opção para um comando debhelper específico. A maneira fácil de fazer
com é adicionando um destino de substituição para esse comando.
#!/ usr / bin / make -f
%:
dh $ @
override_dh_strip:
dh_strip -Xfoo
override_dh_auto_configure:
dh_auto_configure - --with-foo --disable-bar
Às vezes, o automatizado dh_auto_configure(1) e dh_auto_build(1) não consigo adivinhar o que fazer
para um pacote estranho. Veja como evitar a execução de qualquer um deles e, em vez disso, execute o seu próprio
comandos.
#!/ usr / bin / make -f
%:
dh $ @
override_dh_auto_configure:
./mondoconfig
override_dh_auto_build:
fazer o universo explodir em deleite
Outro caso comum é querer fazer algo manualmente antes ou depois de um determinado
O comando debhelper é executado.
#!/ usr / bin / make -f
%:
dh $ @
override_dh_fixperms:
dh_fixperms
chmod 4755 debian / foo / usr / bin / foo
Se o seu pacote usa ferramentas automáticas e você deseja atualizar config.sub e config.palpite com
versões mais recentes do autotools-dev pacote em tempo de construção, você pode usar alguns comandos
Fornecido em autotools-dev que automatizam, assim.
#!/ usr / bin / make -f
%:
dh $ @ --com autotools_dev
As ferramentas Python não são executadas por dh por padrão, devido à mudança contínua nessa área.
(Antes do nível de compatibilidade v9, dh é executado dh_pysupport.) Aqui está como usar dh_python2.
#!/ usr / bin / make -f
%:
dh $ @ --com python2
Aqui está como forçar o uso de Perl's Módulo :: Construir sistema de construção, que pode ser necessário se
O debhelper detecta erroneamente que o pacote usa o MakeMaker.
#!/ usr / bin / make -f
%:
dh $ @ --buildsystem = perl_build
Aqui está um exemplo de substituição onde o dh_auto_* comandos encontram a fonte do pacote,
para um pacote em que a fonte está localizada em um subdiretório.
#!/ usr / bin / make -f
%:
dh $ @ --sourcedirectory = src
E aqui está um exemplo de como dizer a dh_auto_* comandos para construir em um subdiretório,
que será removido em limpar.
#!/ usr / bin / make -f
%:
dh $ @ --builddirectory = build
Se o seu pacote pode ser construído em paralelo, use compat 10 ou passe --paralelo
para dh. Então dpkg-buildpackage -j vai funcionar.
#!/ usr / bin / make -f
%:
dh $ @ --paralelo
Se o seu pacote não pode ser construído de forma confiável ao usar vários threads, passe
--não paralelo para dh (ou o relevante dh_auto_* comando):
#!/ usr / bin / make -f
%:
dh $ @ --no-parallel
Aqui está uma maneira de prevenir dh de executar vários comandos que você não quer que ele execute,
definindo destinos de substituição vazios para cada comando.
#!/ usr / bin / make -f
%:
dh $ @
# Comandos a não executar:
override_dh_auto_test override_dh_compress override_dh_fixperms:
Um longo processo de construção para um pacote de documentação separado pode ser separado usando
substituições independentes de arquitetura. Eles serão ignorados ao executar build-arch e
sequências de arco binário.
#!/ usr / bin / make -f
%:
dh $ @
override_dh_auto_build-indep:
$ (MAKE) -C docs
# Não são necessários testes para documentos
override_dh_auto_test-indep:
override_dh_auto_install-indep:
$ (MAKE) -C docs install
Adicionando ao exemplo acima, suponha que você precise fazer um chmod em um arquivo, mas apenas ao construir o
pacote dependente da arquitetura, uma vez que não está presente ao construir apenas a documentação.
override_dh_fixperms-arch:
dh_fixperms
chmod 4755 debian / foo / usr / bin / foo
INTERNOS
Se você está curioso sobre dhdo interno, é assim que funciona nos bastidores.
Cada comando debhelper irá gravar quando for executado com sucesso em
debian / package.debhelper.log. (Que dh_limpo exclui.) Então dh pode dizer quais comandos têm
já foi executado, para quais pacotes, e pule a execução desses comandos novamente.
Toda vez dh é executado, ele examina o log e encontra o último comando registrado que está no
seqüência especificada. Em seguida, ele continua com o próximo comando na sequência. o --até,
--antes, --depois de e --restante as opções podem substituir esse comportamento.
Uma sequência também pode executar alvos dependentes em debian / rules. Por exemplo, o "binário"
sequência executa o destino "instalar".
dh utiliza o DH_INTERNAL_OPTIONS variável de ambiente para passar informações para
Comandos debhelper que são executados dentro de destinos de substituição. O conteúdo (e de fato,
existência) desta variável de ambiente, como o nome pode sugerir, está sujeita a alterações
em qualquer altura.
Comandos no construir indep, instalar indep e binário indep sequências são passadas a -i
opção para garantir que eles funcionem apenas em pacotes independentes de arquitetura e comandos no
arco de construção, instalar o arco e arco binário sequências são passadas a -a opção para garantir que eles
funcionam apenas em pacotes dependentes de arquitetura.
DESCONTINUADA OPÇÕES
As opções a seguir estão obsoletas. É muito melhor usar destinos de substituição.
Eles são não disponível em compat 10.
--até cmd
Execute comandos na sequência até e incluindo cmd, Então pare.
--antes cmd
Execute comandos na sequência antes cmd, Então pare.
--depois de cmd
Execute comandos na sequência que vem depois cmd.
--restante
Execute todos os comandos na sequência que ainda não foram executados.
Nas opções acima, cmd pode ser um nome completo de um comando debhelper ou uma substring. Vai
primeiro procure um comando na sequência que corresponda exatamente ao nome, para evitar qualquer
ambiguidade. Se houver várias correspondências de substring, a última na sequência será
usava.
Use dh online usando serviços onworks.net