deb822(5)

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
A control file consists of one or more stanzas of fields (the stanzas sometimes used to be referred to as paragraphs). The stanzas are separated by empty lines. Parsers may accept lines consisting solely of U+0020 SPACE and U+0009 TAB as stanza separators, but control files should use empty lines. Some control files allow only one stanza; others allow several, in which case each stanza usually refers to a different package. (For example, in source packages, the first stanza refers to the source package, and later stanzas refer to binary packages generated from the source.) The ordering of the stanzas in control files is significant.

Each stanza consists of a series of data fields. Each field consists of the field name followed by a colon (U+003A ‘:’), and then the data/value associated with that field. The field name is composed of US-ASCII characters excluding control characters, space, and colon (i.e., characters in the ranges U+0021 ‘!’ through U+0039 ‘9’, and U+003B ‘;’ through U+007E ‘~’, inclusive). Field names must not begin with the comment character (U+0023 ‘#’), nor with the hyphen character (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.

A stanza must not contain more than one instance of a particular field name.

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.

        This folding method is similar to RFC5322, allowing control files that contain only one stanza and no multiline fields to be read by parsers written for RFC5322.

    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.

    Stanza separators (empty lines) and lines consisting only of U+0020 SPACE and U+0009 TAB, are not allowed within field values or between fields. Empty lines in field values are usually escaped by representing them by a U+0020 SPACE followed by a dot (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.