Python 3.8 upstream now has a common ABI for normal and debug extension builds, so it is technically possible to load a debug extension in the normal interpreter, or to load a normal extension in the debug interpreter. In Debian, debug extensions are shipped with a different name, and only loaded by the corresponding interpreter. We could change / simply the current setup, but I first wanted to know how many people are still using the debug builds. The reason for the separate debug builds allowed debugging of stuff in modules further down the Python stack, without having to rebuild the whole stack. There are several solutions how to simplify the packaging, I'm not sure how much the dbg extensions are still used ... There are several scenarios:
- Keep the current setup (-dbg packages need to be available to run them). - Allow the debug interpreter to load normal debug extensions (but load a debug extension if it's available by default). That would allow building debug extensions without having debug extensions built for all it's dependencies, maybe requiring changes in the dependencies of a package. - Stop building debug extensions, and telling developers to build extensions in debug mode, if they need them. That would probably be inline with everything else shipped in Debian. - Stop building debug extensions, and also stop building the Python debug interpreter. You would need to rebuild the interpreter itself to have meaningful debug sessions. I'm not preferring this solution. I'm currently tending to implement the second scenario, but if people think that having the -dbg packages available is still useful, then also opt for the third option. Matthias