We’ve just uploaded version 18.104.22.168 of Debian Policy. The next time you upload one of your packages, please review it against the new version of Policy and make any relevant changes.
This version of Policy includes considerably more information about system
state and dependency availability when maintainer scripts are run,
particularly in error handling cases. If you have complex maintainer
scripts, you may want to review the new documentation and double-check
that your scripts are written to the correct assumptions.
Here is a summary of the changes in this version (and yes, I once again
forgot to update the release date in upgrading-checklist — *sigh*):
Multiple clarifications throughout Policy where “installed” was
used and the more precise terms “unpacked” or “configured” were
The maintainer address must accept mail from Debian role accounts
and the BTS. At least one human must be listed with their
personal email address in `Uploaders’ if the maintainer is a
shared email address. The duties of a maintainer are also
All control fields are now classified as simple, folded, or
multiline, which governs whether their values must be a single
line or may be continued across multiple lines and whether line
breaks are significant.
Parsers are allowed to accept paragraph separation lines
containing whitespace, but control files should use completely
empty lines. Ordering of paragraphs is significant. Field names
must be composed of printable ASCII characters except colon and
must not begin with #.
The `DM-Upload-Allowed’ field is now documented.
The system state maintainer scripts can rely upon during each
possible invocation is now documented. In several less-common
cases, this is stricter than Policy had previously documented.
Packages with complex maintainer scripts should be reviewed in
light of this new documentation.
The impact on system state when maintainer scripts that are part
of a circular dependency are run is now documented. Circular
dependencies are now a should not.
The system state when `postinst’ and `prerm’ scripts are run is
now documented, and the documentation of the special case of
dependency state for `postrm’ scripts has been improved.
`postrm’ scripts are required to gracefully skip actions if their
dependencies are not available.
GNU/Hurd systems are allowed `/hurd’ and `/servers’ directories
in the root filesystem.
Packages installing to architecture-specific subdirectories of
`/url/lib’ must use the value returned by `dpkg-architecture
-qDEB_HOST_MULTIARCH’, not by `dpkg-architecture
-qDEB_HOST_GNU_TYPE’; this is a path change on i386 architectures
and a no-op for other architectures.
`mailx’ is now a virtual package provided by packages that
install `/usr/bin/mailx’ and implement at least the
Also in this release of the debian-policy package is a DocBook conversion
of the DEP-5 proposal. This will be an optional standard also maintained
by the Policy process, and eventually will make its way on the web site so
that debian/copyright files using this format can refer to a versioned
copy of the document. However, the version included in this release
should be considered a draft and is not yet quite ready to go up on the
web site or to replace the current DEP-5 version. We expect that to come
with the next release. Additional proofreading and feedback is very
Russ Allbery (email@example.com)