вс, 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

>
> 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.

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

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. Если вы хотите продолжать его использовать, пожалуйста,
установите его вручную, чтобы он не удалился.

Reply via email to