<chapt> The checklist
-<sect> Version 3.8.5.0
+<sect> Version 3.9.3.0
<p>
-Release Jun 2010.
+Unreleased.
+
+</p><p><taglist>
+<tag>2.4</tag>
+ <item>New archive sections <em>education</em>, <em>introspection</em>,
+ and <em>metapackages</em> added.
+ </item>
+<tag>5.6.8</tag>
+ <item>The <tt>Architecture</tt> field in <file>*.dsc</file> files may
+ now contain the value <tt>any all</tt> for source packages building both
+ architecture-independent and architecture-dependent packages.
+ </item>
+<tag>9.10</tag>
+ <item>Packages using doc-base do not need to call install-docs anymore.
+ </item>
+<tag>11.8</tag>
+ <item>The Policy rules around Motif libraries were just a special case
+ of normal rules for non-free dependencies and were largely obsolete, so
+ they have been removed.
+ </item>
+<tag>12.5</tag>
+ <item><file>debian/copyright</file> is no longer required to list the
+ Debian maintainers involved in the creation of the package (although
+ note that the requirement to list copyright information is unchanged).
+ </item>
+<tag>perl</tag>
+ <item>Packages may declare an interest in the <var>perl-major-upgrade</var>
+ trigger to be notified of major upgrades of perl.
+ </item>
+<tag>virtual</tag>
+ <item><tt>ttf-japanese-{mincho, gothic}</tt> is renamed to
+ <tt>fonts-japanese-{mincho, gothic}</tt>.
+ </item>
+</taglist></p>
+
+<sect> Version 3.9.2.0
+<p>
+
+Released April, 2011.
+
+</p><p><taglist>
+<tag>*</tag>
+ <item>Multiple clarifications throughout Policy where "installed" was
+ used and the more precise terms "unpacked" or "configured" were
+ intended.
+ </item>
+<tag>3.3</tag>
+ <item>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 <tt>Uploaders</tt> if the maintainer is a shared email
+ address. The duties of a maintainer are also clearer.
+ </item>
+<tag>5</tag>
+ <item>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.
+ </item>
+<tag>5.1</tag>
+ <item>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 #.
+ </item>
+<tag>5.6.25</tag>
+ <item>The <tt>DM-Upload-Allowed</tt> field is now documented.
+ </item>
+<tag>6.5</tag>
+ <item>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.
+ </item>
+<tag>7.2</tag>
+ <item>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.
+ </item>
+<tag>7.2</tag>
+ <item>The system state when <prgn>postinst</prgn> and <prgn>prerm</prgn>
+ scripts are run is now documented, and the documentation of the special
+ case of dependency state for <prgn>postrm</prgn> scripts has been
+ improved. <prgn>postrm</prgn> scripts are required to gracefully skip
+ actions if their dependencies are not available.
+ </item>
+<tag>9.1.1</tag>
+ <item>GNU/Hurd systems are allowed <file>/hurd</file>
+ and <file>/servers</file> directories in the root filesystem.
+ </item>
+<tag>9.1.1</tag>
+ <item>Packages installing to architecture-specific subdirectories of
+ <file>/usr/lib</file> must use the value returned by
+ <prgn>dpkg-architecture -qDEB_HOST_MULTIARCH</prgn>, not by
+ <prgn>dpkg-architecture -qDEB_HOST_GNU_TYPE</prgn>; this is a path change
+ on i386 architectures and a no-op for other architectures.
+ </item>
+<tag>virtual</tag>
+ <item><tt>mailx</tt> is now a virtual package provided by packages that
+ install <prgn>/usr/bin/mailx</prgn> and implement at least the
+ POSIX-required interface.
+ </item>
+</taglist></p>
+
+<sect> Version 3.9.1.0
+<p>
+
+Released July, 2010.
+
+</p><p><taglist>
+<tag>3.2.1</tag>
+ <item>Date-based version components should be given as the four-digit
+ year, two-digit month, and then two-digit day, but may have embedded
+ punctuation.
+ </item>
+<tag>3.9</tag>
+ <item>Maintainer scripts must pass <tt>--package</tt>
+ to <prgn>dpkg-divert</prgn> when creating or removing diversions and
+ must not use <tt>--local</tt>.
+ </item>
+<tag>4.10</tag>
+ <item>Only <prgn>dpkg-gencontrol</prgn> supports variable substitution.
+ <prgn>dpkg-genchanges</prgn> (for <file>*.changes</file>)
+ and <prgn>dpkg-source</prgn> (for <file>*.dsc</file>) do not.
+ </item>
+<tag>7.1</tag>
+ <item>Architecture restrictions and wildcards are also allowed in binary
+ package relationships provided that the binary package is not
+ architecture-independent.
+ </item>
+<tag>7.4</tag>
+ <item><tt>Conflicts</tt> and <tt>Breaks</tt> should only be used when
+ there are file conflicts or one package breaks the other, not just
+ because two packages provide similar functionality but don't interfere.
+ </item>
+<tag>8.1</tag>
+ <item>The SONAME of a library should change whenever the ABI of the
+ library changes in a way that isn't backward-compatible. It should not
+ change if the library ABI changes are backward-compatible. Discourage
+ bundling shared libraries together in one package.
+ </item>
+<tag>8.4</tag>
+ <item>Ada Library Information (<file>*.ali</file>) files must be
+ installed read-only.
+ </item>
+<tag>8.6.1, 8.6.2, 8.6.5</tag>
+ <item>Packages should normally not include a <file>shlibs.local</file>
+ file since we now have complete <file>shlibs</file> coverage.
+ </item>
+<tag>8.6.3</tag>
+ <item>The SONAME of a library may instead be of the
+ form <tt><var>name</var>-<var>major-version</var>.so</tt>.
+ </item>
+<tag>10.2</tag>
+ <item>Libtool <file>.la</file> files should not be installed for public
+ libraries. If they're required (for <tt>libltdl</tt>, for instance),
+ the <tt>dependency_libs</tt> setting should be emptied. Library
+ packages historically including <file>.la</file> files must continue to
+ include them (with <tt>dependency_libs</tt> emptied) until all libraries
+ that depend on that library have removed or emptied
+ their <file>.la</file> files.
+ </item>
+<tag>10.2</tag>
+ <item>Libraries no longer need to be built with <tt>-D_REENTRANT</tt>,
+ which was an obsolete LinuxThreads requirement. Instead, say explicitly
+ that libraries should be built with threading support and to be
+ thread-safe if the library supports this.
+ </item>
+<tag>10.4</tag>
+ <item><file>/bin/sh</file> scripts may assume that <prgn>kill</prgn>
+ supports an argument of <tt>-<var>signal</var></tt>,
+ that <prgn>kill</prgn> and <prgn>trap</prgn> support the numeric signals
+ listed in the XSI extension, and that signal 13 (SIGPIPE) can be trapped
+ with <prgn>trap</prgn>.
+ </item>
+<tag>10.8</tag>
+ <item>Use of <file>/etc/logrotate.d/<var>package</var></file> for
+ logrotate rules is now recommended.
+ </item>
+<tag>10.9</tag>
+ <item>Control information files should be owned by <tt>root:root</tt>
+ and either mode 644 or mode 755.
+ </item>
+<tag>11.4, 11.8.3, 11.8.4</tag>
+ <item>Packages providing alternatives for <prgn>editor</prgn>,
+ <prgn>pager</prgn>, <prgn>x-terminal-emulator</prgn>, or
+ <prgn>x-window-manager</prgn> should also provide a slave alternative
+ for the corresponding manual page.
+ </item>
+<tag>11.5</tag>
+ <item>Cgi-bin executable files may be installed in subdirectories
+ of <file>/usr/lib/cgi-bin</file> and web servers should serve out
+ executables in those subdirectories.
+ </item>
+<tag>12.5</tag>
+ <item>The GPL version 1 is now included in common-licenses and should be
+ referenced from there instead of included in the <file>copyright</file>
+ file.
+ </item>
+</taglist></p>
+
+<sect> Version 3.9.0.0
+<p>
+
+Released June, 2010.
</p><p><taglist>
<tag>4.4, 5.6.15</tag>
particular field name.
</item>
<tag>5.4, 5.5, 5.6.24</tag>
- <item>Document and recommend the <tt>Checksums-Sha1</tt>
- and <tt>Checksums-Sha256</tt> fields in <file>*.dsc</file>
- and <file>*.changes</file> files.
+ <item>The <tt>Checksums-Sha1</tt> and <tt>Checksums-Sha256</tt> fields
+ in <file>*.dsc</file> and <file>*.changes</file> files are now
+ documented and recommended.
+ </item>
+<tag>5.5, 5.6.16</tag>
+ <item>The <tt>Format</tt> field of <file>.changes</file> files is now
+ 1.8. The <tt>Format</tt> field syntax for source
+ package <file>.dsc</file> files allows a subtype in parentheses, and it
+ is used for a different purpose than the <tt>Format</tt> field
+ for <file>.changes</file> files.
+ </item>
+<tag>5.6.2</tag>
+ <item>The syntax of the <tt>Maintainer</tt> field is now must rather
+ than should.
+ </item>
+<tag>5.6.3</tag>
+ <item>The comma separating entries in <tt>Uploaders</tt> is now must
+ rather than should.
</item>
<tag>5.6.8, 7.1, 11.1.1</tag>
<item>Architecture wildcards may be used in addition to specific
is no controlling terminal and no reasonable default for a high-priority
question, but should avoid this if possible.
</item>
+<tag>7.3, 7.6.1</tag>
+ <item><tt>Breaks</tt> should be used with <tt>Replaces</tt> for moving
+ files between packages.
+ </item>
+<tag>7.4</tag>
+ <item><tt>Breaks</tt> should normally be used instead
+ of <tt>Conflicts</tt> for transient issues and moving files between
+ packages. New documentation of when each should be used.
+ </item>
+<tag>7.5</tag>
+ <item>Use <tt>Conflicts</tt> with <tt>Provides</tt> if only one provider
+ of a virtual facility can be installed at a time.
+ </item>
<tag>8.4</tag>
<item>All shared library development files are no longer required to be
in the <tt>-dev</tt> package, only be available when the <tt>-dev</tt>
in <file>debian/copyright</file>, although it will still be in
common-licenses for the time being.
</item>
+<tag>debconf</tag>
+ <item><tt>SETTITLE</tt> is now documented (it has been supported for
+ some time). <tt>SETTITLE</tt> is like <tt>TITLE</tt> but takes a
+ template instead of a string to allow translation.
+ </item>
<tag>perl</tag>
<item><package>perl-base</package> now
provides <package>perlapi-<var>abiname</var></package> instead of a
<file>/usr/lib/triplet</file> directories.
</item>
<tag>10.6</tag>
- <item>Explicitly state that packages may not contain named pipes and
- should instead create them in postinst and remove them in prerm or postrm.
+ <item>Packages may not contain named pipes and should instead create
+ them in postinst and remove them in prerm or postrm.
</item>
<tag>9.1.1</tag>
<item><file>/sys</file> and <file>/selinux</file> directories are explicitly
</p><p><taglist>
<tag>4.9</tag>
- <item>Add DEB_*_ARCH_CPU and DEB_*_ARCH_OS variables and
- recommend them over GNU-style variables for that information.
+ <item>DEB_*_ARCH_CPU and DEB_*_ARCH_OS variables are now documented and
+ recommended over GNU-style variables for that information.
</item>
<tag>5.6.8</tag>
<item>Source package Architecture fields may contain <em/all/ in
<item>The Binary field may span multiple lines.
</item>
<tag>10.2</tag>
- <item>Remove the permission for shared library packages to
- install libraries in a non-standard location and modify <file/ld.so.conf/.
- Packages should either be installed in a standard library directory
- or packages using them should be built with RPATH.
+ <item>Shared library packages are no longer allowed to install libraries
+ in a non-standard location and modify <file/ld.so.conf/. Packages
+ should either be installed in a standard library directory or packages
+ using them should be built with RPATH.
</item>
<tag>11.8.7</tag>
- <item>Clarify installation directories for X programs and
- remove the requirement to pre-depend on x11-common before installing
- into <file>/usr/include/X11</file> and <file>/usr/lib/X11</file>.
+ <item>Installation directories for X programs have been clarified.
+ Packages are no longer required to pre-depend on x11-common before
+ installing into <file>/usr/include/X11</file>
+ and <file>/usr/lib/X11</file>.
</item>
<tag>12.1</tag>
- <item>Remove the requirement that all characters in a manual
- page be representable in the legacy encoding for that language.
+ <item>Manual pages are no longer required to contain only characters
+ representable in the legacy encoding for that language.
</item>
<tag>12.1</tag>
<item>Localized man pages should either be kept up-to-date with
<item>Changelog files must be encoded in UTF-8.
</item>
<tag>4.4</tag>
- <item>Tighten some format requirements for changelog files from a should
- to a must.
+ <item>Some format requirements for changelog files are now "must"
+ instead of "should."
</item>
<tag>4.4.1</tag>
- <item>Remove alternative changelog formats. Debian only supports one
- changelog format for the Debian Archive.
+ <item>Alternative changelog formats have been removed. Debian only
+ supports one changelog format for the Debian Archive.
</item>
<tag>4.9.1</tag>
<item>New nocheck option for DEB_BUILD_OPTIONS indicating any build-time
<item>All control files must be encoded in UTF-8.
</item>
<tag>5.2</tag>
- <item>debian/control allows comment lines starting with # with no
- preceding whitespace.
+ <item><file>debian/control</file> allows comment lines starting with #
+ with no preceding whitespace.
</item>
<tag>9.3</tag>
<item>Init scripts ending in .sh are not handled specially. They are not