dpkg-buildpackage - binaire of broncodepakketten bouwen uit de
broncode
dpkg-buildpackage [optie...]
dpkg-buildpackage is een programma dat het proces van het
bouwen van een Debian pakket automatiseert. Het bestaat uit de volgende
stappen:
- 1.
- Het voert de uitbreiding (hook) preinit uit voordat een bronbestand
wordt gelezen. Het bereidt de bouwomgeving voor door verschillende
omgevingsvariabelen in te stellen(zie OMGEVING), voert de
uitbreiding init uit en roept dpkg-source --before-build aan
(tenzij -T of --target gebruikt werd).
- 2.
- Het controleert of voldaan is aan de bouw-vereisten en de
bouw-tegenstrijdigheden (tenzij -d of --no-check-builddeps
opgegeven werd).
- 3.
- Indien met de optie -T of --target een of meer specifieke
doelen geselecteerd werden, roept het deze doelen aan en stopt dan. Anders
voert het de uitbreiding (hook) preclean uit en roept het
fakeroot debian/rules clean aan om de bouwboom zuiver te maken
(tenzij -nc of --no-pre-clean opgegeven werd).
- 4.
- Het voert de uitbreiding (hook) source uit en roept dpkg-source
-b aan om het broncodepakket te genereren (indien het bouwen van
source aangevraagd werd met --build of gelijkwaardige
opties).
- 5.
- Het voert de uitbreiding (hook) build uit en roept
debian/rules build-target aan. Het voert vervolgens de
uitbreiding (hook) binary uit, gevolgd door fakeroot
debian/rules binary-target (tenzij enkel de bouw van het
broncodepakket gevraagd werd met --build=source of gelijkwaardige
opties). Merk op dat build-target en binary-target ofwel
build en binary zijn (de standaardsituatie, of indien een
bouw van het type any en all aangevraagd werd met
--build of gelijkwaardige opties), ofwel build-arch en
binary-arch (indien een bouw van het type any maar niet
all aangevraagd werd met --build of gelijkwaardige opties),
ofwel build-indep en binary-indep (indien een bouw van het
type all maar niet any aangevraagd werd met --build
of gelijkwaardige opties).
- 6.
- Het voert de uitbreiding (hook) buildinfo uit en roept
dpkg-genbuildinfo aan om een bestand .buildinfo aan te
maken. Verschillende opties van dpkg-buildpackage worden aan
dpkg-genbuildinfo overgemaakt.
- 7.
- Het voert de uitbreiding (hook) changes uit en roept
dpkg-genchanges aan om een .changes-bestand te genereren. De
naam van het bestand .changes zal afhangen van het type bouw en zal
zo specifiek zijn als nodig, maar niet meer dan dat; de naam zal als volgt
zijn:
Veel dpkg-buildpackage-opties worden doorgestuurd naar
dpkg-genchanges.
- 8.
- Het voert de uitbreiding (hook) postclean uit en als -tc of
--post-clean werd opgegeven zal het nogmaals fakeroot
debian/rules clean aanroepen.
- 9.
- Het roept dpkg-source --after-build aan.
- 10.
- Het voert de uitbreiding (hook) check uit en roept een
pakketcontroleprogramma aan voor nazicht van het bestand .changes
(indien er in DEB_CHECK_COMMAND of met --check-command een
commando opgegeven werd).
- 11.
- Het voert de uitbreiding (hook) sign uit en ondertekent met behulp
van de OpenPGP-backend (voor zover het geen bouw van het type UNRELEASED
is of tenzij --no-sign werd opgegeven) voor het ondertekenen van
het bestand .dsc (als dat bestaat, tenzij -us of
--unsigned-source opgegeven werden), van het bestand
.buildinfo (tenzij -ui, --unsigned-buildinfo,
-uc of --unsigned-changes opgegeven werden) en van het
bestand .changes (tenzij -uc of --unsigned-changes
opgegeven werden).
- 12.
- Het voert de uitbreiding (hook) done uit.
Alle opties kunnen zowel opgegeven worden aan de commandoregel als
in de systeem- en gebruikersconfiguratiebestanden voor
dpkg-buildpackage. Elke regel in het configuratiebestand is ofwel een
optie (exact hetzelfde als de commandoregeloptie, maar zonder de
verbindingsstreepjes aan het begin) of commentaar (als hij begint met een
‘#’).
- --build=type
- Geeft het bouw-type op vanuit een lijst van door komma's gescheiden
componenten (sinds dpkg 1.18.5). Alle opgegeven componenten worden
gecombineerd om het enige te gebruiken bouwtype uit te kiezen, wat inhoudt
dat één enkele compilatie wordt uitgevoerd met
één enkel .changes-bestand. Wordt doorgegeven aan
dpkg-genchanges.
De waarden die gebruikt mogen worden zijn:
- source
- Bouwt het broncodepakket.
Opmerking: Indien u deze waarde op zichzelf staand
gebruikt en indien uw enige bedoeling is om het bronpakket gewoon
(opnieuw) te bouwen vanuit een zuivere broncodeboom, dan is het altijd
beter om rechtstreeks dpkg-source te gebruiken, aangezien dat
niet vereist dat eventuele bouwvereisten geïnstalleerd worden,
welke anders nodig zijn om in staat te zijn het doelwit clean te
aanroepen.
- any
- Bouwt de architectuurspecifieke binaire pakketten.
- all
- Bouwt de architectuuronafhankelijke binaire pakketten.
- binary
- Bouwt de architectuurspecifieke en de architectuuronafhankelijke binaire
pakketten. Dit is een alias voor any,all.
- full
- Bouwt alles. Dit is een alias voor source,any,all en identiek aan
de standaardsituatie wanneer geen bouwoptie opgegeven werd..
- -g
- Het equivalent van --build=source,all (sinds dpkg 1.17.11).
- -G
- Het equivalent van --build=source,any (sinds dpkg 1.17.11).
- -b
- Het equivalent van --build=binary of --build=any,all.
- -B
- Het equivalent van --build=any.
- -A
- Het equivalent van --build=all.
- -S
- Het equivalent van --build=source.
- -F
- Het equivalent van --build=full, --build=source,binary of
--build=source,any,all (sinds dpkg 1.15.8).
- --target=target[,...]
- --target
doel[,...]
- -T,
--rules-target=target[,...]
- Roept na het opzetten van de bouwomgeving per opgegeven target eenmaal
debian/rules doel aan en stopt het proces van het bouwen van
het pakket hier (sinds dpkg 1.15.0, de lange optie sinds dpkg 1.18.8, de
ondersteuning voor meerdere targets sinds dpkg 1.18.16). Indien ook
--as-root opgegeven werd, dan wordt het commando als
systeembeheerder uitgevoerd (zie --root-command). Merk op dat
gekende targets die verplicht als systeembeheerder moeten uitgevoerd
worden, deze optie niet nodig hebben (d.w.z. de targets clean,
binary, binary-arch en binary-indep).
- --as-root
- Enkel zinvol in samenhang met --target (sinds dpkg 1.15.0). Vereist
dat het doel met systeembeheerdersrechten uitgevoerd wordt.
- -si
- -sa
- -sd
- -vversie
- -Cbeschrijving-van-de-wijzigingen
- -madres-van-de-beheerder
- -eadres-van-de-beheerder
- Wordt ongewijzigd doorgegeven aan dpkg-genchanges. Zie de
man-pagina ervan.
- --build-by=adres-van-de-beheerder
- --source--by=adres-van-de-beheerder
(sinds dpkg 1.21.10)
- Doorgeven als -m aan dpkg-genchanges. Zie de man-pagina
ervan.
- --release-by=adres-van-de-beheerder
- --changed-by=adres-van-de-beheerder
(sinds dpkg 1.21.10)
- Doorgeven als -e aan dpkg-genchanges. Zie de man-pagina
ervan.
- -a, --host-arch
architectuur
- De Debian-architectuur waarvoor we bouwen specificeren (lange optie sinds
dpkg 1.17.17). De architectuur van de machine waarop we bouwen, wordt
automatisch vastgesteld en ze wordt ook als standaard genomen voor de
hostmachine.
- -t, --host-type
gnu-systeemtype
- Het GNU-systeemtype waarvoor we bouwen specificeren (lange optie sinds
dpkg 1.17.17). Het kan gebruikt worden in de plaats van --host-arch
of als een aanvulling om het standaard GNU-systeemtype voor de
Debian-architectuur van de host aan te passen.
- --target-arch
architectuur
- De Debian-architectuur specificeren waarvoor de gebouwde programma's
gebouwd zullen worden (sinds dpkg 1.17.17). De standaardwaarde is de
hostmachine.
- --target-type
gnu-systeemtype
- Het GNU-systeemtype specificeren waarvoor de gebouwde programma's gebouwd
zullen worden (sinds dpkg 1.17.17). Het kan gebruikt worden in de plaats
van --target-arch of als een aanvulling om het standaard
GNU-systeemtype voor de Debian doelarchitectuur aan te passen.
- -P,
--build-profiles=profiel[,...]
- Het/de profiel(en) welke we bouwen specificeren in een lijst met een komma
als scheidingsteken (sinds dpkg 1.17.2, de lange optie sinds dpkg 1.18.8).
Het standaardgedrag is om niet voor een specifiek profiel te bouwen. Stelt
ze ook in (als een lijst met een spatie als scheidingsteken) als de
omgevingsvariabele DEB_BUILD_PROFILES, hetgeen bijvoorbeeld toelaat
aan debian/rules-bestanden om gebruik te maken van deze informatie
bij voorwaardelijke bouwoperaties.
- -j,
--jobs[=taken|auto]
- Geeft het aantal taken aan dat gelijktijdig mag worden uitgevoerd (sinds
dpkg 1.14.7, lange optie sinds dpkg 1.18.8). Waarbij het aantal taken
overeenkomt met het aantal online-processors indien auto werd
opgegeven (sinds dpkg 1.17.10), of een onbeperkt aantal indien
taken niet werd opgegeven. Het standaardgedrag is auto
(sinds dpkg 1.18.11) in niet-opgelegde modus (sinds dpkg 1.21.10), en als
zodanig is het altijd veiliger om dit te gebruiken voor elk pakket,
inclusief voor pakketten die niet op een veilige manier parallel kunnen
worden gebouwd. Als u het aantal taken instelt op 1, wordt de
seriële uitvoering hersteld.
Het voegt parallel=taken of parallel toe
aan de omgevingsvariabele DEB_BUILD_OPTIONS, hetgeen
debian/rules-bestanden in staat stelt van deze informatie gebruik te
maken voor eigen doeleinden (opt-in modus genaamd). De waarde
taken heeft voorrang op de optie parallel=taken of
parallel in de omgevingsvariabele DEB_BUILD_OPTIONS. Merk
op dat de waarde auto zal vervangen worden door het effectieve
aantal momenteel actieve processoren en ze dus als zodanig naar geen
enkel onderliggend proces doorgegeven zal worden. Indien het aantal
beschikbare online-processoren niet afgeleid kan worden, dan zal de code
terugvallen op het gebruiken van seriële uitvoering (sinds dpkg
1.18.15), hoewel dit enkel zou mogen gebeuren op exotische en
niet-ondersteunde systemen.
- -J,
--jobs-try[=taken|auto]
- Deze optie (sinds dpkg 1.18.2, lange optie sinds dpkg 1.18.8) is
gelijkwaardig aan de optie -j hierboven.
Aangezien het gedrag van -j in dpkg 1.21.10 veranderde
naar de opt-in modus, kunt u in plaats daarvan deze optie gebruiken als
u over de verschillende uitgaven van dpkg heen eenzelfde betekenis moet
kunnen garanderen.
- --jobs-force[=taken|auto]
- Deze optie (sinds dpkg 1.21.10) is gelijkwaardig aan de optie
--jobs behalve dat ze de opgelegde parallelle modus zal activeren
door de optie -j voor make met het berekende aantal
parallelle taken toe te voegen aan de omgevingsvariabele MAKEFLAGS.
Dit zou ertoe moeten leiden dat alle volgende aanroepen van
make die optie overerven, waardoor de parallelle instelling voor het
verpakken (en mogelijk voor het bovenstroomse bouwsysteem als dat
make(1) gebruikt) wordt opgelegd, ongeacht hun ondersteuning voor
een parallelle bouw, wat bouwfouten zou kunnen veroorzaken.
Opmerking: elke Makefile die niet parallel-aangepast is, moet
als een fouten bevattende Makefile beschouwd worden. Deze zouden ofwel
parallel-aangepast moeten gemaakt worden of als niet veilig gemarkeerd
worden met het target make(1) .NOTPARALLEL.
- -D,
--check-builddeps
- Bouwvereisten en tegenstrijdigheden controleren en afbreken als er niet
aan voldaan is (de lange optie sinds dpkg 1.18.8). Dit is het
standaardgedrag.
- -d,
--no-check-builddeps
- Bouwvereisten en tegenstrijdigheden niet controleren (de lange optie sinds
dpkg 1.18.8).
- --ignore-builtin-builddeps
- Ingebouwde bouwvereisten en tegenstrijdigheden niet controleren (sinds
dpkg 1.18.2). Dit zijn de distributiespecifieke impliciete bouwvereisten
die gewoonlijk noodzakelijk zijn in een bouwomgeving, de zogenaamde set
van pakketten van het type Build-Essential.
- --rules-requires-root
- Het veld Rules-Requires-Root niet honoreren; er wordt teruggevallen
op zijn verouderde standaardwaarde (since dpkg 1.19.1).
- -nc,
--no-pre-clean
- Voor het bouwen de broncodeboom niet opschonen (de lange optie sinds dpkg
1.18.8). Impliceert -b indien geen van de opties -F,
-g, -G, -B, -A of -S gekozen werd.
Gecombineerd met -S impliceert dit -d (sinds dpkg
1.18.0).
- --pre-clean
- Voor het bouwen de broncodeboom opschonen (sinds dpkg 1.18.8). Dit is het
standaardgedrag.
- -tc,
--post-clean
- De broncodeboom opschonen (met commando-om-root-te-worden
debian/rules clean) nadat het pakket gebouwd werd (de lange optie
sinds dpkg 1.18.8).
- --no-post-clean
- De broncodeboom niet opschonen na het bouwen van het pakket (sinds dpkg
1.19.1). Dit is het standaardgedrag.
- --sanitize-env
- De bouwomgeving saneren (sinds dpkg 1.20.0). Dit houdt het verwijderen of
opnieuw instellen in van omgevingsvariabelen, van umask en van eventuele
andere procesattributen welke anders de bouw van pakketten negatief zouden
kunnen beïnvloeden. Omdat het officiële startpunt voor het
bouwen van pakketten debian/rules is, kunnen pakketten er niet op
vertrouwen dat deze instellingen aanwezig zijn en moeten ze dus werken
indien dat niet het geval is. Wat gesaneerd moet worden is
leverancierspecifiek.
- -r,
--root-command=commando-om-root-te-worden
- Wanneer dpkg-buildpackage een deel van het bouwproces in de
hoedanigheid van root (systeembeheerder) moet uitvoeren, laat het het
commando dat het uitvoert voorafgaan door
commando-om-root-te-worden indien er een opgegeven werd (de lange
optie sinds dpkg 1.18.8). Anders, als er geen opgegeven werd, wordt
standaard fakeroot gebruikt als het beschikbaar is.
commando-om-root-te-worden moet beginnen met de naam van een
programma in het PATH en krijgt als argumenten de naam van het
echte commando dat uitgevoerd moet worden en de argumenten die het moet
krijgen. commando-om-root-te-worden kan parameters bevatten (ze
moeten met spaties van elkaar gescheiden worden) maar geen
shell-metatekens. Doorgaans is commando-om-root-te-worden
fakeroot, sudo, super of really. su is
niet geschikt, aangezien het enkel de shell van de gebruiker kan aanroepen
met -c in plaats van afzonderlijke argumenten door te geven aan het
uit te voeren commando.
- -R,
--rules-file=rules-bestand
- Een Debian-pakket bouwen houdt meestal het aanroepen van
debian/rules in als een commando met verschillende
standaardparameters (sinds dpkg 1.14.17, de lange optie sinds dpkg
1.18.8). Met deze optie is het mogelijk om een andere programma-aanroep te
gebruiken om het pakket te bouwen (ze kan parameters bevatten die
onderling door spaties gescheiden worden). Anderzijds kan de optie ook
gebruikt worden om het standaard rules-bestand uit te voeren met een ander
make-programma (bijvoorbeeld door /usr/local/bin/make -f
debian/rules te gebruiken als rules-bestand).
- --check-command=controlecommando
- Commando dat gebruikt wordt om het bestand .changes zelf en
eventuele gebouwde artefacten waarnaar in het bestand verwezen wordt, te
controleren (sinds dpkg 1.17.6). Het commando moet als argument de padnaam
van .changes krijgen. Gewoonlijk is dit commando
lintian.
- --check-option=optie
- Optie optie doorgeven aan het controlecommando dat
gespecificeerd werd met DEB_CHECK_COMMAND of met
--check-command (sinds dpkg 1.17.6). Kan meermaals gebruikt
worden.
- --hook-hook-naam=hook-commando
- Stelt de opgegeven shell-code hook-commando in als de uitbreiding
(hook) hook-naam, die zal uitgevoerd worden op de momenten die in
de uitvoeringsstappen gepreciseerd worden (sinds dpkg 1.17.6). De
uitbreidingen (hooks) zullen steeds uitgevoerd worden, zelfs als de
volgende actie niet uitgevoerd wordt (met uitzondering voor de uitbreiding
(hook) binary). Alle uitbreidingen (hooks) zullen uitgevoerd worden
in de map van de uitgepakte broncode.
Sommige uitbreidingen (hooks) kunnen aanvullende informatie
ontvangen via omgevingsvariabelen (sinds dpkg 1.22.0). Alle hooks
krijgen hun hooknaam in de omgevingsvariabele
DPKG_BUILDPACKAGE_HOOK_NAME (sinds dpkg 1.22.0).
Opmerking: uitbreidingen (hooks) kunnen het bouwproces
beïnvloeden en leiden tot het mislukken van de bouw als hun
commando's falen. Wees dus alert voor onbedoelde consequenties.
Momenteel worden de volgende hook-namen
ondersteund:
- preinit
- init
- preclean
- source
- Haalt DPKG_BUILDPACKAGE_HOOK_SOURCE_OPTIONS op met de door spaties
gescheiden lijsten met opties die worden doorgegeven aan de
dpkg-source-aanroep.
- build
- Haalt DPKG_BUILDPACKAGE_HOOK_BUILD_TARGET op met de naam van het
aangeroepen bouwdoel uit debian/rules, maar alleen als het wordt
aangeroepen.
- binary
- Haalt DPKG_BUILDPACKAGE_HOOK_BINARY_TARGET op met de naam van het
aangeroepen binaire doel uit debian/rules, maar alleen als het
wordt aangeroepen.
- buildinfo
- Haalt DPKG_BUILDPACKAGE_HOOK_BUILDINFO_OPTIONS op met de door
spaties gescheiden lijsten met opties die worden doorgegeven aan de
dpkg-genbuildinfo-aanroep.
- changes
- Haalt DPKG_BUILDPACKAGE_HOOK_CHANGES_OPTIONS op met de door spaties
gescheiden lijsten met opties die worden doorgegeven aan de
dpkg-genchanges-aanroep.
- postclean
- check
- Haalt DPKG_BUILDPACKAGE_HOOK_CHECK_OPTIONS op met de door spaties
gescheiden lijsten met opties die worden doorgegeven aan het aangeroepen
controlecommando.
- sign
- done
Het hook-commando ondersteunt de volgende
substitutie-indelingstekenreeksen, die er voorafgaand aan de uitvoering op
toegepast zullen worden:
- %%
- Eén enkel %-teken.
- %a
- Een booleaanse waarde (0 of 1), die aangeeft of de volgende actie
uitgevoerd wordt of niet.
- %p
- De naam van het broncodepakket.
- %v
- De versie van het broncodepakket.
- %s
- De versie van het broncodepakket (zonder de epoch).
- %u
- Het bovenstroomse versienummer (toeleveraarsversie).
- --buildinfo-file=bestandsnaam
- De bestandsnaam instellen voor het gegenereerde
.buildinfo-bestand (sinds dpkg 1.21.0).
- --buildinfo-option=optie
- Optie optie doorgeven aan dpkg-genbuildinfo (sinds dpkg
1.18.11). Kan meermaals gebruikt worden.
- --sign-backend=ondertekeningsbackend
- Een OpenPGP-backendinterface opgeven welke gebruikt moet worden bij het
aanroepen van het ondertekeningscommando (sinds dpkg 1.21.10).
De standaardinstelling is auto, waarbij de beste
beschikbare backend wordt gebruikt. De specifieke ondersteunde
OpenPGP-backends in volgorde van voorkeur zijn:
- sop
- (elke conforme Stateless OpenPGP-implementatie)
- sq
- (van Sequoia-PGP)
- gpg
- (van GnuPG)
- -p,
--sign-command=ondertekeningscommando
- Als dpkg-buildpackage een OpenPGP backend-commando moet uitvoeren
om een controlebestand (.dsc) van de broncode, een
.buildinfo-bestand of een .changes-bestand te ondertekenen,
zal het ondertekeningscommando uitvoeren (en indien nodig daarbij
het PATH doorzoeken) in plaats van het standaard of automatisch
gedetecteerde backend-commando (de lange optie sinds dpkg 1.18.8). Aan
ondertekeningscommando zullen alle backend-specifieke argumenten
meegegeven worden volgens de geselecteerde --sign-backend.
ondertekeningscommando mag geen spaties bevatten en geen andere
shell-metatekens.
- -k,
--sign-keyid=sleutel-id
- --sign-key=sleutel-id
- Een OpenPGP sleutel-ID (hetzij een vingerafdruk of een gebruikers-ID)
opgeven voor de geheime sleutel die moet worden gebruikt bij het
ondertekenen van pakketten (--sign-key sinds dpkg 1.18.8,
--sign-keyid sinds dpkg 1.21.10).
- --sign-keyfile=sleutel-bestand
- Een OpenPGP sleutel-bestand opgeven dat de geheime sleutel bevat
die moet worden gebruikt bij het ondertekenen van pakketten (sinds dpkg
1.21.10).
Opmerking: uit veiligheidsoverwegingen kan het
sleutel-bestand best met een wachtwoord vergrendeld worden
gehouden.
- -us,
--unsigned-source
- Het broncodepakket niet ondertekenen (de lange optie sinds dpkg
1.18.8).
- -ui,
--unsigned-buildinfo
- Het bestand .buildinfo niet ondertekenen (sinds dpkg 1.18.19).
- -uc,
--unsigned-changes
- De bestanden .buildinfo en .changes niet ondertekenen (de
lange optie sinds dpkg 1.18.8).
- --no-sign
- Geen enkel bestand ondertekenen; dit omvat het broncodepakket, het bestand
.buildinfo en het bestand .changes (sinds dpkg
1.18.20).
- --force-sign
- Het ondertekenen van de resulterende bestanden afdwingen (sinds dpkg
1.17.0), ongeacht -us, --unsigned-source, -ui,
--unsigned-buildinfo, -uc, --unsigned-changes of
overige interne heuristiek.
- -sn
- -ss
- -sA
- -sk
- -su
- -sr
- -sK
- -sU
- -sR
- -i,
--diff-ignore[=regex]
- -I,
--tar-ignore[=patroon]
- -z,
--compression-level=niveau
- -Z,
--compression=compressor
- Wordt ongewijzigd doorgegeven aan dpkg-source. Zie de man-pagina
ervan.
- --source-option=optie
- Optie optie doorgeven aan dpkg-source (sinds dpkg 1.15.6).
Kan meermaals gebruikt worden.
- --changes-file=bestandsnaam
- De bestandsnaam instellen voor het gegenereerde
.changes-bestand (sinds dpkg 1.21.0).
- --changes-option=optie
- Optie optie doorgeven aan dpkg-genchanges (sinds dpkg
1.15.6). Kan meermaals gebruikt worden.
- --admindir=map
- --admindir
map
- Een andere locatie opgeven voor de database van dpkg (sinds dpkg
1.14.0). De standaardlocatie is /var/lib/dpkg.
- -?, --help
- Info tonen over het gebruik en afsluiten.
- --version
- De versie tonen en afsluiten.
- DEB_CHECK_COMMAND
- Indien dit ingesteld werd, zal het gebruikt worden als het commando
waarmee het bestand .changes gecontroleerd wordt (sinds dpkg
1.17.6). De optie --check-command heeft hierop voorrang.
- DEB_SIGN_KEYID
- Indien dit ingesteld werd, zal het gebruikt worden om de bestanden
.changes, .buildinfo en .dsc te ondertekenen (sinds
dpkg 1.17.2). De optie --sign-key heeft hierop voorrang.
- DEB_SIGN_KEYFILE
- Indien dit ingesteld werd, zal het gebruikt worden om de bestanden
.changes, .buildinfo en .dsc te ondertekenen (sinds
dpkg 1.21.10). De optie --sign-key heeft hierop voorrang.
- DEB_BUILD_OPTIONS
- If set, it will contain a space-separated list of options that affect the
behavior of some dpkg tools involved in package building, and might affect
the package build process if the code in debian/rules honors them.
These options can have parameters specified immediately after an equal
sign (‘=‘). For options that support multiple
parameters, these will not be separated by spaces, as these are reserved
to separate options.
Hieronder volgen de opties die bekend zijn en worden
ondersteund door dpkg-gereedschappen; andere opties die worden erkend
door debian/rules kunnen worden gedefinieerd door
distributiespecifiek beleid.
- parallel=N
- In het verpakkingsproces kan men in het bestand debian/rules deze
optie gebruiken om het bouwproces zo in te stellen dat N parallelle
taken worden gebruikt. Deze optie wordt overschreven door de opties
--jobs en --jobs-force.
- nocheck
- dpkg-buildpackage negeert de variabele DEB_CHECK_COMMAND. In
het verpakkingsproces wordt van debian/rules niet verwacht dat het
testsuites uitvoert tijdens het bouwen.
- noopt
- Als debian/rules dpkg-buildflags aanroept om de bouwvlaggen
in te stellen, dan zullen deze zo worden ingesteld dat er geen
optimalisaties mogelijk zijn.
- nostrip
- In het verpakkingsproces moet debian/rules ervoor zorgen dat geen
foutopsporingsinformatie wordt verwijderd van objecten. Als
debian/rules het make-fragment mk/buildtools.mk bevat, zal
de make-variabele STRIP deze optie respecteren.
- terse
- dpkg-buildpackage zal de make(1)-vlag
--no-print-directory toevoegen aan de omgevingsvariabele
MAKEFLAGS. In het verpakkingsproces moet debian/rules de
breedsprakigheid beperken, maar niet helemaal stil zijn.
- hardening=feature-spec
- reproducible=feature-spec
- abi=feature-spec
- future=feature-spec
- qa=feature-spec
- optimize=feature-spec
- sanitize=feature-spec
- These are feature areas that control build flag features. See
dpkg-buildflags(1) for further details.
- DEB_BUILD_PROFILES
- Indien dit ingesteld werd, zal het gebruikt worden als het/de actieve
bouwprofiel(en) voor het pakket dat gebouw wordt (sinds dpkg 1.17.2). Het
is een lijst van profielnamen die onderling door een spatie gescheiden
zijn. De optie -P heeft hierop voorrang.
- DPKG_COLORS
- Stelt de kleurmodus in (sinds dpkg 1.18.5). Waarden die momenteel gebruikt
mogen worden zijn: auto (standaard), always en
never.
- DPKG_NLS
- Indien dit ingesteld is, zal het gebruikt worden om te beslissen over het
activeren van moedertaalondersteuning, ook gekend als
internationaliseringsondersteuning (of i18n) (sinds dpkg 1.19.0). Geldige
waarden zijn: 0 and 1 (standaard).
Zelfs al exporteert dpkg-buildpackage sommige variabelen,
toch mag debian/rules er niet op rekenen dat ze aanwezig zijn en moet
het in de plaats daarvan gebruik maken van de desbetreffende interface om de
benodigde variabelen op te halen, aangezien dat bestand.het belangrijkste
aanspreekpunt is voor het bouwen van pakketten en de op zichzelf staande
uitvoering ervan ondersteund moet zijn.
- DEB_BUILD_*
- DEB_HOST_*
- DEB_TARGET_*
- dpkg-architecture wordt aangeroepen met de doorgegeven parameters
-a en -t. Eventuele variabelen die zijn optie -s als
uitvoer geeft, worden in de bouwomgeving geïntegreerd.
- DEB_RULES_REQUIRES_ROOT
- Deze variabele wordt ingesteld op de waarde die verkregen wordt uit het
veld Rules-Requires-Root, het niveau van dpkg-build-api of vanuit
de commandoregel. Indien ze ingesteld is, zal ze een geldige waarde zijn
voor het veld Rules-Requires-Root. Ze wordt gebruikt om
debian/rules te informeren of de specificatie
rootless-builds.txt ondersteund wordt.
- DEB_GAIN_ROOT_CMD
- Deze variabele wordt ingesteld op gain-root-command wanneer het
veld Rules-Requires-Root ingesteld staat op een andere waarde dan
no of binary-targets.
- SOURCE_DATE_EPOCH
- Deze variabele wordt ingesteld op de Unix-tijd (timestamp) sinds het
tijdstip (de epoch) van het laatste item in debian/changelog, voor
zover hij niet reeds gedefinieerd is.
- /etc/dpkg/buildpackage.conf
- Configuratiebestand dat voor het hele systeem geldt
- $XDG_CONFIG_HOME/dpkg/buildpackage.conf of
- $HOME/.config/dpkg/buildpackage.conf
- Configuratiebestand dat gebruikersafhankelijk is.
Tussen dpkg 1.14.17 en 1.16.1 exporteerde dpkg-buildpackage
compileervlaggen (CFLAGS, CXXFLAGS, FFLAGS,
CPPFLAGS en LDFLAGS) met de waarden die door
dpkg-buildflags teruggegeven werden. Dit is niet langer het
geval.
dpkg-buildpackage gebruikt sinds dpkg 1.16.2 de targets
build-arch en build-indep. Deze targets zijn dus verplicht.
Maar om te vermijden dat bestaande pakketten defect raken en om de overgang
te vergemakkelijken, zal het, indien het broncodepakket niet zowel
architectuuronafhankelijke als architectuurspecifieke binaire pakketten
bouwt (sinds dpkg 1.18.8), terugvallen op het gebruik van het target
build indien make -f debian/rules -qn bouwtarget 2
teruggeeft als afsluitwaarde.
Het bouwen van binaire of bronpakketten mag alleen worden
uitgevoerd op basis van vertrouwde brongegevens.
Het zou mogelijk moeten zijn om spaties en shell-metatekens en
initiële argumenten op te geven voor
commando-om-root-te-worden en ondertekeningscommando.
/usr/share/doc/dpkg/spec/rootless-builds.txt,
dpkg-source(1), dpkg-architecture(1),
dpkg-buildflags(1), dpkg-genbuildinfo(1),
dpkg-genchanges(1), fakeroot(1), lintian(1),
<https://datatracker.ietf.org/doc/draft-dkg-openpgp-stateless-cli/>,
sq(1), gpg(1).