<html>
<head>
<!-- -*- Mode: Sgml -*-
- upgrading-checklist.html
- Author : Manoj Srivastava ( srivasta@tiamat.datasync.com )
- Created On : Thu Oct 29 20:54:48 1998
- Created On Node : tiamat.datasync.com
- Last Modified By : Manoj Srivastava
- Last Modified On : Sat Jun 7 15:11:50 2003
- Last Machine Used: glaurung.green-gryphon.com
- Update Count : 48
- Status : Unknown, Use with caution!
- HISTORY :
- Description :
-
-->
<h2>The checklist</h2>
<pre>
+3.8.3.0 unreleased
+
+ * Add DEB_*_ARCH_CPU and DEB_*_ARCH_OS variables and recommend them
+ over GNU-style variables for that information. [4.9]
+ * Source package Architecture fields may contain "all" in combination
+ with other architectures. Clarify when "all" and "any" may be used
+ in different versions of the field. [5.6.8]
+ * The requirement for Perl modules to have a versioned Depend and
+ Build-Depend on perl >= 5.6.0-16 has been removed. [perl]
+
+3.8.2.0 Jun 2009
+
+ * The list of archive sections has been significantly expanded. See
+ http://lists.debian.org/debian-devel-announce/2009/03/msg00010.html
+ for the list of new sections and rules for how to categorize
+ packages. [2.4]
+ * All packages must use debconf or equivalent for user prompting,
+ though essential packages or their dependencies may also fall
+ back on other methods. [3.9.1]
+ * The requirements for source package names are now explicitly
+ spelled out. [5.6.1]
+ * Legacy XFree86 servers no longer get a special exception from the
+ FHS permitting /etc/X11/XF86Config-4. [9.1]
+ * Removed obsolete dependency requirements for packages that use
+ /var/mail. [9.1.3]
+ * Speedo fonts are now deprecated. The X backend was disabled
+ starting in lenny. [11.8.5]
+ * The GNU Free Documentation License version 1.3 is included in
+ common-licenses and should be referenced from there. [12.5]
+
+3.8.1.0 Mar 2009
+
+ * Care should be taken when adding functionality to essential and
+ such additions create an obligation to support that functionality
+ in essential forever unless significant work is done. [3.8]
+ * Changelog files must be encoded in UTF-8. [4.4]
+ * Tighten some format requirements for changelog files from a should
+ to a must. [4.4]
+ * Remove alternative changelog formats. Debian only supports one
+ changelog format for the Debian Archive. [4.4.1]
+ * New nocheck option for DEB_BUILD_OPTIONS indicating any build-time
+ test suite provided by the package should not be run. [4.9.1]
+ * All control files must be encoded in UTF-8. [5.1]
+ * debian/control allows comment lines starting with # with no
+ preceding whitespace. [5.2]
+ * Init scripts ending in .sh are not handled specially. They are not
+ sourced and are not guaranteed to be run by /bin/sh regardless of
+ the #! line. This brings Policy in line with the long-standing
+ behavior of the init system in Debian. [9.3]
+ * The start action of an init script must exit successfully and not
+ start the daemon again if it's already running. [9.3.2]
+ * /var/run and /var/lock may be mounted as temporary filesystems, and
+ init scripts must therefore create any necessary subdirectories
+ dynamically. [9.3.2]
+ * /bin/sh scripts may assume that local can take multiple variable
+ arguments and supports assignment. [10.4]
+ * User mailboxes may be mode 600 and owned by the user rather than
+ mode 660, owned by user, and group mail. [11.6]
+
+3.8.0.0 Jun 2008
+
+ * The base section has been removed. contrib and non-free have been
+ removed from the section list; they are only categories. The base
+ system is now defined by priority. [2.4, 3.7]
+ * If dpkg-source -x doesn't provide the source that will be compiled,
+ a debian/rules patch target is recommended and should do whatever
+ else is necessary. [4.9]
+ * Standardized the format of DEB_BUILD_OPTIONS. Specified permitted
+ characters for tags, required that tags be whitespace-separated,
+ allowed packages to assume non-conflicting tags, and required
+ unknown flags be ignored. [4.9.1, 10.1]
+ * Added parallel=n to the standardized DEB_BUILD_OPTIONS tags,
+ indicating that a package should be built using up to n parallel
+ processes if the package supports it [4.9.1]
+ * Debian packages should not use convenience copies of code from other
+ packages unless the included package is explicitly intended to be
+ used that way. [4.13]
+ * If dpkg-source -x doesn't produce source ready for editing and
+ building with dpkg-buildpackage, packages should include a
+ debian/README.source file explaining how to generate the patched
+ source, add a new modification, and remove an existing
+ modification. This file may also be used to document packaging a
+ new upstream release and any other complexity of the Debian build
+ process. [4.14]
+ * The Uploaders field in debian/control may be wrapped. [5.6.3]
+ * An empty Debian revision is equivalent to a Debian revision of 0 in
+ a version number. [5.6.12]
+ * New Homepage field for upstream web sites. [5.6.23]
+ * The Breaks field declares that this package breaks another and
+ prevents installation of the breaking package unless the package
+ named in Breaks is deconfigured first. This field should not be
+ used until the dpkg in Debian stable supports it. [6.5, 6.6, 7]
+ * Clarify which files should go into a shared library package, into a
+ separate package, or into the -dev package. Suggest -tools instead
+ of -runtime for runtime support programs, since that naming is more
+ common in Debian. [8.1, 8.2]
+ * Files in /etc/cron.{hourly,daily,weekly,monthly} must be
+ configuration files (upgraded from should). Mention the hourly
+ directory. [9.5]
+ * Packages providing /etc/X11/Xresources files need not conflict with
+ xbase (<< 3.3.2.3a-2), which is long-obsolete. [11.8.6]
+ * Manual pages in locale-specific directories should use either the
+ legacy encoding for that directory or UTF-8. Country names should
+ not be included in locale-specific manual page directories unless
+ indicating a significant difference in the language. All
+ characters in the manual page source should be representable in the
+ legacy encoding for a locale even if the man page is encoded in
+ UTF-8. [12.1]
+ * The Apache 2.0 license is now in common-licenses and should be
+ referenced rather than quoted in debian/copyright. [12.5]
+ * Packages in contrib and non-free should state in the copyright file
+ that the package is not part of Debian GNU/Linux and briefly
+ explain why. [12.5]
+ * Underscore (_) is allowed in debconf template names. [debconf]
+
+3.7.3.0 Dec 2007
+
+ * Package version numbers may contain tildes, which sort before
+ anything, even the end of a part. [5.6.12]
+ * Scripts may assume that /bin/sh supports local (at a basic level)
+ and that its test builtin (if any) supports -a and -o binary
+ logical operators. [10.4]
+ * The substitution variable ${binary:Version} should be used in place
+ of ${Source-Version} for dependencies between packages of the same
+ library. [8.5]
+ * Substantial reorganization and renaming of sections in the Debian
+ menu structure. Packages with menu entries should be reviewed to
+ see if the menu section has been renamed or if one of the new
+ sections would be more appropriate. [menu policy]
+ * The Source field in a .changes file may contain a version number
+ in parentheses. [5.6.1]
+ * The acceptable values for the Urgency field are low, medium, high,
+ critical, or emergency. [5.6.17]
+ * The shlibs file now allows an optional type field, indicating the
+ type of package for which the line is valid. The only currently
+ supported type is udeb, used with packages for the Debian
+ Installer. [8.6]
+ * Packages following the Debian Configuration management
+ specification must allow for translation of their messages by using
+ a gettext-based system such as po-debconf. [3.9.1]
+ * GFDL 1.2, GPL 3, and LGPL 3 are now in common-licenses and should
+ be referenced rather than quoted in debian/copyright. [12.5]
+
+3.7.2.2 Oct 2006
+
+ * Maintainer scripts must not be world writeable (up from a
+ should to a must) [6.1]
+
+3.7.2.0 Apr 2006
+
+ * Revert the cgi-lib change. [11.5]
+
+3.7.1.0 Apr 2006
+
+ * It is now possible to create shared libraries without
+ relocatable code (using -fPIC) in certain exceptional cases,
+ provided some procedures are followed, and for creating static
+ libraries with relocatable code (again, using -fPIC).
+ Discussion on debian-devel@lists.debian.org, getting a rough
+ consensus, and documenting it in README.Debian constitute most
+ of the process. [10.2]
+ * Packages should install any relevant files into the directories
+ /usr/include/X11/and /usr/lib/X11/, but if they do so, they
+ must pre-depend on x11-common (>= 1:7.0.0) [11.8.7]
+
+3.7.0.0 Apr 2006
+
+ * Packages shipping web server CGI files are expected to install
+ them in /usr/lib/cgi-lib/ directories. This location change
+ perhaps should be documented in NEWS [11.5]
+ * Web server packages should include a standard scriptAlias of
+ cgi-lib to /usr/lib/cgi-lib. [11.5]
+ * The version of FHS mandated by policy has been upped to
+ 2.3. There should be no changes required for most packages,
+ though new top level directories /media, /srv, etc may be of
+ interest. [9.1.1]
+ * All fields, apart from the Uploaders field, in the control file
+ are supposed to be a single logical line, which may be spread
+ over multiple physical lines (newline followed by space is
+ elided). However, any parser for the control file must allow
+ the Uploaders field to be spread over multiple physical lines
+ as well, to prepare for future changes. [ 5.1, 5.6.3 ]
+ * When scripts are installed into a directory in the system
+ PATH, the script name should not include an extension that
+ denotes the scripting language currently used to implement it.
+ [ 10.4 ]
+ * packages that invoke initscripts now must use invoke-rc.d to do
+ so since it also pays attention to run levels and other local
+ constraints. [ 9.3.3.2 ]
+ * We no longer use /usr/X11R6, since we have migrated away to
+ using Xorg paths. This means, for one thing, fonts live in
+ /usr/share/fonts/X11/ now, and /usr/X11R6 is gone.
+ [ 11.8.5.2, 11.8.7, etc]
+
+3.6.2.0 2005
+
+ * Recommend doc-base, and not menu, for registering package documentation.
+ * Run time support programs should live in subdirectories of
+ /usr/lib/ or /usr/share, and preferably the shared lib is named
+ the same as the package name (to avoid name collisions). [8.1]
+ * It is recommended that HTTP servers provide an alias /images to
+ allow packages to share image files with the web server [11.5]
+
+3.6.1.0 Aug 2003
+
+ + Prompting the user should be done using debconf. Non debconf
+ user prompts are now deprecated. [3.10.1]
+
3.6.0 Jul 2003
- - Added Games/Simulation and Apps/Education to menu subpolicy
+ - Restructuring causing shifts in section numbers and bumping of
+ the minor version number:
+ + Many packaging manual appendices that were integrated into policy
+ sections are now empty, and replaced with links to the Policy.
+ In particular, the appendices that included the list of control
+ fields were updated (new fields like Closes, Changed-By were added)
+ and the list of fields for each of control, .changes and .dsc files
+ is now in Policy, and they're marked mandatory, recommended or
+ optional based on the current practice and the behavior of the
+ deb-building tool-chain.
+ + Elimination of needlessly deep section levels, primarily in the
+ chapter Debian Archive, from which two new chapters were split out,
+ Binary packages and Source packages. What remained was reordered
+ properly, that is, some sect1s became sects etc.
+ + Several sections that were redundant, crufty or simply not designed
+ with any sort of vision, were rearranged according to the formula that
+ everything should be either in the same place or properly interlinked.
+ Some things remained split up between different chapters when they
+ talked about different aspects of files: their content, their syntax,
+ and their placement in the file system. In particular, see the new
+ sections about changelog files.
+ - Added Games/Simulation and Apps/Education to menu sub-policy
[menu policy]
- Debian changelogs should be UTF-8 encoded. [C.2.2]
- shared libraries must be linked against all libraries that they
- Window managers compliant with the Window Manager Specification
Project may add 40 points for ranking in the alternatives [11.8.4]
-
3.5.9.0 Mar 2003
- The section describing the Description: package field once again has
example files can be installed into <tt>/usr/share/doc/package</tt>
(rather than <tt>/usr/share/doc/package/examples</tt>). [12.6]
-
3.5.8.0 Nov 2002
- It is no longer necessary to keep a log of changes to the upstream
- Added mention of build-arch, build-indep, etc, in describing
the relationships with `Build-Depends', `Build-Conflicts',
`Build-Depends-Indep', and `Build-Conflicts-Indep'. May need to
- review the new rules. [7.6, 4.9]
+ review the new rules. [7.6, 4.8]
- Changed rules on how, and when, to invoke ldconfig in maintainer
scripts. Long rationale. [8]
- [Added the last note in 3.5.6 upgrading checklist item regarding
- There are new rules for build-indep/build-arch targets and
there is a new Build-Depend-Indep semantic. [7]
-
3.5.5.0 May 2001
- Manpages should not rely on header information to have
* OpenMotif linked binaries have the same rules as
OSF/Motif-linked ones [11.8.8]
-
3.5.4.0 Apr 2001
- The system-wide mail directory is now /var/mail, no longer
programs and modules should follow the current Perl policy
[11.9; perl-policy]
-
3.5.3.0 Apr 2001
- Build-Depends arch syntax has been changed to be less
symbolic links from /usr/share/doc/<package>/examples as
needed [10.7.3]
-
3.5.2.0 Feb 2001
- X app-defaults directory has moved from
/usr/X11R6/lib/X11/app-defaults to /etc/X11/app-defaults [11.8.6]
-
3.5.1.0 Feb 2001
- dpkg-shlibdeps now uses objdump, so shared libraries have to be
run through dpkg-shlibdeps as well as executables [8.1]
-
3.5.0.0 Jan 2001
- Font packages for the X Window System must now declare a
dependency on xutils (>= 4.0.2) [11.8.5]
-
3.2.1.1 Jan 2001
- Daemon startup scripts in /etc/init.d/ should not contain
- Much of the packaging manual has now been imported into the
policy document
-
3.2.1.0 Aug 00
- A package of priority standard or higher may provide two
binaries, one compiled with support for the X Window System,
and the other without [11.8.1]
-
3.2.0.0 Aug 00
- By default executables should not be built with the debugging
always creating the shared lib before the symlink, so the unpack
order be correct [8]
-
3.1.1.0 Nov 1999
- Correction to semantics of architecture lists in Build-Depends
etc. Should not affect many packages [7.1]
-
3.1.0.0 Oct 1999
- /usr/doc/<package> has to be a symlink pointing to
- Description of how to handle version numbers based on dates
added [3.2.1]
-
3.0.1.0 Jul 1999
- Added the clarification that the .la files are essential for the
packages using libtool's libltdl library, in which case the
.la files must go in the run-time library package [10.2]
-
3.0.0.0 Jun 1999
- Debian formally moves from the FSSTND to the FHS. This is a
/var/log/wtmp and /var/log/lastlog must be installed setgid utmp [11.3]
+** Please note that section numbers below this point may not be up to date **
+
+
2.5.0.0 Oct 1998
Policy Manual: