<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
- <!-- -*- Mode: Sgml -*-
+ <!-- -*- Mode: Sgml -*-
upgrading-checklist.html
- Author : Manoj Srivastava ( srivasta@tiamat.datasync.com )
+ 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 : Fri Jan 19 14:01:36 2001
+ Last Modified On : Thu Mar 14 11:42:10 2002
Last Machine Used: glaurung.green-gryphon.com
- Update Count : 15
+ Update Count : 20
Status : Unknown, Use with caution!
- HISTORY :
- Description :
+ HISTORY :
+ Description :
-->
<p>
The checklist below has been created to simplify the upgrading process
-of old packages. Note, that this list is not `official.' If you have
+of old packages. Note that this list is not `official'; it simply
+gives an indication of what has changed and whether you are likely to
+need to make changes to your package in light of this. If you have
doubts about a certain topic, if you need more details, or if you
think some other package does not comply with policy, please refer to
-the Policy Manual.
+the Policy Manual itself. All of the changes from version 3.0.0
+onwards indicate which section of the Policy Manual discusses the
+issue: [3.4] means section 3.4. The section numbering changed when
+the packaging manual was incorporated into policy; the section numbers
+used below refer to the current version.
</p>
<p>
-Here is how the check list works: Check out which policy version your
-packages complies with currently. Than move upwards until the top and
-check which of the items on the list might concern your package. If an
-item does not give you enough details, please check out the Policy
-Manual.
+Here is how the check list works: Check which policy version your
+package complies with currently (indicated in the "Standards-Version"
+field of the source package). Then move upwards until the top and
+check which of the items on the list might concern your package. Note
+which sections of policy discuss this, and then check out the Policy
+Manual for details. If you are upgrading from Policy version < 2.5.0,
+it may be easier to check through the whole of policy instead of
+picking your way through this list.
</p>
<h2>The checklist</h2>
<pre>
+3.5.6.0 Jul 01
+
+ - Emacs and TeX are no longer mandated by policy to be priority
+ standard packages [2.2]
+ - Programs that access docs need to do so via /usr/share/doc, and
+ not via /usr/doc/ as was the policy previously [12.5]
+ - Putting documentation in /usr/doc versus /usr/share/doc is now
+ a ``serious'' policy violation
+ - For web servers, one should not provide non-local access to the
+ /usr/share/doc hierarchy. If one can't provide access controls for
+ the //localhost/doc/ directory, then it is preferred that one
+ ask permission to expose that information during the install [12.5]
+
+
+3.5.5.0 May 01
+
+ - Manpages should not rely on header information to have
+ alternative manpage names available; it should only use
+ symlinks or .so pages to do this [13.1]
+ - [Clarified note in 3.5.3.0 upgrading checklist regarding
+ examples and templates: this refers only to those examples used
+ by scripts; see section 11.7.3 for the whole story]
+ - Included a new section 11.9.1 describing the use of
+ dpkg-statoverride; this does not have the weight of policy
+ - Clarify Standards-Version: you don't need to rebuild your
+ packages just to change the Standards-Version!
+ - Plugins are no longer bound by all the rules of shared
+ libraries [11.2]
+ - X Windows related things:
+ * Clarification of priority levels of X Window System related
+ packages [12.8.1]
+ * Rules for defining x-terminal-emulator improved [12.8.3]
+ * X Font policy rewritten: you must read this if you provide
+ fonts for the X Window System [12.8.5]
+ * Packages must not ship /usr/X11R6/lib/X11/app-defaults/ [12.8.6]
+ * X-related packages should usually use the regular FHS
+ locations; imake-using packages are exempted from this [12.8.7]
+ * OpenMotif linked binaries have the same rules as
+ OSF/Motif-linked ones [12.8.8]
+
+
+3.5.4.0 Apr 01
+
+ - The system-wide mail directory is now /var/mail, no longer
+ /var/spool/mail. Any packages accessing the mail spool should
+ access it via /var/mail and include a suitable Depends field;
+ details in [12.6]
+ - The perl policy is now part of Debian policy proper. Perl
+ programs and modules should follow the current Perl policy
+ [12.9; perl-policy]
+
+
+3.5.3.0 Apr 01
+
+ - Build-Depends arch syntax has been changed to be less
+ ambiguous. This should not affect any current packages [7.1]
+ - Examples and templates files for use by scripts should now live
+ in /usr/share/<package> or /usr/lib/<package>, with
+ symbolic links from /usr/share/doc//<package>/examples as
+ needed [11.7.3]
+
+
+3.5.2.0 Feb 01
+
+ - X app-defaults directory has moved from
+ /usr/X11R6/lib/X11/app-defaults to /etc/X11/app-defaults [12.8.6]
+
+
+3.5.1.0 Feb 01
+
+ - dpkg-shlibdeps now uses objdump, so shared libraries have to be
+ run through dpkg-shlibdeps as well as executables [9.1]
+
+
+3.5.0.0 Jan 01
+
+ - Font packages for the X Window System must now declare a
+ dependency on xutils (>= 4.0.2) [12.8.5]
+
+
3.2.1.1 Jan 01
- Policy Manual:
- - If your package has a daemon startup script in /etc/init.d/,
- and that script has parameters a system administrator may need,
- you need to modify the script to read values from a conffile
- placed in /etc/default/ directory. This conffile maybe sourced
- by the init.d script to determine the sonfigurable values (and
- the conffile may contain only variable settings and comments).
- - Files in /usr/share/doc may not be referenced by any
- program. If such files are needed, they must be placed in
- /usr/share/package-name/, and symbolic links created as required
- in /usr/share/doc/package-name/
+ - Daemon startup scripts in /etc/init.d/ should not contain
+ modifiable parameters; these should be moved to a file in
+ /etc/default/; see [10.3.2] for details
+ - Files in /usr/share/doc must not be referenced by any
+ program. If such files are needed, they must be placed in
+ /usr/share/<package>/, and symbolic links created as required
+ in /usr/share/doc/<package>/ [13.3]
+ - Much of the packaging manual has now been imported into the
+ policy document
+
3.2.1.0 Aug 00
- Policy Manual:
- A package of priority standard or higher may provide two
binaries, one compiled with support for the X Window System,
- and the other without.
- -
+ and the other without [12.8.1]
+
3.2.0.0 Aug 00
- Policy Manual:
- By default executables should not be built with the debugging
option -g. Instead, it is recommended to support building the
- package with debugging information optionally. Please look at the
- examples using DEB_BUILD_OPTIONS in the policy manual.
- - Policy for packages where the upstream uses html changelog
- files has been expanded. In short, a plain text changelog file
- should always be generated for the upstream changes.
+ package with debugging information optionally. Details in [11.1]
+ - Policy for packages where the upstream uses HTML changelog
+ files has been expanded. In short, a plain text changelog file
+ should always be generated for the upstream changes [13.8]
- Please note that the new release of the X window system (4.x)
- shall probably need sweeping changes in policy.
- - Policy for packages providing an X server has been codified
- (formalizes existing practice - use virtual package xserver)
- - Policy for packages providing an X terminal emulator has been
- codified (use virtual package x-terminal-emulator)
- - Policy for packages providing an X window manager has been
- codified (use virtual package x-window-manager, and also as an
- alternative for /usr/bin/x-window-manager. The policy has
- guidelines on how to calculate priority)
- - Policy for packages providing an X fonts has been
- codified. Please look into the manual for details; this section
- has been written from scratch.
+ shall probably need sweeping changes in policy
+ - Policy for packages providing the following X-based features
+ has been codified:
+ - X server (virtual package xserver) [12.8.2]
+ - X terminal emulator (virtual package x-terminal-emulator) [12.8.3]
+ - X window manager (virtual package x-window-manager, and
+ /usr/bin/x-window-manager alternative, with priority
+ calculation guidelines) [12.8.4]
+ - X fonts (this section has been written from scratch) [12.8.5]
+ - X application defaults [12.8.6]
- Policy for packages using the X Window System and FHS issues
- has been clarified. Please read the manual for details.
- - Policy for packages providing an X application default has been
- clarified.
- - No package may contain or make hard links to conffiles.
-
- Packaging Manual:
+ has been clarified; see [12.8.7]
+ - No package may contain or make hard links to conffiles [11.7.3]
- Noted that newer dpkg versions do not require extreme care in
always creating the shared lib before the symlink, so the unpack
- order be correct.
+ order be correct [9]
+
3.1.1.0 Nov 99
- Packaging Manual:
- Correction to semantics of architecture lists in Build-Depends
- etc. Should not affect many packages.
+ etc. Should not affect many packages [7.1]
+
3.1.0.0 Oct 99
- Policy Manual:
- /usr/doc/<package> has to be a symlink pointing to
- /usr/share/doc/<package>. This symlink has to be
- maintained by postinst and prerm, because dpkg will cause
- problems otherwise. Create/remote the symlinks using debhelper
- or see section "6.4. Accessing the documentation" for more
- information.
- - Introduced source dependencies. (Whereas this ought to demand a
- major policy number rise, we've only just had one of them, so
- I'm going to use a minor number instead.)
+ /usr/share/doc/<package>, to be maintained by postinst
+ and prerm scripts. Details are in [13.4]
+ - Introduced source dependencies (Build-Depends, etc.) [7.1, 7.6]
- /etc/rc.boot has been deprecated in favour of /etc/rcS.d.
- Packages should not be touching this directory, anyway, but
- should use update-rc.d instead.
+ (Packages should not be touching this directory, but should use
+ update-rc.d instead) [10.3.4]
- update-rc.d is now the *only* allowable way of accessing the
/etc/rc?.d/[SK]??* links. Any scripts which manipulate them
directly must be changed to use update-rc.d instead. (This is
because the file-rc package handles this information in an
- incompatible way.)
- - Compiled examples go in /usr/lib/<package>/examples with
- symlinks from /usr/share/doc/<package>/examples/* or from
- /usr/share/doc/<package>/examples itself.
+ incompatible way.) [10.3.3]
+ - Architecture-specific examples go in /usr/lib/<package>/examples
+ with symlinks from /usr/share/doc/<package>/examples/* or from
+ /usr/share/doc/<package>/examples itself [13.7]
- Updated FHS to a 2.1 draft; this reverts /var/state to
- /var/lib.
- - Added MIME sub-policy document.
- - VISUAL is allowed as a (higher priority) alternative to EDITOR.
+ /var/lib [10.1.1]
+ - Added MIME sub-policy document [10.7; mime-policy]
+ - VISUAL is allowed as a (higher priority) alternative to EDITOR [12.4]
- Modified liblockfile description, which affects
mailbox-accessing programs. Please see the policy document for
- details.
+ details [12.6]
- If a package provides a changelog in HTML format, a text-only
- version should also be included. Such a version may be prepared
- using lynx -dump -nolist.)
-
- Packaging Manual:
+ version should also be included. (Such a version may be prepared
+ using lynx -dump -nolist.) [13.8]
- Description of how to handle version numbers based on dates
- added: see section 5.1.
+ added [4.1]
3.0.1.0 Jul 99
- Policy Manual:
- 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.
+ .la files must go in the run-time library package [11.2]
3.0.0.0 Jun 99
- Policy Manual:
- Debian formally moves from the FSSTND to the FHS. This is a
major change, and the implications of this move are probably
- not all known.
+ not all known. [10.1]
- Only 3 digits of the Standards version need be included in
- control files, though all four digits are still permitted.
+ control files, though all four digits are still permitted. [2.4.1]
- The location of the GPL has changed to
/usr/share/common-licenses. This may require changing the
copyright files to point to the correct location of the GPL and
- other major licenses
+ other major licenses [13.6]
- Packages that use libtool to create shared libraries must
- include the .la files in the -dev packages.
- - Use logrotate to rotate log files
+ include the .la files in the -dev packages [11.2]
+ - Use logrotate to rotate log files [11.8]
- section 5.8 has been rewritten (Programs for the X Window
- System)
- - There is now anassociated menu policy, in a separate document,
- that carries the full weight of Debian policy.
- - The files `/var/run/utmp', `/var/log/wtmp' and
- `/var/log/lastlog' must be installed writeable by group
- utmp. Programs who need to modify those files must be installed
- install setgid utmp.
+ System) [now 12.8]
+ - There is now an associated menu policy, in a separate document,
+ that carries the full weight of Debian policy [10.6; menu-policy]
+ - Programs which need to modify the files /var/run/utmp,
+ /var/log/wtmp and /var/log/lastlog must be installed setgid utmp [12.3]
2.5.0.0 Oct 98
"Configuration files", moving the Section 4.8 ("Permissions
and owners") to Section 4.9. All subsections of the old
Section 5 after 5.5 were moved down to fill in the number
- gap.
+ gap.
- Modified the section about changelog files to accommodate
upstream changelogs which were formatted as HTML/ These
upstream changelog files should now be accessible as
- /usr/doc/package/changelog.html.gz
+ /usr/doc/package/changelog.html.gz
+ Symlinks are permissible to link the real, or upstream,
changelog name to the Debian mandated name.
- Clarified that HTML documentation should be present in some
- Corrected all references to the location of the copyright
files. The correct location is /usr/doc/package/copyright
- Ratified the architecture specification strings to cater to the
- HURD.
+ HURD.
2.4.1.0 Apr 98
ldconfig must be called in the postinst script if the package
installs shared libraries
(cf., Policy Weekly Issue #6, fixes:bug#20515)
-
+
2.4.0.0 Jan 98
- Updated section 3.3.4 Scripts:
+ /etc/news/organization and /etc/news/server should be supported
by all news servers and clients
- - Updated section 4.7 Programs for the X Windows system:
+ - Updated section 4.7 Programs for the X Window System:
+ programs requiring a non-free Motif library should be provided
as foo-smotif and foo-dmotif package
+ if lesstif works reliably for such program, it should be linked
/etc/services, /etc/protocols, /etc/rpc, and /etc/inetd.conf
* updated section about `Configuration files':
- packages may not touch other packages' configuration files
+ packages may not touch other packages' configuration files
* MUAs and MTAs have to use liblockfile
* added section 4.1 `Architecture specification strings':
use
- <arch>-linux
+ <arch>-linux
where <arch> is one of the following:
i386, alpha, arm, m68k, powerpc, sparc.
2.1.1.0 Sep 96
* No hard links in source packages
-
+
* Do not use dpkg-divert or update-alternatives without consultation
* Shared libraries must be installed stripped
</body>
</html>
-
-
-
-
-
-
-
-
-
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml