Provided by: dpkg-dev_1.21.21ubuntu1_all bug

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Ö), kör kroken
           init 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 eller
           --no-check-builddeps anges).

       3.  Om ett eller flera specifika mål har valts med flaggan -T eller --target anropas de
           målen, varpå programmet avslutas. I annat fall körs kroken preclean och anropas
           fakeroot debian/rules clean för att städa byggträdet (såvida inte -nc eller
           --no-pre-clean anges).

       4.  Kör kroken source och anropar dpkg-source -b för att skapa källkodspaketet (om ett
           source-bygge (källkod) har ombetts via --build eller liknande flaggor).

       5.  Kör kroken build och anropar debian/rules byggmål, därefter körs kroken binary följt
           av fakeroot debian/rules binärmål (såvida inte ett bygge av enbart källkod har valts
           med --build=source eller liknande flaggor). Observera att byggmål och binärmål är ett
           av build och binary (förval, eller om ett any- eller all-bygge har valts med --build
           eller motsvarande flaggor), eller build-arch och binary-arch (om ett any- men inte ett
           all-bygge har valts med --build eller liknande flaggor), eller build-indep och binary-
           indep (om ett all- men inte ett any-bygge har valts med --build eller liknande
           flaggor).

       6.  Kör kroken buildinfo och anropar dpkg-genbuildinfo för att skapa en .buildinfo-fil.
           Många av flaggorna till dpkg-buildpackage vidaresänds till dpkg-genchanges.

       7.  Kör kroken changes och anropar dpkg-genchanges för att skapa en .changes-fil. Namnet
           på .changes-filen kommer att bero på byggtypen och kommer vara så specifik som
           möjligt, men inte mer; för ett bygge som innehåller any (någon) kommer namnet vara
           källkodsnamn_binärversion_ark.changes, om bygget annars innehåller all (alla) kommer
           namnet vara källkodsnamn_binärversion_all.changes, om bygget annars innehåller source
           (källkod) kommer namnet vara källkodsnamn_källkodsversion_source.changes. Många av
           flaggorna till dpkg-buildpackage vidaresänds till dpkg-genchanges.

       8.  Kör kroken postclean och, om -tc eller --post-clean anges, anropar fakeroot
           debian/rules clean ytterligare en gång.

       9.  Anropar dpkg-source --after-build.

       10. Kör kroken check och anropar en paketkontrollerare för .changes-filen (om ett kommando
           har angivits med DEB_CHECK_COMMAND eller med --check-command).

       11. Kör kroken sign och signerar med OpenPGP-programmet (såvida det inte är ett
           UNRELEASED-bygge, eller om --no-sign angavs) för att signera .dsc-filen (om sådan
           finns, såvida inte -us eller --unsigned-source anges), .buildinfo-filen (såvida inte
           -ui, --unsigned-buildinfo, -uc eller --unsigned-changes anges) och .changes-filen
           (såvida inte -uc eller --unsigned-changes anges).

       12. Kör kroken done.

