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

       Each paragraph 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 paragraph must not contain more than one instance of a particular
       field name.

       There are three types of fields:

       simple 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.

       folded 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 paragraph and no multiline fields
              to be read by parsers written for RFC5322.

              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 relationships.

       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.

       Paragraph 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 lines.

       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
       ⟨⟩ on 2018-10-29.  (At
       that time, the date of the most recent commit that was found in the
       repository was 2018-10-11.)  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.19.2-17-g96f3                  2018-10-08                        deb822(5)