On 5/2/25 12:50 PM, Michael Orlitzky wrote:
> On Fri, 2025-05-02 at 16:26 +0000, Grant Edwards wrote:
>> After a normal --sync and -auvND world, it seems I suddenly need to
>> specify use flags python_targets and python_single_target for various
>> packages.
>>
>> I've never had to set those before.
>>
> 
> Wild guess, python-3.13 recently became default.
> 
> When a new version of python is released or stabilized, it takes a
> while for support to be added to the python packages in the tree. Not
> all maintainers respond at the same speed, and some packages are much
> harder to test than others. We don't want to hold up dev-lang/python
> indefinitely, so sometimes we wind up with packages in the tree that
> don't support the "current" version of python, as determined by the
> default values of those python variables/flags.


As a reminder to all,

```
eselect news list all
```

2025-03-24  Python 3.13 to become the default on 2025-05-01

Everyone was warned about this, if you did not pay attention to the
warning then there is very little we can do if some packages lag.



> If you have any of those packages installed, it's very easy to confuse
> portage because the dependency trees involved are huge. It gets stuck
> trying to upgrade "everything" because it can't figure out how to
> upgrade the lagging package and/or the ecosystems that the lagging
> package depends on.


No, it's been told exactly what to do via *incompatible* USE flags on a
package. If you need

USE=python_targets_python3_13

for most packages, and also

USE=python_targets_python3_12

for some packages plus all their dependencies, you actually have "needs
both USE flags for most packages, and a handful of leaf packages only
need one or the other".

Any library packages run the risk of being needed for both, and that
includes the entire core ecosystem, which is not small.

You cannot just upgrade "some" packages, because at a minimum you need
the entire core set to use both.


> If possible, wait a week and try again. It will eventually annoy
> someone who has the ability to fix it. Otherwise you'll have to do some
> digging to figure out which dependency is confusing things, and the
> error messages don't make this easy.


Again as per the news item, you can add python 3.13 to all packages
without dropping support for python 3.12 -- this means any packages that
are still lagging will use a different version, and you will have two
versions of python installed which is "bloat", but perhaps that will be
encouragement for people to fix the problem with the packages itself.


If you add dual python support to all packages, then it becomes a
simpler matter of removing 3.12 support in a second pass, and seeing
which packages don't allow that. Autounmask may help here.


-- 
Eli Schwartz

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to