Provided by: dpkg-dev_1.22.6ubuntu6.5_all 

NAAM
deb822 - Debian RFC822-indeling voor controledata
BESCHRIJVING
Het pakketbeheersysteem gebruikt gegevens die volgens een gangbare indeling weergegeven worden, die
controledata (control-data) genoemd worden en die opgeslagen worden in controlebestanden (control-
bestanden). Controlebestanden worden gebruikt voor broncodepakketten, voor binaire pakketten en voor de
.changes-bestanden die de installatie van geüploade bestanden sturen (de interne databases van dpkg
hebben een soortgelijke indeling).
SYNTAXIS
Een controlebestand bestaat uit één of meer onderdelen die velden bevatten (de onderdelen worden soms ook
met de term paragraaf aangeduid). De onderdelen worden onderling gescheiden door een lege regel. Bij
ontleders (parsers) kunnen regels die enkel bestaan uit U+0020 SPATIE en U+0009 TAB, gebruikt worden als
scheidingsteken tussen onderdelen, maar in controlebestanden moeten lege regels gebruikt worden. In
sommige controlebestanden is enkel één onderdeel toegestaan, in andere meerdere. In dat geval heeft elk
onderdeel meestal betrekking op een ander pakket. (In broncodepakketten bijvoorbeeld, heeft het eerste
onderdeel betrekking op het broncodepakket en de volgende onderdelen op de binaire pakketten die uit de
broncode gegenereerd worden.) De volgorde van de onderdelen in controlebestanden is betekenisvol.
Elk onderdeel bestaat uit een reeks gegevensvelden. Elk veld bestaat uit de veldnaam, gevolgd door een
dubbelepunt (U+003A ‘:’) en nadien de data/waarde die bij dat veld hoort. De veldnaam wordt gevormd uit
US-ASCII-tekens met uitsluiting van controle-tekens, spatie en dubbelepunt (d.w.z. tekens uit het bereik
U+0021 ‘!’ tot U+0039 ‘9’ en uit het bereik U+003B ‘;’ tot en met U+007E ‘~’). Veldnamen mogen niet
beginnen met het commentaarteken (U+0023 ‘#’) en evenmin met het koppelteken (U+002D ‘-’).
Het veld eindigt op het einde van de regel of op het einde van de laatste vervolgregel (zie later). Er
mag horizontale witruimte (U+0020 SPATIE en U+0009 TAB) voorkomen vlak voor en vlak na de waarde en daar
wordt die genegeerd. Het is gebruikelijk om na de dubbelepunt een enkele spatie te plaatsen. Een
voorbeeld van een veld zou kunnen zijn:
Package: dpkg
de veldnaam is Package en de waarde van het veld is dpkg.
Lege veldwaarden mogen enkel voorkomen in controlebestanden van broncodepakketten (debian/control).
Dergelijke velden worden genegeerd.
In een onderdeel mag een specifieke veldnaam slechts eenmaal voorkomen.
Er bestaan drie types velden:
simple
(enkelvoudig) Het veld, met inbegrip van zijn waarde, moet op één enkele regel staan. Het
uitvouwen van het veld is niet toegestaan. Dit is het standaard veldtype als de definiëring van
het veld geen ander type vermeldt.
folded
(uitgevouwen) De waarde van een uitgevouwen veld is een logische regel die verschillende regels
mag beslaan. De regels na de eerste regel worden vervolgregels genoemd en moeten beginnen met een
U+0020 SPATIE of een U+0009 TAB. Witruimte, met inbegrip van regeleindes, is in de veldwaarde van
uitgevouwen velden betekenisloos.
Deze uitvouwmethode is gelijkaardig aan RFC5322, waardoor parsers die voor RFC5322 geschreven
werden, ook in staat zijn controlebestanden te lezen die slechts één onderdeel en geen velden van
het multiregel-type bevatten.
multiline
(multiregel) De waarde van een multiregel-veld mag bestaan uit meerdere vervolgregels. De eerste
regel van de waarde, het deel dat op dezelfde regel staat als de veldnaam, heeft vaak een
bijzondere betekenis en kan ook leeg zijn. De andere regels gebruiken dezelfde syntaxis als de
vervolgregels van uitgevouwen velden. Witruimte, met inbegrip van regeleindes, is in de waarde
van multiregel-velden betekenisvol.
Er mag geen witruimte voorkomen in namen (van pakketten, architecturen, bestanden of om het even
wat), in versienummers of tussen de tekens van versierelaties die uitgedrukt worden in meerdere
tekens.
De aanwezigheid en de functie van een veld en de syntaxis van zijn waarde kunnen verschillen
naargelang het type van controlebestand.
Veldnamen zijn niet hoofdlettergevoelig, maar het is gebruikelijk om in veldnamen hoofd- en kleine
letters samen te gebruiken, zoals hierna geïllustreerd wordt. Veldwaarden zijn wel
hoofdlettergevoelig, tenzij het in de beschrijving van het veld anders aangegeven wordt.
Onderdeelscheidingstekens (lege regels) en regels die enkel bestaan uit U+0020 SPATIE en U+0009 TAB,
mogen in veldwaarden en tussen velden niet gebruikt worden. Lege regels in veldwaarden worden meestal
gemaskeerd door ze voor te stellen als een U+0020 SPATIE gevolgd door een punt (U+002E ‘.’).
Regels die beginnen met U+0023 ‘#’ zonder dat daar witruimte aan vooraf gaat, zijn commentaarregels.
Zij zijn enkel toegelaten in controlebestanden van broncodepakketten (debian/control) en in
deb-origin(5)-bestanden. Deze commentaarregels worden genegeerd, zelfs tussen twee vervolgregels in.
Ze sluiten geen logische regels af.
Alle controlebestanden moeten in UTF-8 opgesteld worden.
ZIE OOK
RFC822, RFC5322.
1.22.6 2025-09-18 deb822(5)