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

2020-04-13 Thread Dmitry Shachnev
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".

> 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.
>
> 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?

--
Dmitry Shachnev


signature.asc
Description: PGP signature


Re: py2removal: drop python-pytest by not running tests for python2 packages

2020-04-13 Thread Dmitry Shachnev
On Sun, Apr 12, 2020 at 11:05:13PM -0400, Scott Kitterman wrote:
> On Sunday, April 12, 2020 9:56:01 PM EDT Sandro Tosi wrote:
> > Hello,
> > python-pytest is blocking 18 packages from removal, most of them would
> > be leaves once python-pytest is gone.
> >
> > so i was playing with the idea of tackling python-pytest removal by
> > updating all its rdeps and not run unittests for the python2 binary
> > (so dropping pytest and the other b-d* only used for tests).
> >
> > I know it's suboptimal (some python2 packages can still see updates
> > until we're ready to drop them and running tests can still have
> > value), but i think the cost/benefit ratio points towards removing
> > python-pytest soon rather than wait.
> >
> > There are only 25 packages that would need updating, and most of them
> > are in DPMT/PAPT.
>
> Go for it.

+1 from me too.

--
Dmitry Shachnev


signature.asc
Description: PGP signature


Re: Remove or update pyfeed and xmlelements

2020-04-13 Thread Matteo Cypriani
Hi Martin,

On Sun, 5 Apr 2020 12:05:39 +0200
Martin  wrote:
> Hi Matteo, hi Thomas,
> 
> the new version of salutatoi does not need python-feed and
> python-xe anymore. AFAIK, there are not other dependencies on
> them. Maybe you would like to ask for removal?

That was the plan indeed, thanks for the reminder, I'll move it on top
of my to do list!

Cheers,
  Matteo


pgpiXyoBg5Exs.pgp
Description: PGP signature


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

2020-04-13 Thread Scott Kitterman
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

signature.asc
Description: This is a digitally signed message part.


Re: py2removal: drop python-pytest by not running tests for python2 packages

2020-04-13 Thread Mattia Rizzolo
On Mon, Apr 13, 2020 at 12:22:21PM +0300, Dmitry Shachnev wrote:
> On Sun, Apr 12, 2020 at 11:05:13PM -0400, Scott Kitterman wrote:
> > On Sunday, April 12, 2020 9:56:01 PM EDT Sandro Tosi wrote:
> > > so i was playing with the idea of tackling python-pytest removal by
> > > updating all its rdeps and not run unittests for the python2 binary
> > > (so dropping pytest and the other b-d* only used for tests).
> >
> > Go for it.
> 
> +1 from me too.

Yeah, +1!

-- 
regards,
Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540  .''`.
More about me:  https://mapreri.org : :'  :
Launchpad user: https://launchpad.net/~mapreri  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-


signature.asc
Description: PGP signature


Re: py2removal: drop python-pytest by not running tests for python2 packages

2020-04-13 Thread Thomas Goirand
On 4/13/20 11:22 AM, Dmitry Shachnev wrote:
> On Sun, Apr 12, 2020 at 11:05:13PM -0400, Scott Kitterman wrote:
>> On Sunday, April 12, 2020 9:56:01 PM EDT Sandro Tosi wrote:
>>> Hello,
>>> python-pytest is blocking 18 packages from removal, most of them would
>>> be leaves once python-pytest is gone.
>>>
>>> so i was playing with the idea of tackling python-pytest removal by
>>> updating all its rdeps and not run unittests for the python2 binary
>>> (so dropping pytest and the other b-d* only used for tests).
>>>
>>> I know it's suboptimal (some python2 packages can still see updates
>>> until we're ready to drop them and running tests can still have
>>> value), but i think the cost/benefit ratio points towards removing
>>> python-pytest soon rather than wait.
>>>
>>> There are only 25 packages that would need updating, and most of them
>>> are in DPMT/PAPT.
>>
>> Go for it.
> 
> +1 from me too.

+1

Please publish a list here, so we can share the workload.

Cheers,

Thomas Goirand (zigo)



Re: py2removal: drop python-pytest by not running tests for python2 packages

2020-04-13 Thread Sandro Tosi
> so i was playing with the idea of tackling python-pytest removal by
> updating all its rdeps and not run unittests for the python2 binary
> (so dropping pytest and the other b-d* only used for tests).

this is completed, and i've just uploaded pytest removing python-pytest

Thanks,
-- 
Sandro "morph" Tosi
My website: http://sandrotosi.me/
Me at Debian: http://wiki.debian.org/SandroTosi
Twitter: https://twitter.com/sandrotosi