Bug#1141379: dh-python should generate strict python3 dependencies for libpython dependencies

Maximiliano Curia <[email protected]> Mon, 3 Aug 2026 12:27:16 +0200
Newsgroups gmane.linux.debian.devel.bugs.rc
Message-ID <[email protected]>
¡Hola Adrian!

El 2026-07-03 a las 19:46 +0300, Adrian Bunk escribió:
>Package: dh-python
>Version: 7.20260623
>Severity: serious
>Control: affects -1 python3-bornagain src:bornagain
>
>Unstable:
>
>Package: python3-bornagain
>Version: 24.1+ds3-1
>Depends: ..., libpython3.14 (>= 3.14.1), ...
>
>
>Testing:
>
>Package: python3-bornagain
>Version: 23.0-7
>Depends: ..., libpython3.13 (>= 3.13.0~rc3), ...
>
>
>This results in test failures both when testing for python3-defaults
>migration and for bornagain migration, since using libpython in a
>different version of the python interpreter segfaults.
>
>
>The problem is not limited to autopkgtests, the lack of package
>dependencies also means the packages can migrate at different
>times to testing once no blocker remains for one package.
>
>It's even worse when not caught by the autopkgtest:
>kicad would be an example for a package with a libpython dependency
>that does not seem to be tested by the autopkgtest.
>
>In addition to testing migration, such a missing dependency
>could also cause problems when upgrading to a new stable release.
>
>
>A libpython3.14 dependency like in python3-bornagain or kicad should
>additionally result in dependencies
>  python3 (>= 3.14~), python3 (<< 3.15)

I'm not sure this is the right approach. Wouldn't it be better to create
the version specific bornagain extensions for each of the available
python3?

As packaged, bornagain will fail if the user runs a different
python version than the one bornagain was built against, that's a bit
more problematic for the changes of the default version. But, even today,
with bornagain built against python3.14, and having python3.14 as the
default, a user that starts python3.13 will get some errors when trying
to use bornagain.

So, maybe, we want python packages that produce extensions to support
multipython, and discourage extensions that are built only for the
default python3.

Happy hacking,
-- 
"The most important thing in the programming language is the name. A language 
will not succeed without a good name. I have recently invented a very good 
name and now I am looking for a suitable language."
-- Donald Knuth
Saludos /\/\ /\ >< `/
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEE+JIdOnQEyG4RNSIVxxl2mbKbIyoFAmpwbP0ACgkQxxl2mbKb
IyrPGw//ewFuE7+5tUIjsuQ8z3718K+n23WPaQkciLyHQdarHWGIf8RkFyCY+wyu
0ZV5LMPF3vRK5vXxIVt5sBjmFFrJNeBxZiMsSiAqqwuxErmvPFKDKxwa8Q9M9aPI
tRyoNeMV1qdx/1iy3O3+6xX6/tcomIN+tRr2PY1sJ3pBlRUv8FEF4Cf9Dfi+4rIG
53+jS10dNcLHVdb1JRZOb8LA/6vzXH2IogY8+DRMXKITuNAJvmv/yv/4IUenTUlo
wmKfzspJ2lxl/hhv2jn9fphChTc4I8DvyL6ly2JsTm8CSPYjnhRgMGEwJG5DLnGr
Phx8AguJV3xvg2s+ohR4Cx97163141/bj+pDXVVEkba2qnlVquU2QezffczUHZdk
MnOWdgSwKuWuXn+HJFHaDM9Q2UGpBMCkl+DrLb6Fy7kOTAjrqcL1agGUupXHVJQs
M7H9r3p6QfkIz5EeJK2pKnX3ow7j4FtzmE0fZztsdTp2WZ9Vr6I1nwD2KRvTHpBF
AZaqZA4beLbIvyOpuaVgaAagBSJv75s2xD7jc40phYL+e91obMjqQWIGFuViWJr8
u3XE/T5ciQzijpWYt6+w0j8jR6AsQ+pIOcVm+mXELx0g+5jATgWQZhSMntzpTW6a
4UTRuILSkbjuFk6fRw1qx34RUPmyq4PTKtoJ3yFjJHHZNdjYGLo=
=LHYl
-----END PGP SIGNATURE-----