summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Allbery <rra@debian.org>2017-06-25 15:54:07 -0700
committerRuss Allbery <rra@debian.org>2017-06-25 15:54:07 -0700
commit4b3e61ac3fa06d8b82433e09a76f42a4f8859306 (patch)
treeb4907ea68686db1bd6a36fc78bd0dacbed0df8a7
parent35c5ed000ed1c165c7ef8576cfec6e69a2a64ff4 (diff)
Relax priority requirements, deprecate extra
Clarify that priorities are used only for determining the contents of a Debian installation, and the majority of packages should have a priority of optional. Deprecated extra in favor of using optional, and allow optional packages to conflict with each other. Require that packages with a priority of standard or higher not conflict with each other. Remove the requirement that packages not depend on a packag with a lower priority, and instead state that priorities are based solely on the directly-provided functionality. Carve out an exception for installer maintainers to mess with priorities to fix installer issues.
-rw-r--r--policy.xml80
1 files changed, 54 insertions, 26 deletions
diff --git a/policy.xml b/policy.xml
index ace6a3b..be458cd 100644
--- a/policy.xml
+++ b/policy.xml
@@ -837,11 +837,33 @@
<title>Priorities</title>
<para>
- Each package should have a <emphasis>priority</emphasis> value,
- which is included in the package's <emphasis>control
- record</emphasis> (see <xref linkend="s-f-Priority"/>). This
- information is used by the Debian package management tools to
- separate high-priority packages from less-important packages.
+ Each package must have a <emphasis>priority</emphasis> value,
+ which is set in the metadata for the Debian archive and is also
+ included in the package's control files (see <xref
+ linkend="s-f-Priority"/>). This information is used to control
+ which packages are included in standard or minimal Debian
+ installations.
+ </para>
+ <para>
+ Most Debian packages will have a priority of
+ <literal>optional</literal>. Priority levels other than
+ <literal>optional</literal> are only used for packages that should
+ be included by default in a standard installation of Debian.
+ </para>
+ <para>
+ The priority of a package is determined solely by the
+ functionality it provides directly to the user. The priority of a
+ package should not be increased merely because another
+ higher-priority package depends on it; instead, the tools used to
+ construct Debian installations will correctly handle package
+ dependencies. In particular, this means that C-like libraries
+ will almost never have a priority above
+ <literal>optional</literal>, since they do not provide
+ functionality directly to users. However, as an exception, the
+ maintainers of Debian installers may request an increase of the
+ priority of a package to resolve installation issues and ensure
+ that the correct set of packages is included in a standard or
+ minimal install.
</para>
<para>
The following <emphasis>priority levels</emphasis> are recognized
@@ -874,9 +896,13 @@
an experienced Unix person who found it missing would say
"What on earth is going on, where is
<command>foo</command>?", it must be an
- <literal>important</literal> package.<footnote><para> This
- is an important criterion because we are trying to produce,
- amongst other things, a free Unix. </para> </footnote>
+ <literal>important</literal> package.
+ <footnote>
+ <para>
+ This is an important criterion because we are trying to
+ produce, amongst other things, a free Unix.
+ </para>
+ </footnote>
Other packages without which the system will not run well or
be usable must also have priority
<literal>important</literal>. This does
@@ -896,19 +922,22 @@
installed by default if the user doesn't select anything
else. It doesn't include many large applications.
</para>
+ <para>
+ No two packages that both have a priority of
+ <literal>standard</literal> or higher may conflict with each
+ other.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>optional</literal></term>
<listitem>
<para>
- (In a sense everything that isn't required is optional, but
- that's not what is meant here.) This is all the software
- that you might reasonably want to install if you didn't know
- what it was and don't have specialized requirements. This
- is a much larger system and includes the X Window System, a
- full TeX distribution, and many applications. Note that
- optional packages should not conflict with each other.
+ This is the default priority for the majority of the
+ archive. Unless a package should be installed by default on
+ standard Debian systems, it should have a priority of
+ <literal>optional</literal>. Packages with a priority of
+ <literal>optional</literal> may conflict with each other.
</para>
</listitem>
</varlistentry>
@@ -916,22 +945,21 @@
<term><literal>extra</literal></term>
<listitem>
<para>
- This contains all packages that conflict with others with
- required, important, standard or optional priorities, or are
- only likely to be useful if you already know what they are
- or have specialized requirements (such as packages
- containing only detached debugging symbols).
+ <emphasis>This priority is deprecated.</emphasis> Use the
+ <literal>optional</literal> priority instead.
+ </para>
+ <para>
+ The <literal>extra</literal> priority was previously used
+ for packages that conflicted with other packages and
+ packages that were only likely to be useful to people with
+ specialized requirements. However, this distinction was
+ somewhat arbitrary, not consistently followed, and not
+ useful enough to warrant the maintenance effort.
</para>
</listitem>
</varlistentry>
</variablelist>
- <para>
- Packages must not depend on packages with lower priority values
- (excluding build-time dependencies). In order to ensure this, the
- priorities of one or more packages may need to be adjusted.
- </para>
</section>
-
</chapter>
<chapter id="ch-binary">