Bug#758234: debian-policy: allow packages to depend on packages of lower priority
Hi,
Russ Allbery writes:
> Ansgar Burchardt <ansgar@debian.org> writes:
>> I discussed this a bit on IRC with the other ftp-masters and we came to
>> this summary:
[...]
>> 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.
Sure.
> 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.
I agree. Tools like debootstrap have no useful way to decide how to
resolve such conflicts and must work non-interactively.
> 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">
Seconded.
Ansgar
Reply to: