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.
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.
Let's address this before we start adding Python 3.10 as a supported Python3 version. Starting with the third option. I'll file bug reports for the following packages:
On Fri, 3 Sep 2021, Matthias Klose wrote:
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.
Let's address this before we start adding Python 3.10 as a supported Python3 >> version. Starting with the third option. I'll file bug reports for the
following packages:
Just to confirm on this: if we currently have a python module that builds a -dbg
package, we can now drop this in favor of the automatically generated -dbgsym package for debugging?
On 9/13/21 4:02 PM, Scott Talbert wrote:
On Fri, 3 Sep 2021, Matthias Klose wrote:
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.
Let's address this before we start adding Python 3.10 as a supported Python3
version. Starting with the third option. I'll file bug reports for the >>> following packages:
Just to confirm on this: if we currently have a python module that builds a -dbg
package, we can now drop this in favor of the automatically generated -dbgsym
package for debugging?
yes, ideally, if there are dependencies on your -dbg in the archive, these should be removed first. Sorry, I didn't file these bug reports yet.
Now filed as https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=pydbg-removal;users=debian-python@lists.debian.org
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 349 |
Nodes: | 16 (3 / 13) |
Uptime: | 106:51:18 |
Calls: | 7,612 |
Calls today: | 3 |
Files: | 12,786 |
Messages: | 5,682,994 |
Posted today: | 2 |