Path: csiph.com!news.mixmin.net!news.albasani.net!tahina.priv.at!bofh.it!news.nic.it!robomod From: Scott Kitterman Newsgroups: linux.debian.maint.python Subject: Re: PEP-517/PEP-518 Support In Debian Date: Mon, 13 Apr 2020 14:10:01 +0200 Message-ID: References: X-Mailbox-Line: From debian-python-request@lists.debian.org Mon Apr 13 12:06:05 2020 Old-Return-Path: X-Amavis-Spam-Status: No, score=-12.2 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, LDO_WHITELIST=-5, PGPSIGNATURE=-5] autolearn=ham autolearn_force=no X-Policyd-Weight: using cached result; rate: -5.5 Dkim-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=kitterman.com; i=@kitterman.com; q=dns/txt; s=201903e; t=1586779548; h=from : to : subject : date : message-id : in-reply-to : references : mime-version : content-type : from; bh=Lj59rdzdWeApWgimAro5Xmwq6sohDx7nBTcI4KH/Bbw=; b=iixyheU6y7TucqRybC7WkwSkBSrb/ktF/iqD1EngCZey/Iey1j+6iDlxq42qrvkanKgoO nIYYA7SVEFtsPLdBQ== Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kitterman.com; i=@kitterman.com; q=dns/txt; s=201903r; t=1586779548; h=from : to : subject : date : message-id : in-reply-to : references : mime-version : content-type : from; bh=Lj59rdzdWeApWgimAro5Xmwq6sohDx7nBTcI4KH/Bbw=; b=q9yCn+H0nbqg/xu83ge3iqHEZx7QJvBoJaAlXU/CKzhZeJRbU/Idwujv8kivJJh+Kjjc7 h9GwPcKDTm55DRClMcqvjY8bDPuSnzxBlCZHpVlNrTITI7srLd3eEMKLIM895giBDeyVsVe lVT+fXVtjbK6c08Ze1Lm49erUXD+CXRl1CunjNQ/ufpFIqXvC06yBC5ULJp4y61dGTkWF1I wBJ7cchf56KaCK+qthwobOlo4A4J7KSy7Gq2LBk2e/Dj4EOWTT/GlV1Jnhn/bCCj0popF1u kqg439hUUNH4wdT7qBXqG27b022KMCE43xAkehVEwTPUb7T8oAVyKIfdK2wA== MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2137219.N5qMRFpDA8"; micalg="pgp-sha512"; protocol="application/pgp-signature" X-Mailing-List: archive/latest/18140 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/3852987.UMqJ38MGZC@sk-desktop Approved: robomod@news.nic.it Lines: 89 Organization: linux.* mail to news gateway Sender: robomod@news.nic.it X-Original-Date: Mon, 13 Apr 2020 08:05:44 -0400 X-Original-Message-ID: <3852987.UMqJ38MGZC@sk-desktop> X-Original-References: <1901857.gxORzZljd2@sk-desktop> <20200413091853.GA298937@mitya57.me> Xref: csiph.com linux.debian.maint.python:12474 --nextPart2137219.N5qMRFpDA8 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" 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 --nextPart2137219.N5qMRFpDA8 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE53Kb/76FQA/u7iOxeNfe+5rVmvEFAl6UVZkACgkQeNfe+5rV mvHi5g//dFSh9wur5cbgFwItg/V3Ia/nXZOyJF4lFUFyoLP2/yErCB4nx5uSEjk8 kB4/sk4LA/PeZaFAJOahV/eXsdG+eq6igtArVh8Vqdfm8JK9x65ZrkeEoxvT+iNi a+f2ixftQ3YBv4MvcqjBkPhB917JcO6DbnDaI9fcHwcZgfMpTyspFytqUgcz2zsG 31+fvupVKvYnH6yL6VmurBxsc4kE26in7HDYpE6Nqz8ZkklV3scnlU1mmIU8vM/X qnKpYFuChFaYjS1Jq/9rZN9b9Us1go9xqdUMk4ta7z705qrHYlmyUutHpFvWpk23 qeu3PH3dbLL8hEmba3loG+ymXQTW6NUdXjVfEyGjfxZORKJhGIxHQYq2eZ5ZpY8u 4AXo2lsaxKiKXqnrC1CPY3Ce/tWHRbnTNIIOxcvKOWgc+lFFes9soxQAREL6rQV/ 9zk3WBwp0qZyGwXbXtJ14WQLC6F0jbpcdAFhI3LzS+R3DDg/L8lDIuMgoZYlxKNn jtHuZblhY2AJy7jqtZxe4cmRzA8DugfVx1mKvUF7ndVlGECykeI4Ms9CTxikg4Sf PK5F97ct9owx4x6ZiWfoqZftsNna2Kf0XS2WBiqZ1p3WKkpOGJcLD3sfbbGNAPW7 m+ZdvlTiONymcWJAtVG+RNbZJw5WxWG92xI+4/Kn3G5pTIxbPFI= =5qQT -----END PGP SIGNATURE----- --nextPart2137219.N5qMRFpDA8--