Dit is de opdracht dh die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
dh - debhelper-opdrachtsequencer
KORTE INHOUD
dh volgorde [--met addon[,addon ...]] [--lijst] [debhelper opties]
PRODUCTBESCHRIJVING
dh voert een reeks debhelper-opdrachten uit. De ondersteunde volgordes komen overeen met de
doelwitten van een debian/regels file: bouw-arch, bouwonafhankelijk, bouw, schoon, installatie-indep,
installatie-boog, installeren, binaire-arch, binair-indep en binair.
Overschrijven DOELSTELLINGEN
A debian/regels bestand met behulp van dh kan de opdracht overschrijven die bij elke stap in a wordt uitgevoerd
volgorde, door een override-doel te definiëren.
Overschrijven dh_opdracht, voeg een doel toe met de naam overschrijven_dh_opdracht naar het regelsbestand. Wanneer het
normaal zou lopen dh_opdracht, dh zal in plaats daarvan dat doel noemen. Het overschrijfdoel kan
voer vervolgens de opdracht uit met extra opties, of voer in plaats daarvan geheel andere opdrachten uit.
Zie voorbeelden hieronder.
Overschrijfdoelen kunnen ook worden gedefinieerd om alleen te worden uitgevoerd wanneer architectuurafhankelijke gebouwen worden gebouwd
architectuuronafhankelijke pakketten. Gebruik doelen met namen als overschrijven_dh_opdracht-boog
en overschrijven_dh_opdracht-onafhankelijk. (Houd er rekening mee dat u, om deze functie te gebruiken, Build-Depend moet gebruiken
debhelper 8.9.7 of hoger.)
OPTIES
--met addon[,addon
Voeg de debhelper-opdrachten die door de gegeven add-on zijn gespecificeerd toe aan de juiste plaatsen in het
reeks opdrachten die wordt uitgevoerd. Deze optie kan meer dan eens worden herhaald, of
Er kunnen meerdere add-ons worden vermeld, gescheiden door komma's. Dit wordt gebruikt als er een
pakket van derden dat debhelper-opdrachten biedt. Zie de PROGRAMMERING bestand voor
documentatie over de reeks add-on-interface.
--zonder addon
het omgekeerde van --met, schakelt het gebruik van de gegeven add-on uit. Deze optie kan worden herhaald
meer dan één keer, of er kunnen meerdere add-ons worden weergegeven die moeten worden uitgeschakeld, gescheiden door komma's.
--lijst, -l
Maak een lijst van alle beschikbare add-ons.
--geen-act
Drukt opdrachten af die in een bepaalde reeks zouden worden uitgevoerd, maar voert ze niet uit.
Merk op dat dh normaal gesproken de uitvoering van opdrachten overslaat waarvan hij weet dat deze niets zullen doen. Met
--no-act, de volledige lijst met opdrachten in een reeks wordt afgedrukt.
Andere opties doorgegeven aan dh worden doorgegeven aan elke opdracht die wordt uitgevoerd. Dit kan worden gebruikt om in te stellen
een optie als -v or -X or -N, maar ook voor meer gespecialiseerde opties.
Voorbeelden
Om te zien welke opdrachten in een reeks zijn opgenomen, zonder daadwerkelijk iets te doen:
dh binaire boog --no-act
Dit is een heel eenvoudig regelbestand, voor pakketten met de standaardreeksen opdrachten
werken zonder extra opties.
#!/usr/bin/make -f
%:
dh $@
Vaak wilt u een optie doorgeven aan een specifiek debhelper-commando. De gemakkelijke manier om te doen
with is door een overschrijfdoel voor die opdracht toe te voegen.
#!/usr/bin/make -f
%:
dh $@
overschrijven_dh_strip:
dh_strip -Xfoo
override_dh_auto_configure:
dh_auto_configure --with-foo --disable-bar
Soms geautomatiseerd dh_auto_configure(1) en dh_auto_build(1) Ik weet niet wat ik moet doen
voor een vreemd pakket. Hier leest u hoe u beide kunt vermijden en in plaats daarvan uw eigen kunt runnen
commando's.
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_configure:
./mondoconfig
override_dh_auto_build:
laat het universum exploderen in verrukking
Een ander veel voorkomend geval is dat je voor of na een bepaalde gebeurtenis handmatig iets wilt doen
debhelper-opdracht wordt uitgevoerd.
#!/usr/bin/make -f
%:
dh $@
override_dh_fixpermanen:
dh_fixpermanen
chmod 4755 debian/foo/usr/bin/foo
Als uw pakket autotools gebruikt en u wilt vernieuwen config.sub en config.gok Met
nieuwere versies van de autotools-dev pakket tijdens het bouwen, kunt u enkele opdrachten gebruiken
Voorzien in autotools-dev die het automatiseren, zoals dit.
#!/usr/bin/make -f
%:
dh $@ --met autotools_dev
Python-tools worden niet standaard door dh uitgevoerd, vanwege de voortdurende verandering op dat gebied.
(Vóór compatibiliteitsniveau v9 draait dh wel dh_pysupport.) Zo gebruikt u het dh_python2.
#!/usr/bin/make -f
%:
dh $@ --met python2
Hier leest u hoe u het gebruik van Perl's kunt forceren Module::Bouwen build-systeem, wat nodig kan zijn als
debhelper detecteert ten onrechte dat het pakket MakeMaker gebruikt.
#!/usr/bin/make -f
%:
dh $@ --buildsystem=perl_build
Hier is een voorbeeld van overschrijven waarbij de dh_auto_* commando's vinden de bron van het pakket,
voor een pakket waarvan de broncode zich in een submap bevindt.
#!/usr/bin/make -f
%:
dh $@ --sourcedirectory=src
En hier is een voorbeeld van hoe u het kunt vertellen dh_auto_* opdrachten om een submap in te bouwen,
die wordt verwijderd schoon.
#!/usr/bin/make -f
%:
dh $@ --builddirectory=bouwen
Als uw pakket parallel kan worden gebouwd, gebruik dan compat 10 of passeer --parallel
naar dh. Dan dpkg-buildpakket -j zal werken.
#!/usr/bin/make -f
%:
dh $@ --parallel
Als uw pakket niet op betrouwbare wijze kan worden gebouwd terwijl u meerdere threads gebruikt, kunt u dit doorgeven
--geen parallel naar dh (of de relevante dh_auto_* opdracht):
#!/usr/bin/make -f
%:
dh $@ --geen parallel
Hier is een manier om dit te voorkomen dh van het uitvoeren van verschillende opdrachten waarvan u niet wilt dat deze worden uitgevoerd,
door voor elke opdracht lege override-doelen te definiëren.
#!/usr/bin/make -f
%:
dh $@
# Commando's die niet mogen worden uitgevoerd:
override_dh_auto_test override_dh_compress override_dh_fixperms:
Een lang bouwproces voor een afzonderlijk documentatiepakket kan worden gescheiden met behulp van
architectuuronafhankelijke overschrijvingen. Deze worden overgeslagen bij het uitvoeren van build-arch en
binaire boogreeksen.
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_build-indep:
$(MAKE) -C-documenten
# Geen tests nodig voor documenten
override_dh_auto_test-indep:
override_dh_auto_install-indep:
$(MAKE) -C documenten installeren
Als aanvulling op het bovenstaande voorbeeld, stel dat u een bestand moet chmoderen, maar alleen bij het bouwen van het
architectuurafhankelijk pakket, omdat het niet aanwezig is bij het bouwen van alleen documentatie.
override_dh_fixperms-arch:
dh_fixpermanen
chmod 4755 debian/foo/usr/bin/foo
INTERN
Als je nieuwsgierig bent naar dh's interne onderdelen, zo werkt het onder de motorkap.
Elk debhelper-commando registreert wanneer het succesvol is uitgevoerd
debian/pakket.debhelper.log. (Welke dh_schoon verwijdert.) Dus dh kan vertellen welke commando's hebben
al uitgevoerd, voor welke pakketten, en sla deze opdrachten over.
Elke keer weer dh wordt uitgevoerd, onderzoekt het het logboek en vindt het laatste vastgelegde commando dat zich in het bestand bevindt
gespecificeerde volgorde. Vervolgens gaat het verder met het volgende commando in de reeks. De --tot,
--voordat, --na en --overig Opties kunnen dit gedrag overschrijven.
Een reeks kan ook afhankelijke doelen uitvoeren in debian/rules. Bijvoorbeeld het "binaire"
De reeks voert het "installatie"-doel uit.
dh gebruikt DH_INTERNAL_OPTIONS omgevingsvariabele waaraan informatie moet worden doorgegeven
debhelper-opdrachten die binnen worden uitgevoerd, overschrijven doelen. De inhoud (en inderdaad
bestaan) van deze omgevingsvariabele, zoals de naam doet vermoeden, is aan verandering onderhevig
te allen tijde.
Commando's in de bouwonafhankelijk, installatie-indep en binair-indep sequenties worden doorgegeven -i
optie om ervoor te zorgen dat ze alleen werken op architectuuronafhankelijke pakketten en opdrachten in de
bouw-arch, installatie-boog en binaire-arch sequenties worden doorgegeven -a optie om ze te garanderen
werken alleen met architectuurafhankelijke pakketten.
VEROUDERD OPTIES
De volgende opties zijn verouderd. Het is veel beter om in plaats daarvan overschrijvingsdoelen te gebruiken.
Deze heten niet beschikbaar in comp10.
--tot cmd
Voer opdrachten uit in de volgorde tot en met cmd, stop dan.
--voordat cmd
Voer opdrachten uit in de voorgaande volgorde cmd, stop dan.
--na cmd
Voer opdrachten uit in de volgorde die erna komt cmd.
--overig
Voer alle opdrachten uit in de volgorde die nog moeten worden uitgevoerd.
Bij de bovenstaande opties cmd kan een volledige naam zijn van een debhelper-opdracht, of een subtekenreeks. Het zal
Zoek eerst naar een opdracht in de volgorde die exact overeenkomt met de naam, om deze te vermijden
meerduidigheid. Als er meerdere subtekenreeksovereenkomsten zijn, zal de laatste in de reeks dat zijn
gebruikt.
Gebruik dh online met behulp van onworks.net-services