FLAGGOR

       Alla långa flaggor kan ges både på kommandoraden och i dpkg-buildpackage:s system- och
       användarkonfigurationsfiler. En rad i konfigurationsfilen är antingen en flagga (precis
       samma som på kommandoraden, men utan inledande bindestreck) eller en kommentar (om den
       börjar med ett ”#”).

       --build=typ
           Anger bygg-type från en kommaavdelad lista med komponenter (sedan dpkg 1.18.5). Alla
           angivna komponenter kombineras för att välja den byggtypen som ska användas i den enda
           körningen, vilket leder till en enda byggkörning som skapar en .changes-fil. Sänds
           vidare till dpkg-genchanges.

           Tillåtna värden är:

           source
               Bygger källkodspaketet.

               Observera: När det här värdets används på egen hand och om du bara vill bygga (om)
               källkodspaketet från ett rent källkodsträd, är det alltid ett bättre alternativ
               att köra dpkg-source direkt eftersom det inte kräver att några byggberoenden som
               annars krävs för att anropa målet clean installeras.

           any Bygger arkitekturspecifika binärpaket.

           all Bygger de arkitekturoberoende binärpaketen.

           binary
               Bygger arkitekturspecifika och -oberoende binärpaket. Detta är ett alias till
               any,all.

           full
               Bygger allting. Detta är ett alias för source,any,all, och är detsamma som
               standardläget om inga byggflaggor anges.

       -g  Motsvarar --build=source,all (sedan dpkg 1.17.11).

       -G  Motsvarar --build=source,any (sedan dpkg 1.17.11).

       -b  Motsvarar --build=binary eller --build=any,all.

       -B  Motsvarar --build=any.

       -A  Motsvarar --build=all.

       -S  Motsvarar --build=source.

       -F  Motsvarar --build=full, --build=source,binary eller --build=source,any,all (sedan dpkg
           1.15.8).

       --target=mål[,...]
       --target mål[,...]
       -T, --rules-target=mål[,...]
           Anropar debian/rules mål en gång per angivet mål, efter att ha konfigurerat byggmiljön
           (förutom att anropa dpkg-source --before-build), och avbryter byggprocessen efteråt
           (sedan dpkg 1.15.0, lång flagga sedan dpkg 1.18.8, stöd för flera mål sedan dpkg
           1.18.16). Om --as-root också anges körs kommandot som root (se --root-command).
           Observera att kända mål som måste köras som root inte behöver flaggan (dvs. målen
           clean, binary, binary-arch och binary-indep).

       --as-root
           Ger endast mening tillsammans med --target (sedan dpkg 1.15.0). 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.

       --build-by=paketansvarige-adress
       --source-by=paketansvarige-adress (sedan dpkg 1.21.10)
           Sänds som -m till dpkg-genchanges. Se dess manualsida.

       --release-by=paketansvarige-adress
       --changed-by=paketansvarige-adress (sedan dpkg 1.21.10)
           Sänds som -e till dpkg-genchanges. Se dess manualsida.

       -a, --host-arch arkitektur
           Ange Debianarkitekturen vi bygger för (lång flagga sedan dpkg 1.17.17). Arkitekturen
           för maskinen vi bygger på bestäms automatiskt, och är även standard för värdmaskinen.

       -t, --host-type gnu-system-typ
           Ange GNU-systemtyp vi bygger för (lång flagga sedan dpkg 1.17.17). Den kan användas i
           stället för --host-arch eller som ett komplement för att överstyra standard-GNU-
           systemtypen för Debian-målarkitekturen.

       --target-arch arkitektur
           Ange Debianarkitekturen binärerna som byggs bygger för (sedan dpkg 1.17.17).
           Standardvärde är värdmaskinen.

       --target-type gnu-system-type
           Ange GNU-systemtyp vi binärerna vi som byggs bygger för (sedan dpkg 1.17.17). Den kan
           användas i stället för --target-arch eller som ett komplement för att överstyra
           standard-GNU-systemtypen för Debian-målarkitekturen.

       -P, --build-profile=profil[,...]
           Ange profil(er) vi bygger, som en kommaavdelad lista (sedan dpkg 1.17.2, lång flagga
           sedan dpkg 1.18.8). Standardbeteendet är att inte bygga för någon specifik profil.
           Lägger även till dem (som en blankstegsavdelad lista) till miljövariabeln
           DEB_BUILD_PROFILES vilket, till exempel, gör det möjligt för debian/rules-filer att
           använda informationen för villkorliga byggen.

       -j, --jobs[=jobb|auto]
           Antalet jobb som tillåts att köras samtidigt (sedan dpkg 1.14.7, lång flagga sedan
           dpkg 1.18.8). Antal jobb motsvarande antalet tillgängliga processorer om auto anges
           (sedan dpkg 1.17.10), eller ett obegränsat antal om jobb inte anges. Förvalt beteende
           är auto (sedan dpkg 1.18.11) i icke-tvingat läge (sedan dpkg 1.21.10), och som sådant
           är det alltid säkrare att använda med alla paket, däribland de som inte kan byggas
           parallellt på ett säkert sätt. Om antal jobb sätts till 1 kommer seriell exekvering
           att återställas.

           Lägger till parallel=jobb eller parallel till miljövariabeln DEB_BUILD_OPTIONS, vilket
           gör det möjligt för debian/rules-filer att använda informationen för egna ändamål om
           de önskar. Värdet för jobb kommer att överstyra värdet parallel=jobb eller parallel i
           miljövariabeln DEB_BUILD_OPTIONS. Observera att auto-värdet kommer ersättas av det
           faktiska antalet för närvarande aktiva processorer, och därför inte kommer sändas med
           till barnprocesser. Om antalet tillgängliga processorer inte kan tas fram kommer koden
           att falla tillbaka till seriell exekvering (sedan dpkg 1.18.15), även om detta bara
           borde ske på exotiska och icke stödda system.

       -J, --jobs-try[=jobb|auto]
           Den här flaggan (sedan dpkg 1.18.2, lång flagga sedan dpkg 1.18.8) motsvarar -j ovan.

           Eftersom beteendet för -j ändrades i dpkg 1.21.10 till att vara valfritt kan du
           använda den här flaggan istället om du måste garantera semantiken över flera dpkg-
           utgivningsserier.

       --jobs-force[=jobs|auto]
           Den här flaggan (sedan dpkg 1.12.10) motsvarar flaggan --jobs med undantaget att det
           aktiverar tvingat parallellt läge, genom att lägga till make -j-flaggan med antalet
           beräknade parallella jobb i miljövariabeln MAKEFLAGS.

           Detta borde göra så att alla senare make-anrop ärver flaggan och därmed påtvinga
           parallelliseringsinställningen i paketeringen (och möjligen uppströmsbyggsystemet om
           det det använder make(1)), oberoende av om det stöder parallella bygg, något som kan
           komma att orsaka byggfel.

           Observera: Makefiler som inte kan köras parallellt bör anses felaktiga. De bör
           antingen göras säkra för parallellisering, eller markeras som osäkra med make(1)-målet
           .NOTPARALLEL.

       -D, --check-builddeps
           Kontrollera  byggberoenden och -konflikter; avbryt om de inte uppfylls (lång flagga
           sedan dpkg 1.18.8). Detta är standardbeteendet.

       -d, --no-check-builddeps
           Kontrollera inte byggberoenden eller -konflikter (lång flagga sedan dpkg 1.18.8).

       --ignore-builtin-builddeps
           Kontrollera inte inbyggda byggberoenden och -konflikter (sedan dpkg 1.18.2). Detta är
           de distributionsberoende byggberoendena som vanligtvis krävs i en byggmiljö,
           paketuppsättningen som kallas Build-Essential (”Bygg-Nödvändiga”).

       --rules-requires-root
           Följ inte fältet Rules-Requires-Root, fall tillbaka på dess gamla förval (sedan dpkg
           1.19.1).

       -nc, --no-pre-clean
           Städa inte upp byggträdet före bygget (lång flagga sedan dpkg 1.18.8). Implicerar -b
           om inget annat har valts bland -F, -g, -G, -B, -A eller -S. Implicerar -d med -S
           (sedan dpkg 1.18.0).

       --pre-clean
           Städa källkodsträdet före bygget (sedan dpkg 1.18.8). Detta är standardbeteendet.

       -tc, --post-clean
           Städa källkodsträdet (använder få-root-kommando debian/rules clean) efter att paketet
           har byggts (lång flagga sedan dpkg 1.18.8).

       --no-post-clean
           Städa inte upp byggträdet efter bygget (sedan dpkg 1.19.1). Detta är
           standardbeteendet.

       --sanitize-env
           Sanera byggmiljön (sedan dpkg 1.20.0). Detta återställer eller tar bort
           miljövariabler, umask, och eventuella andra processattribut som annars kan påverka
           paketbygget ogynnsamt. Eftersom den officiella startpunkten för att bygga paket är
           debian/rules kan inte paket vara beroende av att de här inställningarna är på plats,
           och bör därför fungera även när de inte är det. Vad som saneras är
           återförsäljarspecifikt.

       -r, --root-command=gain-root-command
           När dpkg-buildpackages behöver exekvera delar av byggprocessen som root sätter den
           kommandot som ska exekveras efter få-root-kommando om ett sådant har angivits (lång
           flagga sedan dpkg 1.18.8). 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 ska anropas samt de parametrar det ska 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 ska startas.

       -R, --rules-file=rules-fil
           För att bygga ett Debianpaket körs normalt kommandot debian/rules med flera olika
           standardparametrar (sedan dpkg 1.14.17, lång flagga sedan dpkg 1.18.8). 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).

       --check-command=kontrollkommando
           Kommando som kontrollerar själva .changes-filen och byggda artifakter som refereras i
           filen (sedan dpkg 1.17.6). Kommandot ska ta sökvägen till .changes som argument.
           Kommandot är normalt lintian.

       --check-option=val
           Sänder flaggan val till det kontrollkommando som anges med DEB_CHECK_COMMAND eller
           --check-command (sedan dpkg 1.17.6). Kan användas flera gånger.

       --hook-kroknamn=krokkommando
           Sätter den angivna skalkoden i krokkommando som kroken kroknamn, vilket körs vid de
           tidpunkter som anges i byggstegen (sedan dpkg 1.17.6). Kroken kommer alltid att
           exekveras även om de efterföljande funktionerna inte utförs (förutom kroken binary).
           Alla krokar körs i den uppackade källkodskatalogen.

           Observera: Hakar kan påverka byggprocessen och orsaka att byggen misslyckas om deras
           kommandon misslyckas, så se upp för oförutsedda konsekvenser.

           För närvarande stöds följande kroknamn:

           init preclean source build binary buildinfo changes postclean check sign done

           krokkommando stöder följande substitueringsformatsträng, som appliceras på den föra
           exekvering:

           %%  Ett ensamt %-tecken.

           %a  Ett booleskt värde (0 eller 1) som anger om följande funktion utförs.

           %p  Namnet på källkodspaketet.

           %v  Version för källkodspaketet.

           %s  Version för källkodspaketet (utan epoken).

           %u  Uppströmsversionen.

       --buildinfo-file=filnamn
           Ange filnamn att använda för den skapade .buildinfo-filen (sedam dpkg 1.21.0).

       --buildinfo-option=val
           Sänder flaggan val till dpkg-genbuildinfo (sedan dpkg 1.18.11). Kan användas flera
           gånger.

       --sign-backend=signeringsfunktion
           Ange ett OpenPGP-funktionsgränssnitt att använda när sign-command körs (sedan dpkg
           1.21.10).

           Förvalet är auto, där det bästa för närvarande tillgängliga funktionen kommer
           användas. De specifika OpenPGP-funktioner som stöds är, med det bästa först:

           sop (valfri korrekt implementation av ”Stateless OpenPGP”)
           sq (från Sequoia-PGP)
           gpg (från GnuPG)
       -p, --sign-command=signeringskommando
           När dpkg-buildpackage måste exekvera en OpenGPG-funktion 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 förvalet eller autodetekterat funktionskommando (lång
           flagga sedan dpkg 1.18.8). signeringskommando får alla de argument som anges av
           --sign-backend. signeringskommando bör inte innehålla blanksteg eller andra
           skalmetatecken.

       -k, --sign-keyid=nyckel-id
       --sign-key=nyckel-id
           Ange en Open PGP-nyckel-id (antingen ett fingeravtryck eller ett användar-ID) för den
           hemliga nyckeln att använda vid signering av paket (--sign-key sedan dpkg 1.18.8,
           --sign-keyid sedan dpkg 1.21.10).

       --sign-keyfile=nyckelfil
           Ange en OpenPGP-nyckelfil som innehåller den hemliga nyckeln att använda vid signering
           av paket (sedan dpkg 1.21-10).

           Observera: Av säkerhetsskäl är det bäst att håll nyckelfil låst med ett lösenord.

       -us, --unsigned-source
           Signera inte källkodspaketet (lång flagga sedan dpkg 1.18.8).

       -ui, --unsigned-buildinfo
           Signera inte .buildinfo-filen (sedam dpkg 1.18.19).

       -uc, --unsigned-changes
           Signera inte .buildinfo- och .changes-filerna (lång flagga sedan dpkg 1.18.8).

       --no-sign
           Signera inga filer, detta omfattar källkodspaketet, .buildinfo-filen och
           .changes-filen (sedan dpkg 1.18.20).

       --force-sign
           Tvinga signering av de slutliga filerna (sedan dpkg 1.17.0), oberoende av -us,
           --unsigned-source, -ui, --unsigned-buildinfo, -uc, --unsigned-changes eller annan
           intern heuristik.

       -sn
       -ss
       -sA
       -sk
       -su
       -sr
       -sK
       -sU
       -sR
       -i, --diff-ignore[=reg.uttr]
       -I, --tar-ignore[=mönster]
       -z, --compression-level=nivå
       -Z, --compression=komprimering
           Sänds vidare utan ändringar till dpkg-source. Se dess manualsida.

       --source-option=val
           Sänd flaggan val till dpkg-source (sedan dpkg 1.15.6). Kan användas flera gånger.

       --changes-file=filnamn
           Använd filnamn för den genererade .changes-filen (sedan dpkg 1.21.0).

       --changes-option=val
           Sänder flaggan val till dpkg-genchanges (sedan dpkg 1.15.6). Kan användas flera
           gånger.

       --admindir=kat
       --admindir kat
           Ändra platsen för dpkg-databasen (sedan dpkg 1.14.0). Förvald plats är /var/lib/dpkg.

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

       --version
           Visar version och avslutar.

