Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Python 3.12 update
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3, 4  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
steve_v
Guru
Guru


Joined: 20 Jun 2004
Posts: 409
Location: New Zealand

PostPosted: Sun Jun 02, 2024 4:02 pm    Post subject: Python 3.12 update Reply with quote

[Administrator note: this post, and the first 3 responses, were originally attached to the topic When is the Python Update to 3.12?. However, that topic was specifically about the timeliness of the update. These posts discuss (or perhaps, rant) about specific packages which did not take well to the update. The split post had no title, so I chose one. -Hu]

Well this is a complete clusterfuck. Again.

Blender? Nope, at least not the version we're shipping as stable. Must be some pretty obscure software that.
FreeCAD? Guess nobody uses that either. :roll:
KiCAD? Nah, let's just spew 5 pages of inscrutable conflicts, nobody needs to get work done today.

Seriously people, how long has this "every time python updates, world catches fire" nonsense been going on now?
_________________
Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22632

PostPosted: Sun Jun 02, 2024 4:06 pm    Post subject: Reply with quote

I did not readily find Gentoo bug reports for any of those packages breaking with the Python 3.12 upgrade. Could you link to where this breakage is reported, preferably with enough detail that someone can fix it?
Back to top
View user's profile Send private message
Demo
Tux's lil' helper
Tux's lil' helper


Joined: 25 Nov 2022
Posts: 126

PostPosted: Sun Jun 02, 2024 4:29 pm    Post subject: Reply with quote

Hello ...

I hope I'm not crashing in! I just wanted to report the same problem at my end ...

It actually all started with these 8 packages missing any python preference
Code:
dev-python/backports-tarfile
dev-python/eventlet
dev-python/greenlet
dev-python/importlib-resources
dev-python/poetry-plugin-export
dev-python/poetry
dev-python/wxpython
sys-block/targetcli-fb


Then after assigning them the "python_targets_python3_11" flag, every other python package wants in to "python_targets_python3_11" too ...

Selecting python12 with the eselect python tool helped with a few of them, but still not all packages are fixed yet.
Code:
~ $ equery u dev-python/backports-tarfile dev-python/eventlet dev-python/greenletdev-python/importlib-resources dev-python/poetry-plugin-export dev-python/poetry dev-python/wxpythonsys-block/targetcli-fb
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
* Found these USE flags for dev-python/backports-tarfile-1.2.0:
U I
- - python_targets_pypy3      : Build with PyPy3
- - python_targets_python3_10 : Build with Python 3.10
+ - python_targets_python3_11 : Build with Python 3.11
+ + test                      : Enable dependencies and/or preparations necessary to run tests
(usually controlled by FEATURES=test but can be toggled
independently)

* Found these USE flags for dev-python/eventlet-0.35.2:
U I
- - doc                       : Add extra documentation (API, Javadoc, etc). It is recommended to
enable per package instead of globally
- - examples                  : Install examples, usually source code
- - python_targets_python3_10 : Build with Python 3.10
+ - python_targets_python3_11 : Build with Python 3.11
+ + test                      : Enable dependencies and/or preparations necessary to run tests
(usually controlled by FEATURES=test but can be toggled
independently)

* Found these USE flags for dev-python/greenlet-3.0.3:
U I
+ + debug                     : Enable extra debug codepaths, like asserts and extra output. If you
want to get meaningful backtraces see
https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
- - doc                       : Add extra documentation (API, Javadoc, etc). It is recommended to
enable per package instead of globally
- - python_targets_python3_10 : Build with Python 3.10
+ - python_targets_python3_11 : Build with Python 3.11
+ + test                      : Enable dependencies and/or preparations necessary to run tests
(usually controlled by FEATURES=test but can be toggled
independently)

* Found these USE flags for dev-python/importlib-resources-6.4.0:
U I
- - python_targets_pypy3      : Build with PyPy3
- - python_targets_python3_10 : Build with Python 3.10
+ - python_targets_python3_11 : Build with Python 3.11
+ + test                      : Enable dependencies and/or preparations necessary to run tests
(usually controlled by FEATURES=test but can be toggled
independently)

