deb-changelog(5) dpkg suite deb-changelog(5)
NAME
deb-changelog - dpkg source packages' changelog file format
SYNOPSIS
changelog
DESCRIPTION
Changes in the packaged version of a project are explained in the
changelog file debian/changelog. This includes modifications made in
the source package compared to the upstream one as well as other
changes and updates to the package.
The format of the debian/changelog allows the package building tools to
discover which version of the package is being built and find out other
release-specific information.
That format is a series of entries like this:
package (version) distributions; metadata
[optional blank line(s), stripped]
* change-details
more-change-details
[blank line(s), included in output of dpkg-parsechangelog(1)]
* even-more-change-details
[optional blank line(s), stripped]
-- maintainer-name <email-address> date
package and version are the source package name and version number.
distributions lists one or more space-separated distributions where
this version should be installed when it is uploaded; it is copied to
the Distribution field in the .changes file.
metadata is a comma-separated list of keyword=value items. The only
keywords currently supported by dpkg are urgency and binary-only.
urgency's value is used for the Urgency field in the .changes file for
the upload. binary-only with a yes value, is used to denote that this
changelog entry is for a binary-only non-maintainer upload (an
automatic binary rebuild with the only change being the changelog
entry).
The change details may in fact be any series of lines starting with at
least two spaces, but conventionally each change starts with an
asterisk and a separating space and continuation lines are indented so
as to bring them in line with the start of the text above. Blank lines
may be used here to separate groups of changes, if desired.
If this upload resolves bugs recorded in the distribution bug tracking
system, they may be automatically closed on the inclusion of this
package into the distribution archive by including the string:
Closes: Bug#nnnnn
in the change details (the exact Perl regular expression is
/closes:\s*(?:bug)?\#?\s?\d+(?:,\s*(?:bug)?\#?\s?\d+)*/i). This
information is conveyed via the Closes field in the .changes file.
The maintainer name and email address used in the changelog should be
the details of the person who prepared this release of the package.
They are not necessarily those of the uploader or usual package
maintainer. The information here will be copied to the Changed-By
field in the .changes file, and then later might be used to send an
acknowledgement when the upload has been installed in the distribution
archive.
The date has the following format (compatible and with the same
semantics of RFC2822 and RFC5322, or what <<date -R>> generates):
day-of-week, dd month yyyy hh:mm:ss +zzzz
where:
day-of-week
Is one of: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
dd Is a one- or two-digit day of the month (01-31).
month Is one of: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct,
Nov, Dec.
yyyy Is the four-digit year (e.g. 2010).
hh Is the two-digit hour (00-23).
mm Is the two-digit minutes (00-59).
ss Is the two-digit seconds (00-60).
[+-]zzzz
Is the time zone offset from Coordinated Universal Time (UTC).
'+' indicates that the time is ahead of (i.e., east of) UTC and
'-' indicates that the time is behind (i.e., west of) UTC. The
first two digits indicate the hour difference from UTC and the
last two digits indicate the number of additional minutes
difference from UTC. The last two digits must be in the range
00-59.
The first "title" line with the package name must start at the left
hand margin. The "trailer" line with the maintainer and date details
must be preceded by exactly one space. The maintainer details and the
date must be separated by exactly two spaces.
Any line that consists entirely (i.e., no leading whitespace) of # or
/* */ style comments or RCS keywords.
Vim modelines or Emacs local variables, and ancient changelog entries
with other formats at the end of the file should be accepted and
preserved on output, but their contents might be otherwise ignored and
parsing stopped at that point.
The entire changelog must be encoded in UTF-8.
FILES
debian/changelog
EXAMPLES
dpkg (1.17.18) unstable; urgency=low
[ Guillem Jover ]
* Handle empty minimum versions when initializing dependency versions,
as the code is mapping the minimum version 0 to '' to avoid outputting
useless versions. Regression introduced in dpkg 1.17.17. Closes: #764929
[ Updated programs translations ]
* Catalan (Guillem Jover).
[ Updated dselect translations ]
* Catalan (Guillem Jover).
* German (Sven Joachim).
-- Guillem Jover <guillem@debian.org> Sun, 12 Oct 2014 15:47:44 +0200
SEE ALSO
deb-version(7), deb-changes(5), dpkg-parsechangelog(1).
1.19.7 2019-06-03 deb-changelog(5)