deb822(5)                 (2021-04-13)                  deb822(5)

     NAME
          deb822 - Debian RFC822 control data format

     DESCRIPTION
          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
          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 significant.

          Each paragraph consists of a series of data fields.  Each
          field consists of the field name followed by a colon (U+003A
          oq:cq), 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 oq!cq through U+0039 oq9cq, and U+003B oq;cq
          through U+007E oq~cq, inclusive).  Field names must not begin
          with the comment character (U+0023 oq#cq), nor with the hyphen
          character (U+002D oq-cq).

          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

     Page 1                       1.20.9             (printed 5/24/22)

     deb822(5)                 (2021-04-13)                  deb822(5)

          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.

              multiline
                  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 oq.cq).

     Page 2                       1.20.9             (printed 5/24/22)

     deb822(5)                 (2021-04-13)                  deb822(5)

              Lines starting with U+0023 oq#cq, 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
          RFC822, RFC5322.

     Page 3                       1.20.9             (printed 5/24/22)