On Sat, 2018-08-04 at 22:25 +0200, Miro HronĨok wrote:
Hi,
an interesting discussion came up in the Python Maint team recently,
about not shipping python3-debug and python2-debug.
On the Chesterton's fence principle [0], I'd would like to know why
are
we building and shipping them before we have a discussion about
their
removal to save build time and remove packaging cruft.
Anyone has an idea? Those packages are meant to debug Python, yet
all
people I know who do that, build they own Python for that purpose
(often
from the master branch).
I tracked down the introduction of the python-debug package in this
commit [1] by David Malcolm (CCed) @ 8 years ago, added in Fedora 14
shortly before upgrade to 2.7. Yet the commit message lacks
rationale.
[0]
https://en.wikipedia.org/wiki/Wikipedia:Chesterton%27s_fence
[1]
https://src.fedoraproject.org/rpms/python/c/f020abd35954981b383884105
dad425ba9c6637a
Python's --with-pydebug adds lots of checking that's useful when
developing *extension modules*, as well as debugging Python itself.
This checking breaks ABI (due to adding nodes for a doubly-linked list
of all objects into the base PyObject struct).
The reason I added these packages to Fedora was to make Fedora a more
attractive OS for people developing Python extension modules (given
that Debian did, and we didn't, at the time). If you're trying to
track down a reference leak in some module, having to build your own
Python feels like an unnecessary hurdle (IMHO).
FWIW, I use it myself in gcc-python-plugin, which is built 4 times (for
Python 2 vs 3, optimized vs debug).
Dave