Provided by: dpkg-dev_1.22.18ubuntu3_all bug

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.18                                            2025-04-28                                          deb822(5)