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