Re: [gentoo-dev] [News item review] Python preference to follow PYTHON_TARGETS
On Sun, Jan 24, 2021 at 2:09 PM Michał Górny wrote: > > On Sun, 2021-01-24 at 13:53 -0500, Rich Freeman wrote: > > On Sun, Jan 24, 2021 at 7:21 AM Michał Górny wrote: > > > > > > 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. > > > > Could we just spell out what the actual setting is? That way if a > > user accepts or rejects the change accidentally it is trivial to fix, > > vs making them hunt through the installed files to do a diff... > > > > Nothing wrong with the instructions - I'd just add one line about what > > setting controls this. > > > > The exact paths are provided in the second paragraph. Am I missing > something? > No - the way this works makes sense now. For some reason I missed it on the first two reads, which makes me suspect others will as well. It wasn't the location of the config file I missed, but the fact that the eclass will just do what eselect python used to do, and thus trigger config protection (which is at the end of paragraph 4). For some reason when I read the section about discarding the changes I was thinking that there was some config toggle to change this behavior vs the old way things worked. Instead the new behavior is unconditional, but the updates it makes to the python-exec config can be rejected. -- Rich
Re: [gentoo-dev] [News item review v3] Python preference to follow PYTHON_TARGETS
Now with cleaner explanation of how to keep eselect-python: ``` Title: Python preference to follow PYTHON_TARGETS Author: Michał Górny 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 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/.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 ``` -- Best regards, Michał Górny
[gentoo-dev] Last-rites: kde-plasma/user-manager:5
# Andreas Sturmlechner (2021-01-24) # (New and QML-based) functionality moved into kde-plasma/plasma-desktop:5 # Masked for removal in 14 days. kde-plasma/user-manager:5 signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [News item review v2] Python preference to follow PYTHON_TARGETS
On 1/24/21 7:59 AM, Michał Górny wrote: > Here's v2 with extra 'tl;dr' instructions in first para: > > ``` > Title: Python preference to follow PYTHON_TARGETS > Author: Michał Górny > 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. > > 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/.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. > > ``` > Has this change already been pushed for unstable? I am running an unstable system but I still have eselect-python, so I assume not (unless due to my side error). Thanks, Aisha
Re: [gentoo-dev] [News item review v2] Python preference to follow PYTHON_TARGETS
On Sun, 2021-01-24 at 16:11 +0100, Thomas Deutschmann wrote: > eselect is a known interface for most (all?) slotted packages. > Configuration management tools expect that the appropriate module will > be pulled in once you install a slotable package. Could you back your claims with specific numbers? How many packages that do not strictly require eselect to operate are actually pulling it in? I don't see a single shell pulling in app-eselect/eselect-sh. sys-devel/binutils and sys-devel/gcc are probably the most common examples of packages not using eselect (except for one failed attempt). > You are now forcing everyone to either migrate to a new system (manage > python-exec.conf directly) or ensure they update their world file and > manually ensure that eselect-python is still installed which will make > Python special. Is it really that bad to install the tools you actually use instead of forcing 'one size fits all' approach? -- Best regards, Michał Górny
Re: [gentoo-dev] [News item review v2] Python preference to follow PYTHON_TARGETS
On Sun, 2021-01-24 at 16:23 +0100, Hans Fernhout wrote: > Why not do it the other way around: make eselect-python leading, and > have it populate PYTHON_TARGETS? > It could be a lot more work, but might be more intuitive. It is not possible to do this portably or reliably. My previous attempts at mangling make.conf have proven mostly destructive to less typical make.conf files. -- Best regards, Michał Górny
Re: [gentoo-dev] [News item review] Python preference to follow PYTHON_TARGETS
On Sun, 2021-01-24 at 13:53 -0500, Rich Freeman wrote: > On Sun, Jan 24, 2021 at 7:21 AM Michał Górny wrote: > > > > 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. > > Could we just spell out what the actual setting is? That way if a > user accepts or rejects the change accidentally it is trivial to fix, > vs making them hunt through the installed files to do a diff... > > Nothing wrong with the instructions - I'd just add one line about what > setting controls this. > The exact paths are provided in the second paragraph. Am I missing something? -- Best regards, Michał Górny
Re: [gentoo-dev] [News item review v2] Python preference to follow PYTHON_TARGETS
On Sun, 2021-01-24 at 18:16 +, Alexey Sokolov wrote: > вс, 24 янв. 2021 г. в 12:59, Michał Górny : > > > > Here's v2 with extra 'tl;dr' instructions in first para: > > > > ``` > > Title: Python preference to follow PYTHON_TARGETS > > Author: Michał Górny > > 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/.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, из-за неудовлетворённых зависимостей ломались пользовательские > программы, что противоречит принципу н
Re: [gentoo-dev] [News item review v2] Python preference to follow PYTHON_TARGETS
On Sun, 2021-01-24 at 10:16 -0500, Aisha Tammy wrote: > On 1/24/21 7:59 AM, Michał Górny wrote: > > Here's v2 with extra 'tl;dr' instructions in first para: > > > > ``` > > Title: Python preference to follow PYTHON_TARGETS > > Author: Michał Górny > > 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. > > > > 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/.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. > > > > ``` > > > > Has this change already been pushed for unstable? I am running an unstable > system but I still have eselect-python, so I assume not (unless due to my side > error). dev-lang/python-exec-conf is available in ~arch already but app- eselect/eselect-python is still pulled in unconditionally. -- Best regards, Michał Górny
Re: [gentoo-dev] [News item review] Python preference to follow PYTHON_TARGETS
On Sun, Jan 24, 2021 at 7:21 AM Michał Górny wrote: > > 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. Could we just spell out what the actual setting is? That way if a user accepts or rejects the change accidentally it is trivial to fix, vs making them hunt through the installed files to do a diff... Nothing wrong with the instructions - I'd just add one line about what setting controls this. -- Rich
Re: [gentoo-dev] [News item review v2] Python preference to follow PYTHON_TARGETS
вс, 24 янв. 2021 г. в 12:59, Michał Górny : > > Here's v2 with extra 'tl;dr' instructions in first para: > > ``` > Title: Python preference to follow PYTHON_TARGETS > Author: Michał Górny > 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/.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. При этом у пользователей будет возможность интерактивно подтвердить данные изменения. Если новые настройки вам не подходят, пожалуйста, используйте ваш любимый инструмент обновления к
[gentoo-dev] Last rites: app-crypt/sign
# Jakov Smolic (2021-01-24) # Last release in 2004. Fails to build with gcc-10 and openssl-1.1. # Removal on 2021-02-23. Bugs #707004, #677170, #562724 app-crypt/sign signature.asc Description: This is a digitally signed message part
Re: [gentoo-dev] Last-rites: x11-themes/gtk-engines-unico
On Sonntag, 24. Januar 2021 14:08:52 CET Andreas Sturmlechner wrote: > # Andreas Sturmlechner (2021-01-24) > # Ancient package no one else is packaging, blocks autotools-multilib > cleanup. # Masked for removal in 30 days. > x11-themes/gtk-engines-unico Called off and bumped to EAPI-7/away from autotools-multilib.eclass instead. https://gitweb.gentoo.org/repo/gentoo.git/commit/? id=3a22e1e18d5239c0cb3d9545a89188aa9dd3cd7c signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [News item review v2] Python preference to follow PYTHON_TARGETS
On Sun, Jan 24, 2021 at 10:16:37AM -0500, Aisha Tammy wrote: > Has this change already been pushed for unstable? I am running an unstable > system but I still have eselect-python, so I assume not (unless due to my side > error). It was temporarily re-added in deps for the sake of this news item, but it's not doing anything given the code to use eselect python wasn't restored. You should have python-exec-conf already doing its thing. -- ionen signature.asc Description: PGP signature
Re: [gentoo-dev] [News item review v2] Python preference to follow PYTHON_TARGETS
Why not do it the other way around: make eselect-python leading, and have it populate PYTHON_TARGETS? It could be a lot more work, but might be more intuitive. On 1/24/21 4:11 PM, Thomas Deutschmann wrote: Hi, I am hot happy with this change. Why must dev-lang/python become special? eselect is a known interface for most (all?) slotted packages. Configuration management tools expect that the appropriate module will be pulled in once you install a slotable package. You are now forcing everyone to either migrate to a new system (manage python-exec.conf directly) or ensure they update their world file and manually ensure that eselect-python is still installed which will make Python special. But because dev-lang/python does not call eselect-python anymore it looks like you cannot retain old, well established behavior across all slotable packages anymore.
Re: [gentoo-dev] [News item review v2] Python preference to follow PYTHON_TARGETS
Hi, I am hot happy with this change. Why must dev-lang/python become special? eselect is a known interface for most (all?) slotted packages. Configuration management tools expect that the appropriate module will be pulled in once you install a slotable package. You are now forcing everyone to either migrate to a new system (manage python-exec.conf directly) or ensure they update their world file and manually ensure that eselect-python is still installed which will make Python special. But because dev-lang/python does not call eselect-python anymore it looks like you cannot retain old, well established behavior across all slotable packages anymore. -- Regards, Thomas Deutschmann / Gentoo Linux Developer fpr: C4DD 695F A713 8F24 2AA1 5638 5849 7EE5 1D5D 74A5 OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] Last-rites: x11-themes/gtk-engines-unico
# Andreas Sturmlechner (2021-01-24) # Ancient package no one else is packaging, blocks autotools-multilib cleanup. # Masked for removal in 30 days. x11-themes/gtk-engines-unico signature.asc Description: This is a digitally signed message part.
Re: [gentoo-dev] [News item review] Python preference to follow PYTHON_TARGETS
On Sun, 2021-01-24 at 13:25 +0100, Toralf Förster wrote: > On 1/24/21 1:21 PM, Michał Górny wrote: > > Please review the news item inlined below. > > What about a tl;dr line explaining whether dev-lang/python-exec is > optionally or mandatory -or better said - if/which user action is expected? > Sent v2. -- Best regards, Michał Górny
Re: [gentoo-dev] [News item review v2] Python preference to follow PYTHON_TARGETS
Here's v2 with extra 'tl;dr' instructions in first para: ``` Title: Python preference to follow PYTHON_TARGETS Author: Michał Górny 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. 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/.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. ``` -- Best regards, Michał Górny
Re: [gentoo-dev] [News item review] Python preference to follow PYTHON_TARGETS
On Sun, Jan 24, 2021 at 01:25:13PM +0100, Toralf Förster wrote: > What about a tl;dr line explaining whether dev-lang/python-exec is > optionally or mandatory -or better said - if/which user action is expected? As I understand it user doesn't have anything to do other than either accept or refuse the CONFIG_PROTECT changes. Exception could be if they were heavily relying on eselect python to change on-the-fly using scripts or whatnot. I originally felt this could go without a news item myself but I did see a lot of confused users believe eselect python is essential, so an explanation makes sense. -- ionen signature.asc Description: PGP signature
Re: [gentoo-dev] [News item review] Python preference to follow PYTHON_TARGETS
On 1/24/21 1:21 PM, Michał Górny wrote: Please review the news item inlined below. What about a tl;dr line explaining whether dev-lang/python-exec is optionally or mandatory -or better said - if/which user action is expected? -- Toralf PGP 23217DA7 9B888F45 OpenPGP_signature Description: OpenPGP digital signature
[gentoo-dev] [News item review] Python preference to follow PYTHON_TARGETS
Hi, Please review the news item inlined below. I'd like to publish it ASAP and stabilize python-exec-conf on 2021-02- 01. ``` Title: Python preference to follow PYTHON_TARGETS Author: Michał Górny 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. 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/.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. ``` -- Best regards, Michał Górny