* Found these USE flags for dev-python/poetry-plugin-export-1.8.0:
U I
- - python_targets_python3_10 : Build with Python 3.10
- - python_targets_python3_11 : Build with Python 3.11
+ + python_targets_python3_12 : Build with Python 3.12
+ + test                      : Enable dependencies and/or preparations necessary to run tests
(usually controlled by FEATURES=test but can be toggled
independently)

* Found these USE flags for dev-python/poetry-1.8.3:
U I
- - python_targets_python3_10 : Build with Python 3.10
- - python_targets_python3_11 : Build with Python 3.11
+ + python_targets_python3_12 : Build with Python 3.12
+ + test                      : Enable dependencies and/or preparations necessary to run tests
(usually controlled by FEATURES=test but can be toggled
independently)

* Found these USE flags for dev-python/wxpython-4.2.1:
U I
+ + debug                     : Enable extra debug codepaths, like asserts and extra output. If you
want to get meaningful backtraces see
https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
- - python_targets_python3_10 : Build with Python 3.10
- - python_targets_python3_11 : Build with Python 3.11
+ + test                      : Enable dependencies and/or preparations necessary to run tests
(usually controlled by FEATURES=test but can be toggled
independently)
- - webkit                    : Add support for the WebKit HTML rendering/layout engine

* Found these USE flags for sys-block/targetcli-fb-2.1.54:
U I
- - python_targets_python3_10 : Build with Python 3.10
- - python_targets_python3_11 : Build with Python 3.11
Back to top
View user's profile Send private message
steve_v
Guru
Guru


Joined: 20 Jun 2004
Posts: 409
Location: New Zealand

PostPosted: Sun Jun 02, 2024 4:32 pm    Post subject: Reply with quote

Hu wrote:
I did not readily find Gentoo bug reports for any of those packages breaking with the Python 3.12 upgrade.

The stable (amd64) ebuilds for those are all still PYTHON_COMPAT=( python3_10 python3_11 ) on gentoo git. I haven't investigated why yet, because I can't update my system.
Freecad doesn't even have a python 3.12 compatible release upstream.

Those are just the first few "high profile" problems I've run into, I'm still trying to get portage to do anything useful at all right now. That the actual problem is invariably buried in more recursive library conflicts than fit in my scrollback buffer is not helping.

