<chapt> The checklist
-<sect> Version 3.9.1.0
+<sect id="3.9.3.0"> Version 3.9.3.0
<p>
-Not yet released.
+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.5</tag>
+ <item>Cron job file names must not contain <tt>.</tt> or <tt>+</tt> or
+ they will be ignored by cron. They should replace those characters
+ with <tt>_</tt>. If a package provides multiple cron job files in the
+ same directory, they should each start with the package name (possibly
+ modified as above), <tt>-</tt>, and then some suitable prefix.
+ </item>
+<tag>9.10</tag>
+ <item>Packages using doc-base do not need to call install-docs anymore.
+ </item>
+<tag>10.7.4</tag>
+ <item>Packages that declare the same <tt>conffile</tt> may see left-over
+ configuration files from each other even if they conflict.
+ </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>mime</tag>
+ <item>Retire this separate document and merge its (short) contents into
+ Policy section 9.7. There are no changes to the requirements.
+ </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 id="3.9.2.0"> 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 id="3.9.1.0"> 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.
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>
</item>
</taglist></p>
-<sect> Version 3.9.0.0
+<sect id="3.9.0.0"> Version 3.9.0.0
<p>
Released June, 2010.
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
common-licenses for the time being.
</item>
<tag>debconf</tag>
- <item>Add <tt>SETTITLE</tt> (which has been supported for some time).
- Like <tt>TITLE</tt> but takes a template instead of a string to allow
- translation.
+ <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
</item>
</taglist></p>
-<sect> Version 3.8.4.0
+<sect id="3.8.4.0"> Version 3.8.4.0
<p>
Release Jan 2010.
<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
</item>
</taglist></p>
-<sect> Version 3.8.3.0
+<sect id="3.8.3.0"> Version 3.8.3.0
<p>
Released Aug 2009.
</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>
</taglist></p>
-<sect> Version 3.8.2.0
+<sect id="3.8.2.0"> Version 3.8.2.0
<p>
Released Jun 2009.
</item>
</taglist></p>
-<sect> Version 3.8.1.0
+<sect id="3.8.1.0"> Version 3.8.1.0
<p>
Released Mar 2009.
<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
</item>
</taglist></p>
-<sect> Version 3.8.0.0
+<sect id="3.8.0.0"> Version 3.8.0.0
<p>
Released Jun 2008.
<item>Underscore (_) is allowed in debconf template names.
</taglist></p>
-<sect> Version 3.7.3.0
+<sect id="3.7.3.0"> Version 3.7.3.0
<p>
Released Dec 2007.
be referenced rather than quoted in debian/copyright.
</taglist></p>
-<sect> Version 3.7.2.2
+<sect id="3.7.2.2"> Version 3.7.2.2
<p>
Released Oct 2006.
should to a must)</item>
</taglist></p>
-<sect> Version 3.7.2.0
+<sect id="3.7.2.0"> Version 3.7.2.0
<p>
Released Apr 2006.
<tag>11.5</tag> <item>Revert the cgi-lib change. </item>
</taglist></p>
-<sect> Version 3.7.1.0
+<sect id="3.7.1.0"> Version 3.7.1.0
<p>
Released Apr 2006.
they do so, they must pre-depend on <tt>x11-common (>= 1:7.0.0)</tt>
</taglist></p>
-<sect> Version 3.7.0.0
+<sect id="3.7.0.0"> Version 3.7.0.0
<p>
Released Apr 2006.
is gone.
</taglist></p>
-<sect> Version 3.6.2.0
+<sect id="3.6.2.0"> Version 3.6.2.0
<p>
Released 2005
</item>
</taglist></p>
-<sect> Version 3.6.1.0
+<sect id="3.6.1.0"> Version 3.6.1.0
<p>
Released Aug 2003.
user prompts are now deprecated.
</taglist></p>
-<sect> Version 3.6.0
+<sect id="3.6.0.0"> Version 3.6.0
<p>
Released Jul 2003.
target.
</taglist></p>
-<sect> Version 3.5.10
+<sect id="3.5.10.0"> Version 3.5.10
<p>
Released May 2003.
Project may add 40 points for ranking in the alternatives
</taglist></p>
-<sect> Version 3.5.9.0
+<sect id="3.5.9.0"> Version 3.5.9.0
<p>
Released Mar 2003.
(rather than <file>/usr/share/doc/package/examples</file>).
</taglist></p>
-<sect> Version 3.5.8.0
+<sect id="3.5.8.0"> Version 3.5.8.0
<p>
Released Nov 2002.
are still a bug.
</taglist></p>
-<sect> Version 3.5.7.0
+<sect id="3.5.7.0"> Version 3.5.7.0
<p>
Released Aug 2002.
rules, please see below
</em></p>
-<sect> Version 3.5.6.0
+<sect id="3.5.6.0"> Version 3.5.6.0
<p>
Released Jul 2001.
there is a new Build-Depend-Indep semantic.
</taglist></p>
-<sect> Version 3.5.5.0
+<sect id="3.5.5.0"> Version 3.5.5.0
<p>
Released May 2001.
</taglist></item>
</taglist></p>
-<sect> Version 3.5.4.0
+<sect id="3.5.4.0"> Version 3.5.4.0
<p> Released Apr 2001.
</p><p><taglist>
</item>
</taglist></p>
-<sect> Version 3.5.3.0
+<sect id="3.5.3.0"> Version 3.5.3.0
<p> Released Apr 2001
</p><p><taglist>
</item>
</taglist></p>
-<sect> Version 3.5.2.0
+<sect id="3.5.2.0"> Version 3.5.2.0
<p> Released Feb 2001.
</item>
</taglist></p>
-<sect> Version 3.5.1.0
+<sect id="3.5.1.0"> Version 3.5.1.0
<p> Released Feb 2001.
</item>
</taglist></p>
-<sect> Version 3.5.0.0
+<sect id="3.5.0.0"> Version 3.5.0.0
<p> Released Jan 2001.
</item>
</taglist></p>
-<sect> Version 3.2.1.1
+<sect id="3.2.1.1"> Version 3.2.1.1
<p> Released Jan 2001.
</item>
</taglist></p>
-<sect> Version 3.2.1.0
+<sect id="3.2.1.0"> Version 3.2.1.0
<p> Released Aug 00.
</item>
</taglist></p>
-<sect> Version 3.2.0.0
+<sect id="3.2.0.0"> Version 3.2.0.0
<p> Released Aug 00.
</item>
</taglist></p>
-<sect> Version 3.1.1.0
+<sect id="3.1.1.0"> Version 3.1.1.0
<p> Released Nov 1999.
</item>
</taglist></p>
-<sect> Version 3.1.0.0
+<sect id="3.1.0.0"> Version 3.1.0.0
<p> Released Oct 1999.
</item>
</taglist></p>
-<sect> Version 3.0.1.0
+<sect id="3.0.1.0"> Version 3.0.1.0
<p> Released Jul 1999.
</item>
</taglist></p>
-<sect> Version 3.0.0.0
+<sect id="3.0.0.0"> Version 3.0.0.0
<p> Released Jun 1999.
Please note that section numbers below this point may not be up to date
</em></p>
-<sect> Version 2.5.0.0
+<sect id="2.5.0.0"> Version 2.5.0.0
<p> Released Oct 1998.
</item>
</list></p>
-<sect> Version 2.4.1.0
+<sect id="2.4.1.0"> Version 2.4.1.0
<p> Released Apr 1998.
</p>
</item>
</list></p>
-<sect> Version 2.4.0.0
+<sect id="2.4.0.0"> Version 2.4.0.0
<p> Released Jan 1998
</item>
</taglist></p>
-<sect> Version 2.3.0.1, 2.3.0.0
+<sect id="2.3.0.0"> Version 2.3.0.1, 2.3.0.0
<p> Released Sep 1997.
<item>MUAs and MTAs have to use liblockfile</item>
</list></p>
-<sect> Version 2.2.0.0
+<sect id="2.2.0.0"> Version 2.2.0.0
<p> Released July 1997.
<item>app-defaults files may not be conffiles</item>
</list></p>
-<sect> Version 2.1.3.2, 2.1.3.1, 2.1.3.0
+<sect id="2.1.3.0"> Version 2.1.3.2, 2.1.3.1, 2.1.3.0
<p> Released Mar 1997.
</item>
</list></p>
-<sect> Version 2.1.2.2, 2.1.2.1, 2.1.2.0
+<sect id="2.1.2.0"> Version 2.1.2.2, 2.1.2.1, 2.1.2.0
<p> Released Nov 1996.
<item>Some changes WRT shared libraries
</list></p>
-<sect> Version 2.1.1.0
+<sect id="2.1.1.0"> Version 2.1.1.0
<p> Released Sep 1996.
<item>Shared libraries must be installed stripped </item>
</list></p>
-<sect> Version 2.1.0.0
+<sect id="2.1.0.0"> Version 2.1.0.0
<p> Released Aug 1996.