dpkg-buildpackage(1)

NAMN
dpkg-buildpackage - bygg binär- eller källkodspaket från källkod

SYNOPS
dpkg-buildpackage [flagga...]

BESKRIVNING
dpkg-buildprogram är ett program som automatiserar processen med att bygga ett Debianpaket. Det består av följande steg:

1.  Byggmiljön förbereds genom att diverse miljövariabler sätts (se MILJÖ) och anropar dpkg-source --before-build (såvida inte _T eller --target används).

2.  Byggberoenden och -konflikter kontrolleras att de uppfylls (såvida inte -d anges).

3.  Om ett specifikt mål har valts med flaggan -T eller --target anropas det målet, varpå programmet avslutas. I annat fall anropas fakeroot debian/rules clean för att städa byggträdet (såvida inte -nc anges).

4.  dpkg-source -b anropas för att skapa källkodspaketet (såvida inte ett bygge av enbart binärer har valts med -b, -B eller -A).

5.  debian/rules byggmål anropas, följt av fakeroot debian/rules binärmål (såvida inte ett bygge av enbart källkod har valts med -S). Observera att byggmål och binärmål är ett av build och binary (standardval, eller om -b anges), build-arch och binary-arch (om -B anges) eller build-indep och binary-indep (om -A anges).

6.  It calls gpg to sign the .dsc file (if any, unless -us is specified or on UNRELEASED builds).

7.  dpkg-genchanges anropas för att skapa en .changes-fil. Många av flaggorna till dpkg-buildpackage vidaresänds till dpkg-genchanges.

8.  It calls gpg to sign the .changes file (unless -uc is specified or on UNRELEASED builds).

9.  Om -tc anges anropas fakeroot debian/rules clean ytterligare en gång. Till slut anropas dpkg-source --after-build.

FLAGGOR

-b  Anger att enbart binära paket skall byggas, inga källkodsfiler byggs och/eller distribueras. Sänds vidare till dpkg-genchanges.

-B  Anger att enbart binära paket skall byggas, begränsat till arkitekturberoende paket. Sänds vidare till dpkg-genchanges.

-A  Anger att enbart binära paket skall byggas, begränsat till arkitekturoberoende paket. Sänds vidare till dpkg-genchanges.

-S  Anger att enbart källkodspaket skall byggas, inga binärpaket behöver byggas. Sänds vidare till dpkg-genchanges.

-F  Anger att ett normalt komplett bygge, binär- och källkodspaket, skall byggas. Detta är detsamma som standardläget om inga byggflaggor anges.

--target=mål
--target mål
-Tmål
    Anropar debian/rules mål efter att ha konfigurerat byggmiljön, och avbryter byggprocessen efteråt. Om --as-root också anges körs kommandot som root (se -r). Observera att officiella mål som måste köras som root inte behöver flaggan.

--as-root
    Endast meningsfull tillsammans med --target. Kräver att målet körs med root-behörighet.

-si
-sa
-sd
-vversion
-Cändringsbeskrivning
-mpaketansvarige-adress
-epaketansvarige-adress
    Sänds vidare utan ändringar till dpkg-genchanges. Se dess manualsida.

-aarkitektur
    Ange Debianarkitekturen vi bygger för. Arkitekturen för maskinen vi bygger på bestäms automatiskt, och är även standard för värdmaskinen.

-tgnu-systemtyp
    Ange GNU-systemtyp vi bygger för. Den kan användas i stället för -a eller som ett komplement för att överstyra standard-GNU-systemtypen för Debian-målarkitekturen.

-Pprofile[,...]
    Specify the profile(s) we build, as a comma-separated list, without the "profile." namespace prefix. The default behavior is to build for no specific profile. Also adds them (as a space separated list) to the DEB_BUILD_PROFILES environment variable which allows, for example, debian/rules files to use this information for conditional builds.

-jjobb
    Number of jobs allowed to be run simultaneously, equivalent to the make(1) option of the same name. Will add itself to the MAKEFLAGS environment variable, which should cause all subsequent make invocations to inherit the option. Also adds parallel=jobs to the DEB_BUILD_OPTIONS environment variable which allows debian/rules files to use this information for their own purposes. The parallel=jobs in DEB_BUILD_OPTIONS environment variable will override the -j value if this option is given.

-D  Kontrollera byggberoenden och -konflikter; avbryt om de inte uppfylls. Detta är standardbeteendet.

