Provided by: dpkg-dev_1.22.18ubuntu2_all 

NAMN
deb-src-control - Debians filformat för källkodspakets mallstyrfil
SYNOPS
debian/control
BESKRIVNING
Varje Debiankällkodspaket innehåller mallstyrfilen ”debian/control”, och dess deb822(5)-format är en
övermängd av control-filen som medföljer Debianbinärpaket, se deb-control(5).
This file contains at least 2 stanzas, separated by a blank line. The first stanza is called the source
package stanza and lists all information about the source package in general, while each following
stanzas are called the binary package stanzas and describe exactly one binary package per stanza. Each
stanza consists of at least one field. A field starts with a field name, such as Package or Section (case
insensitive), followed by a colon, the body of the field (case sensitive unless stated otherwise) and a
newline. Multi-line fields are also allowed, but each supplementary line, without a field name, must
start with at least one space. The content of the multi-line fields is generally joined to a single line
by the tools (except in the case of the Description field, see below). To insert empty lines into a
multi-line field, insert a dot after the space. Lines starting with a ‘#’ are treated as comments.
KÄLLKODSFÄLT
Source: källkodspaketnamn (krävs)
The value of this field is the name of the source package, and must match the name of the source
package in the debian/changelog file. A package name must consist only of lowercase letters (a-z),
digits (0-9), plus (+) and minus (-) signs, and periods (.). Package names must be at least two
characters long and must start with a lowercase alphanumeric character (a-z0-9).
Maintainer: fullt-namn-epost (rekommenderas)
Ska vara på formatet ”Joe Bloggs <jbloggs@foo.com>” och refererar till den person som för närvarande
underhåller paketet, till skillnad från programmets författare eller den ursprunglige paketeraren.
Uploaders: fullt-namn-epost
Räknar upp namn och e-postadresser till med-underhållare av paketet, i samma format som fältet
Maintainer. Flera med-underhållare bör avdelas med kommatecken.
Standards-Version: versionssträng
Dokumenterar den senaste versionen av distributionens policystandard som paketet uppfyller.
Description: kort-beskrivning)
lång-beskrivning
Formatet för källkodspaketbeskrivningen är en kortfattad sammanfattning på den första raden (efter
fältet Description). Följande rader bör användas för en längre, mer detaljerad beskrivning. Varje rad
i den lägre beskrivningen måste inledas med ett blanksteg, och blanka rader i den långa beskrivningen
måste innehålla en ensam ”.” efter det inledande blanksteget.
Homepage: url
URL till uppströmsprojektets hemsida.
Bugs: url
Url:en till felrapporteringssystemet för detta paket. Det nuvarande formatet är systemtyp://address,
till exempel debbugs://bugs.debian.org. Det här fältet är normalt sett inte nödvändigt.
Build-Driver: drivrutinsnamn
Det här experimentella fältet anger namnet på byggdrivrutinen som används för att bygga paketet. Om
det inte anges är standardvärdet för driver-name debian-rules.
Fältet stöds sedan dpkg 1.22.7.
Rules-Requires-Root: no|binary-targets|impl-nyckelord
Det här fältet används för att ange om filen debian/rules kräver (fake)root-privilegier för att köra
några av sina mål, och i så fall när.
no (nej)
The binary targets will not require (fake)root at all. This is the default in dpkg-build-api
level >= 1, or since dpkg 1.22.13.
binary-targets
The binary targets must always be run under (fake)root. This value is the default in dpkg-build-
api level 0 until dpkg 1.22.13, when the field is omitted; adding the field with an explicit
binary-targets, while not strictly needed, marks it as having been analyzed for this requirement.
impl-nyckelord
Det här är en blankstegsavdelad lista med nyckelord som kan ange när (fake)root krävs.
Nyckelord består av namnrymd/fall. Delen namnrymd kan inte innehålla "/" eller blanksteg. Delen
fall kan inte innehålla blanksteg. Dessutom måste bägge delarna i sin helhet bestå av skrivbara
ASCII-tecken.
Varje verktyg/paket definierar en namnrymd med samma namn som sig själv och anger ett antal fall
där (fake)root krävs. (Se "Implementation provided keywords" i rootless-builds.txt).
När fältet är satt till ett av impl-nyckelord kommer byggaren att exponera ett gränssnitt som
används för att köra ett kommando under (fake)root. (Se "Gain Root API" i rootless-builds.txt.)
Testsuite: namnlist
Testsuite-Triggers: paketlista
Dessa fält beskrivs i manualsidan dsc(5), eftersom de genereras från information hämtad från
debian/tests/control eller kopieras ordagrant till källkodsstyrfilen.
Vcs-Arch: url
Vcs-Bzr: url
Vcs-Cvs: url
Vcs-Darcs: url
Vcs-Git: url
Vcs-Hg: url
Vcs-Mtn: url
Vcs-Svn: url
Url:en till versionshanteringsarkivet som används för att underhålla det här paketet. För närvarande
stöds Arch, Bzr (Bazaar), Cvs, Darcs, Git, Hg (Mercurial), Mtn (Monotone) och Svn (Subversion).
Fältet pekar normalt till den senaste versionen av paketet, såsom huvudgrenen (main eller trunk).
Vcs-Browser: url
Url:en till ett webbgränssnitt för att bläddra i versionshanteringsarkivet.
Origin: namn
Namnet på den distribution paketet härstammar från. Det här fältet är normalt sett inte nödvändigt.
Section: sektion
Detta är ett generellt fält som ger paketet en kategori baserat på programvara som det installerar.
Några vanliga sektioner är utils, net, mail, text, x11, osv.
When omitted, the section defaults to unknown (since dpkg 1.22.13).
The accepted values are based on the specific distribution policy.
Priority: prioritet
Sets the importance of this package in relation to the system as a whole. The known priorities are
required, important, standard, optional, extra, and unknown, but other values can be used as well.
When omitted, the priority defaults to optional (since dpkg 1.22.13).
How to apply these values depends on the specific distribution policy.
Build-Depends: paketlista
En lista över paket som måste installeras och konfigureras för att kunna bygga källkodspaketet. Dessa
beroenden måste tillfredsställas när binärarkitekturberoende eller -oberoende paket och källkodspaket
byggs. Ett beroende som beskrivs i den här listan har inte exakt samma effekt som att inkludera det i
både Build-Depends-Arch och Build-Depends-Indep, eftersom beroendet också måste tilfredsställas när
källkodspaketet byggs.
Build-Depends-Arch: paketlista
Motsvarar Build-Depends, men de behövs endast för att bygga de arkitekturoberoende paketen. Build-
Depends installeras också i detta fall. Det här fältet stöds sedan dpkg 1.16.4; för att bygga med
äldre dpkg-versioner bör Build-Depends användas istället.
Build-Depends-Indep: paketlista
Motsvarar Build-Depends, men de behövs endast för att bygga de arkitekturoberoende paketen. Build-
Depends installeras också i detta fall.
Build-Conflicts: paketlista
En lista över paket som inte bör vara installerade när paketet byggs, till exempel på grund av att de
stör byggsystemet som används. Ett beroende som beskrivs i den här listan har samma effekt som att
inkludera det i både Build-Conflicts-Arch och Build-Conflicts-Indep, med den ytterligare effekten att
den används för byggen av endast källkod.
Build-Conflicts-Arch: paketlista
Motsvarar Build-Conflicts, men endast när arkitekturoberoende paket byggs. Fältet stöds sedan dpkg
1.16.4; för att bygga med äldre versioner av dpkg bör Build-Conflicts användas istället.
Build-Conflicts-Indep: paketlista
Motsvarar Build-Conflicts, men endast när de arkitekturoberoende paketen byggs.
Syntaxen för fälten Build-Depends, Build-Depends-Arch och Build-Depends-Indep-fälten är en lista med
grupper av alternativa paket. Varje grupp innehåller en lista med paket avdelade med ett vertikalstreck
(rör), ”|”. Grupperna avdelas med kommatecken ”,”, och kan avslutas med ett släpande komma som tas bort
när fälten genereras till deb-control(5) (sedan dpkg 1.10.14). Komma utläses som ”OCH”, och
vertikalstrecken som ”ELLER”, där vertikalstrecken binder hårdare. Varje paketnamn kan eventuellt följas
av en versionsnummerangivelse inom parenteser ”(” och ”)”, en arkitekturangivelse inom hakparenteser ”[”
och ”]” samt en begränsningsformel som består av en eller flera listor med profilnamn inom
vinkelparenteser ”<” och ”>”.
Syntaxen för fälten Build-Conflicts, Build-Conflicts-Arch och Build-Conflicts-Indep-fälten är en
kommaseparerad lista med paketnamn, där komma utläses som ”OCH”, och där listan kan avslutas med ett
släpande komma som tas bort när fälten genereras till deb-control(5) (sedan dpkg 1.10.14). Det är inte
möjligt att ange alternativa paket med ”rör”. Varje paketnamn kan eventuellt följas av en
versionsnummerangivelse inom parenteser, en arkitekturangivelse inom hakparenteser samt en
begränsningsformel bestående av en eller flera listor med profilnamn inom vinkelparenteser.
Ett arkitekturkvalificeringsnamn kan vara ett existerande Debianarkitekturnamn (sedan dpkg 1.16.5), any
(sedan dpkg 1.16.2) eller native (sedan dpkg 1.16.5). Om det utesluts är förvalet för fältet Build-
Depends den aktuella värdarkitekturen, förvalet för Build-Conflicts är any. Ett existerande
Debianarkitekturnamn motsvarar exakt den arkitekturen för det paketnamnet, any motsvarar valfri
arkitektur för paketnamnet om paketet har markerats som Multi-Arch: allowed och native motsvarar
nuvarande byggarkitektur om paketet inte har markerats som Multi-Arch: foreign.
Ett versionsnummer kan börja med ”>>”, vilket betyder att vilken som helst senare version matchar, där
det är valfritt att ange Debianuppdateringen (avdelad med bindestreck). Tillåtna versionrelationer är
”>>” för större än, ”<<” för mindre än, ”>=” för större än eller lika med, ”<=” för mindre än eller lika
med, och ”=” för lika med.
En arkitekturangivelse består av ett eller flera arkitekturnamn, avdelade med blanktecken. Varje namn kan
föregås av ett utropstecken, vilket betyder ”ICKE”.
En begränsningsformel består av en eller flera begränsningslistor, avdelade med blanksteg. Varje
begränsningslista skrivs inom vinkelparenteser. Poster i begränsningslistan är namn på byggprofiler,
avdelade av blanksteg och kan föregås av ett utropstecken, vilket betyder ”ICKE”. En begränsningsformel
representerar ett uttryck i disjunktiv normalform.
Observera att beroenden på paket i build-essential-uppsättningen kan utelämnas och att det är omöjligt
att deklarera byggkonflikter mot dem. En lista över dessa paket finns i paketet build-essential.
BINÄRFÄLT
Observera att fälten Priority, Section och Homepage även kan användas i de stycken som beskriver
binärpaket för att överstyra de globala värdena för källkodspaketet.
Package: binärpaketnamn (krävs)
Detta fält används för att namnge det binära paketet. Samma begränsningar gäller som för
källkodspaketets namn.
Package-Type: deb|udeb|typ
Detta fält anger paketets typ. udeb används för storleksbegränsade paket som används av debians
installationsprogram. deb är standardvärdet, och antas om fältet saknas. Fler typer kan komma att
läggas till i framtiden.
Architecture: ark|all|any (krävs)
Arkitekturen anger på vilken typ av maskinvara paketet körs. För paket som körs på alla arkitekturer
används värdet any (någon). För paket som är arkitekturoberoende, som skal- och Perlskript eller
dokumentation, används värdet all (alla). För att begränsa paket till en specifik uppsättning
arkitekturer, anger du namnen på arkitekturerna avdelade med blanksteg. Det är även möjligt att ange
arkitekturer med jokertecken i listan (se dpkg-architecture(1) för mer information om dessa).
Build-Profiles: begränsningsformel
Det här fältet anger villkor för när binärpaketet ska eller inte ska byggas. För att uttrycka
villkoret används samma syntax för begränsningsformeln som för fältet Build-Depends (inklusive
vinkelparenteserna).
Om ett stycke för ett binärpaket inte innehåller det här fältet betyder det implicit att det bygger i
alla byggprofiler (inklusive ingen alls).
Med andra ord, om ett stycke för ett binärpaket är försett med ett icke-tomt Build-Profiles-fält
kommer det binärpaketet byggas om, och endast om, villkoret, uttryckt i konjunktiv normalform,
utvärderas till sant.
Protected: yes|no
Essential: yes|no
Build-Essential: yes|no
Multi-Arch: same|foreign|allowed|no
Tag: lista-med-märken
Description: kort-beskrivning (rekommenderas)
Dessa fält beskrivs i manualsidan deb-control(5), eftersom de kopieras ordagrant till binärpaketets
styrfil.
Depends: paketlista
Pre-Depends: paketlista
Recommends: paketlista
Suggests: paketlista
Breaks: paketlista
Enhances: paketlista
Replaces: paketlista
Conflicts: paketlista
Provides: paketlista
Built-Using: paketlista
Static-Built-Using: paketlista
Det här fältet anger beroenden mellan paket. De diskuteras i manualsidan deb-control(5). När fälten
förekommer i debian/control kan de också avslutas med ett släpande kommatecken (sedan dpkg 1.10.14),
ha arkitekturangivelser och begränsningsformler som alla reduceras när fälten för deb-control(5)
genereras.
Subarchitecture: värde
Kernel-Version: värde
Installer-Menu-Item: värde
Dessa fält används av debian-installer i udeb-formatet och behövs normalt inte. För mer information
om dem, se
<https://salsa.debian.org/installer-team/debian-installer/-/raw/master/doc/devel/modules.txt>.
ANVÄNDARDEFINIERADE FÄLT
Det är tillåtet att lägga till ytterligare användardefinierade fält till styrfilen. Verktygen kommer
ignorera dessa fält. Om du vill att fältet ska kopieras över till utdatafilerna, så som binärpaketen,
måste du använda ett skräddarsytt namngivningsformat: fälten ska börja på X, följt av noll eller flera av
tecknen SBC och ett bindestreck.
S Fältet kommer tas med i styrfilen för källkodspaket, se dsc(5).
B Fältet kommer tas med i styrfilen för binärpaketet, se deb-control(5).
C Fältet kommer tas med i styrfilen för insändningen (.changes), se deb-changes(5).
Observera att prefix på formen X[SBC]- tas bort när fälten kopieras över till utdatafilerna. Fältet XC-
Approved-By kommer tas med som Approved-By i ”changes”-filen och inte tas med i styrfilerna för binär-
och källkodspaketen.
Tänk på att dess användardefinierade fält använder den globala namnrymden, vilket en gång i framtiden kan
komma att kollidera med officiellt erkända fält. För att undvika sådana potentiella situationer kan du
använda prefixet Private- för dessa fält, som XB-Private-New-Field.
EXEMPEL
# Comment
Source: dpkg
Section: admin
Priority: required
Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
# This field is copied to the binary and source packages.
XBS-Upstream-Release-Status: stable
Homepage: https://wiki.debian.org/Teams/Dpkg
Vcs-Browser: https://git.dpkg.org/cgit/dpkg/dpkg.git
Vcs-Git: https://git.dpkg.org/git/dpkg/dpkg.git
Standards-Version: 4.7.0
Build-Depends:
debhelper-compat (= 13),
debhelper (>= 13.10~),
pkgconf,
libselinux1-dev (>= 1.28-4) [!linux-any],
Package: dpkg-dev
Section: utils
Priority: optional
Architecture: all
# This is a custom field in the binary package.
XB-Mentoring-Contact: Raphael Hertzog <hertzog@debian.org>
Depends:
binutils,
bzip2,
cpio (>= 2.4.2-2),
# This is a comment in the middle of a field value.
dpkg (>= 1.14.6),
libtimedate-perl,
lzma,
make,
patch (>= 2.2-1),
perl-modules,
perl5,
Recommends:
gcc | c-compiler,
build-essential,
Suggests:
gnupg,
debian-keyring,
Conflicts:
dpkg-cross (<< 2.0.0),
devscripts (<< 2.10.26),
Replaces:
manpages-pl (<= 20051117-1),
Description: Debian package development tools
This package provides the development tools (including dpkg-source)
required to unpack, build and upload Debian source packages.
.
Most Debian source packages will require additional tools to build;
for example, most packages need make and the C compiler gcc.
SE ÄVEN
/usr/share/doc/dpkg/spec/rootless-builds.txt, deb822(5), deb-control(5), deb-version(7), dpkg-source(1)
ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.
1.22.18 2025-03-20 deb-src-control(5)