DevHeads.net

Django 2.0 released, and what it means to you

Hello,

tl;dr if you're not maintaining/using a Django related package,
you can safely skip this message.

Django 2.0 was released quite recently. While it is mostly compatible with
earlier versions, the SIGNIFICANT change is, to drop support for Python 2.

I'm intending to update Django in Rawhide to 2.0 in 2 weeks. If you're
maintaining a package depending on Django, please make sure to disable
the python2 subpackage. Please keep in mind, you'll also need proper
obsoletes.

If there is any bug, blocker, whatever connected to this change,
please make also sure to report it in bugzilla and
make your bug a blocker for[1].

Thank you,
Matthias

[1] <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1494761" title="https://bugzilla.redhat.com/show_bug.cgi?id=1494761">https://bugzilla.redhat.com/show_bug.cgi?id=1494761</a>

Comments

Re: Django 2.0 released, and what it means to you

By Petr Viktorin at 12/05/2017 - 04:45

On 12/05/2017 09:19 AM, Matthias Runge wrote:
Hi,
Another option is to create a new "python2-django" package containing
the latest Django 1.x code (which is still supported upstream as LTS).
That would mean dependent packages would have until April 2020 to drop
Python 2.
If that would help, let me know and I'll package it.

Re: Django 2.0 released, and what it means to you

By =?UTF-8?B?TWlyb... at 12/05/2017 - 10:27

Maybe a Fedora Change coordinating this would be nice?

See python2-ipython package for how we did it there.

My opinion here is to drop python2-django from Fedora and don't package
python2-django. Removing Python 2 packages slowly before 2020 is a good
thing. It will remind packagers that we are serious about this and it
could give us some experience with this kind of stuff, that can be
reused once python2 will be removed.

Note that python2-ipython is useful when testing stuff that needs
to support legacy Python interactively.

When someone needs to support Django stuff on Python 2, they can still
use virtualenvs and pip (and hopefully also pipenv soon), which is the
recommended way for development anyway.

This IMHO boils to one question: Are there **apps** packaged in Fedora
that require Django on Python 2? And if so, can they be switched to
Python 3?

If there are some Django Python 2 apps that would need this, we can
package python2-django (in a way as a compat package for those).

Those are packages that require python(2)-django and are themselves not
prefixed with python(2)-django:

cobbler-web
fts-monitoring
gramps-webapp
graphite-web
kobo-admin
kobo-django
kobo-hub
pony
pulp-server

I suggest we go trough them and see. At least the kobo thing is probably
being ported to 3 by Lumír (CC'ed)

Even if we and up having python2-django, I suggest we remove all the
unneeded python2-django-wahtnots anyway and only keep the ones used by
the apps.

Re: Django 2.0 released, and what it means to you

By Lumir Balhar at 12/06/2017 - 03:56

On 12/05/2017 04:27 PM, Miro Hrončok wrote:
I am not a maintainer nor a user of Kobo but I think that Kobo will need
python2-django in Fedora.

Re: Django 2.0 released, and what it means to you

By Matthias Runge at 12/06/2017 - 04:26

On Wed, Dec 06, 2017 at 09:56:28AM +0100, Lumir Balhar wrote:
probably a good idea.

graphite-web requires Django <= 1.11.99, but has been ported to python3.

Going the safe route, we should add the python2 package based on
django-1.11.x and current apps would continue to work.

Thoughts?

Best,
Matthias

Re: Django 2.0 released, and what it means to you

By Matthias Runge at 12/07/2017 - 04:56

On Wed, Dec 06, 2017 at 10:26:11AM +0100, Matthias Runge wrote:
To follow-up on this, I'm drafting a change[1]. Since my
responsibilities changed, this has a quite low priority for me.
Any help is greatly appreciated!

Best,
Matthias
[1] <a href="https://fedoraproject.org/wiki/User:Mrunge/Django20" title="https://fedoraproject.org/wiki/User:Mrunge/Django20">https://fedoraproject.org/wiki/User:Mrunge/Django20</a>

Re: Django 2.0 released, and what it means to you

By =?UTF-8?B?TWlyb... at 12/12/2017 - 10:17

On 7.12.2017 10:56, Matthias Runge wrote:
Today, we proposed <a href="https://fedoraproject.org/wiki/Changes/Django20" title="https://fedoraproject.org/wiki/Changes/Django20">https://fedoraproject.org/wiki/Changes/Django20</a> and
set it to Ready For Wrangler.

Re: Django 2.0 released, and what it means to you

By KH KH at 12/12/2017 - 10:52

2017-12-12 16:17 GMT+01:00 Miro Hrončok < ... at redhat dot com>:
It would be more simple to introduce a separate python2-django given
this package namespace is free.
It would just need to be bump at version-release: 1.11.5-2.fc28
because python(2)-django sub-package in f27 is currently at 1.11.5-1
This could even be introduced in epel7 (if python is recent enought
there, but then this is a separate issue).

Thx

Re: Django 2.0 released, and what it means to you

By =?UTF-8?B?TWlyb... at 12/12/2017 - 11:19

On 12.12.2017 16:52, Nicolas Chauvet wrote:
We are aware of that and we are deliberately not doing that.
See the motivation in Detailed Description [2].

Note that providing it is our contingency plan [3].

[2] <a href="https://fedoraproject.org/wiki/Changes/Django20#Detailed_Description" title="https://fedoraproject.org/wiki/Changes/Django20#Detailed_Description">https://fedoraproject.org/wiki/Changes/Django20#Detailed_Description</a>
[3] <a href="https://fedoraproject.org/wiki/Changes/Django20#Contingency_Plan" title="https://fedoraproject.org/wiki/Changes/Django20#Contingency_Plan">https://fedoraproject.org/wiki/Changes/Django20#Contingency_Plan</a>

Re: Django 2.0 released, and what it means to you

By KH KH at 12/06/2017 - 06:36

2017-12-06 10:26 GMT+01:00 Matthias Runge <mrunge@matthias-runge.de>:
cobbler-web would benefit from using such python2-django.
(I have a pending PR upstream to support current django-1.xx).

Thx

Re: Django 2.0 released, and what it means to you

By Piotr Popieluch at 12/07/2017 - 04:43

Last week a patch got merged to Graphite-web to support Python 3. Not sure
when Django 2 will be supported.

Re: Django 2.0 released, and what it means to you

By Matthias Runge at 12/05/2017 - 09:06

On Tue, Dec 05, 2017 at 10:45:54AM +0100, Petr Viktorin wrote:
Interesting idea, but how would you handle the mandatory python2 package
for it then? Would that require some FPC decision?

I would expect the python3-django would get upgraded at least a few
times until 2020.

Matthias