X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=policy.sgml;h=1de249479b7fb128679dd6ad1da1ce78c83bfb2b;hb=baea58c43486488c3c9bd0b4e52957ce88ddd94c;hp=c618afdc462a3144f7cef7ccc6a2beefd3767f50;hpb=ffdfac99ead4d459376dea3add85c3a6791356c3;p=debian%2Fdebian-policy.git
diff --git a/policy.sgml b/policy.sgml
index c618afd..1de2494 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -90,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.)
It must start with the line #!/usr/bin/make -f,
so that it can be invoked by saying its name rather than
- invoking
Since an interactive
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.
@@ -2605,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.
@@ -2687,7 +2692,7 @@ Package: libc6- 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 .
@@ -2708,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.
@@ -2725,7 +2728,12 @@ Package: libc6 values:@@ -2785,6 +2794,24 @@ Package: libc6 package, all will also be included in the list.
+
+ Specifying a list of architecture wildcards indicates that
+ the source will build an architecture-dependent package on
+ the union of the lists of architectures from the expansion
+ of each specified architecture wildcard, and will only
+ work correctly on the architectures in the union of the
+ lists.
In a
- 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.
@@ -2860,8 +2887,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.
- In a
- 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.
+ In a
- 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 (.).
@@ -3253,7 +3280,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).
This field appears in the control files of binary packages,
- and in the
@@ -3309,20 +3336,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
In the
@@ -3353,7 +3396,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
-
- 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".
@@ -4240,6 +4283,23 @@ Build-Depends: foo [!i386] | bar [!amd64] source package section of the control file (which is the first section). +
+ All fields that specify build-time relationships
+ (Build-Depends, Build-Depends-Indep,
+ Build-Conflicts and Build-Conflicts-Indep) may also
+ be restricted to a certain set of architectures using architecture
+ wildcards. The syntax for declaring such restrictions is the same as
+ declaring restrictions using a certain set of architectures without
+ architecture wildcards.
+ For example:
+
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".
@@ -4514,7 +4574,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".
@@ -5320,10 +5380,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
+ The requirement for object files, internal binaries, and
+ libraries, including
+ Applications may also use a single subdirectory under
+
+ 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 @@ -5588,6 +5682,15 @@ libbar 1 bar1 (>= 1.0-1) symlinked there, is relaxed to a recommendation.
+ The following directories in the root filesystem are
+ additionally allowed:
- Note, that this applies only to directories below
-
@@ -5700,9 +5805,10 @@ rmdir /usr/local/share/emacs 2>/dev/null || true
- The system-wide mail directory is
- 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 (').
@@ -6487,13 +6593,48 @@ Reloading description configuration...done.
+ Unlike
- 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
+
- Packages containing shared libraries that may be linked to
- by other packages' binaries, but which for some
- compelling reason can not be installed in
-
An ever increasing number of packages are using
- Packages must not include device files in the package file - tree. + Packages must not include device files or named pipes in the + package file tree.
@@ -7240,6 +7370,18 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
+ Named pipes needed by the package must be created in
+ the
+ A package may specify an architecture wildcard. Architecture
+ wildcards are in the format os-any and
+ any-cpu.
@@ -8543,7 +8714,7 @@ name ["syshostname"]:
-@@ -8559,9 +8730,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
-
- Packages using the X Window System should not be
- configured to install files under the
-
- Programs that use GNU
- The installation of files into subdirectories
- of
- Packages should install any relevant files into the
- directories
- 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.
-
- 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
-
- Your package should call
- 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
- You should remove the entries in the
- If
+ Info documents should contain section and directory entry
+ information in the document for the use
+ of
Please note that this does not override the section on
changelog files below, so the file
-