[19:44] <arraybolt3> Not sure if anyone else is actively fixing Python 3.12 stuff at this moment, but if so, I'm taking abinit unless someone else already is working on it.
[19:46] <arraybolt3> does it count as patch piloting to be working on transition fixes?
[19:46] <arraybolt3> I don't think so, but anyway.
[20:20] <vorlon> no, patch piloting is specifically about being a resource for non-uploaders who are trying to get changes included in Ubuntu
[21:37] <arraybolt3> so... how exactly do I handle a package that isn't ready for Python 3.12 at all? Do I port it and forward the port upstream? Or is there a documented (ro at least standard) way to force something to use Python 3.11 only?
[21:37] <arraybolt3> I did something similar to the latter once but it was for the tests I think
[21:46] <jbicha> Ubuntu 24.04 LTS is not expected to have Python 3.11 available at all
[21:46] <arraybolt3> (as opposed to being for the whole package build process - I'm fighting with a package that uses Python in part of it)
[21:48] <arraybolt3> jbicha: I'm trying to help get Python 3.12 to migrate currently. I figure software that isn't ready for it yet will eventually becme ready (or get left behind), but right now there are packages that need to ignore it so they can pass.
[21:49] <arraybolt3> currently abinit is building with Python 3.11 but not 3.12.
[21:50] <arraybolt3> I suppose I *could* try to upgrade it to Python 3.12 and see if I can give upstream a needed shove in the right direction
[21:50] <jbicha> you can file Launchpad bugs for things that don't work with Python 3.12. There might already be Debian bugs
[21:50] <arraybolt3> kk makes sense
[21:54] <jbicha> if not, a Debian bug would be helpful since Debian is trying to finish the Python 3.12 transition soon too
[22:01] <arraybolt3> sounds good, also I'm filing an upstream bug
[22:01] <arraybolt3> yeah, no Debian bug. I'll get that filed too.
[22:05] <vorlon> packages that aren't compatible with python3.12 get dropped
[22:05] <vorlon> (if not fixed)
[22:06] <arraybolt3> Makes sense to me. (This kind of thing, though, is why I hate Python. :P)
[22:06] <arraybolt3> "Backwards compatibility? What's that?"
[22:30] <vorlon> backwards compatibility with, in this case, python2.  all the languages old enough to *have* a longer deprecation cycle are worse languages in much more important ways.
[22:30] <vorlon> and abinit looks like it's a one-line fix?
[22:33] <arraybolt3> vorlon: nope. turns out it's way harder than that.
[22:33] <arraybolt3> I just tried to do the one-line fix only to find out that abinit doesn't even *build* with Python 3.12 enabled.
[22:34] <vorlon> do you want to paste the error?
[22:34] <arraybolt3> sec
[22:34] <vorlon> since it's not a short build
[22:34] <arraybolt3> https://github.com/abinit/abinit/issues/69
[22:34] -ubottu:#ubuntu-devel- Issue 69 in abinit/abinit "Python 3.12 incompatibilities" [Open]
[22:34] <arraybolt3> doesn't happen if you leave -proposed disabled so that you're using Python 3.11.
[22:36] <vorlon> well the abisrc.py script is broken already without python3.12
[22:36] <vorlon> RuntimeError: Found two Fortran files with same basename `/tmp/abinit-9.10.4/shared/common/src/02_clib/m_fsockets.F90` and other in dir `/tmp/abinit-9.10.4/src/02_clib/abinit.src`
[22:36] <vorlon> that's not a python3.12 incompatibility, it looks more like building when python3.12 is present causes some code to be invoked which wasn't otherwise
[22:37] <arraybolt3> oh good catch
[22:37] <arraybolt3> well perhaps that will help upstream dig up deeper issues, I'll look at the build logs.
[22:39] <arraybolt3> vorlon: where are you seeing that? I don't see it in my bug report, and I don't see it in https://launchpadlibrarian.net/694336606/buildlog_ubuntu-noble-amd64.abinit_9.10.4-2_BUILDING.txt.gz either.
[22:41] <sudip> arraybolt3: "SyntaxWarning: invalid escape sequence" should be an easy fix. python 3.12 needs raw strings
[22:42] <arraybolt3> sudip: Right. The issue is that if Python 3.12 isn't supported yet (which is obviously isn't), and it's unsupported enough that a build is failing and tests are failing because of it, porting the whole thing to Python 3.12 may be time-consuming, dangerous (since now we're shipping an entire feature that upstream doesn't have, namely support for a newer version of Python), difficult to
[22:42] <arraybolt3> maintain, and probably work that upstream would want to have anyway.
[22:43] <arraybolt3> but it sounds like vorlon found an issue even deeper invovling Fortran code in abinit, and if that's the case them 👋 thanks I'm out :P I'm not touching Fortran with a ten-foot pole if I can avoid it. (that's a joke, I will try to fight with it if I have to, but I know literally zero Fortran so...)
[22:46] <vorlon> arraybolt3: look at the redirected output in abisrc.stderr
[22:46] <vorlon> actually sorry, the above was with python3.11
[22:46] <vorlon> with python3.12 it's a different failure
[22:46] <arraybolt3> looking
[22:46] <vorlon>     import imp
[22:46] <vorlon> ModuleNotFoundError: No module named 'imp'
[22:46] <vorlon> that's the python3.12 failure
[22:47] <arraybolt3> found it
[22:47] <arraybolt3> that's probably the error they need to see
[22:47] <arraybolt3> I'll attach that to the bug report.
[22:48]  * sudip has seen a bug report for another package about "No module named 'imp'"
[22:48] <sudip> LP: #2049942
[22:49] -ubottu:#ubuntu-devel- Launchpad bug 2049942 in passenger (Ubuntu) "Python 3.12, ModuleNotFoundError: No module named 'imp'" [Undecided, New] https://launchpad.net/bugs/2049942
[22:54] <vorlon> had to resort fo stackoverflow for an answer to translating the obsolete syntax https://stackoverflow.com/questions/69884878/replacing-imp-with-importlib-maintaining-old-behavior
[22:54] <vorlon> s/fo/to/
[22:56] <vorlon> so, 3-line change
[23:11] <arraybolt3> alright, what am I doing wrong.
[23:12] <arraybolt3> echo "Package: src:*python*:any" > /etc/apt/preferences.d/99proposed
[23:12] <arraybolt3> echo "Pin: release a=experimental" >> /etc/apt/preferences.d/99proposed
[23:12] <arraybolt3> echo "Pin-Priority: 950" >> /etc/apt/preferences.d/99proposed
[23:12] <arraybolt3> ^ that's in a script that sbuild runs automatically when attempting to build against Sid (or anything else, but I'll disable it after trying to build this thing with Sid).
[23:13] <arraybolt3> for some reason apt seems to ignore this in the schroot and I end up with Python 3.11 installed instead and nothing is downloaded from Experimental. Yet, https://packages.debian.org/experimental/python3
[23:13] <arraybolt3> obviously I've gotten confused about how apt pinning works, that *should* snag python3-default (and everything else with python in the source package name too).
[23:14] <arraybolt3> for clarity, yes I do have... oh... I am silly.
[23:15] <arraybolt3> echo "deb https://deb.debian.org/debian experimental main";
[23:15] <arraybolt3> :face_palm: you know I might actually want to redirect that output to a file or something...
[23:15] <arraybolt3> ok, thanks everyone for letting me rubber-duck debug
[23:26] <arraybolt3> \o/ reproduced the failure on Debian