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 as a Python extension author and maintainer I have taken advantage
of these deubg builds, it's very useful.
If you're developing at the level of CPython you probably also have the
skill to build your own version but why?
--
John Dennis