Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #12474

Re: PEP-517/PEP-518 Support In Debian

From Scott Kitterman <debian@kitterman.com>
Newsgroups linux.debian.maint.python
Subject Re: PEP-517/PEP-518 Support In Debian
Date 2020-04-13 14:10 +0200
Message-ID <zV64x-6yd-3@gated-at.bofh.it> (permalink)
References <zUTqG-72H-9@gated-at.bofh.it> <zV3q1-4Sl-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

On Monday, April 13, 2020 5:18:53 AM EDT Dmitry Shachnev wrote:
> Hi Scott!
> 
> On Sun, Apr 12, 2020 at 06:31:57PM -0400, Scott Kitterman wrote:
> > This being roughly the mid-point in the development cycle, I thought it
> > might be good to see where we are in terms of future Python packaging
> > developments.
> > 
> > As I understand it, PEP-517 and PEP-518 are 'the future'.
> > 
> > I took a look at the presence of pyproject.toml files in the Debian
> > archive. There are currently 99 packages.  Of those, only 28 specify a
> > 'build-backend', which is required by 517/518 to be useful for building a
> > package.
> > 
> > 25 specify: build-backend = "setuptools.build_meta" (including setuptools)
> > 3 specify: build-backend = "flit_core.buildapi" (including flit)
> 
> pyqt5 and pyqt5webengine specify: build-backend = "sipbuild.api".

So they do.  They didn't show up in my codesearch.d.n results, that makes me 
wonder what else I missed.  If anyone has an idea of a better way to track 
this, please speak up.

> > If build-backend is not specified, the build system has to fall back to
> > setup.py.
> > 
> > I've recently package flit (just arrived in Testing) and written a flit
> > plugin for pybuild that's pending review for merging[1].  I also packaged
> > pep517 for our pip package, so that's available to support future Debian
> > tool development in this area.

P1otr merged the flit plugin a little while ago, so it'll be in the next dh-
python upload.

> > For the moment, I guess we are in reasonable shape, but it might be useful
> > to have a pybuild plugin to use PEP517/setuptools.build_meta in lieu of
> > setup.py with setuptools/distutils when available.  In the future, this
> > will be the primary API and the sooner we start to use it, the better.
> 
> One issue that comes to mind: how will we specify the install location in a
> way that will work with any backend? In other words, what is the replacement
> for distutils' --install-layout=deb?

I think the answer to that question is going to be build-backend specific.

The good news is that the legacy processing for setup.py with setuptools/
distutils will be around approximately forever, so a complete answer to the 
question isn't urgent.

One related question is if we are willing to bring pip into our package build 
process?  I took a quick look at python3-pep517 to see how hard it would be to 
add support for build-backend = "setuptools.build_meta"  to pybuild.  My quick 
look answer is not too hard if we are willing to bring pip into the process. 
If we aren't willing to involve pip (which does bring a lot of complexity), I 
think there will be substantially more Debian specific code required to support 
it.

I expect build-backend = "sipbuild.api" will need custom support as well, but 
I haven't looked into it at all.

Scott K

Back to linux.debian.maint.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

PEP-517/PEP-518 Support In Debian Scott Kitterman <debian@kitterman.com> - 2020-04-13 00:40 +0200
  Re: PEP-517/PEP-518 Support In Debian Paul Wise <pabs@debian.org> - 2020-04-13 05:50 +0200
    Re: PEP-517/PEP-518 Support In Debian Scott Kitterman <debian@kitterman.com> - 2020-04-13 06:00 +0200
  Re: PEP-517/PEP-518 Support In Debian Dmitry Shachnev <mitya57@debian.org> - 2020-04-13 11:20 +0200
    Re: PEP-517/PEP-518 Support In Debian Scott Kitterman <debian@kitterman.com> - 2020-04-13 14:10 +0200
      Re: PEP-517/PEP-518 Support In Debian Nicholas D Steeves <nsteeves@gmail.com> - 2020-06-05 01:50 +0200
        Re: PEP-517/PEP-518 Support In Debian Scott Kitterman <debian@kitterman.com> - 2020-06-05 02:00 +0200
          Re: PEP-517/PEP-518 Support In Debian Nicholas D Steeves <nsteeves@gmail.com> - 2020-06-05 02:50 +0200

csiph-web