Control: reassign -1 dh-python 6.20240401
Control: retitle -1 dh-python: dh_python3 loses cpython module name when 
renaming shared object

On Tue, 2 Apr 2024 22:47:12 +0300 Michael Ivanov <deruh...@mail.ru>
wrote:
> Package: dnf
> Version: 4.14.0-4.1
> Severity: grave
> Justification: renders package unusable
> 
> Dear Maintainer,
> 
> I have just tried to start up dnf and it aborts with a following
error:
> 
> Traceback (most recent call last):
> File "/usr/bin/dnf", line 61, in <module>
> from dnf.cli import main
> File "/usr/lib/python3/dist-packages/dnf/__init__.py", line 30, in
<module>
> import dnf.base
> File "/usr/lib/python3/dist-packages/dnf/base.py", line 29, in
<module>
> import libdnf.transaction
> File "/usr/lib/python3/dist-packages/libdnf/__init__.py", line 13, in
> <module>
> from . import module
> File "/usr/lib/python3/dist-packages/libdnf/module.py", line 10, in
<module>
> from . import _module
> ImportError: cannot import name '_module' from partially initialized
module
> 'libdnf' (most likely due to a circular import)
(/usr/lib/python3/dist-
> packages/libdnf/__init__.py)
> 
> Python version is 3.11.8 (python package version is 3.11.8-3+b2)

This is caused by dh_python3. A regression was introduced at some
point, and when renaming the cpython shared object dh_python3 loses the
name, and _module.so is renamed to _.cpython-311-x86_64-linux-gnu.so
when libdnf is built, breaking the import at runtime:

I: dh_python3 fs:418: renaming _module.so to _.cpython-311-x86_64-linux-gnu.so

https://buildd.debian.org/status/fetch.php?pkg=libdnf&arch=amd64&ver=0.73.1-1&stamp=1713175615&raw=0

Renaming the shared library manually to the expected filename makes dnf
work again.

Reassigning to dh-python. A binnmu of libdnf (and any other affected
package) will be needed once resolved and uploaded.

-- 
Kind regards,
Luca Boccassi

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to