Code:
$ grep -ir  "python3_{10..11}" /var/db/repos/gentoo/* | wc -l
391


Quote:
your package manager should handle the upgrade
automatically.

My ass.
Has portage ever handled a python upgrade gracefully or automatically?
_________________
Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2412

PostPosted: Sun Jun 02, 2024 6:34 pm    Post subject: Reply with quote

There's absolutely no need to move to python 3.12 altogether. You could have just move on with your life, rather than wasting your time trying to move everything to python 3.12. If you have packages that do not support 3.12 it's pointless to do anything out of the ordinary, just update your system. When those packages are finally moved to python 3.12, 3.11 will automatically go.

Best Regards,
Georgi
Back to top
View user's profile Send private message
gemarcano
Tux's lil' helper
Tux's lil' helper


Joined: 04 Jun 2012
Posts: 101
Location: California

PostPosted: Sun Jun 02, 2024 6:56 pm    Post subject: Reply with quote

logrusx wrote:
There's absolutely no need to move to python 3.12 altogether. You could have just move on with your life, rather than wasting your time trying to move everything to python 3.12. If you have packages that do not support 3.12 it's pointless to do anything out of the ordinary, just update your system. When those packages are finally moved to python 3.12, 3.11 will automatically go.


You realize that Gentoo unstable just changed the default python interpreter to 3.12? That's probably why people (myself included) are running into problems. Which is probably a good thing people are piping up, because it's better that these things get resolved before this change hits stable. There are a lot of packages in the tree that haven't been tested or just aren't compatible with 3.12. Some of these have patches upstream for proper support but no release yet with said support, others... well, I guess us Gentoo folk will have to patch them ourselves somehow.

The biggest issue for me personally is the dependencies for FreeCAD and KiCAD that haven't been updated to 3.12... I tried just manually changing the ebuilds to just let things build with 3.12 and I'll debug later, but dear gods there are a lot of dependencies of dependencies of dependencies that haven't been updated...
Back to top
View user's profile Send private message
Princess Nell
l33t
l33t


Joined: 15 Apr 2005
Posts: 925

PostPosted: Sun Jun 02, 2024 6:58 pm    Post subject: Reply with quote

Clusterfuck is right. Even after unmerging a few ebuilds (that will need to come back eventually) and "--exclude"ing another few, a world update spits out pages and pages of stuff like
Code:

dev-python/pygame:0

  (dev-python/pygame-2.5.2-r2:0/0::gentoo, ebuild scheduled for merge) USE="X opengl -debug -examples -test" ABI_X86="(64)" PYTHON_TARGETS="python3_12 (-pypy3) -python3_10 -python3_11" pulled in by
    dev-python/pygame[python_targets_python3_12(-)] required by (games-arcade/solarwolf-1.5_p3:0/0::gentoo, ebuild scheduled for merge) USE="" ABI_X86="(64)" PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11"
                                                                                                                                                                                                                                                                                                                   


One system, with a relatively small ebuild footprint, updated fine, but none of the others.
Back to top
View user's profile Send private message
steve_v
Guru
Guru


Joined: 20 Jun 2004
Posts: 409
Location: New Zealand

PostPosted: Sun Jun 02, 2024 6:59 pm    Post subject: Reply with quote

logrusx wrote:
If you have packages that do not support 3.12 it's pointless to do anything out of the ordinary, just update your system.

Which is exactly what I was trying to do. I did nothing "out of the ordinary", nor did I have python_targets set anywhere. All I did was a sync and world update, at which point portage barfed up several screens worth of misleading and largely useless python library conflicts, then promptly surrendered.
The way to solve this, apparently, is to manually set PYTHON_TARGETS="python3_11 python3_12" and PYTHON_SINGLE_TARGET=python3_11 as also mentioned here and here, where users were similarly bitten by this after doing nothing unusual at all.


Again, to quote the news:
Quote:
your package manager should handle the upgrade
automatically.

This is pure fantasy.
Whoever decided this was a good idea, please stop stabilising new python versions and/or switching defaults before the rest of the tree has stable ebuilds that support it, at least for major productive applications. This is not 1985, people expect to be able to install more than just kernel + shell + emacs without a routine @world update exploding.

gemarcano wrote:
unstable just changed the default python interpreter to 3.12

Cool. This is not an unstable install, and I did not unmask any unstable python versions. It still exploded.
_________________
Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2412

PostPosted: Sun Jun 02, 2024 7:18 pm    Post subject: Reply with quote

gemarcano wrote:
logrusx wrote:
There's absolutely no need to move to python 3.12 altogether. You could have just move on with your life, rather than wasting your time trying to move everything to python 3.12. If you have packages that do not support 3.12 it's pointless to do anything out of the ordinary, just update your system. When those packages are finally moved to python 3.12, 3.11 will automatically go.


You realize that Gentoo unstable...


Unstable has that property to cancel everything written after it. If you're running unstable, it's your problem. That's what made me take a nearly 10 years break from Gentoo. It broke faster than I could fix it. Nowadays you're spared the vast majority of that. This particular situation is rather an exception.

Best Regards,
Georgi


Last edited by logrusx on Sun Jun 02, 2024 7:30 pm; edited 1 time in total
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2412

PostPosted: Sun Jun 02, 2024 7:30 pm    Post subject: Reply with quote

steve_v wrote:
logrusx wrote:
If you have packages that do not support 3.12 it's pointless to do anything out of the ordinary, just update your system.

Which is exactly what I was trying to do. I did nothing "out of the ordinary", nor did I have python_targets set anywhere. All I did was a sync and world update, at which point portage barfed up several screens worth of misleading and largely useless python library conflicts, then promptly surrendered.
The way to solve this, apparently, is to manually set PYTHON_TARGETS="python3_11 python3_12" and PYTHON_SINGLE_TARGET=python3_11 as also mentioned here and here, where users were similarly bitten by this after doing nothing unusual at all.


Again, to quote the news:
Quote:
your package manager should handle the upgrade
automatically.

This is pure fantasy.
Whoever decided this was a good idea, please stop stabilising new python versions and/or switching defaults before the rest of the tree has stable ebuilds that support it, at least for major productive applications. This is not 1985, people expect to be able to install more than just kernel + shell + emacs without a routine @world update exploding.

gemarcano wrote:
unstable just changed the default python interpreter to 3.12

Cool. This is not an unstable install, and I did not unmask any unstable python versions. It still exploded.


I didn't go through so much drama. Defaults are not hard-switched and for the vast majority of packages, it worked as expected. Not every user case can be covered. Gentoo developers have already done a tremendous job. Honestly, I'm surprised a user registered in 2004 does not appreciate it.

Since you didn't provide much information, so if there are flaws they can be fixed, it comes out as a complaint.

Best Regards,
Georgi
Back to top
View user's profile Send private message
steve_v
Guru
Guru


Joined: 20 Jun 2004
Posts: 409
Location: New Zealand

PostPosted: Sun Jun 02, 2024 7:47 pm    Post subject: Reply with quote

logrusx wrote:
a user registered in 2004

...Who left Gentoo for a decade plus precisely because of ongoing problems just like this one.
I thought 15 or so years might have been long enough for "stable" to start meaning "doesn't break every time python is updated", or at least "portage produces sane and actionable conflict information", perhaps I was mistaken.

And this:
Hu wrote:
As part of the planned change, the profiles changed so that, absent local overrides, Portage builds for python3.12 only.

Is the root of the problem. Instead of going with the safe option, we're expected to add manual overrides for "a few packages" (which really means several hundred ebuilds, including things like freecad, kicad and all "stable" versions of blender, i.e. some of the most widely recognised "killer applications" for GNU/Linux)... If we can figure that out from the completely unmanageable wall of text portage emits.

I'm not asking for help here, I've already fixed most of this mess on my box. What I am asking is that we stop springing this kind of surprise on people unless they opt-in by running ~arch. The stable tree is clearly not ready for python 3.12 as the only target, so don't set python 3.12 as the only target.
_________________
Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3426

PostPosted: Sun Jun 02, 2024 8:23 pm    Post subject: Reply with quote

Quote:
Defaults are not hard-switched and for the vast majority of packages, it worked as expected. Not every user case can be covered.
Well, I'd argue that packages in main tree (::gentoo) should be covered.
I can understand not waiting for overlays to catch up, but defaults should not be breaking stuff in ::gentoo, so switch from 3.11 to 3.12 was definitely premature.

I wonder, is there any particular reason to rush it even though ::gentoo is not ready for this switch?


Quote:
Has portage ever handled a python upgrade gracefully or automatically?
Yeah, actually, a few last updates went through without any manual intervention, and python-updater or whatever it was called did a pretty good job fixing stuff since like a decade ago until it wasn't needed anymore.
Pretty much the same is true for perl, I don't remember when was the last time I needed pearl-cleaner.
Give credit where it's due: Devs tend to do a pretty good job running things.
_________________
Make Computing Fun Again
Back to top
View user's profile Send private message
steve_v
Guru
Guru


Joined: 20 Jun 2004
Posts: 409
Location: New Zealand

PostPosted: Sun Jun 02, 2024 9:45 pm    Post subject: Reply with quote

Also the stable version of nodejs (nobody needs that, right?), and all pangomm ebuilds in tree, because that's depended on by absolutely nothing important. Shall I look for more?

Anyone up for reminding me why are we doing this today?

szatox wrote:
Devs tend to do a pretty good job running things.

The job is great. The timing not, and neither is the transparency wrt why it's so important to push python 3.12.
Leading people to believe that this will all be handled automatically unless they have manually selected a python version, when the reality is that several very popular applications are liable to give portage an aneurysm is also not particularly cool.
_________________
Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22632

PostPosted: Sun Jun 02, 2024 11:21 pm    Post subject: Reply with quote

The plan to move to Python3.12 was announced well in advance, and the date was known too. I cannot comment on why some packages are not ready yet.

I do agree that no one needs NodeJS though. Some things are better left to rot. However, in this case, net-libs/nodejs: needs upgrade to Python 3.12 (PythonCompatUpdate) reported that it needed an update. It looks like the unstable versions received one. As above, I cannot comment on why the stable versions were not ready in time.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20484

PostPosted: Sun Jun 02, 2024 11:34 pm    Post subject: Reply with quote

steve_v wrote:
...
For these python migrations, do you not usually use the "Safer upgrade procedure" that is included in the news announcements? I've done that for a long time with minimal issues. I'm currently updating a non-desktop to 3.12 without manual intervention and I had no conflicts. I expect to use the "Safer" method for my laptop.

steve_v wrote:
Anyone up for reminding me why are we doing this today?
I presume you mean before everything supported 3.12 rather than literally year/month/day? I can only guess, but it seems likely that not all packages will support 3.12 and and will be "last-rited" out of the tree. It likely isn't possible to wait for everything to support 3.12 before migrating. Then there's also laggards (I'm usually one of them) who wait for a long time before migrating. If the devs wait until late in a cycle, they probably upset more people because there is less time for people to migrate when they're ready. Devs can't win in these scenarios on timing... too soon or too late, and it can never be Just Right for everyone.

Maybe if you described how you approach updating it could help the next time be less frustrating. Honestly, using the "Safer upgrade procedure" is probably as painless as it can get.

steve_v wrote:
szatox wrote:
Devs tend to do a pretty good job running things.

The job is great. The timing not, and neither is the transparency wrt why it's so important to push python 3.12.
It has to happen at some point. Python publishes a relase schedule and the devs have a lot of work to do to prep for a migration. There seems to be a 5 year window. Supporting multiple versions is also a consideration.

You could force NOT using the "latest" version until you wanted to. I did that for a while and I found it to be more work than it was worth. I did gain a better understanding of the targets / single target situation.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
flysideways
Guru
Guru


Joined: 29 Jan 2005
Posts: 490

PostPosted: Mon Jun 03, 2024 2:14 am    Post subject: Re: Python 3.12 update Reply with quote

steve_v wrote:
[Administrator note: this post, and the first 3 responses, were originally attached to the topic When is the Python Update to 3.12?. However, that topic was specifically about the timeliness of the update. These posts discuss (or perhaps, rant) about specific packages which did not take well to the update. The split post had no title, so I chose one. -Hu]

Well this is a complete clusterfuck. Again.

Blender? Nope, at least not the version we're shipping as stable. Must be some pretty obscure software that.
FreeCAD? Guess nobody uses that either. :roll:
KiCAD? Nah, let's just spew 5 pages of inscrutable conflicts, nobody needs to get work done today.

Seriously people, how long has this "every time python updates, world catches fire" nonsense been going on now?


Someone in the know, please explain this to me. When I look at packages.gentoo for the listed packages, I find
Code:
python_single_target (Use Expand)

    python3_10
    python3_11
    python3_12
for blender and freecad, but
Code:
python_single_target (Use Expand)

    python3_10
    python3_11
for kicad. I would expect that to mean that at the time I am typing this that kicad is the only package of the three not using python3_12.

Is that good information?

*note to self, build freecad for arm64.
Back to top
View user's profile Send private message
rab0171610
Guru
Guru


Joined: 24 Dec 2022
Posts: 422

PostPosted: Mon Jun 03, 2024 3:39 am    Post subject: Reply with quote

I did an update today. No packages in the stable repo caused any issues or were held back. The only issues were with my localrepo, which I expected and can deal with. Portage reported 110 rebuilds due to the Python switch in my case. I don't mean to detract from anyone else's experience but I think the devs deserve a little more respect than they are getting. The news item about the Python switch was similar in scope to previous iterations.
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 1957

PostPosted: Mon Jun 03, 2024 3:59 am    Post subject: Reply with quote

Hu wrote:
The plan to move to Python3.12 was announced well in advance, and the date was known too. I cannot comment on why some packages are not ready yet.

I do agree that no one needs NodeJS though. Some things are better left to rot. However, in this case, net-libs/nodejs: needs upgrade to Python 3.12 (PythonCompatUpdate) reported that it needed an update. It looks like the unstable versions received one. As above, I cannot comment on why the stable versions were not ready in time.


Just to comment on this bit: python-any-r1 upgrades are less important because they don't require any user intervention. Lagging for those only prevents users depcleaning python3.11 but won't ever produce any USE flag issues and such.

I appreciate people's understanding overall.
Back to top
View user's profile Send private message
steve_v
Guru
Guru


Joined: 20 Jun 2004
Posts: 409
Location: New Zealand

PostPosted: Mon Jun 03, 2024 6:21 am    Post subject: Reply with quote

pjp wrote:
For these python migrations, do you not usually use the "Safer upgrade procedure" that is included in the news announcements?

No, because the news item states that unless you have manually set python_targets or want to delay the change, this is supposed to be handled automatically.
If the "Safer upgrade procedure" is the way to go about this without removing a bunch of high-profile applications or having portage blow up in your face, it should simply be called "The upgrade procedure".

Not only was it not handled automatically, portage couldn't handle it at all without the very manual intervention the news item told me I shouldn't need to do, and produced output so verbose and repetitive I had to dig through thousands upon thousands of lines of garbage to figure out what was holding things up.
This is what I expect running ~arch, not Gentoo "stable", which is clearly nothing of the sort where python is involved.

pjp wrote:
I presume you mean before everything supported 3.12 rather than literally year/month/day?
Either works, either way it's premature.
pjp wrote:
it seems likely that not all packages will support 3.12 and and will be "last-rited" out of the tree. It likely isn't possible to wait for everything to support 3.12 before migrating.

So we're going to drop kicad then are we? The mind boggles. What's next, clay tablets? Do clay tablets support the latest SNS python release?


flysideways wrote:
I would expect that to mean that at the time I am typing this that kicad is the only package of the three not using python3_12.

Blender has python 3.12 support for ~amd64 but not amd64, which makes a mockery of the general advice to not mix stable and unstable by unmasking a bunch of stuff you don't need.
Freecad has python 3.12 support for **, i.e. the live git -9999 version, which nobody intending to get productive work done (except on freecad itself) wants to be using. As well as being bleeding-edge unstable that version also requires QT6, because the SNS must flow. :roll:

Which brings me back to the crux of my gripe: Timing.
I'm running stable. If stable ::gentoo isn't ready for python 3.12 as the single build target then portage should defer switching to it as a sane and non-breaking default... Without manual intervention.
_________________
Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.


Last edited by steve_v on Mon Jun 03, 2024 6:50 am; edited 1 time in total
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2412

PostPosted: Mon Jun 03, 2024 6:41 am    Post subject: Reply with quote

To all those demanding explanation. There simply aren't enough maintainers. Period. Today, tomorrow, a year or 10 from now, some ebuilds will never support 3.12.

If you want to do something useful, step up and become a package maintainer. At least for the packages you care. You're just not in the position to demand. That's what I did a few years ago and I maintained and am currently maintaining a publicly available overlay with a few packages, some were dropped from the tree, some never lived there, some were requested here on the forums.

Best Regards,
Georgi
Back to top
View user's profile Send private message
steve_v
Guru
Guru


Joined: 20 Jun 2004
Posts: 409
Location: New Zealand

PostPosted: Mon Jun 03, 2024 7:04 am    Post subject: Reply with quote

logrusx wrote:
There simply aren't enough maintainers. Period. Today, tomorrow, a year or 10 from now, some ebuilds will never support 3.12.

Of course, there are never enough of anything. I'm not suggesting somebody fix the mentioned packages, and upstream is already working on it anyway. What I am suggesting is that we wait for them to do that, rather than pushing breaking changes on some kind of immutable schedule.

logrusx wrote:
That's what I did a few years ago and I maintained and am currently maintaining a publicly available overlay

Awesome, good on you. What do overlays have to do with the state of ::gentoo and python update schedules?
_________________
Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.
Back to top
View user's profile Send private message
e8root
Tux's lil' helper
Tux's lil' helper


Joined: 09 Feb 2024
Posts: 94

PostPosted: Mon Jun 03, 2024 7:14 am    Post subject: Reply with quote

Imho the defaults should be
Code:
*/* PYTHON_TARGETS: -* python3_11 python3_12

