commit:     22323b8313dbe3f0b08f5b1ce2fb2f7ae26ee642
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 30 12:16:35 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 30 12:16:53 2021 +0000
URL:        https://gitweb.gentoo.org/data/gentoo-news.git/commit/?id=22323b83

2021-01-30-python-preference-to-follow-PYTHON-TARGETS: add

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 ...thon-preference-to-follow-PYTHON-TARGETS.en.txt | 48 ++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git 
a/2021-01-30-python-preference-to-follow-PYTHON-TARGETS/2021-01-30-python-preference-to-follow-PYTHON-TARGETS.en.txt
 
b/2021-01-30-python-preference-to-follow-PYTHON-TARGETS/2021-01-30-python-preference-to-follow-PYTHON-TARGETS.en.txt
new file mode 100644
index 0000000..dbdf2a7
--- /dev/null
+++ 
b/2021-01-30-python-preference-to-follow-PYTHON-TARGETS/2021-01-30-python-preference-to-follow-PYTHON-TARGETS.en.txt
@@ -0,0 +1,48 @@
+Title: Python preference to follow PYTHON_TARGETS
+Author: Michał Górny <[email protected]>
+Posted: 2021-01-30
+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.  We will also deprecate
+app-eselect/eselect-python, and it will stop being installed by default
+after 2021-07-01.  If you wish to use the newest Python version present
+in your PYTHON_TARGETS, you only have to accept configuration changes.
+If you wish to customize the behavior, read on.
+
+Since 2017, /usr/bin/python and the related non-versioned symlinks
+are wrapped through dev-lang/python-exec.  The list of preferred Python
+implementations is stored in /etc/python-exec/python-exec.conf and/or
+per-program /etc/python-exec/<basename>.conf configuration files.
+To preserve backwards compatibility, app-eselect/eselect-python remained
+a wrapper that updated this file.
+
+However, this mechanism alone has proven inconvenient to end users who
+had to update python-exec.conf whenever the default PYTHON_TARGETS
+changed.  Thanks to the fallback logic, this was not a major problem
+for software installed via Gentoo packages that always ensure that
+a supported implementation is used.  However, users have reported that
+whenever the preference for /usr/bin/python mismatched their
+PYTHON_TARGETS, their custom scripts would break due to unsatisfied
+dependencies.  This does not follow the principle of least surprise.
+
+For this reason, we have decided to change the default python-exec
+configuration to match PYTHON_TARGETS by default, in the eclass
+preference order, that is from the newest CPython version to oldest,
+with alternative Python implementations coming afterwards.  This change
+will be propagated via the configuration protection mechanism whenever
+dev-lang/python-exec-conf is installed or rebuilt due to PYTHON_TARGETS
+changes.  This will permit the users to interactively confirm
+the updates.
+
+If the new default is not correct for you, please use your preferred
+configuration update tool to discard or edit the new configuration file.
+
+Furthermore, dev-lang/python will no longer attempt to automatically
+update the Python interpreter preference, or pull in eselect-python
+automatically.  If you wish to continue using it, please install/record
+it explicitly to ensure that it is not unmerged, e.g.:
+
+    emerge -n app-eselect/eselect-python

Reply via email to