X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=policy.sgml;h=1871d4c013d49ab8f315b482567875ca0bc95fb0;hb=054029abead4996f10c2a97bf431db0bd95de44c;hp=b09bb5d59c520759a4483f9ce2b106b2fe725d03;hpb=4f8a326130c4ce5cd5314bddd0fa57608aef88b1;p=debian%2Fdebian-policy.git
diff --git a/policy.sgml b/policy.sgml
index b09bb5d..1871d4c 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -24,6 +24,13 @@
Copyright © 1996,1997,1998 Ian Jackson
and Christian Schwarz.
+
+ These are the copyright dates of the original Policy manual.
+ Since then, this manual has been updated by many others. No
+ comprehensive collection of copyright notices for subsequent
+ work exists.
+
+
This manual is free software; you may redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -83,11 +90,10 @@
is used by, a significant number of packages, and
therefore should not be changed without peer
review. Package maintainers can then rely on this
- interfaces not changing, and the package
- management software authors need to ensure
- compatibility with these interface
- definitions. (Control file and changelog file
- formats are examples.)
+ interface not changing, and the package management
+ software authors need to ensure compatibility with
+ this interface definition. (Control file and
+ changelog file formats are examples.)
Chosen Convention
-
@@ -359,7 +365,7 @@
The Debian Free Software Guidelines (DFSG) form our
definition of "free software". These are:
- Free Redistribution
+ 1. Free Redistribution
-
The license of a Debian component may not restrict any
@@ -369,20 +375,20 @@
sources. The license may not require a royalty or
other fee for such sale.
- Source Code
+ 2. Source Code
-
The program must include source code, and must allow
distribution in source code as well as compiled form.
- Derived Works
+ 3. Derived Works
-
The license must allow modifications and derived
works, and must allow them to be distributed under the
same terms as the license of the original software.
- Integrity of The Author's Source Code
+ 4. Integrity of The Author's Source Code
-
The license may restrict source-code from being
@@ -397,13 +403,13 @@
Project encourages all authors to not restrict any
files, source or binary, from being modified.)
- No Discrimination Against Persons or Groups
+ 5. No Discrimination Against Persons or Groups
-
The license must not discriminate against any person
or group of persons.
- No Discrimination Against Fields of Endeavor
+ 6. No Discrimination Against Fields of Endeavor
-
The license must not restrict anyone from making use
@@ -412,7 +418,7 @@
used in a business, or from being used for genetic
research.
- Distribution of License
+ 7. Distribution of License
-
The rights attached to the program must apply to all
@@ -420,7 +426,7 @@
for execution of an additional license by those
parties.
- License Must Not Be Specific to Debian
+ 8. License Must Not Be Specific to Debian
-
The rights attached to the program must not depend on
@@ -432,7 +438,7 @@
rights as those that are granted in conjunction with
the Debian system.
- License Must Not Contaminate Other Software
+ 9. License Must Not Contaminate Other Software
-
The license must not place restrictions on other
@@ -441,7 +447,7 @@
that all other programs distributed on the same medium
must be free software.
- Example Licenses
+ 10. Example Licenses
-
The "GPL," "BSD," and "Artistic" licenses are examples of
@@ -563,8 +569,8 @@
Copyright considerations
- Every package must be accompanied by a verbatim copy of
- its copyright and distribution license in the file
+ Every package must be accompanied by a verbatim copy of its
+ copyright information and distribution license in the file
/usr/share/doc/package/copyright
(see [ for further details).
]
@@ -1632,11 +1638,11 @@
Copyright: debian/copyright
- Every package must be accompanied by a verbatim copy of
- its copyright and distribution license in the file
+ Every package must be accompanied by a verbatim copy of its
+ copyright information and distribution license in the file
/usr/share/doc/package/copyright
(see [ for further details). Also see
- ][ for further considerations relayed
+ ][ for further considerations related
to copyrights for packages.
]
@@ -1719,14 +1725,17 @@
It must start with the line #!/usr/bin/make -f,
so that it can be invoked by saying its name rather than
- invoking make explicitly.
+ invoking make explicitly. That is, invoking
+ either of make -f debian/rules args...
+ or ./debian/rules args... must result in
+ identical behavior.
Since an interactive debian/rules script makes it
impossible to auto-compile that package and also makes it
hard for other people to reproduce the same binary
- package, all required targets MUST be
+ package, all required targets must be
non-interactive. At a minimum, required targets are the
ones called by dpkg-buildpackage, namely,
clean, binary, binary-arch,
@@ -2372,6 +2381,8 @@ Package: libc6
Field names are not case-sensitive, but it is usual to
capitalize the field names using mixed case as shown below.
+ Field values are case-sensitive unless the description of the
+ field says otherwise.
@@ -2598,11 +2609,12 @@ Package: libc6
- Package names must consist only of lower case letters
- (a-z), digits (0-9), plus (+)
- and minus (-) signs, and periods (.).
- They must be at least two characters long and must start
- with an alphanumeric character.
+ Package names (both source and binary,
+ see [) must consist only of lower case
+ letters (a-z), digits (0-9), plus
+ (+) and minus (-) signs, and periods
+ (.). They must be at least two characters long and
+ must start with an alphanumeric character.
]
@@ -2680,7 +2692,7 @@ Package: libc6
Priority
- This field represents how important that it is that the user
+ This field represents how important it is that the user
have the package installed. See [.
]
@@ -2701,11 +2713,9 @@ Package: libc6
- Package names must consist only of lower case letters
- (a-z), digits (0-9), plus (+)
- and minus (-) signs, and periods (.).
- They must be at least two characters long and must start
- with an alphanumeric character.
+ Binary package names must follow the same syntax and
+ restrictions as source package names. See [
+ for the details.
]
@@ -2791,8 +2801,8 @@ Package: libc6
- See [ for information how to get the
- architecture for the build process.
+ See ][ for information on how to get
+ the architecture for the build process.
]
@@ -2853,8 +2863,8 @@ Package: libc6
Thus only the first three components of the policy version
are significant in the Standards-Version control
- field, and so either these three components or the all
- four components may be specified.
+ field, and so either these three components or all four
+ components may be specified.
In the past, people specified the full version number
in the Standards-Version field, for example "2.3.0.0".
Since minor patch-level changes don't introduce new
@@ -3095,18 +3105,16 @@ Package: libc6
- In a .changes file, the Description field
- contains a summary of the descriptions for the packages being
- uploaded.
+ In a .changes file, the Description
+ field contains a summary of the descriptions for the packages
+ being uploaded. For this case, the first line of the field
+ value (the part on the same line as Description:) is
+ always empty. The content of the field is expressed as
+ continuation lines, one line per package. Each line is
+ indented by one space and contains the name of a binary
+ package, a space, a hyphen (-), a space, and the
+ short description line from that package.
-
-
- The part of the field before the first newline is empty;
- thereafter each line has the name of a binary package and
- the summary description line from that binary package.
- Each line is indented by one space.
-
-
@@ -3223,10 +3231,12 @@ Package: libc6
- There should be nothing in this field before the first
- newline; all the subsequent lines must be indented by at
- least one space; blank lines must be represented by a line
- consisting only of a space and a full stop.
+ The first line of the field value (the part on the same line
+ as Changes:) is always empty. The content of the
+ field is expressed as continuation lines, with each line
+ indented by at least one space. Blank lines must be
+ represented by a line consisting only of a space and a full
+ stop (.).
@@ -3246,7 +3256,7 @@ Package: libc6
for the most recent version should be returned first, and
entries should be separated by the representation of a
blank line (the "title" line may also be followed by the
- representation of blank line).
+ representation of a blank line).
@@ -3254,29 +3264,27 @@ Package: libc6
Binary
- This field is a list of binary packages.
-
-
-
- When it appears in the .dsc file it is the list
- of binary packages which a source package can produce. It
- does not necessarily produce all of these binary packages
- for every architecture. The source control file doesn't
- contain details of which architectures are appropriate for
- which of the binary packages.
+ This field is a list of binary packages. Its syntax and
+ meaning varies depending on the control file in which it
+ appears.
- When it appears in a .changes file it lists the
- names of the binary packages actually being uploaded.
+ When it appears in the .dsc file, it lists binary
+ packages which a source package can produce, separated by
+ commas
+ A space after each comma is conventional.
+ . It may span multiple lines. The source package
+ does not necessarily produce all of these binary packages for
+ every architecture. The source control file doesn't contain
+ details of which architectures are appropriate for which of
+ the binary packages.
- The syntax is a list of binary packages separated by
- commas
- A space after each comma is conventional.
- . Currently the packages must be separated using
- only spaces in the .changes file.
+ When it appears in a .changes file, it lists the
+ names of the binary packages being uploaded, separated by
+ whitespace (not commas). It may span multiple lines.
@@ -3284,16 +3292,17 @@ Package: libc6
Installed-Size
- This field appears in the control files of binary
- packages, and in the Packages files. It gives
- the total amount of disk space required to install the
- named package.
+ This field appears in the control files of binary packages,
+ and in the Packages files. It gives an estimate
+ of the total amount of disk space required to install the
+ named package. Actual installed size may vary based on block
+ size, file system properties, or actions taken by package
+ maintainer scripts.
- The disk space is given as the integer value of the installed
- size divided by 1024 and rounded (in other words, the size in
- kibibytes).
+ The disk space is given as the integer value of the estimated
+ installed size in bytes, divided by 1024 and rounded up.
@@ -3303,20 +3312,30 @@ Package: libc6
This field contains a list of files with information about
each one. The exact information and syntax varies with
- the context. In all cases the part of the field
- contents on the same line as the field name is empty. The
- remainder of the field is one line per file, each line
- being indented by one space and containing a number of
- sub-fields separated by spaces.
+ the context.
+
+
+
+ In all cases, Files is a multiline field. The first line of
+ the field value (the part on the same line as Files:)
+ is always empty. The content of the field is expressed as
+ continuation lines, one line per file. Each line must be
+ indented by one space and contain a number of sub-fields,
+ separated by spaces, as described below.
In the .dsc file, each line contains the MD5
- checksum, size and filename of the tar file and (if applicable)
- diff file which make up the remainder of the source
- package
- That is, the parts which are not the .dsc.
- .
+ checksum, size and filename of the tar file and (if
+ applicable) diff file which make up the remainder of the
+ source package
+ That is, the parts which are not the .dsc.
+ . For example:
+
+Files:
+ c6f698f19f2a2aa07dbb9bbda90a2754 571925 example_1.2.orig.tar.gz
+ 938512f08422f3509ff36f125f5873ba 6220 example_1.2-1.diff.gz
+
The exact forms of the filenames are described
in [.
]
@@ -3324,14 +3343,20 @@ Package: libc6
In the .changes file this contains one line per
file being uploaded. Each line contains the MD5 checksum,
- size, section and priority and the filename.
+ size, section and priority and the filename. For example:
+
+Files:
+ 4c31ab7bfc40d3cf49d7811987390357 1428 text extra example_1.2-1.dsc
+ c6f698f19f2a2aa07dbb9bbda90a2754 571925 text extra example_1.2.orig.tar.gz
+ 938512f08422f3509ff36f125f5873ba 6220 text extra example_1.2-1.diff.gz
+ 7c98fe853b3bbb47a00e5cd129b6cb56 703542 text extra example_1.2-1_i386.deb
+
The section
- and priority
- are the values of the corresponding fields in
- the main source control file. If no section or priority is
- specified then - should be used, though section
- and priority values must be specified for new packages to
- be installed properly.
+ and priority are the values of
+ the corresponding fields in the main source control file. If
+ no section or priority is specified then - should be
+ used, though section and priority values must be specified for
+ new packages to be installed properly.
@@ -3347,7 +3372,7 @@ Package: libc6
no new original source archive is being distributed the
.dsc must still contain the Files field
entry for the original source archive
- package-upstream-version.orig.tar.gz,
+ package_upstream-version.orig.tar.gz,
but the .changes file should leave it out. In
this case the original source archive on the distribution
site must match exactly, byte-for-byte, the original
@@ -3690,7 +3715,7 @@ Package: libc6
If this works, then the old-version is
"Installed", if not, the old version is in a
- "Failed-Config" state.
+ "Half-Configured" state.
@@ -3798,7 +3823,7 @@ Package: libc6
If this fails, the package is left in a
"Half-Installed" state, which requires a
reinstall. If it works, the packages is left in
- a "Config Files" state.
+ a "Config-Files" state.
-
Otherwise (i.e., the package was completely purged):
@@ -3810,7 +3835,7 @@ Package: libc6
new-postrm abort-install
If the error-unwind fails, the package is in a
- "Half Installed" phase, and requires a
+ "Half-Installed" phase, and requires a
reinstall. If the error unwind works, the
package is in a not installed state.
@@ -3890,14 +3915,14 @@ Package: libc6
old-preinst abort-upgrade new-version
- If this fails, the old version is left in an
- "Half Installed" state. If it works, dpkg now
+ If this fails, the old version is left in a
+ "Half-Installed" state. If it works, dpkg now
calls:
new-postrm abort-upgrade old-version
- If this fails, the old version is left in an
- "Half Installed" state. If it works, dpkg now
+ If this fails, the old version is left in a
+ "Half-Installed" state. If it works, dpkg now
calls:
old-postinst abort-upgrade new-version
@@ -4056,7 +4081,7 @@ Package: libc6
- If this fails, the package is in a "Failed-Config"
+ If this fails, the package is in a "Half-Configured"
state, or else it remains "Installed".
@@ -4392,12 +4417,12 @@ Build-Depends: foo [!i386] | bar [!amd64]
be unpacked the pre-dependency can be
satisfied if the depended-on package is either fully
configured, or even if the depended-on
- package(s) are only unpacked or half-configured,
- provided that they have been configured correctly at
- some point in the past (and not removed or partially
- removed since). In this case, both the
+ package(s) are only unpacked or in the "Half-Configured"
+ state, provided that they have been configured
+ correctly at some point in the past (and not removed
+ or partially removed since). In this case, both the
previously-configured and currently unpacked or
- half-configured versions must satisfy any version
+ "Half-Configured" versions must satisfy any version
clause in the Pre-Depends field.
@@ -4454,7 +4479,7 @@ Build-Depends: foo [!i386] | bar [!amd64]
A package will not be regarded as causing breakage merely
because its configuration files are still installed; it must
- be at least half-installed.
+ be at least "Half-Installed".
@@ -4508,7 +4533,7 @@ Build-Depends: foo [!i386] | bar [!amd64]
A package will not cause a conflict merely because its
configuration files are still installed; it must be at least
- half-installed.
+ "Half-Installed".
@@ -5314,10 +5339,10 @@ dpkg-shlibdeps debian/tmp/usr/bin/* debian/tmp/usr/sbin/* \
- If you are creating a udeb for use in the Debian Installer, you
- will need to specify that dpkg-shlibdeps should use
- the dependency line of type udeb by adding
- -tudeb as option
+ If you are creating a udeb for use in the Debian Installer,
+ you will need to specify that dpkg-shlibdeps
+ should use the dependency line of type udeb by
+ adding the -tudeb option
dh_shlibdeps from the debhelper suite
will automatically add this option if it knows it is
processing a udeb.
@@ -5559,6 +5584,40 @@ libbar 1 bar1 (>= 1.0-1)
for 64 bit binaries is removed.
+ -
+
+ The requirement for object files, internal binaries, and
+ libraries, including libc.so.*, to be located
+ directly under /lib{,32} and
+ /usr/lib{,32} is amended, permitting files
+ to instead be installed to
+ /lib/triplet and
+ /usr/lib/triplet, where
+ triplet is the value returned by
+ dpkg-architecture -qDEB_HOST_GNU_TYPE for the
+ architecture of the package. Packages may not
+ install files to any triplet path other
+ than the one matching the architecture of that package;
+ for instance, an Architecture: amd64 package
+ containing 32-bit x86 libraries may not install these
+ libraries to /usr/lib/i486-linux-gnu.
+
+ This is necessary in order to reserve the directories for
+ use in cross-installation of library packages from other
+ architectures, as part of the planned deployment of
+ multiarch.
+
+
+
+ Applications may also use a single subdirectory under
+ /usr/lib/triplet.
+
+
+ The execution time linker/loader, ld*, must still be made
+ available in the existing location under /lib or /lib64
+ since this is part of the ELF ABI for the architecture.
+
+
-
The requirement that
@@ -5582,6 +5641,15 @@ libbar 1 bar1 (>= 1.0-1)
symlinked there, is relaxed to a recommendation.
+ -
+
+ The following directories in the root filesystem are
+ additionally allowed: /sys and
+ /selinux. These directories
+ are used as mount points to mount virtual filesystems
+ to get access to kernel information.
+
+
@@ -5627,13 +5695,15 @@ libbar 1 bar1 (>= 1.0-1)
- Note, that this applies only to directories below
- /usr/local, not in /usr/local.
- Packages must not create sub-directories in the directory
- /usr/local itself, except those listed in FHS,
- section 4.5. However, you may create directories below
- them as you wish. You must not remove any of the
- directories listed in 4.5, even if you created them.
+ Note that this applies only to
+ directories below /usr/local,
+ not in /usr/local. Packages must
+ not create sub-directories in the
+ directory /usr/local itself, except those
+ listed in FHS, section 4.5. However, you may create
+ directories below them as you wish. You must not remove
+ any of the directories listed in 4.5, even if you created
+ them.
@@ -5694,9 +5764,10 @@ rmdir /usr/local/share/emacs 2>/dev/null || true
The system-wide mail directory
- The system-wide mail directory is /var/mail. This
- directory is part of the base system and should not owned
- by any particular mail agents. The use of the old
+ The system-wide mail directory
+ is /var/mail. This directory is part of the
+ base system and should not be owned by any particular mail
+ agents. The use of the old
location /var/spool/mail is deprecated, even
though the spool may still be physically located there.
@@ -5940,7 +6011,7 @@ rmdir /usr/local/share/emacs 2>/dev/null || true
-
+
Writing the scripts
@@ -5990,6 +6061,23 @@ rmdir /usr/local/share/emacs 2>/dev/null || true
option.
+
+ Be careful of using set -e in init.d
+ scripts. Writing correct init.d scripts requires
+ accepting various error exit statuses when daemons are already
+ running or already stopped without aborting
+ the init.d script, and common init.d
+ function libraries are not safe to call with set -e
+ in effect
+ /lib/lsb/init-functions, which assists in writing
+ LSB-compliant init scripts, may fail if set -e is
+ in effect and echoing status messages to the console fails,
+ for example.
+ . For init.d scripts, it's often easier
+ to not use set -e and instead check the result of
+ each command separately.
+
+
If a service reloads its configuration automatically (as
in the case of cron, for example), the
@@ -6371,10 +6459,10 @@ echo "Setting DNS domainname to \"$domainname\"."
- Note that the same symbol (") is used for the left
- and right quotation marks. A grave accent (`) is
- not a quote character; neither is an apostrophe
- (').
+ Note that the same symbol (") is used
+ for the left and right quotation marks. A grave accent
+ (`) is not a quote character; neither is an
+ apostrophe (').
@@ -6481,13 +6569,48 @@ Reloading description configuration...done.
anacron. Thus, you should only use this
directory for jobs which may be skipped if the system is not
running.)
+
+ Unlike crontab files described in the IEEE Std
+ 1003.1-2008 (POSIX.1) available from
+ , the files in
+ /etc/cron.d and the file
+ /etc/crontab have seven fields; namely:
+
+ - Minute [0,59]
+ - Hour [0,23]
+ - Day of the month [1,31]
+ - Month of the year [1,12]
+ - Day of the week ([0,6] with 0=Sunday)
+ - Username
+ - Command to be run
+
+ Ranges of numbers are allowed. Ranges are two numbers
+ separated with a hyphen. The specified range is inclusive.
+ Lists are allowed. A list is a set of numbers (or ranges)
+ separated by commas. Step values can be used in conjunction
+ with ranges.
+
- The scripts or crontab entries in these directories should
+ The scripts or crontab entries in these directories should
check if all necessary programs are installed before they
try to execute them. Otherwise, problems will arise when a
package was removed but not purged since configuration files
- are kept on the system in this situation.
+ are kept on the system in this situation.
+
+
+
+ Any cron daemon must provide
+ /usr/bin/crontab and support normal
+ crontab entries as specified in POSIX. The daemon
+ must also support names for days and months, ranges, and
+ step values. It has to support /etc/crontab,
+ and correctly execute the scripts in
+ /etc/cron.d. The daemon must also correctly
+ execute scripts in
+ /etc/cron.{hourly,daily,weekly,monthly}.
+
@@ -7766,9 +7896,17 @@ do
fi
done
- The corresponding dpkg-statoverride --remove
- calls can then be made unconditionally when the package is
- purged.
+ The corresponding code to remove the override when the package
+ is purged would be:
+
+for i in /usr/bin/foo /usr/sbin/bar
+do
+ if dpkg-statoverride --list $i >/dev/null 2>&1
+ then
+ dpkg-statoverride --remove $i
+ fi
+done
+
@@ -7936,10 +8074,10 @@ done
use /usr/bin/sensible-editor and
/usr/bin/sensible-pager as the editor or pager
program respectively. These are two scripts provided in the
- Debian base system that check the EDITOR and PAGER variables
- and launch the appropriate program, and fall back to
- /usr/bin/editor and /usr/bin/pager if the
- variable is not set.
+ sensible-utils package that check the EDITOR
+ and PAGER variables and launch the appropriate program, and fall
+ back to /usr/bin/editor
+ and /usr/bin/pager if the variable is not set.
@@ -8537,7 +8675,7 @@ name ["syshostname"]:
-
+
Application defaults files
@@ -8553,9 +8691,9 @@ name ["syshostname"]:
Customization of programs' X resources may also be
supported with the provision of a file with the same name
- as that of the package placed in the
- /etc/X11/Xresources/ directory, which must
- registered as a conffile or handled as a
+ as that of the package placed in
+ the /etc/X11/Xresources/ directory, which
+ must be registered as a conffile or handled as a
configuration file.
Note that this mechanism is not the same as using
app-defaults; app-defaults are tied to the client
@@ -8570,54 +8708,35 @@ name ["syshostname"]:
Installation directory issues
- Packages using the X Window System should not be
- configured to install files under the
- /usr/X11R6/ directory. The
- /usr/X11R6/ directory hierarchy should be
+ Historically, packages using the X Window System used a
+ separate set of installation directories from other packages.
+ This practice has been discontinued and packages using the X
+ Window System should now generally be installed in the same
+ directories as any other package. Specifically, packages must
+ not install files under the /usr/X11R6/ directory
+ and the /usr/X11R6/ directory hierarchy should be
regarded as obsolete.
- Programs that use GNU autoconf and
- automake are usually easily configured at
- compile time to use /usr/ instead of
- /usr/X11R6/, and this should be done whenever
- possible. Configuration files for window managers and
- display managers should be placed in a subdirectory of
- /etc/X11/ corresponding to the package name due
- to these programs' tight integration with the mechanisms
- of the X Window System. Application-level programs should
- use the /etc/ directory unless otherwise mandated
- by policy.
-
-
-
- The installation of files into subdirectories
- of /usr/X11R6/include/X11/ and
- /usr/X11R6/lib/X11/ is now prohibited;
- package maintainers should determine if subdirectories of
- /usr/lib/ and /usr/share/ can be used
- instead.
+ Include files previously installed under
+ /usr/X11R6/include/X11/ should be installed into
+ /usr/include/X11/. For files previously
+ installed into subdirectories of
+ /usr/X11R6/lib/X11/, package maintainers should
+ determine if subdirectories of /usr/lib/ and
+ /usr/share/ can be used. If not, a subdirectory
+ of /usr/lib/X11/ should be used.
- 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)
-
- These libraries used to be all symbolic
- links. However, with X11R7,
- /usr/include/X11 and /usr/lib/X11
- are now real directories, and packages
- should ship their files here instead
- of in /usr/X11R6/{include,lib}/X11.
- x11-common (>= 1:7.0.0) is the package
- responsible for converting these symlinks into
- directories.
-
-
+ Configuration files for window, display, or session managers
+ or other applications that are tightly integrated with the X
+ Window System may be placed in a subdirectory
+ of /etc/X11/ corresponding to the package name.
+ Other X Window System applications should use
+ the /etc/ directory unless otherwise mandated by
+ policy (such as for [).
]
@@ -8842,12 +8961,12 @@ name ["syshostname"]:
- Due to limitations in current implementations, all characters
- in the manual page source should be representable in the usual
- legacy encoding for that language, even if the file is
- actually encoded in UTF-8. Safe alternative ways to write many
- characters outside that range may be found in
- .
+ If a localized version of a manual page is provided, it should
+ either be up-to-date or it should be obvious to the reader that
+ it is outdated and the original manual page should be used
+ instead. This can be done either by a note at the beginning of
+ the manual page or by showing the missing or changed portions in
+ the original language instead of the target language.
@@ -8860,37 +8979,53 @@ name ["syshostname"]:
- Your package should call install-info to update
- the Info dir file in its postinst
- script when called with a configure argument, for
- example:
-
-install-info --quiet --section Development Development \
- /usr/share/info/foobar.info
-
-
-
- It is a good idea to specify a section for the location of
- your program; this is done with the --section
- switch. To determine which section to use, you should look
- at /usr/share/info/dir on your system and choose the most
- relevant (or create a new section if none of the current
- sections are relevant). Note that the --section
- flag takes two arguments; the first is a regular expression
- to match (case-insensitively) against an existing section,
- the second is used when creating a new one.
-
-
- You should remove the entries in the prerm
- script when called with a remove argument:
-
-install-info --quiet --remove /usr/share/info/foobar.info
-
-
-
- If install-info cannot find a description entry
- in the Info file you must supply one. See for details.
+ The install-info program maintains a directory of
+ installed info documents in /usr/share/info/dir for
+ the use of info readers.
+ It was previously necessary for packages installing info
+ documents to run install-info from maintainer
+ scripts. This is no longer necessary. The installation
+ system now uses dpkg triggers.
+
+ This file must not be included in packages. Packages containing
+ info documents should depend on dpkg (>= 1.15.4) |
+ install-info to ensure that the directory file is properly
+ rebuilt during partial upgrades from Debian 5.0 (lenny) and
+ earlier.
+
+
+
+ Info documents should contain section and directory entry
+ information in the document for the use
+ of install-info. The section should be specified
+ via a line starting with INFO-DIR-SECTION followed by a
+ space and the section of this info page. The directory entry or
+ entries should be included between
+ a START-INFO-DIR-ENTRY line and
+ an END-INFO-DIR-ENTRY line. For example:
+
+INFO-DIR-SECTION Individual utilities
+START-INFO-DIR-ENTRY
+* example: (example). An example info directory entry.
+END-INFO-DIR-ENTRY
+
+ To determine which section to use, you should look
+ at /usr/share/info/dir on your system and choose
+ the most relevant (or create a new section if none of the
+ current sections are relevant).
+ Normally, info documents are generated from Texinfo source.
+ To include this information in the generated info document, if
+ it is absent, add commands like:
+
+@dircategory Individual utilities
+@direntry
+* example: (example). An example info directory entry.
+@end direntry
+
+ to the Texinfo source of the document and ensure that the info
+ documents are rebuilt from source during the package build.
+
+
@@ -8942,7 +9077,7 @@ install-info --quiet --remove /usr/share/info/foobar.info
Please note that this does not override the section on
changelog files below, so the file
- /usr/share/package/changelog.Debian.gz
+ /usr/share/doc/package/changelog.Debian.gz
must refer to the changelog for the current version of
package in question. In practice, this means
that the sources of the target and the destination of the
@@ -8996,7 +9131,7 @@ install-info --quiet --remove /usr/share/info/foobar.info
Every package must be accompanied by a verbatim copy of its
- copyright and distribution license in the file
+ copyright information and distribution license in the file
/usr/share/doc/package/copyright. This
file must neither be compressed nor be a symbolic link.