and python3_11 removed from targets when and only when all packages needing python work with Python 3.12
Removing python3_11 from targets only adds issues.

From my side package dev-util/catfish didn't work.
Required by xfce-base/xfce4-meta so rather important...

For whatever reason I also had to add few exclusions for google api python packages
Code:
dev-python/google-api-core -python_targets_python3_12 python_single_target_python3_11
dev-python/google-api-python-client -python_targets_python3_12 python_single_target_python3_11
dev-python/proto-plus -python_targets_python3_12 python_single_target_python3_11
dev-python/googleapis-common-protos -python_targets_python3_12 python_single_target_python3_11


or allow few unstable packages in order to not need to use my google scripts with python3.11
Code:
dev-python/google-auth-oauthlib ~amd64
dev-python/google-api-python-client ~amd64
dev-libs/protobuf ~amd64
dev-python/protobuf-python ~amd64
media-libs/opencv ~amd64
dev-cpp/abseil-cpp ~amd64


For as long as program/package manages Python version it uses itself its not an issue. For Python packages it is very bothersome to need to specify specific Python version.
_________________
Unix Wars - Episode V: AT&T Strikes Back
Back to top
View user's profile Send private message
steve_v
Guru
Guru


Joined: 20 Jun 2004
Posts: 409
Location: New Zealand

