deb822(5) — Linux manual page


deb822(5)                      dpkg suite                      deb822(5)

NAME         top

       deb822 - Debian RFC822 control data format

DESCRIPTION         top

       The package management system manipulates data represented in a
       common format, known as control data, stored in control files.
       Control files are used for source packages, binary packages and
       the .changes files which control the installation of uploaded
       files (dpkg's internal databases are in a similar format).

SYNTAX         top

       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

       The field ends at the end of the line or at the end of the last
       continuation line (see below).  Horizontal whitespace (U+0020
       SPACE and U+0009 TAB) may occur immediately before or after the
       value and is ignored there; it is conventional to put a single
       space after the colon.  For example, a field might be:

        Package: dpkg

       the field name is Package and the field value dpkg.

       Empty field values are only permitted in source package control
       files (debian/control).  Such fields are ignored.

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

       There are three types of fields:

               The field, including its value, must be a single line.
               Folding of the field is not permitted.  This is the
               default field type if the definition of the field does
               not specify a different type.

               The value of a folded field is a logical line that may
               span several lines.  The lines after the first are called
               continuation lines and must start with a U+0020 SPACE or
               a U+0009 TAB.  Whitespace, including any newlines, is not
               significant in the field values of folded fields.

               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

               The value of a multiline field may comprise multiple
               continuation lines.  The first line of the value, the
               part on the same line as the field name, often has
               special significance or may have to be empty.  Other
               lines are added following the same syntax as the
               continuation lines of the folded fields.  Whitespace,
               including newlines, is significant in the values of
               multiline fields.

           Whitespace must not appear inside names (of packages,
           architectures, files or anything else) or version numbers, or
           between the characters of multi-character version

           The presence and purpose of a field, and the syntax of its
           value may differ between types of control files.

           Field names are not case-sensitive, but it is usual to
           capitalize the field names using mixed case as shown below.
           Field values are case-sensitive unless the description of the
           field says otherwise.

           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 ‘.’).

           Lines starting with U+0023 ‘#’, without any preceding
           whitespace are comments lines that are only permitted in
           source package control files (debian/control) and in
           deb-origin(5) files.  These comment lines are ignored, even
           between two continuation lines.  They do not end logical

           All control files must be encoded in UTF-8.

SEE ALSO         top

       RFC822, RFC5322.

COLOPHON         top

       This page is part of the dpkg (Debian Package Manager) project.
       Information about the project can be found at 
       ⟨⟩.  If you have a bug report
       for this manual page, see
       ⟨⟩.  This
       page was obtained from the project's upstream Git repository ⟨git
       clone⟩ on 2023-12-22.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2023-12-18.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to

1.22.0-52-g1af0                2023-08-30                      deb822(5)

Pages that refer to this page: deb-buildinfo(5)deb-changelog(5)deb-changes(5)deb-control(5)deb-src-control(5)dsc(5)