Re: Why are we shipping debug builds of pythons?
On 4.8.2018 22:25, 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/f020abd35954981b383884105dad425ba9c6637a Thank you all, we'll keep them. -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/TEL5L3YAESPSCN53IMBZOVWANC7FS7RT/
Re: Why are we shipping debug builds of pythons?
On 08/06/2018 11:22 AM, David Malcolm wrote: 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 ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/RUHMQLAZTZGRG7Z5CLRO72ZGWPSQVIF5/
Re: Why are we shipping debug builds of pythons?
On Mon, 2018-08-06 at 13:15 +0200, Jan Kratochvil wrote: > On Mon, 06 Aug 2018 10:57:31 +0200, Petr Viktorin wrote: > > On 08/05/18 14:01, Jan Kratochvil wrote: > > > That is all together messy. This is why Microsoft has their debug > > > build of > > > their whole OS - Windows - called Checked Build: > > > https://docs.microsoft.com/en-us/windows-hardware/drivers/devte > > > st/checked-and-free-build-differences > > > > The main issue with --with-pydebug is that it changes the ABI, i.e. > > all > > extensions need to be re-built specifically for it (and debug > > extensions > > outside the standard library aren't usually packaged in Fedora). > > That makes > > it much less useful than if it just used less optimizations. Petr: IMHO, it's much *more* useful: it checks for leaked objects, which is the most painful issue to deal with when debugging Python extensions. That was my motivation for adding it. > > That confirms the whole OS "Checked Build" variant would solve even > this > problem. Jan: In my view, it's not a problem, it's a feature. An OS-wide change wouldn't turn on "--with-pydebug" for Python, unless it was directly coded into the specfile. The change to the ABI is due to two new fields with the base struct for python objects. Dave ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/HJGZIFX56BJAAUKOHTQSMHGOPI6WE7S3/
Re: Why are we shipping debug builds of pythons?
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 ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/OLAMAEBXNUXXOHSNSV6562OADEK4EM27/
Re: Why are we shipping debug builds of pythons?
On 08/05/18 14:01, Jan Kratochvil wrote: On Sun, 05 Aug 2018 13:39:58 +0200, Charalampos Stratakis wrote: Here we are referring to the python2-debug or python3-debug builds, which are just extra python builds that are compiled with the --with-pydebug flag Not just --with-pydebug: -- %if %{with debug_build} BuildPython debug \ "--without-ensurepip --with-pydebug" \ "-O0" %endif # with debug_build BuildPython optimized \ "--without-ensurepip %{optimizations_flag}" \ "" -- Many packages have their *-debug variants. And then some packages (like kernel) switch even their standard builds to debug mode but only in Rawhide. Despite all that the *-debug package one occasionally needs is then missing and one still has to build it locally. That is all together messy. This is why Microsoft has their debug build of their whole OS - Windows - called Checked Build: https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/checked-and-free-build-differences The main issue with --with-pydebug is that it changes the ABI, i.e. all extensions need to be re-built specifically for it (and debug extensions outside the standard library aren't usually packaged in Fedora). That makes it much less useful than if it just used less optimizations. ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/4E32NGEBSVXDBVFP5UOMSKADV3EU2GAU/
Re: Why are we shipping debug builds of pythons?
- Original Message - > From: "Troy Curtis Jr" > To: "Development discussions related to Fedora" > > Cc: "Fedora Python SIG" > Sent: Sunday, August 5, 2018 3:44:39 AM > Subject: Re: Why are we shipping debug builds of pythons? > > > > On Sat, Aug 4, 2018 at 5:16 PM Miro Hrončok < mhron...@redhat.com > 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). > > The other main use for the Python debug package is debugging Python C > extensions. I recently made very good use of it while using GDB to debug > some extensions I was working on. This is more than just having debug > symbols, which of course is essential, but the debug build means that when > you are stepping through the code, you can more easily follow what the > interpreter is doing. Also, I think that is the package that has some > niceties that extend GDB to work even better with Python code. > > > 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/f020abd35954981b383884105dad425ba9c6637a > > Thanks, > -- > Miro Hrončok > -- > Phone: +420777974800 > IRC: mhroncok > > Troy > > > ___ > python-devel mailing list -- python-devel@lists.fedoraproject.org > To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: > https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/AHOMI7GX6IBXSINVDDTBX6GYZF2Y5QLY/ > Hello. I would suppose you'd be referring to the debuginfo package, which is automatically generated by rpm and holds (via some hacks) the files required by gdb for properly debugging python apps. Here we are referring to the python2-debug or python3-debug builds, which are just extra python builds that are compiled with the --with-pydebug flag [0] [0] http://pythonextensionpatterns.readthedocs.io/en/latest/debugging/debug_python.html -- Regards, Charalampos Stratakis Software Engineer Python Maintenance Team, Red Hat ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/J4KJV5NSD6D6EARF22WD76ZTAYD3CCOX/
Re: Why are we shipping debug builds of pythons?
On 5.8.2018 03:20, Sérgio Basto wrote: 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 think I used debug builds for this feature : https://fedoraproject.org/wiki/Features/EasierPythonDebugging https://wiki.python.org/moin/DebuggingWithGdb None of it mentions the debug build. -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/E7YTTEE4HSR3Q3NRAFRLVZHLWDAAI4KX/
Re: Why are we shipping debug builds of pythons?
On Sat, Aug 4, 2018 at 5:16 PM 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). > The other main use for the Python debug package is debugging Python C extensions. I recently made very good use of it while using GDB to debug some extensions I was working on. This is more than just having debug symbols, which of course is essential, but the debug build means that when you are stepping through the code, you can more easily follow what the interpreter is doing. Also, I think that is the package that has some niceties that extend GDB to work even better with Python code. > 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/f020abd35954981b383884105dad425ba9c6637a > > Thanks, > -- > Miro Hrončok > -- > Phone: +420777974800 <+420%20777%20974%20800> > IRC: mhroncok > Troy ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/AHOMI7GX6IBXSINVDDTBX6GYZF2Y5QLY/
Re: Why are we shipping debug builds of pythons?
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 think I used debug builds for this feature : https://fedoraproject.org/wiki/Features/EasierPythonDebugging https://wiki.python.org/moin/DebuggingWithGdb > 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 > > Thanks, > -- > Miro Hrončok > -- > Phone: +420777974800 > IRC: mhroncok > ___ > python-devel mailing list -- python-devel@lists.fedoraproject.org > To unsubscribe send an email to python-devel-leave@lists.fedoraprojec > t.org > Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelin > es > List Archives: https://lists.fedoraproject.org/archives/list/python-d > e...@lists.fedoraproject.org/message/AK6HE4YL6VAU2ZW4XPYWI2MPDQDVAAEP > / -- Sérgio M. B. ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/HNNQX6YXFZLCPZ5RVNK6J7ZTOLS6OOXJ/
Why are we shipping debug builds of pythons?
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/f020abd35954981b383884105dad425ba9c6637a Thanks, -- Miro Hrončok -- Phone: +420777974800 IRC: mhroncok ___ python-devel mailing list -- python-devel@lists.fedoraproject.org To unsubscribe send an email to python-devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/AK6HE4YL6VAU2ZW4XPYWI2MPDQDVAAEP/