1deb-changelog(5)                  dpkg suite                  deb-changelog(5)
2
3
4

NAME

6       deb-changelog - dpkg source packages' changelog file format
7

SYNOPSIS

9       debian/changelog
10

DESCRIPTION

12       Changes in the packaged version of a project are explained in the
13       changelog file debian/changelog.  This includes modifications made in
14       the source package compared to the upstream one as well as other
15       changes and updates to the package.
16
17       The format of the debian/changelog allows the package building tools to
18       discover which version of the package is being built and find out other
19       release-specific information.
20
21       That format is a series of entries like this:
22
23        package (version) distributions; metadata
24                 [optional blank line(s), stripped]
25         * change-details
26           more-change-details
27                 [blank line(s), included in dpkg-parsechangelog(1) output]
28         * even-more-change-details
29                 [optional blank line(s), stripped]
30         -- maintainer-name <email-address>  date
31
32       package and version are the source package name and version number.
33       version is delimited by parenthesis U+00028 ‘(’ and U+0029 ‘)’.
34
35       distributions lists one or more space-separated distributions where
36       this version should be installed when it is uploaded; it is copied to
37       the Distribution field in the .changes file.  distributions must be
38       terminated by a semicolon (U+003B ‘;’).
39
40       metadata lists zero or more comma-separated keyword=value items.  Each
41       keyword can contain only minus and case insensitive alphanumeric
42       characters, as they need to be mapped to deb822(5) field names.  The
43       only keywords currently supported by dpkg are urgency and binary-only.
44       urgency's value is used for the Urgency field in the .changes file for
45       the upload.  binary-only with a yes value, is used to denote that this
46       changelog entry is for a binary-only non-maintainer upload (an
47       automatic binary rebuild with the only change being the changelog
48       entry).
49
50       The change details may in fact be any series of lines starting with at
51       least two spaces (U+0020 SPACE), but conventionally each change starts
52       with an asterisk and a separating space and continuation lines are
53       indented so as to bring them in line with the start of the text above.
54       Blank lines may be used here to separate groups of changes, if desired.
55
56       If this upload resolves bugs recorded in the distribution bug tracking
57       system, they may be automatically closed on the inclusion of this
58       package into the distribution archive by including the string:
59
60           Closes: #nnnnn
61
62       in the change details, where #nnnnn is the bug number.  The exact Perl
63       regular expression is:
64
65           /closes:\s*(?:bug)?\#?\s?\d+(?:,\s*(?:bug)?\#?\s?\d+)*/i
66
67       That is, the string should consist of the word closes: followed by a
68       comma-separated list of bug numbers.  Bug numbers may be preceded by
69       the word bug and/or a # sign, as in "Closes: 42, bug#43, #44, bug 45".
70       The words closes: and bug are not case sensitive.  The list of bug
71       numbers may span multiple lines.
72
73       This information is conveyed via the Closes field in the .changes file.
74       Where, depending on the archive maintenance software, all the bug
75       numbers listed might get automatically closed.
76
77       The maintainer name and email address used in the changelog should be
78       the details of the person who prepared this release of the package.
79       They are not necessarily those of the uploader or usual package
80       maintainer.  The information here will be copied to the Changed-By
81       field in the .changes file, and then later might be used to send an
82       acknowledgment when the upload has been installed in the distribution
83       archive.
84
85       The date has the following format (compatible and with the same
86       semantics of RFC2822 and RFC5322, or what «date -R» generates):
87
88           day-of-week, dd month yyyy hh:mm:ss +zzzz
89
90       where:
91
92       day-of-week
93           Is one of: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
94
95       dd  Is a one- or two-digit day of the month (01-31), where the leading
96           zero is optional, but conventionally does not get omitted.
97
98       month
99           Is one of: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov,
100           Dec.
101
102       yyyy
103           Is the four-digit year (e.g. 2010).
104
105       hh  Is the two-digit hour (00-23).
106
107       mm  Is the two-digit minutes (00-59).
108
109       ss  Is the two-digit seconds (00-60).
110
111       [+-]zzzz
112           Is the time zone offset from Coordinated Universal Time (UTC).  ‘+
113           indicates that the time is ahead of (i.e., east of) UTC and ‘-
114           indicates that the time is behind (i.e., west of) UTC.  The first
115           two digits indicate the hour difference from UTC and the last two
116           digits indicate the number of additional minutes difference from
117           UTC.  The last two digits must be in the range 00-59.
118
119       The first “title” line with the package name must start at the left
120       hand margin.  The “trailer” line with the maintainer and date details
121       must be preceded by exactly one space (U+0020 SPACE).  The maintainer
122       details and the date must be separated by exactly two spaces (U+0020
123       SPACE).  Each part of the date can be separated by one or more spaces
124       (U+0020 SPACE), except after the comma where it can be separated by
125       zero or more spaces (U+0020 SPACE).
126
127       Any line that consists entirely (i.e., no leading whitespace) of # or
128       /* */ style comments or RCS keywords.
129
130       Vim modelines or Emacs local variables, and ancient changelog entries
131       with other formats at the end of the file should be accepted and
132       preserved on output, but their contents might be otherwise ignored and
133       parsing stopped at that point.
134
135       The entire changelog must be encoded in UTF-8.
136

FILES

138       debian/changelog
139

EXAMPLES

141        dpkg (1.17.18) unstable; urgency=low
142
143         [ Guillem Jover ]
144         * Handle empty minimum versions when initializing dependency versions,
145           as the code is mapping the minimum version 0 to '' to avoid outputting
146           useless versions. Regression introduced in dpkg 1.17.17. Closes: #764929
147
148         [ Updated programs translations ]
149         * Catalan (Guillem Jover).
150
151         [ Updated dselect translations ]
152         * Catalan (Guillem Jover).
153         * German (Sven Joachim).
154
155         -- Guillem Jover <guillem@debian.org>  Sun, 12 Oct 2014 15:47:44 +0200
156

SEE ALSO

158       deb822(5), deb-version(7), deb-changes(5), dpkg-parsechangelog(1).
159
160
161
1621.21.21                           2023-02-25                  deb-changelog(5)
Impressum