PostPosted: Mon Jun 03, 2024 7:15 am    Post subject: Reply with quote

e8root wrote:
Imho the defaults should be
Code:
*/* PYTHON_TARGETS: -* python3_11 python3_12

and python3_11 removed from targets when and only when all packages needing python work with Python 3.12

Bingo.
_________________
Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.
Back to top
View user's profile Send private message
e8root
Tux's lil' helper
Tux's lil' helper


Joined: 09 Feb 2024
Posts: 94

PostPosted: Mon Jun 03, 2024 8:16 am    Post subject: Reply with quote

After some tinkering I found better solution than to install Python 3.11 version of each package.
Remove */* PYTHON_TARGETS: -* python3_11 python3_12 and add instead:
Code:
dev-util/catfish PYTHON_TARGETS: -* python3_11 python3_12
dev-python/backports-tarfile PYTHON_TARGETS: -* python3_11 python3_12
dev-python/setuptools PYTHON_TARGETS: -* python3_11 python3_12

python3_12 is not needed and doesn't change anythin for now but I guess once all packages work with with Python 3.12 they will switch automatically to new version.

OpenCV build failed and I didn't care to fix it at this time so I also added
Code:
media-libs/opencv PYTHON_TARGETS: -* python3_11 python3_12
dev-python/numpy PYTHON_TARGETS: -* python3_11 python3_12
dev-python/cython PYTHON_TARGETS: -* python3_11 python3_12
dev-python/meson-python PYTHON_TARGETS: -* python3_11 python3_12
dev-python/pyproject-metadata PYTHON_TARGETS: -* python3_11 python3_12