-d  Kontrollera inte byggberoenden eller -konflikter.

-nc Städa inte upp byggträdet (implicerar -b om inget annat har valts bland -B, -A eller -S).

-tc Städa källkodsträdet (använder få-root-kommando debian/rules clean) efter att paketet har byggts.

-rfå-root-kommando
    När dpkg-buildpackages behöver exekvera delar av byggprocessen som root sätter den kommandot som skall exekveras efter få-root-kommando om ett sådant har angivits. Om inte kommer fakeroot att användas som standard, om kommandot existerar. få-root-kommando måste börja med namnet på det faktiska kommandot som skall anropas samt de parametrar det skall anropas med. få-root-kommando kan innehålla parametrar (de måste vara avdelade med blanksteg) men inga skalmetatecken. få-root-kommando kan typiskt vara fakeroot, sudo, super eller really. su är inte lämpligt eftersom det kräver flaggan -c för att köra ett kommando och även då kan det bara starta användarens skal med -c istället för att sända flaggor individuellt till kommandot som skall startas.

-Rregelfil
    För att bygga ett Debianpaket körs normalt kommandot debian/rules med flera olika standardparametrar. Den här flaggan gör det möjligt att använda ett annat programanrop för att bygga paketet (det kan innehålla blankstegsavdelade parametrar). Den kan även användas för att exekvera standardregelfilen med ett annat make-program (till exempel genom att använda /usr/local/bin/make -f debian/rules som regelfil).

-psigneringskommando
    När dpkg-buildpackage måste exekvera GPG för att signera ett källkodsstyrfil (.dsc) eller en .changes-fil kör det signeringskommando (det letar i PATH om så behövs) istället för gpg. signeringskommando får de argument gpg skulle ha fått. signeringskommando får inte innehålla blanksteg eller andra skalmetatecken.

-knyckel-id
    Ange nyckel-id att använda vid signering av paket.

-us Signera inte källkodspaketet.

-uc Signera inte .changes-filen.

--force-sign
    Force the signing of the resulting files (since dpkg 1.17.0), regardless of -us or -uc or other internal heuristics.

-i[regex]
-I[pattern]
-s[nsAkurKUR]
-z, -Z
    Sänds vidare utan ändringar till dpkg-source. Se dess manualsida.

--source-option=val
    Sänd flaggan val till dpkg-source.

--changes-option=val
    Sänder flaggan val till dpkg-genchanges.

--admindir=kat
--admindir kat
    Ändra platsen för dpkg-databasen. Förval är /var/lib/dpkg.

-?, --help
    Visar hjälpskärm och avslutar.

--version
    Visar version och avslutar.

MILJÖVARIABLER

DEB_SIGN_KEYID
    If set, it will be used to sign the .changes and .dsc files. Overridden by the -k option.

DEB_BUILD_PROFILES
    If set, it will be used as the active build profile(s) for the package being built. It is a space separated list of profile names, without the "profile." namespace prefix. Overridden by the -P option.

  Reliance on exported environment flags
Även om dpkg-buildpackage exporterar några variabler bör inte debian/rules vara beroende av deras närvaro och bör istället använda respektive gränssnitt för att hämta de värden som behövs.

  Variabler som sätts av dpkg-architecture
dpkg-architecture anropas med flaggorna -a och -t vidaresända. Variabler som skrivs ut via dess -s-flagga integreras i byggmiljön.

ANTECKNINGAR

  Kompileringsflaggor exporteras inte längre.
Between dpkg 1.14.17 and 1.16.1, dpkg-buildpackage exported compiler flags (CFLAGS, CXXFLAGS, FFLAGS, CPPFLAGS and LDFLAGS) with values as returned by dpkg-buildflags. This is no longer the case.

  Default build targets
dpkg-buildpackage is using the build-arch and build-indep targets since dpkg 1.16.2. Those targets are thus mandatory. But to avoid breakages of existing packages, and ease the transition, it will fallback to using the build target if make -f debian/rules -qn build-target returns 2 as exit code.

PROGRAMFEL
Det borde vara möjligt att ange blanksteg och skalmetatecken i, och inledande argument för, få-root-kommando och signeringskommando.

SE ÄVEN
dpkg-source(1), dpkg-architecture(1), dpkg-buildflags(1), dpkg-genchanges(1), fakeroot(1), gpg(1).

ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.