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

Re: Bug#1018689: override: python3:python/standard



On Sat, 03 Sep 2022 at 22:41:36 -0700, Sean Whitton wrote:
> On Sun 28 Aug 2022 at 10:33PM -05, Daniel Lewart wrote:
> > Currently, python3 is Priority: optional.
> >
> > The following Buster packages have Priority: standard:
> >   * python
> >   * python-minimal
> >   * python2.7
> >   * python3-reportbug
> >
> > Now the following Priority:standard packages depend on python3
> > (directly or indirectly):
> >   * apt-listchanges
> >   * python3-reportbug
> >   * reportbug
> >
> > Therefore, I think that python3 should change from:
> >     Priority: optional
> > to:
> >     Priority: standard
> 
> I don't think these dependency relationships bear directly on the issue?

I agree. In Debian Policy versions earlier than 4.0.1, we had the rule
that if a Depends on b, then the Priority of a <= the Priority of b.

However, that rule was removed in Policy 4.0.1 (2017), for good reasons:
briefly, it resulted in supporting packages like obsolete/no-longer-used
shared libraries and older versions of gcc-*-base remaining installed
when there was no longer any real reason for them to be. The rule in
Policy §2.5 is now:

    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

So python3 should not be elevated to standard priority merely because
tools like reportbug depend on it: the dependency system will already
ensure that reportbug's dependencies are present.

Instead, the decision should be made on this basis: imagine that
apt-listchanges and reportbug had been written or rewritten in some other
language (perhaps Perl or C). Would we still want the python3 interpreter
to be available in a standard Debian installation on its own merits,
as an interpreter for user-written scripts and/or an interactive REPL,
as part of "a reasonably small but not too limited character-mode system"
that "doesn’t include many large applications"?

On one hand, it's probably a positive thing for a "standard" Debian
installation to include an interpreter for an easy-to-learn programming
language with fewer sharp edges than shell script, both as something we
can suggest people use to learn more about programming and as something
we can encourage people to prefer over writing shell scripts.

On the other hand, Python upstream would likely prefer for someone who
is interested in learning Python to be expected to install python3-full,
and it's difficult to say "python3 should be Priority: standard" without
either making subjective value-judgements about the relative quality
of various programming languages, or using reasoning that would apply
equally to promoting (for example) ruby, nodejs or lua to standard
(which seems like an approach that would scale poorly).

Looking at other interpreters, we already have bash and perl-base in
Essential, awk transitively Essential, and perl in Priority: standard. I
would personally lean more towards demoting perl to optional than
promoting python3 to standard.

    smcv


Reply to: