1deb-changelog(5) dpkg suite deb-changelog(5)
2
3
4
6 deb-changelog - dpkg source packages' changelog file format
7
9 debian/changelog
10
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: Bug#nnnnn
61
62 in the change details (the exact Perl regular expression is
63 /closes:\s*(?:bug)?\#?\s?\d+(?:,\s*(?:bug)?\#?\s?\d+)*/i). This
64 information is conveyed via the Closes field in the .changes file.
65
66 The maintainer name and email address used in the changelog should be
67 the details of the person who prepared this release of the package.
68 They are not necessarily those of the uploader or usual package
69 maintainer. The information here will be copied to the Changed-By
70 field in the .changes file, and then later might be used to send an
71 acknowledgment when the upload has been installed in the distribution
72 archive.
73
74 The date has the following format (compatible and with the same
75 semantics of RFC2822 and RFC5322, or what «date -R» generates):
76
77 day-of-week, dd month yyyy hh:mm:ss +zzzz
78
79 where:
80
81 day-of-week
82 Is one of: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
83
84 dd Is a one- or two-digit day of the month (01-31), where the leading
85 zero is optional, but conventionally does not get omitted.
86
87 month
88 Is one of: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov,
89 Dec.
90
91 yyyy
92 Is the four-digit year (e.g. 2010).
93
94 hh Is the two-digit hour (00-23).
95
96 mm Is the two-digit minutes (00-59).
97
98 ss Is the two-digit seconds (00-60).
99
100 [+-]zzzz
101 Is the time zone offset from Coordinated Universal Time (UTC). ‘+’
102 indicates that the time is ahead of (i.e., east of) UTC and ‘-’
103 indicates that the time is behind (i.e., west of) UTC. The first
104 two digits indicate the hour difference from UTC and the last two
105 digits indicate the number of additional minutes difference from
106 UTC. The last two digits must be in the range 00-59.
107
108 The first “title” line with the package name must start at the left
109 hand margin. The “trailer” line with the maintainer and date details
110 must be preceded by exactly one space (U+0020 SPACE). The maintainer
111 details and the date must be separated by exactly two spaces (U+0020
112 SPACE). Each part of the date can be separated by one or more spaces
113 (U+0020 SPACE), except after the comma where it can be separated by
114 zero or more spaces (U+0020 SPACE).
115
116 Any line that consists entirely (i.e., no leading whitespace) of # or
117 /* */ style comments or RCS keywords.
118
119 Vim modelines or Emacs local variables, and ancient changelog entries
120 with other formats at the end of the file should be accepted and
121 preserved on output, but their contents might be otherwise ignored and
122 parsing stopped at that point.
123
124 The entire changelog must be encoded in UTF-8.
125
127 debian/changelog
128
130 dpkg (1.17.18) unstable; urgency=low
131
132 [ Guillem Jover ]
133 * Handle empty minimum versions when initializing dependency versions,
134 as the code is mapping the minimum version 0 to '' to avoid outputting
135 useless versions. Regression introduced in dpkg 1.17.17. Closes: #764929
136
137 [ Updated programs translations ]
138 * Catalan (Guillem Jover).
139
140 [ Updated dselect translations ]
141 * Catalan (Guillem Jover).
142 * German (Sven Joachim).
143
144 -- Guillem Jover <guillem@debian.org> Sun, 12 Oct 2014 15:47:44 +0200
145
147 deb822(5), deb-version(7), deb-changes(5), dpkg-parsechangelog(1).
148
149
150
1511.21.9 2022-07-01 deb-changelog(5)