Bug 1432365

Summary: Please update python-django in EPEL
Product: [Fedora] Fedora EPEL Reporter: Zamir SUN <sztsian>
Component: python-djangoAssignee: Matthias Runge <mrunge>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel7CC: bkabrda, carl, furlongm, jakub.dornak, jal233, mhroncok, michel, mrunge, piotr1212, sgallagh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-django-1.11.13-2.el7 python-django-1.11.13-4.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-12-19 00:38:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1487420    
Bug Blocks: 1380179    

Description Zamir SUN 2017-03-15 09:05:47 UTC
Description of problem:
python-django in EPEL have not been updated for more than a year[1].
And in fact, Django in EPEL is almost not useable - it is still 1.6.12 Alpha. In Fedora 25 it is already 1.9.12 Final. This means if I code on Fedora, the Django project will never work on RHEL/CentOS with EPEL package. For me it seems I have to get ride of all Django packages from EPEL and build my own, or use virtualenv instead.

[1] http://pkgs.fedoraproject.org/cgit/rpms/python-django.git/log/?h=epel7
Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Write a Django Demo in Fedora
2. Run it in CentOS/RHEL with Django installed from EPEL
3.

Actual results:
It simply do not work

Expected results:
It should work. To be clear, it caused by Django in EPEL is too old

Additional info:

Comment 1 Matthias Runge 2017-03-20 17:02:10 UTC
I hear you. 

First of all, what you call 1.6.12 alpha is a patched version of 1.6.x (fixing several CVE). It is possible to write applications running on all Django
releases.

SInce EPEL is LTS supported, I should upgrade to 1.8.x (the current LTS release). Unfortunately that would break at least reviewboard on EPEL, which still requires Django-1.6.x

Comment 2 Zamir SUN 2017-03-21 02:11:32 UTC
(In reply to Matthias Runge from comment #1)
> SInce EPEL is LTS supported, I should upgrade to 1.8.x (the current LTS
> release). Unfortunately that would break at least reviewboard on EPEL, which
> still requires Django-1.6.x
From stability aspect, I can understand we should at least make things work in EPEL instead of update and break them.
So for now I will have to deal with my work in virtualenv.

Interesting to see Fedora simply obsoleted reviewboard from repo.

Comment 3 Matthias Runge 2017-03-21 12:57:39 UTC
I've been told, about 2/3rd of all reviewboard installs are based on EPEL7.

Comment 4 Piotr Popieluch 2017-08-29 09:28:16 UTC
Are there any (technical) reasons for not updating to 1.8 and creating a python-django-16 compatibility package? Besides nobody having time to actually do that and maintain it.

Comment 5 Matthias Runge 2017-08-29 09:54:31 UTC
Let's be clear: Django-1.6 is unmaintained upstream; I don't see a point in creating a compatibility package. 

I'd be happy to update to 1.8, let's wait for Stephen and his opinion.

Comment 6 Piotr Popieluch 2017-08-29 10:17:20 UTC
(In reply to Matthias Runge from comment #5)
> Let's be clear: Django-1.6 is unmaintained upstream; I don't see a point in
> creating a compatibility package. 

The point would be to not break reviewboard which currently does not support Django > 1.6. Reviewboard 3.0 supports a newer Django but is still in Beta.

I personally don't care about reviewboard, I wouldn't mind.

Comment 7 Jakub Dorňák 2017-08-29 11:52:25 UTC
We could think about having separate packages for each Django minor version (python-django16, python-django17, ...) or shipping Django in SoftwareCollections.

BTW, SoftwareCollections is the only way (except heavy patching of Django) to run Django 1.8 on el6, because it needs newer Python.

However, you'll likely depend on other packages not included in Fedora/EPEL anyway, so pip (using virtualenv or docker) is the right way to deal with Python packages, if you develop portable applications.

From my point of view, the only reason for maintaining packages like Django (so rapidly changing) in Fedora/EPEL is because some other Fedora/EPEL packages may require them.

Comment 8 Stephen Gallagher 2017-08-29 17:20:20 UTC
OK, so some context:

1) Django 1.6 actually is maintained[1], just not by the main Django upstream. It is maintained by the ReviewBoard developers in a fork approved by the Django upstream. That is the version I keep packaged in EPEL 7

2) I'd love to upgrade to newer Django. I've been trying to find time lately to patch ReviewBoard and Django 1.6 into an alternate package so we can upgrade the main Django package. This time has been very hard to come by. Since that may have not been clear: I'm probably going to fork a compatibility package like python-django16 and use setuptools tricks to make it parallel-installable with python-django and still work with Review Board and its dependencies.

I can't promise I'll have the time in the immediate future, however.

Review Board is actually quite popular in EPEL; It appears to be almost even with the pip installed versions as far as deployments. It would break a lot of production environments if we upgrade Django out from under it without a migration strategy.

If anyone is willing to help me with this effort, I'd really appreciate it. My $DAYJOB doesn't leave a lot of time for this right now.


[1] https://www.reviewboard.org/news/2017/04/04/new-django-1-6-11-6-security-releases/

Comment 9 Stephen Gallagher 2017-08-31 21:11:18 UTC
I've just opened a package review request for a python-django16 compatibility package. I'm going to work on getting Review Board to be able to run against that version; once it can, we can upgrade python-django in EPEL 7.

Comment 10 Miro Hrončok 2017-09-01 10:23:36 UTC
Stephen, bad bug number?

Comment 11 Matthias Runge 2018-11-16 07:19:30 UTC
I've rebased Django to 1.11.13.

Please test carefully.

Comment 12 Fedora Update System 2018-11-16 07:23:32 UTC
python-django-1.11.13-2.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-b4d4e0a3eb

Comment 13 Fedora Update System 2018-11-17 05:35:49 UTC
python-django-1.11.13-2.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-b4d4e0a3eb

Comment 14 Fedora Update System 2018-11-19 21:35:09 UTC
python-django-1.11.13-4.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-2206653eb9

Comment 15 Fedora Update System 2018-11-21 18:34:57 UTC
python-django-1.11.13-4.el7, python-django16-1.6.11.7-5.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-2206653eb9

Comment 16 Fedora Update System 2018-12-19 00:38:59 UTC
python-django-1.11.13-4.el7, python-django16-1.6.11.7-5.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.