Re: Bug#758234: debian-policy: allow packages to depend on packages of lower priority
Ansgar Burchardt <ansgar@debian.org> writes:
> I discussed this a bit on IRC with the other ftp-masters and we came to
> this summary:
> 0) We would like to drop the requirement for packages to not depend on
> packages of lower priority: it is better to declare only what we
> actually want included in the installation (that is at priority >=
> standard) rather than also the dependency closure.
> 1) We agree that the 'extra' priority can be dropped.
> 2) We wonder if the 'standard' priority can also be dropped: as far as
> we know, it is used only by the "standard" task and it might make
> sense to treat it the same as other tasks.
> (Depending on what works better for the installer team.)
Given KiBi's reply, I'll leave 2 out for now.
Given the necessary wording changes, I don't think we can separate 0 and 1
very easily, so I'll just propose wording for both (even though we forked
the Policy bugs into two). Here's a wording proposal based on Adam
Borowski's wording with a bit of (hopefully correct) tightening.
Note that this also says that no two packages that both have a priority of
standard or higher may conflict. I think that's a logical consequence of
the use of priorities, and didn't want to lose that completely when that
requirement was dropped from optional.
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
@@ -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">
--
Russ Allbery (rra@debian.org) <http://www.eyrie.org/~eagle/>
Reply to: