From 0b795cfd5d3ffda906ed8667324142c5102d5853 Mon Sep 17 00:00:00 2001
From: Manoj Srivastava
Packages which use the Debian Configuration management
specification may contain an additional
-
+ Shared object files (often .so files) that are not
+ public libraries, that is, they are not meant to be linked
+ to by third party executables (binaries of other packages),
+ should be installed in subdirectories of the
+ /usr/lib directory. Such files are exempt from the
+ rules that govern ordinary shared libraries, except that
+ they must not be installed executable and should be
+ stripped.
+ A common example are the so-called ``plug-ins'',
+ internal shared objects that are dynamically loaded by
+ programs using
+ Packages containing shared libraries that may be linked to
+ by other packages' binaries, but which for some
+ compelling reason can not be installed in
+ /usr/lib directory, may install the shared library
+ files in subdirectories of the /usr/lib directory,
+ in which case they should arrange to add that directory in
+ /etc/ld.so.conf in the package's post-installation
+ script, and remove it in the package's post-removal script.
+
An ever increasing number of packages are using
If no manual page is available for a particular program,
- utility, function or configuration file and this is reported as a bug on
- debian-bugs, a symbolic link from the requested manual page
- to the
- Your package should call
@@ -7301,7 +7331,8 @@ install-info --quiet --section Development Development \
the second is used when creating a new one.
- You should remove the entries in the
If
Any additional documentation that comes with the package may be installed at the discretion of the package maintainer. - Text documentation should be installed in a directory + Text documentation should be installed in the directory /usr/share/doc/package, where package is the name of the package, and compressed with gzip -9 unless it is small.
@@ -7344,8 +7375,8 @@ install-info --quiet --remove /usr/share/info/foobar.info delete them without causing any programs to break. Any files that are referenced by programs but are also useful as standalone documentation should be installed under - /usr/share/package/ and symlinked in - /usr/share/doc/package/. + /usr/share/package/ with symbolic links + from /usr/share/doc/package/.
+ The debhelper script
+
If your package comes with extensive documentation in a
- mark up format that can be converted to various other formats
+ markup format that can be converted to various other formats
you should if possible ship HTML versions in a binary
package, in the directory
- /usr/share/doc/appropriate package or its
- subdirectories. The rationale: The important thing here is that HTML
+ /usr/share/doc/appropriate-package or
+ its subdirectories.
+ The rationale: The important thing here is that HTML
docs should be available in some package, not
- necessarily in the main binary package, though.
- Other formats such as PostScript may be provided at your - option.
+ Other formats such as PostScript may be provided at the + package maintainer's discretion. +Every package must be accompanied by a verbatim copy of its copyright and distribution license in the file - /usr/share/doc/package/copyright. This file must - neither be compressed nor be a symbolic link.
+ /usr/share/doc/package/copyright. This + file must neither be compressed nor be a symbolic link. +In addition, the copyright file must say where the upstream @@ -7431,44 +7471,27 @@ fi
A copy of the file which will be installed in - /usr/share/doc/package/copyright should be - in debian/copyright.
- + /usr/share/doc/package/copyright should + be in debian/copyright in the source package. +- /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 - because copyrights must be extractable by mechanical - means.
+ /usr/share/doc/package may be a symbolic + link to another directory in /usr/share/doc only if + the two packages both come from the same source and the + first package Depends on the second. These rules are + important because copyrights must be extractable by + mechanical means. +
Packages distributed under the UCB BSD license, the Artistic
license, the GNU GPL, and the GNU LGPL should refer to the
- files /usr/share/common-licenses/BSD,
- /usr/share/common-licenses/Artistic,
- /usr/share/common-licenses/GPL, and
- /usr/share/common-licenses/LGPL.
- Why "licenses" and not "copyright"? Because
- /usr/doc/copyright used to contain all the
- copyright files, plus the four common licenses GPL,
- LGPL, Artistic and BSD. Now individual copyright files
- for packages are no longer in a common directory. Once
- /usr/doc/copyright is almost empty it makes
- sense to rename "copyright" to "licenses"
-
- Why "common-licenses" and not "licenses"? Because if I
- put just "licenses" I'm sure I will receive a bug report
- saying "license foo is not included in the licenses
- directory. They are not all the licenses, just a few
- common ones. I could use /usr/share/doc/common-licenses
- but I think this is too long, and, after all, the GPL
- does not "document" anything, it is merely a license.
-
@@ -7486,46 +7509,49 @@ fi should be installed in a directory /usr/share/doc/package/examples. These files should not be referenced by any program: they're there - for the benefit of the system administrator and users, as - documentation only. Architecture-specific example files + for the benefit of the system administrator and users as + documentation only. Architecture-specific example files should be installed in a directory - /usr/lib/package/examples, and files in - /usr/share/doc/package/examples symlink - to files in it. Or the latter directory may be a symlink to - the former.
+ /usr/lib/package/examples with symbolic + links to them from + /usr/share/doc/package/examples, or the + latter directory itself may be a symbolic link to the + former. +
- Packages that are not Debian-native must contain a copy of
- debian/changelog file from the Debian source tree
- in /usr/share/doc/package as
- changelog.Debian.gz. If an upstream changelog is
+ Packages that are not Debian-native must contain a
+ compressed copy of the debian/changelog file from
+ the Debian source tree in
+ /usr/share/doc/package with the name
+ changelog.Debian.gz. If an upstream changelog is
available, it should be accessible as
/usr/share/doc/package/changelog.gz in
- plain text. If the upstream changelog is distributed in
+ plain text. If the upstream changelog is distributed in
HTML, it should be made available in that form as
/usr/share/doc/package/changelog.html.gz
- and the changelog.gz should be generated using, eg,
- lynx -dump -nolist. If the upstream changelog files
- do not already conform to this naming convention, then this
- may be achieved either by renaming the files, or adding a
- symbolic link, at the maintainer's discretion.
- Rationale: People should not have to look into two
- places for upstream changelogs merely because they are
- in HTML format.
+ Rationale: People should not have to look in places for
+ upstream changelogs merely because they are given
+ different names or are distributed in HTML format.
- All these files should be installed compressed using gzip -9, - as they will become large with time even if they start out - small. + All of these files should be installed compressed using + gzip -9, as they will become large with time even + if they start out small.
diff --git a/upgrading-checklist.html b/upgrading-checklist.html index 329f8a6..3a27deb 100644 --- a/upgrading-checklist.html +++ b/upgrading-checklist.html @@ -65,6 +65,8 @@ picking your way through this list. 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] -- 2.39.2