Hi!
While rebuilding the python related packages against the Python 3.15rc2
version we found that python-ewokscore fails to build from source [1].
The error is caused by a behavior change with the way
ModuleNotFoundError behaves. From the Python 3.15 release notes: The
__repr__() of ImportError and ModuleNotFoundError now shows “name” and
“path” as name=<name> and path=<path> if they were given as keyword
arguments at construction time. (Contributed by Serhiy Storchaka, Oleg
Iarygin, and Yoav Nir in gh-74185.)`
This caused the following error:
E At index 9 diff: NodeInput(id='task4', label=None, task_identifier='NonExistingClass', name='guess', value=999, required=True, description=None, examples=None, import_error='ModuleNotFoundError("No module named \'does\'", name=\'does\')') != NodeInput(id='task4', label=None, task_identifier='NonExistingClass', name='guess', value=999, required=True, description=None, examples=None, import_error='ModuleNotFoundError("No module named \'does\'")')
The fix is simply to pass the name parameter when creating the error in
the tests. The tests are already using repr() to make sure they can
compare errors, so adding the parameter works both on 3.14 and 3.15.
I'm attaching here the patch. It still needs to be sent upstream.
Also, do note that upstream's source code has moved to
https://github.com/ewoks-kit/ewokscore, please update the homepage link.
Additionally, this new upstream location is at 5.0.0, consider making a
new upstream release.
I applied the proposed fix in the sandbox [2] to be able to build the
packages that depend on python-ewokscore, please consider applying the
patch to support the upcoming 3.15 version.
Setting the severity to important for now. Once Python 3.15 is released,
it will be added to python3-defaults and this bug will become release
critical.
Happy hacking,
[1]: https://debusine.debian.net/debian/r-python-python3.15/artifact/4589201/
[2]: https://debusine.debian.net/debian/r-python-python3.15/