[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#758234: debian-policy: allow packages to depend on packages of lower priority



On Sun, 25 Jun 2017 15:54:00 -0700 Russ Allbery <rra@debian.org> wrote:
> 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.)
> 

Hi,

Thanks for this draft.

> Given KiBi's reply, I'll leave 2 out for now.
> 

Seems reasonable to me. :)

> [...]
> 
> 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.
> 

Agreed.

I second the change below.  Please notify me/the lintian maintainers
if/when it is merged, so we can update the relevant checks in lintian.

> 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">

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: