Questo è il comando dh che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
dh - sequenziatore di comandi debhelper
SINOSSI
dh sequenza [--con addon[,addon ...]] [--elenco] [opzioni debhelper]
DESCRIZIONE
dh esegue una sequenza di comandi debhelper. Il supportato sequenzacorrispondono a
obiettivi di a debian/regole file: costruire-arco, build-indipendente, costruire, cavedano, installazione-indipendente,
installazione-arch, install, binario-arch, binario-indipendentee binario.
OVERRIDE OBIETTIVI
A debian/regole L'utilizzo di file dh può sovrascrivere il comando eseguito in qualsiasi passaggio in a
sequenza, definendo un obiettivo di sostituzione.
Per sovrascrivere dh_comando, aggiungi una destinazione denominata oltrepassare_dh_comando al file delle regole. Quando esso
normalmente funzionerebbe dh_comando, dh chiamerà invece quel target. Il target di override può
quindi esegui il comando con opzioni aggiuntive o esegui invece comandi completamente diversi.
Vedere gli esempi di seguito.
È inoltre possibile definire obiettivi di sostituzione per l'esecuzione solo durante la creazione di architettura dipendente o
pacchetti indipendenti dall'architettura. Usa target con nomi come oltrepassare_dh_comando-arco
ed oltrepassare_dh_comando-indip. (Nota che per utilizzare questa funzione è necessario Build-Depend on
debhelper 8.9.7 o successiva.)
VERSIONI
--con addon[,addon ...]
Aggiungi i comandi debhelper specificati dal componente aggiuntivo fornito nelle posizioni appropriate nel file
sequenza di comandi che viene eseguita. Questa opzione può essere ripetuta più di una volta, oppure
possono essere elencati più componenti aggiuntivi, separati da virgole. Viene utilizzato quando è presente un file
pacchetto di terze parti che fornisce comandi debhelper. Vedi il PROGRAMMAZIONE file per
documentazione sull'interfaccia del componente aggiuntivo della sequenza.
--privo di addon
L'inverso di --con, disabilita l'utilizzo del componente aggiuntivo specificato. Questa opzione può essere ripetuta
è possibile elencare più di una volta oppure più componenti aggiuntivi da disabilitare, separati da virgole.
--elenco, -l
Elenca tutti i componenti aggiuntivi disponibili.
--nessun atto
Stampa i comandi che verrebbero eseguiti per una determinata sequenza, ma non li esegue.
Tieni presente che dh normalmente salta l'esecuzione dei comandi che sa non faranno nulla. Con
--no-act, viene stampato l'elenco completo dei comandi in una sequenza.
Altre opzioni passate a dh vengono passati a ciascun comando eseguito. Questo può essere usato per impostare
un'opzione come -v or -X or -N, nonché per opzioni più specializzate.
ESEMPI
Per vedere quali comandi sono inclusi in una sequenza, senza fare effettivamente nulla:
dh binario-arco --no-act
Questo è un file di regole molto semplice, per i pacchetti in cui le sequenze predefinite di comandi
lavorare senza opzioni aggiuntive.
#!/usr/bin/make -f
%:
ciao $@
Spesso vorrai passare un'opzione a uno specifico comando debhelper. Il modo più semplice per farlo
with è aggiungendo una destinazione di override per quel comando.
#!/usr/bin/make -f
%:
ciao $@
override_dh_strip:
dh_strip -Xfoo
override_dh_auto_configure:
dh_auto_configure -- --with-foo --disable-bar
A volte l'automatizzato dh_auto_configure(1) e dh_auto_build(1) non riesco a indovinare cosa fare
per uno strano pacchetto. Ecco come evitare di correre e invece eseguirne uno tuo
comandi.
#!/usr/bin/make -f
%:
ciao $@
override_dh_auto_configure:
./mondoconfig
override_dh_auto_build:
fai esplodere l'universo in gioia
Un altro caso comune è voler fare qualcosa manualmente prima o dopo un particolare
viene eseguito il comando debhelper.
#!/usr/bin/make -f
%:
ciao $@
override_dh_fixperms:
dh_fixperms
chmod 4755 debian/foo/usr/bin/foo
Se il tuo pacchetto utilizza gli autotools e desideri rinfrescarlo config.sub ed config.indovina con
versioni più recenti da autotools-dev pacchetto in fase di compilazione, puoi utilizzare alcuni comandi
fornito in autotools-dev che lo automatizzano, in questo modo.
#!/usr/bin/make -f
%:
dh $@ --con autotools_dev
Gli strumenti Python non vengono eseguiti da dh per impostazione predefinita, a causa dei continui cambiamenti in quell'area.
(Prima del livello di compatibilità v9, dh viene eseguito dh_pysupport.) Ecco come utilizzare dh_python2.
#!/usr/bin/make -f
%:
dh $@ --con python2
Ecco come forzare l'uso di Perl Modulo::Costruisci build system, che può essere necessario se
debhelper rileva erroneamente che il pacchetto utilizza MakeMaker.
#!/usr/bin/make -f
%:
dh $@ --buildsystem=perl_build
Ecco un esempio di override dove il file dh_auto_* i comandi trovano l'origine del pacchetto,
per un pacchetto in cui il sorgente si trova in una sottodirectory.
#!/usr/bin/make -f
%:
dh $@ --sourcedirectory=src
Ed ecco un esempio di come raccontare il dh_auto_* comandi da creare in una sottodirectory,
che verrà rimosso cavedano.
#!/usr/bin/make -f
%:
dh $@ --builddirectory=build
Se il tuo pacchetto può essere creato in parallelo, utilizza compat 10 o pass --parallelo
a dh. Poi dpkg-buildpackage -j funzionerà.
#!/usr/bin/make -f
%:
dh $@ --parallelo
Se il tuo pacchetto non può essere creato in modo affidabile mentre usi più thread, passa
--no-parallelo a dh (o il relativo dh_auto_* comando):
#!/usr/bin/make -f
%:
dh $@ --no-parallelo
Ecco un modo per prevenire dh dall'eseguire diversi comandi che non vuoi che vengano eseguiti,
definendo obiettivi di override vuoti per ciascun comando.
#!/usr/bin/make -f
%:
ciao $@
# Comandi da non eseguire:
override_dh_auto_test override_dh_compress override_dh_fixperms:
Un lungo processo di creazione di un pacchetto di documentazione separato può essere separato utilizzando
override indipendenti dall'architettura. Questi verranno saltati durante l'esecuzione di build-arch e
sequenze di archi binari.
#!/usr/bin/make -f
%:
ciao $@
override_dh_auto_build-indep:
$(MAKE) -C documenti
# Non sono necessari test per i documenti
override_dh_auto_test-indep:
override_dh_auto_install-indep:
$(MAKE) -C installazione documenti
In aggiunta all'esempio sopra, supponiamo di dover modificare un file, ma solo durante la creazione del file
pacchetto dipendente dall'architettura, poiché non è presente quando si compila solo la documentazione.
override_dh_fixperms-arch:
dh_fixperms
chmod 4755 debian/foo/usr/bin/foo
INTERNI
Se sei curioso di dhinterni, ecco come funziona sotto il cofano.
Ogni comando debhelper registrerà quando viene eseguito con successo
debian/pacchetto.debhelper.log. (Quale dh_pulito elimina.) Quindi dh può dire quali comandi hanno
già eseguito, per quali pacchetti e salta nuovamente l'esecuzione di tali comandi.
Ogni volta dh viene eseguito, esamina il registro e trova l'ultimo comando registrato presente nel file
sequenza specificata. Quindi continua con il comando successivo nella sequenza. IL --fino a,
--prima, --dopoe --residuo le opzioni possono sovrascrivere questo comportamento.
Una sequenza può anche eseguire target dipendenti in debian/rules. Ad esempio, il "binario"
sequenza esegue il target "installa".
dh utilizza l' DH_OPZIONI_INTERNE variabile di ambiente a cui passare le informazioni
I comandi debhelper eseguiti all'interno delle destinazioni sovrascrivono. I contenuti (e infatti,
esistenza) di questa variabile d'ambiente, come suggerisce il nome, è soggetta a modifiche
in ogni momento.
Comandi nel build-indipendente, installazione-indipendente ed binario-indipendente le sequenze vengono passate al -i
opzione per garantire che funzionino solo su pacchetti indipendenti dall'architettura e comandi nel file
costruire-arco, installazione-arch ed binario-arch le sequenze vengono passate al -a opzione per garantirli
funziona solo su pacchetti dipendenti dall'architettura.
DEPRECATO VERSIONI
Le seguenti opzioni sono deprecate. È molto meglio utilizzare invece gli obiettivi di override.
Sono non disponibile nel compat 10.
--fino a cmd
Esegui i comandi nella sequenza fino a incluso cmd, poi fermati.
--prima cmd
Esegui i comandi nella sequenza precedente cmd, poi fermati.
--dopo cmd
Esegui i comandi nella sequenza successiva cmd.
--residuo
Esegui tutti i comandi nella sequenza che devono ancora essere eseguiti.
Nelle opzioni sopra, cmd può essere il nome completo di un comando debhelper o una sottostringa. Sara
cercare prima un comando nella sequenza che corrisponda esattamente al nome, per evitarne qualcuno
ambiguità. Se sono presenti più corrispondenze di sottostringhe, lo sarà l'ultima nella sequenza
Usato.
Utilizza dh online utilizzando i servizi onworks.net