+debian-policy (3.5.4.1) unstable; urgency=low
+
+ * Fixed up incorrect entries in the changelog (there was an erroneous
+ 3.5.0.1 revision which never happened; it has now been correctly
+ merged with the 3.5.3.0 changelog entry)
+ * Add section numbers to upgrading-checklist for all revisions from
+ 3.0.0 onwards
+
+ --
+
debian-policy (3.5.4.0) unstable; urgency=low
* [ACCEPTED 2/4/01] /var/mail and /var/spool/mail closes: Bug#42052
* Also incorporates all the improvements that Julian has made to to the
grammar and flow of the policy manual. The following are mostly
Julian's fixes:
+ * Removed reference to non-extant dpkg documentation
* Fixed the confusing self referential language. closes: Bug#85503
* Correct ambiguous kanguage about declaring build dependencies.
closes: Bug#86436
* Correct bug severities closes: Bug#91276
* Correct typos etc. in policy-process
* Rename all .text files as .txt
- * Fixed the to to typo in policy. closes: Bug#87007
+ * Fixed the "to to" typo in policy closes: Bug#87007
* Changed packaging manual ==> dpkg documentation closes: Bug#88651
* [ACCEPTED 14/03/2001] Deprecate confusing closes: Bug#87828
Build-Depends arch syntax
* Undo all renaming to text, since the change had not been propogated to
the rules file, which broke badly. This shall have to wait for a later
version.
+ * Richard Braakman and Michael Dorman have expressed their resignation
+ from policy maintenance duties.
+ * fixed the date thinko in upgrading checklist. Thanks to Sébastien
+ Montagne <sebastien.montagne@netcourrier.com> closes: Bug#84236
-- Manoj Srivastava <srivasta@debian.org> Sun, 15 Apr 2001 13:36:19 -0500
-- Julian Gilbey <jdg@debian.org> Thu, 15 Feb 2001 12:13:00 +0000
-debian-policy (3.5.0.1) unstable; urgency=low
-
- * Richard Braakman and Micheal Dorman have exressed their resignation
- from policy maintenance duties.
- * fixed the date thinko in upgrading checklist. Thanks to Sébastien
- Montagne <sebastien.montagne@netcourrier.com> closes: Bug#84236
-
- -- Manoj Srivastava <srivasta@debian.org> Sun, 15 Apr 2001 11:24:51 -0500
-
debian-policy (3.5.0.0) unstable; urgency=low
* There have been numerous changes since the last major change, and
* [AMENDMENT 2000/12/26] allow/document use of Debian Configuration
management system (debconf) closes: Bug#80347
* Yet more typo fixes closes: Bug#82743
- * document the fact that x font utilities have moved to the package
- xutils, closes: Bug#82966
+ * Document the fact that X font utilities have moved to the package
+ xutils closes: Bug#82966
* Fixed the date in the virtual package list closes: Bug#83438
* Cleaned up some ephemeral informative foornotes of the polic. Thanks
to Branden Robinson <branden@debian.org> closes: Bug#83065
* Draft releases.
-- Ian Jackson <ian@chiark.chu.cam.ac.uk> Wed, 21 Aug 1996 15:07:53 +0100
-
-Local variables:
-mode: debian-changelog
-End:
have no editorial powers. At the moment, the list of
maintainers is:
<enumlist>
- <item>
- <p>Michael Alan Dorman <email>mdorman@debian.org</email></p>
- </item>
- <item>
- <p>Philip Hands <email>phil@hands.com</email></p>
- </item>
<item>
<p>Julian Gilbey <email>J.D.Gilbey@qmw.ac.uk</email></p>
</item>
have no editorial powers. At the moment, the list of
maintainers is:
<enumlist>
- <item>
- <p>Michael Alan Dorman <email>mdorman@debian.org</email></p>
- </item>
- <item>
- <p>Philip Hands <email>phil@hands.com</email></p>
- </item>
<item>
<p>Julian Gilbey <email>J.D.Gilbey@qmw.ac.uk</email></p>
</item>
<p>
Packages built with <prgn>debhelper</prgn> may use <manref
name="dh_perl" section=1> to generate this substitution
- automatically. Additionally requires a
- <tt>Build-Depends</tt> on <tt>debhelper (>= 3.0.18)</tt>.
+ automatically. This additionally requires a versioned
+ <tt>Build-Depends</tt> (or <tt>Build-Depends-Indep</tt>)
+ on <tt>debhelper (>= 3.0.18)</tt>.
</p>
</sect1>
</sect>
<p>
Every package must be accompanied by a verbatim copy of
its copyright and distribution license in the file
- <tt>/usr/share/doc/<em><package-name></em>/copyright</tt>
+ <tt>/usr/share/doc/<em><package></em>/copyright</tt>
(see <ref id="copyrightfile"> for further details).
</p>
<p>
</p>
- <chapt id="sharedlibs"><heading>Shared libraries
- </heading>
+ <chapt id="sharedlibs"><heading>Shared libraries</heading>
<p>
Packages containing shared libraries must be constructed with
a little care to make sure that the shared library is always
available. This is especially important for packages whose
- shared libraries are vitally important, such as the libc.
+ shared libraries are vitally important, such as the C library
+ (currently <tt>libc6</tt>).
</p>
<p>
- Firstly, your package should install the shared libraries
- under their normal names. For example, the
- <prgn>libgdbm1</prgn> package should install
- <tt>libgdbm.so.1.7.3</tt> as
+ Firstly, the package should install the shared libraries under
+ their normal names. For example, the <tt>libgdbmg1</tt>
+ package should install <tt>libgdbm.so.1.7.3</tt> as
<tt>/usr/lib/libgdbm.so.1.7.3</tt>. The files should not be
- renamed or re-linked by any prerm or postrm scripts;
- <prgn>dpkg</prgn> will take care of renaming things safely
- without affecting running programs, and attempts to interfere
- with this are likely to lead to problems.
+ renamed or re-linked by any <prgn>prerm</prgn> or
+ <prgn>postrm</prgn> scripts; <prgn>dpkg</prgn> will take care
+ of renaming things safely without affecting running programs,
+ and attempts to interfere with this are likely to lead to
+ problems.
</p>
<p>
- Secondly, your package should include the symlink that
+ Secondly, the package should include the symbolic link that
<prgn>ldconfig</prgn> would create for the shared libraries.
- For example, the <prgn>libgdbm1</prgn> package should include
- a symlink from <tt>/usr/lib/libgdbm.so.1</tt> to
- <tt>libgdbm.so.1.7.3</tt>. This is needed so that
- <prgn>ld.so</prgn> can find the library in between the time
- <prgn>dpkg</prgn> installs it and <prgn>ldconfig</prgn> is run
- in the <prgn>postinst</prgn> script. Furthermore, older
- versions of the package management system required the library
- must be placed before the symlink pointing to it in the
- <tt>.deb</tt> file. This is so that by the time
- <prgn>dpkg</prgn> comes to install the symlink (overwriting
- the previous symlink pointing at an older version of the
- library) the new shared library is already in place.
- Unfortunately, this was not not always possible, since it
- highly depends on the behavior of the file system. Some
- file systems (such as reiserfs) will reorder the files so it
- doesn't matter in what order you create them. Starting with
- release <tt>1.7.0</tt> <prgn>dpkg</prgn> will reorder the
- files itself when building a package.
+ For example, the <prgn>libgdbmg1</prgn> package should include
+ a symbolic link from <tt>/usr/lib/libgdbm.so.1</tt> to
+ <tt>libgdbm.so.1.7.3</tt>. This is needed so that the dynamic
+ linker (for example <prgn>ld.so</prgn> or
+ <prgn>ld-linux.so.*</prgn>) can find the library between the
+ time that <prgn>dpkg</prgn> installs it and the time that
+ <prgn>ldconfig</prgn> is run in the <prgn>postinst</prgn>
+ script.
+ <footnote>
+ <p>
+ The package management system requires the library to be
+ placed before the symbolic link pointing to it in the
+ <tt>.deb</tt> file. This is so that when
+ <prgn>dpkg</prgn> comes to install the symlink
+ (overwriting the previous symlink pointing at an older
+ version of the library), the new shared library is already
+ in place. In the past, this was achieved by creating the
+ library in the temporary packaging directory before
+ creating the symlink. Unfortunately, this was not always
+ effective, since the building of the tar file in the
+ <tt>.deb</tt> depended on the behavior of the underlying
+ file system. Some file systems (such as reiserfs) reorder
+ the files so that the order of creation is forgotten.
+ Starting with release <tt>1.7.0</tt>, <prgn>dpkg</prgn>
+ will reorder the files itself as necessary when building a
+ package. Thus it is no longer important to concern
+ oneself with the order of file creation.
+ </p>
+ </footnote>
</p>
<p>
- Thirdly, the development package should contain a symlink for
- the shared library without a version number. For example, the
- <tt>libgdbm1-dev</tt> package should include a symlink from
- <tt>/usr/lib/libgdm.so</tt> to <tt>libgdm.so.1.7.3</tt>. This
- symlink is needed by <prgn>ld</prgn> when compiling packages
- as it will only look for <tt>libgdm.so</tt> and
- <tt>libgdm.a</tt> when compiling dynamically or statically,
- respectively.
+ Thirdly, the associated development package should contain a
+ symlink for the shared library without a version number. For
+ example, the <tt>libgdbmg1-dev</tt> package should include a
+ symlink from <tt>/usr/lib/libgdbm.so</tt> to
+ <tt>libgdbm.so.1.7.3</tt>. This symlink is needed by the
+ linker (<prgn>ld</prgn>) when compiling packages, as it will
+ only look for <tt>libgdbm.so</tt> when compiling dynamically.
</p>
<p>
- Any package installing shared libraries in a directory that's listed
- in <tt>/etc/ld.so.conf</tt> or in one of the default library
- directories of <prgn>ld.so</prgn> (currently, these are <tt>/usr/lib</tt>
- and <tt>/lib</tt>) must call <prgn>ldconfig</prgn> in its <prgn>postinst</prgn>
- script if and only if the first argument is `configure'. However, it
- is important not to call <prgn>ldconfig</prgn> in the postrm or preinst
- scripts in the case where the package is being upgraded (see <ref
- id="unpackphase">), as <prgn>ldconfig</prgn> will see the temporary names
- that <prgn>dpkg</prgn> uses for the files while it is
- installing them and will make the shared library links point
- to them, just before <prgn>dpkg</prgn> continues the
- installation and removes the links!
+ Any package installing shared libraries in a directory that is
+ listed in <tt>/etc/ld.so.conf</tt> or in one of the default
+ library directories of the dynamic linker (currently, these
+ are <tt>/usr/lib</tt> and <tt>/lib</tt>) must call
+ <prgn>ldconfig</prgn> in its <prgn>postinst</prgn> script if
+ and only if the first argument is `configure'. However, it is
+ important not to call <prgn>ldconfig</prgn> in the postrm or
+ preinst scripts in the case where the package is being
+ upgraded (see <ref id="unpackphase">), as
+ <prgn>ldconfig</prgn> will see the temporary names that
+ <prgn>dpkg</prgn> uses for the files while it is installing
+ them and will make the shared library links point to them,
+ just before <prgn>dpkg</prgn> continues the installation and
+ removes the links!
</p>
<sect id="shlibs"><heading>The <tt>shlibs</tt> File Format
<p>
If a certain job has to be executed more frequently than
daily, the package should install a file
- <tt>/etc/cron.d/<var>package-name</var></tt>. This file uses
+ <tt>/etc/cron.d/<var>package</var></tt>. This file uses
the same syntax as <tt>/etc/crontab</tt> and is processed by
<prgn>cron</prgn> automatically. The file must also be
treated as a configuration file. (Note, that entries in the
<item>
BDF fonts should be converted to PCF fonts with the
<tt>bdftopcf</tt> utility (available in the
- <tt>xutils</tt> package, <tt>gzip</tt>ped, and
+ <tt>xutils</tt> package), <tt>gzip</tt>ped, and
placed in a directory that corresponds to their
resolution:
<list>
<p>
Every package must be accompanied by a verbatim copy of its
copyright and distribution license in the file
- /usr/share/doc/<package-name>/copyright. This file must
+ /usr/share/doc/<package>/copyright. This file must
neither be compressed nor be a symbolic link.</p>
<p>
<p>
- /usr/share/doc/<package-name> may be a symbolic link to a
+ /usr/share/doc/<package> may be a symbolic link to a
directory in /usr/share/doc only if two packages both come from
the same source and the first package has a "Depends"
relationship on the second. These rules are important
<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.4.0 Apr 01
Policy Manual:
- - The system-wide mail directory is <tt>/var/mail</tt>.
- All access to the mail spool should be via the /var/mail
- directory or symbolic link.
- To maintain partial upgrade compatibility for systems
- which have <tt>/var/spool/mail</tt> as their physical mail
- spool, packages using <tt>/var/mail</tt> must depend on
- either <em>libc6</em> (>= 2.1.3-13), or on
- <em>base-files</em> (>= 2.2.0), or on later
- versions of either one of these packages.
+ - 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.
+ programs and modules should follow the current Perl policy
+ [12.9; perl-policy]
+
3.5.3.0 Apr 01
Policy Manual:
- Build-Depends arch syntax has been changed to be less
- ambiguous. This should not affect any current packages
+ ambiguous. This should not affect any current packages [7.1]
- Examples and templates should now live in
/usr/share/<package> or /usr/lib/<package>, with
symbolic links from /usr/share/doc//<package>/examples as
- needed.
-
+ needed [11.7.3]
+
+
3.5.2.0 Feb 01
Policy Manual:
- X app-defaults directory has moved from
- /usr/X11R6/lib/X11/app-defaults to /etc/X11/app-defaults.
+ /usr/X11R6/lib/X11/app-defaults to /etc/X11/app-defaults [12.8]
+
3.5.1.0 Feb 01
Policy Manual:
- dpkg-shlibdeps now uses objdump, so shared libraries have to be
- run through dpkg-shlibdeps as well as executables
+ run through dpkg-shlibdeps as well as executables [9.2.2]
+
3.5.0.0 Jan 01
Policy Manual:
- - If your package had fonts for the X Window System, and you
- converted BDF to PCF formats, the <tt>bdftopcf</tt> utility has
- moved to the xutils package.
- Font packages for the X Window System must now declare a
- dependency on xutils >= 4.0.2
+ dependency on xutils (>= 4.0.2) [12.8]
+
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]
+
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 [12.8]:
+ - X server (virtual package xserver)
+ - X terminal emulator (virtual package x-terminal-emulator)
+ - X window manager (virtual package x-window-manager, and
+ /usr/bin/x-window-manager alternative, with priority
+ calculation guidelines)
+ - X fonts (this section has been written from scratch)
+ - X application defaults
- 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]
+ - 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 (Build-Depends, etc.). (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