Provided by: dpkg-dev_1.21.1ubuntu2.3_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 paragrafen die velden bevatten (de paragrafen
       worden soms ook met de term stanzas aangeduid). De paragrafen 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 paragrafen, maar in
       controlebestanden moeten lege regels gebruikt worden. In sommige controlebestanden is
       enkel één paragraaf toegestaan, in andere meerdere. In dat geval heeft elke paragraaf
       meestal betrekking op een ander pakket. (In broncodepakketten bijvoorbeeld, heeft de
       eerste paragraaf betrekking op het broncodepakket en de volgende op de binaire pakketten
       die uit de broncode gegenereerd worden.) De volgorde van de paragrafen in
       controlebestanden is betekenisvol.

       Elke paragraaf 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 en met 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 verbindingsteken (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 paragraaf 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
               paragraaf 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.

           Paragraafscheidingstekens (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.