X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=policy.sgml;h=b3c5886131b975c4ab1862746487e5de52d552a7;hb=b87a4e0b35fdbe9623e26b94929735a4db18739f;hp=5f608232b3e85e1b75eec842154a61d5e72f76f8;hpb=c5f6ea61a9d7af937b532ca04d0434ff22067ed9;p=debian%2Fdebian-policy.git
diff --git a/policy.sgml b/policy.sgml
index 5f60823..b3c5886 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -218,12 +218,13 @@
The actual editing is done by a group of maintainers that have
no editorial powers. These are the current maintainers:
-
@@ -257,7 +258,6 @@
+ Finally, a
+ The main archive area comprises the Debian
+ distribution. Only the packages in this area are considered
+ part of the distribution. None of the packages in
+ the main archive area require software outside of
+ that area to function. Anyone may use, share, modify and
+ redistribute the packages in this archive area
+ freely
Every package in main must comply with the DFSG
(Debian Free Software Guidelines).
@@ -473,11 +495,11 @@
In addition, the packages in main
+ The contrib archive area contains supplemental
+ packages intended to work with the Debian distribution, but
+ which require software outside of the distribution to either
+ build or function.
+
Every package in contrib must comply with the DFSG.
Examples of packages which would be included in
contrib are:
@@ -535,6 +563,15 @@
+ The non-free archive area contains supplemental
+ packages intended to work with the Debian distribution that do
+ not comply with the DFSG or have other problems that make
+ their distribution problematic. They may not comply with all
+ of the policy requirements in this manual due to restrictions
+ on modifications or other limitations.
+
Packages must be placed in non-free if they are
not compliant with the DFSG or are encumbered by patents
@@ -679,12 +716,13 @@
list of sections. At present, they are:
admin, cli-mono, comm, database,
devel, debug, doc, editors,
- electronics, embedded, fonts,
- games, gnome, graphics, gnu-r,
- gnustep, hamradio, haskell,
- httpd, interpreters, java, kde,
- kernel, libs, libdevel, lisp,
- localization, mail, math, misc,
+ education, electronics, embedded,
+ fonts, games, gnome, graphics,
+ gnu-r, gnustep, hamradio, haskell,
+ httpd, interpreters, introspection,
+ java, kde, kernel, libs,
+ libdevel, lisp, localization,
+ mail, math, metapackages, misc,
net, news, ocaml, oldlibs,
otherosfs, perl, php, python,
ruby, science, shells, sound,
@@ -1060,7 +1098,7 @@
@@ -2449,19 +2487,26 @@ endif
fields
Each paragraph consists of a series of data fields; each field consists of the field name, followed by a colon and - then the data/value associated with that field. It ends at - the end of the (logical) line. Horizontal whitespace + then the data/value associated with that field. The field + name is composed of printable ASCII characters (i.e., + characters that have values between 33 and 126, inclusive) + except colon and must not with a begin with #. The + field ends at the end of the line or at the end of the + last continuation line (see below). Horizontal whitespace (spaces and tabs) may occur immediately before or after the value and is ignored there; it is conventional to put a single space after the colon. For example, a field might @@ -2479,21 +2524,51 @@ Package: libc6
- Many fields' values may span several lines; in this case
- each continuation line must start with a space or a tab.
- Any trailing spaces or tabs at the end of individual
- lines of a field value are ignored.
+ There are three types of fields:
+
- In fields where it is specified that lines may not wrap, - only a single line of data is allowed and whitespace is not - significant in a field body. Whitespace must not appear + Whitespace must not appear inside names (of packages, architectures, files or anything else) or version numbers, or between the characters of multi-character version relationships.
++ The presence and purpose of a field, and the syntax of its + value may differ between types of control files. +
+Field names are not case-sensitive, but it is usual to capitalize the field names using mixed case as shown below. @@ -2502,9 +2577,17 @@ Package: libc6
- Blank lines, or lines consisting only of spaces and tabs, - are not allowed within field values or between fields - that - would mean a new paragraph. + Paragraph separators (empty lines) and lines consisting only of + spaces and tabs are not allowed within field values or between + fields. Empty lines in field values are usually escaped by + representing them by a space followed by a dot. +
+ +
+ Lines starting with # without any preceding whitespace are comments
+ lines that are only permitted in source package control files
+ (
@@ -2535,6 +2618,7 @@ Package: libc6
- In addition to the control file syntax described
- The source package control file is generated by
+ The Debian source control file is generated by
- Any parser that interprets the Uploaders field in
-
- In the source package control file
+ The list may include (or consist solely of) the special
value all. In other words, in
- Specifying any indicates that the source package + Specifying only any indicates that the source package isn't dependent on any particular architecture and should compile fine on any one. The produced binary package(s) - will either be specific to whatever the current build - architecture is or will be architecture-independent. + will be specific to whatever the current build architecture is.
Specifying only all indicates that the source package - will only build architecture-independent packages. If this is - the case, all must be used rather than any; - any implies that the source package will build at - least one architecture-dependent package. + will only build architecture-independent packages. +
+ ++ Specifying any all indicates that the source package + isn't dependent on any particular architecture. The set of + produced binary packages will include at least one + architecture-dependant package and one architecture-independent + package.
@@ -2974,7 +3053,7 @@ Package: libc6
This is a boolean field which may occur only in the control file of a binary package or in a per-package fields - paragraph of a main source control data file. + paragraph of a source package control file.
@@ -3210,7 +3289,8 @@ Package: libc6 In a source or binary control file, the Description field contains a description of the binary package, consisting of two parts, the synopsis or the short description, and the - long description. The field's format is as follows: + long description. It is a multiline field with the following + format:
@@ -3230,6 +3310,7 @@ Package: libc6
Those starting with a single space are part of a paragraph.
Successive lines of this form will be word-wrapped when
displayed. The leading space will usually be stripped off.
+ The line must contain at least one non-whitespace character.
- This field contains the human-readable changes data, describing
+ This multiline field contains the human-readable changes data, describing
the differences between the last version and the current one.
- This field is a list of binary packages. Its syntax and
+ This folded 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
- These fields contain a list of files with a checksum and size
+ These multiline fields contain a list of files with a checksum and size
for each one. Both Checksums-Sha1
and Checksums-Sha256 have the same syntax and differ
only in the checksum algorithm used: SHA-1
@@ -3631,6 +3713,21 @@ Checksums-Sha256:
must match the list of files in the Files field.
+ The most recent version of a package uploaded to unstable or
+ experimental must include the field DM-Upload-Allowed:
+ yes in the source section of its source control file for
+ the Debian archive to accept uploads signed with a key in the
+ Debian Maintainer keyring. See the General
+ Resolution
@@ -3657,7 +3754,7 @@ Checksums-Sha256: field name after the hyphen will be used in the output file. Where the letter B is used the field will appear in binary package control files, where the - letter S is used in source package control + letter S is used in Debian source control files and where C is used in upload control (.changes) files.
@@ -3668,7 +3765,7 @@ Checksums-Sha256:Relationships may also be restricted to a certain set of - architectures using architecture wildcards. The syntax for + architectures using architecture wildcards in the format + described in . The syntax for declaring such restrictions is the same as declaring restrictions using a certain set of architectures without architecture wildcards. For example: @@ -4848,6 +4947,13 @@ Build-Depends: foo [linux-any], bar [any-i386], baz [!linux-any] installation would hamper the ability of the system to continue with any upgrade that might be in progress.
+ ++ You should not specify a Pre-Depends entry for a + package before this has been discussed on the + debian-devel mailing list and a consensus about + doing that has been reached. See . +
@@ -6101,13 +6207,13 @@ install -m644 debian/shlibs.package debian/package/DEBIAN/
+ The additional directory
The following directories in the root filesystem are
@@ -6238,12 +6363,11 @@ install -m644 debian/shlibs.package debian/package/DEBIAN/
For example, the emacsen-common package could
contain something like
+ The directory
+ Packages must not include files or directories
+ under
-
Packages must not modify the configuration file
- If a package wants to install a job that has to be executed
- via cron, it should place a file with the name of the
- package in one or more of the following directories:
+ If a package wants to install a job that has to be executed via
+ cron, it should place a file named as specified
+ in into one or more of the following
+ directories:
All files installed in any of these directories must be @@ -7074,15 +7223,18 @@ Reloading description configuration...done.
If a certain job has to be executed at some other frequency or
- at a specific time, the package should install a file
-
Unlike
+ The file name of a cron job file should normally match the + name of the package from which it comes. +
+ ++ If a package supplies multiple cron job files files in the + same directory, the file names should all start with the name + of the package (possibly modified as described below) followed + by a hyphen (-) and a suitable suffix. +
+ ++ A cron job file name must not include any period or plus + characters (. or +) characters as this will + cause cron to ignore the file. Underscores (_) + should be used instead of . and + + characters. +
+
- The MIME support policy can be found in the mime-policy
- files in the debian-policy package.
- It is also available from the Debian web mirrors at
-
+ Packages containing such programs must register them
+ with
Please refer to the documentation that comes with the
@@ -7821,11 +8010,23 @@ fname () {
- In general, symbolic links within a top-level directory
- should be relative, and symbolic links pointing from one
- top-level directory into another should be absolute. (A
- top-level directory is a sub-directory of the root
- directory
@@ -8078,22 +8279,6 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
- Packages which specify the same file as a
- conffile must be tagged as conflicting
- with each other. (This is an instance of the general rule
- about not sharing files. Note that neither alternatives
- nor diversions are likely to be appropriate in this case;
- in particular,
- The maintainer scripts must not alter a conffile
- of any package, including the one the scripts
- belong to.
-
If two or more packages use the same configuration file
and it is reasonable for both to be installed at the same
@@ -8143,6 +8328,34 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq
and which manages the shared configuration files. (The
sgml-base package is a good example.)
+ If the configuration file cannot be shared as described above,
+ the packages must be marked as conflicting with each other.
+ Two packages that specify the same file as
+ a conffile must conflict. This is an instance of the
+ general rule about not sharing files. Neither alternatives
+ nor diversions are likely to be appropriate in this case; in
+ particular,
+ When two packages both declare the same conffile, they
+ may see left-over configuration files from each other even
+ though they conflict with each other. If a user removes
+ (without purging) one of the packages and installs the other,
+ the new package will take over the conffile from the
+ old package. If the file was modified by the user, it will be
+ treated the same as any other locally
+ modified conffile during an upgrade.
+
+ The maintainer scripts must not alter a conffile
+ of any package, including the one the scripts
+ belong to.
+
- Programs that require the non-DFSG-compliant OSF/Motif or
- OpenMotif libraries
- Both Motif-linked versions are dependent - upon non-DFSG-compliant software and thus cannot be - uploaded to the main distribution; if the - software is itself DFSG-compliant it may be uploaded to - the contrib distribution. While known existing - versions of Motif permit unlimited redistribution of - binaries linked against the library (whether statically or - dynamically), it is the package maintainer's - responsibility to determine whether this is permitted by - the license of the copy of Motif in their possession. -
-In addition, the copyright file must say where the upstream - sources (if any) were obtained. It should name the original - authors of the package and the Debian maintainer(s) who were - involved with its creation. + sources (if any) were obtained, and should name the original + authors.
@@ -9704,8 +9881,8 @@ END-INFO-DIR-ENTRY
+ A specification for a standard, machine-readable format
+ for
+ Use of this format is optional. +
+
- The Debian version of the FSF's GNU hello program is provided
- as an example for people wishing to create Debian
- packages. The Debian