On Tue, 2021-01-26 at 01:39 -0500, Philip Webb wrote:
> 210125 Michał Górny wrote:
> > Changed eselect-python dep removal date to July 2021.
> > Not sure if there's a reason to display it to stable users today,
> > or delay until the stable request is actually filed.
> 
> I've been using Gentoo since 2003 , happily enough most of the time ;
> I'm an ordinary desktop user without any special requirements.
> Python versions have been one of the reasons for the exceptions.
> I finally managed to remove 2.7 from my system yesterday.
> 
> I do appreciate your work in this area,
> but I can make no sense of the news item below.

Thank you for your kind words.  However, I don't really know if I can
help you.  The news item is supposed to tell what's new.  If I were to
keep explaining the basics, it'd become too long (and people are already
complaining that my items are getting too long).  I think this falls
into 'if you don't know whether you need to read on, don't'.

> 
> > Title: Python preference to follow PYTHON_TARGETS
> > Author: Michał Górny <mgo...@gentoo.org>
> > Posted: 2021-01-24
> > Revision: 1
> > News-Item-Format: 2.0
> > 
> > On 2021-02-01 stable users will switch to a new method of updating
> > the preferred Python versions that employs the configuration update
> > mechanism in order to follow PYTHON_TARGETS.
> 
> What are "preferred Python versions" ?  Why are they multiple, not one ?

It's the order in which the Python version used to run stuff are used. 
There are multiple because not all impls are actually supported by
everything -- so if your top preference doesn't work, it goes for
the second top, etc.

> What is the "configuration update mechanism",

CONFIG_PROTECT / etc-update / dispatch-conf.

> how does it "follow PYTHON_TARGETS" & why are they both needed ?

I think this is explained below -- it generates python-exec.conf based
on PYTHON_TARGETS.  Both are needed because we can't technically combine
both without putting a lot of effort to implement stuff that's going to
be slow and unreliable.

> 
> > We will also deprecate app-eselect/eselect-python,
> > and it will stop being installed by default after 2021-07-01.
> 
> Why has there been this 3rd method of managing Python versions ?
> Why might it still be needed by users ?

Historical reasons, as always.  Backwards compatibility.

> > If you wish to use the newest Python version present
> > in your PYTHON_TARGETS, you only have to accept configuration changes.
> 
> Why doesn't Python behave like most other packages,
> ie use the latest installed version ?  Why does PYTHON_TARGETS exist ?
> Why are the "targets" ? -- it sounds as if they may not be achieved.

Because Python versions are not ABI-compatible, and old packages are
usually broken with new major Python releases.  It takes a lot of
testing, patching, bumping to support it.

> What are the "configuration changes" ?
> Do you mean those in  /etc/python-exec ?

Yes.

> 
> > If you wish to customize the behavior, read on.
> 
> I have no wish to customise Python.  I don't use it to develop programs ;
> it is installed only as a requirement for other packages, eg Portage.
> I do use it for a small script to work as a CLI calculator.
> Given this, I won't comment on the rest of the news item,
> but it makes even less sense to me than the section above.

Then you don't have to do anything.

-- 
Best regards,
Michał Górny



Reply via email to