MILJÖVARIABLER

   Extern miljö
       DEB_CHECK_COMMAND
           Om satt, används som kommandot för att kontrollera .changes-filen (sedan dpkg 1.17.6).
           Överstyrs av flaggan --check-command.

       DEB_SIGN_KEYID
           Används för att signera filerna .changes, .buildinfo och .dsc-filerna om satt (sedan
           dpkg 1.17.2). Överstyrs av flaggan --sign-key.

       DEB_SIGN_KEYFILE
           Används för att signera filerna .changes, .buildinfo och .dsc-filerna om satt (sedan
           dpkg 1.21.10). Överstyrs av flaggan --sign-keyfile.

       DEB_BUILD_OPTIONS
           Om satt, innehåller en blankstegsavdelad lista med flaggor som kan påverka
           byggprocessen i debian/rules, och beteendet på vissa dpkg-kommandot.

           Med nocheeck så kommer variabeln DEB_CHECK_COMMAND att ignoreras. Med parallel=N
           kommer antalet parallella jobb sättas till N, men kan överstyras av flaggan
           --jobs-try.

       DEB_BUILD_PROFILES
           Om satt, används som aktiv(a) byggprofil(er) för paketet som byggs (sedan dpkg
           1.17.2). Det är en blankstegsavdelad lista med profilnamn. Överstyrs av flaggan -P.

       DPKG_COLORS
           Väljer färgläge (sedan dpkg 1.18.5). För närvarande godtas följande värden: auto
           (förval), always och never.

       DPKG_NLS
           Om satt, används för att bestämma om lokalt språkstöd ska aktiveras, även känt som
           internationaliseringsstöd (eller i18n) (sedan dpkg 1.19.0). Tillåtna värden är: 0 och
           1 (förval).

   Intern miljö
       Ä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, eftersom filen är huvudstartpunkt för att bygga paket och det även bör stödas
       att köra den fristående.

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

       DEB_RULES_REQUIRES_ROOT
           Den här variabeln sätts till värdet som hämtas från fältet Rules-Requires-Root eller
           från kommandoraden. När satt kommer det vara ett giltigt värde för fältet Rules-
           Requires-Root. Det används för att meddela debian/rules huruvida
           rootless-builds.txt-specifikation stöds.

       DEB_GAIN_ROOT_CMD
           Den här variabeln sätts till få-root-kommando när fältet Rules-Requires-Root är satt
           till ett värde annat än no och binary-targets.

       SOURCE_DATE_EPOCH
           Den är variabeln sätts till Unix-tidsstämpeln sedan epoken för den senaste posten i
           debian/changelog, om den inte redan definierats.

FILER

       /etc/dpkg/buildpackage.conf
           Konfigurationsfil för hela systemet

       $XDG_CONFIG_HOME/dpkg/buildflags.conf eller
       $HOME/.config/dpkg/buildflags.conf
           Användarens konfigurationsfil.

ANTECKNINGAR

   Kompileringsflaggor exporteras inte längre.
       Mellan dpkg 1.14.17 och 1.16.1 exporterade dpkg-buildpackage kompilatorflaggor (CFLAGS,
       CXXFLAGS, CPPFLAGS och LDFLAGS) med värden enligt dpkg-buildflags. Detta gäller inte
       längre.

   Förvalda byggmål
       dpkg-buildpackage använder målen build-archi och build-indep från dpkg 1.16.2. Dessa mål
       krävs därmed, men för att undvika att existerande paket går sönder, och för att förenkla
       övergången, om källkodspaketet inte både bygger arkitektursoberoende och -beroende
       binärpaket (sedan dpkg 1.18.8) kommer den falla tillbaka till att använda målet build om
       make -f debian/rules -gn byggmål returnerar statuskoden 2.

PROGRAMFEL

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

SE ÄVEN

       /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).

ÖVERSÄTTNING

       Peter Krefting och Daniel Nylander.