Aceasta este comanda dh care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
dh - sequencer de comandă debhelper
REZUMAT
dh secvenţă [--cu addon[,addon ...]] [--listă] [opțiuni debhelper]
DESCRIERE
dh rulează o secvență de comenzi debhelper. Cei sustinuti secvenţăs corespund cu
ținte ale a debian/rules fișier: construi-arc, construi-indep, construi, curat, install-indep,
instala-arh, instala, binar-arh, binar-indep, și binar.
TRECE PESTE OBIECTIVE
A debian/rules fișier folosind dh poate suprascrie comanda care este rulată la orice pas din a
secvență, prin definirea unei ținte de anulare.
A trece peste dh_command, adăugați o țintă numită trece peste_dh_command la dosarul regulilor. Atunci când
ar rula în mod normal dh_command, dh va numi acea țintă. Ținta de anulare poate
apoi executați comanda cu opțiuni suplimentare sau executați în schimb comenzi complet diferite.
Vezi exemple de mai jos.
Țintele de anulare pot fi, de asemenea, definite pentru a rula numai atunci când construirea depinde de arhitectură sau
pachete independente de arhitectură. Folosiți ținte cu nume precum trece peste_dh_command-arc
și trece peste_dh_command- indep. (Rețineți că pentru a utiliza această funcție, ar trebui să Build-Depend on
debhelper 8.9.7 sau mai recent.)
OPŢIUNI
--cu addon[,addon ...]
Adăugați comenzile debhelper specificate de suplimentul dat în locurile corespunzătoare din
secvența de comenzi care este rulată. Această opțiune poate fi repetată de mai multe ori, sau
pot fi listate mai multe suplimente, separate prin virgule. Acesta este folosit atunci când există o
pachet terță parte care oferă comenzi debhelper. Vezi PROGRAMARE fisier pentru
documentație despre interfața addon de secvență.
--fără addon
Inversul lui --cu, dezactivează utilizarea addon-ului dat. Această opțiune poate fi repetată
de mai multe ori sau mai multe suplimente de dezactivat pot fi listate, separate prin virgule.
--listă, -l
Listați toate suplimentele disponibile.
--nu-act
Imprimă comenzi care ar rula pentru o anumită secvență, dar nu le rulează.
Rețineți că dh omite în mod normal comenzile de rulare despre care știe că nu vor face nimic. Cu
--no-act, este tipărită lista completă de comenzi dintr-o secvență.
Alte opțiuni au fost transmise dh sunt transmise fiecărei comenzi pe care o execută. Acesta poate fi folosit pentru a seta
o optiune ca -v or -X or -N, precum și pentru opțiuni mai specializate.
EXEMPLE
Pentru a vedea ce comenzi sunt incluse într-o secvență, fără a face nimic:
dh binary-arch --no-act
Acesta este un fișier de reguli foarte simplu, pentru pachete în care secvențele implicite de comenzi
lucrează fără opțiuni suplimentare.
#!/usr/bin/make -f
%:
dh $@
Adesea, veți dori să transmiteți o opțiune unei anumite comenzi debhelper. Modul simplu de a face
cu este prin adăugarea unei ținte de înlocuire pentru acea comandă.
#!/usr/bin/make -f
%:
dh $@
override_dh_strip:
dh_strip -Xfoo
override_dh_auto_configure:
dh_auto_configure -- --with-foo --disable-bar
Uneori automat dh_auto_configure(1) și dh_auto_build(1) nu pot ghici ce să facă
pentru un pachet ciudat. Iată cum să eviți să alergi și să alergi pe al tău
comenzi.
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_configure:
./mondoconfig
override_dh_auto_build:
face universul să explodeze de încântare
Un alt caz obișnuit este dorința de a face ceva manual înainte sau după un anumit
comanda debhelper este executată.
#!/usr/bin/make -f
%:
dh $@
override_dh_fixperms:
dh_fixperms
chmod 4755 debian/foo/usr/bin/foo
Dacă pachetul dvs. folosește unelte automate și doriți să vă împrospătați config.sub și config.ghici cu
versiuni mai noi de la autotools-dev pachet în timpul construirii, puteți utiliza unele comenzi
prevazut in autotools-dev care o automatizează, așa.
#!/usr/bin/make -f
%:
dh $@ --cu autotools_dev
Instrumentele Python nu sunt rulate de dh în mod implicit, din cauza schimbării continue în acea zonă.
(Înainte de nivelul de compatibilitate v9, dh rulează dh_pysupport.) Iată cum se utilizează dh_python2.
#!/usr/bin/make -f
%:
dh $@ --cu python2
Iată cum să forțați utilizarea lui Perl Modul::Build build system, care poate fi necesar dacă
debhelper detectează greșit că pachetul folosește MakeMaker.
#!/usr/bin/make -f
%:
dh $@ --buildsystem=perl_build
Iată un exemplu de suprascriere unde dh_auto_* comenzile găsesc sursa pachetului,
pentru un pachet în care sursa se află într-un subdirector.
#!/usr/bin/make -f
%:
dh $@ --sourcedirectory=src
Și iată un exemplu despre cum să spui dh_auto_* comenzi pentru a construi într-un subdirector,
care va fi eliminată pe curat.
#!/usr/bin/make -f
%:
dh $@ --builddirectory=build
Dacă pachetul dumneavoastră poate fi construit în paralel, vă rugăm fie să folosiți compat 10, fie să treceți --paralel
la dh. Atunci dpkg-buildpackage -j va functiona.
#!/usr/bin/make -f
%:
dh $@ --paralel
Dacă pachetul dvs. nu poate fi construit în mod fiabil în timp ce utilizați mai multe fire, vă rugăm să treceți
--nu-paralel la dh (sau cel relevant dh_auto_* comanda):
#!/usr/bin/make -f
%:
dh $@ --no-paralel
Iată o modalitate de a preveni dh de la rularea mai multor comenzi pe care nu doriți să le ruleze,
prin definirea țintelor de suprareglare goale pentru fiecare comandă.
#!/usr/bin/make -f
%:
dh $@
# Comenzi pentru a nu rula:
override_dh_auto_test override_dh_compress override_dh_fixperms:
Un proces lung de construire pentru un pachet de documentație separat poate fi separat folosind
anulări independente de arhitectură. Acestea vor fi omise atunci când rulați build-arch și
secvențe binare-arc.
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_build-indep:
$(MAKE) -C docs
# Nu sunt necesare teste pentru documente
override_dh_auto_test-indep:
override_dh_auto_install-indep:
$(MAKE) -C instalarea documentelor
Adăugând la exemplul de mai sus, să presupunem că trebuie să modificați un fișier, dar numai când construiți fișierul
pachet dependent de arhitectură, deoarece nu este prezent atunci când se construiește doar documentația.
override_dh_fixperms-arch:
dh_fixperms
chmod 4755 debian/foo/usr/bin/foo
INTERNE
Dacă ești curios dhinteriorul lui, iată cum funcționează sub capotă.
Fiecare comandă debhelper va înregistra când este rulată cu succes
debian/package.debhelper.log. (Care dh_clean sterge.) Deci dh poate spune ce comenzi au
a fost deja rulat, pentru care pachete și sări peste rularea acestor comenzi din nou.
De fiecare data dh este rulat, examinează jurnalul și găsește ultima comandă înregistrată care se află în
secvența specificată. Apoi continuă cu următoarea comandă din secvență. The --pana cand,
--inainte de, --după, și --rămas opțiunile pot suprascrie acest comportament.
O secvență poate rula și ținte dependente în debian/rules. De exemplu, „binarul”
secvența rulează ținta de „instalare”.
dh folosește DH_INTERNAL_OPTIONS variabilă de mediu către care să se transmită informațiile
comenzile debhelper care sunt executate în interiorul țintelor suprascrie. Conținutul (și într-adevăr,
existența) acestei variabile de mediu, după cum ar putea sugera și numele, este supusă modificării
oricand.
Comenzi în construi-indep, install-indep și binar-indep secvențele sunt trecute -i
opțiune pentru a vă asigura că funcționează numai pe pachete independente de arhitectură și comenzi din
construi-arc, instala-arh și binar-arh secvențele sunt trecute -a opțiunea de a le asigura
funcționează numai pe pachete dependente de arhitectură.
DEPRECAT OPŢIUNI
Următoarele opțiuni sunt depreciate. Este mult mai bine să folosiți în schimb ținte de anulare.
Ele sunt nu disponibil in compat 10.
--pana cand cmd
Rulați comenzile în secvența până la și inclusiv cmd, apoi opriți-vă.
--inainte de cmd
Rulați comenzile în ordinea anterioară cmd, apoi opriți-vă.
--după cmd
Rulați comenzile în secvența care urmează cmd.
--rămas
Rulați toate comenzile din secvența care nu au fost încă executate.
În opțiunile de mai sus, cmd poate fi un nume complet al unei comenzi debhelper sau un subșir. Va fi
mai întâi căutați o comandă în secvența care se potrivește exact cu numele, pentru a evita oricare
ambiguitate. Dacă există mai multe potriviri de subșiruri, va fi ultima din secvență
folosit.
Utilizați dh online folosind serviciile onworks.net