[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: packaging django-rest-framework-filters



On Wed, 28 Nov 2018 14:38:20 +0000
Wookey <wookey@wookware.org> wrote:

> On 2018-11-28 08:58 +0000, Neil Williams wrote:
> > On Mon, 26 Nov 2018 04:05:05 +0000
> > Wookey <wookey@wookware.org> wrote:
> >   
> > > On 2018-11-22 08:59 +0100, Thomas Goirand wrote:  
> > > > On 11/22/18 6:02 AM, Wookey wrote:    
> > > 
> > > I guess djangorestframework-filters is
> > > clearer, and closer to upstream so people can find it. I'll go
> > > with that unless someone says the drf-* names are a better plan.
> > > 
> > > OK. I've made a new package (djangorestframework-filters), which
> > > seems OK. (actually I've made 2 (see below))
> > > 
> > > I'm not a member of the modules team, so can't follow the
> > > instructions to make a salsa project under the python-team banner
> > > (https://wiki.debian.org/Python/GitPackaging)
> > > 
> > > I'll put it under wookey for now.
> > > 
> > > Also, the latest release is 0.10.0.post0, which says it's
> > > compatible with:
> > > * **Python**: 2.7 or 3.3+
> > > * **Django**: 1.8, 1.9, 1.10, 1.11
> > > * **DRF**: 3.5, 3.6  
> > 
> > djangorestframework lists "Breaking changes" in the release notes
> > for 3.8, so this looks like an incompatibility with what's already
> > in Debian.
> > 
> > https://github.com/encode/django-rest-framework/releases/tag/3.8.0
> > 
> > It might be worth testing whether 0.10.0.post0 or another release of
> > django-rest-framework-filters between that and 1.0.0dev0 is actually
> > fine with djangorestframework 3.8 - at least at a unit test level.  
> 
> Milosz and I are doing just that.
> 
> It would be great if you could check whether these packages work OK
> with lava or not as that's at least one datapoint:
> http://wookware.org/software/repo/pool/main/d/drf-extensions/python3-djangorestframework-extensions_0.4.0-1_all.deb

A bit surprised to see that this binary only depends on:
 Depends: python3-djangorestframework, python3:any

I'd expect at least python3-django to be in that list. Could be an
upstream bug in their setup.py - relying only on the indirect dependency
via python3-djangorestframework is a bit odd/lazy to me. The package
does directly import modules from django, it doesn't exclusively import
from django-restframework, not least in it's own settings.py.

> http://wookware.org/software/repo/pool/main/d/djangorestframework-filters/python3-djangorestframework-filters_0.10.2.post0-1_all.deb

For comparison:

 Depends: python3-django, python3-django-filters,
python3-djangorestframework, python3:any

So I can install both of those packages ok on buster, I can run the
existing LAVA unit tests without failures and I can browse the
localhost LAVA UI (including REST API) with those installed. However,
that only a minimal datapoint - the REST API doesn't yet have code to
use the support available from these packages. It's basically only
an install test, not execution.

I've successfully imported the modules into the django developer shell
using lava-server manage.py shell, so that bit works too.

If there are particular tests that would be useful, let me know.

> > > However the version of DRF in testing is now 3.8, and python 3.6
> > > so perhaps it's better to upload the upcoming v1.0.0.dev0:
> > > * **Python**: 3.4, 3.5, 3.6
> > > * **Django**: 1.11, 2.0, 2.1b1
> > > * **DRF**: 3.8
> > > * **django-filter**: 2.0
> > > 
> > > But the version of django-filter in debian is 1.1.0, so at first
> > > glance neither of these versions will work with the components
> > > available.
> > > 
> > > I'd normally upload the last released version, i.e. 0.10.2.post0,
> > > but I'm not sure how these interactions with versions of
> > > djangorestframework and django-filter work. Any advice or shall I
> > > work this out with upstreams?  
> > 
> > django-filters has a new upstream 2.0 but a migration guide has been
> > published for that:
> > 
> > https://django-filter.readthedocs.io/en/master/guide/migration.html#migrating-to-2-0  
> 
> Cheers for that link
> 
> > So it's likely that at least some reverse dependencies would be
> > broken by django-filters version 2.0.  
> 
> As you say - if we have to go to django-filters 2.0, then things
> probably get complicated (too complicated for buster).
> 
> Wookey
> -- 
> Principal hats:  Linaro, Debian, Wookware, ARM
> http://wookware.org/


-- 

Neil Williams
home@codehelp.co.uk

Attachment: pgpL0t9YIgGI5.pgp
Description: OpenPGP digital signature


Reply to: