On Sun, 2021-01-24 at 18:16 +0000, Alexey Sokolov wrote:
> вс, 24 янв. 2021 г. в 12:59, Michał Górny <mgo...@gentoo.org>:
> > 
> > Here's v2 with extra 'tl;dr' instructions in first para:
> > 
> > ```
> > 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.  We will also deprecate
> > and stop installing app-eselect/eselect-python by default.  If you wish
> > to use the newest Python version present in your PYTHON_TARGETS, you
> > only have to accept configuration changes.  If you wish need
> > to customize the behavior, read on.
> 
> typo: wish need

Fixed, thanks.

> 
> > 
> > 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 it
> > manually to ensure that it is not unmerged.
> 
> Perhaps add the "emerge" command here, to avoid users to actually
> *manually* installing it? That is, not via the ebuild.

Indeed, I didn't think of this 'manual' ;-).  I'll update it and send v3
soonish.

> The Russian translation follows. Should I post it as a separate file 
> somewhere?

Thank you.  To be honest, I don't really know what's the process for
localization is.  FWICS none of the existing news items includes
translations.  In any case, if you don't mind I would prefer if we
waited with this until the final news item is committed, so we don't
have to track changes in it.

> 
> Title: Предпочтения Python будут следовать PYTHON_TARGETS
> 
> 1 февраля 2021 пользователи стабильной ветки перейдут на новый метод 
> обновления
> предпочтительной версии Python, который будет использовать значение переменной
> PYTHON_TARGETS и применять механизм обновления конфигураций.  Также мы
> объявляем app-eselect/eselect-python устаревшим и по умолчанию перестанем его
> устанавливать.  Если вы хотите использовать самую новую версию Python из
> указанных в PYTHON_TARGETS, вам надо только принять изменения конфигурации.
> Если же вам нужно настроить индивидуальное поведение, продолжайте читать.
> 
> С 2017 года /usr/bin/python и тому подобные символические ссылки без версии
> являются обёртками с помощью dev-lang/python-exec.  Список предпочтительных
> реализаций Python хранится в /etc/python-exec/python-exec.conf и/или в
> /etc/python-exec/<программа>.conf для программ с конфигурацией не по 
> умолчанию.
> Для обратной совместимости app-eselect/eselect-python остался обёрткой, 
> которая
> обновляла этот файл.
> 
> Однако сам по себе этот механизм оказался неудобен пользователям, которым
> теперь приходилось обновлять python-exec.conf каждый раз, когда менялась
> переменная PYTHON_TARGETS.  Благодаря логике запасных вариантов это не было
> большой проблемой для программ, установленных из репозитория Gentoo, т.к. они
> гарантируют использование поддерживаемой реализации Python.  Но пользователи
> сообщали, что, когда предпочтение для /usr/bin/python не совпадало с их
> PYTHON_TARGETS, из-за неудовлетворённых зависимостей ломались пользовательские
> программы, что противоречит принципу наименьшего удивления.
> 
> Поэтому мы решили изменить стандартную настройку python-exec, теперь она будет
> совпадать с PYTHON_TARGETS в порядке предпочтения, используемым eclass'ом:
> сначала все CPython, начиная с новейшей версии и заканчивая старейшей, затем
> другие реализации Python.  Это изменение будет установлено в систему с помощью
> механизма защиты конфигураций каждый раз при установке или пересборке
> dev-lang/python-exec-conf из-за изменения PYTHON_TARGETS.  При этом у
> пользователей будет возможность интерактивно подтвердить данные изменения.
> 
> Если новые настройки вам не подходят, пожалуйста, используйте ваш любимый
> инструмент обновления конфигурации, чтобы отбросить изменения или
> отредактировать новый файл.
> 
> Более того, dev-lang/python больше не будет пытаться автоматически обновить
> предпочтительную версию Python и больше не будет автоматически затягивать
> eselect-python. Если вы хотите продолжать его использовать, пожалуйста,
> установите его вручную, чтобы он не удалился.

-- 
Best regards,
Michał Górny



Reply via email to