I'll check in a month or two (or never if I forget about it) if I can remove python3_11 completely.
_________________
Unix Wars - Episode V: AT&T Strikes Back
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3426

PostPosted: Mon Jun 03, 2024 9:32 am    Post subject: Reply with quote

pjp wrote:

steve_v wrote:
szatox wrote:
Devs tend to do a pretty good job running things.

The job is great. The timing not, and neither is the transparency wrt why it's so important to push python 3.12.
It has to happen at some point. Python publishes a relase schedule and the devs have a lot of work to do to prep for a migration. There seems to be a 5 year window. Supporting multiple versions is also a consideration.

You could force NOT using the "latest" version until you wanted to. I did that for a while and I found it to be more work than it was worth. I did gain a better understanding of the targets / single target situation.


Great, so, since python has effectively 5 supported versions, and version 12 has just been released, is there any harm in delaying changing the defaults for the whole repository from 11 to 12 until all packages in main repo are ready?
Some problems solve themselves when left alone for some time, so not rushing could reduce the burned on Gentoo maintainers, while also not exploding everyone's @world updates with portage complaining about installed packages not having suitable targets.
Say, instead of going over existing ebuilds and enabling python 3.12 for them, wait for regular version bumps?

I get that I can locally override the default and just force the older python on my system, but if I do that, I'll have to remember to clean it up later. Meanwhile, it looks like the whole issue could have been completely avoided with just a little bit of patience.


Also, AFAIR python is slotted in Gentoo, so I kinda wonder why packages which don't support 3.12 don't fall back to another installed version... I though it was a solved problem by now; looks like I was wrong though. Oh, well...
_________________
Make Computing Fun Again
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page 1, 2, 3, 4  Next
Page 1 of 4

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum