Bug#927191: stretch-pu: package python-django-casclient/1.2.0-2
Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian.org@packages.debian.org
Usertags: pu
Hi. I would like to update python-django-casclient in the next stable
point release.
Per [1], the version currently in Stretch is not functional due to
middleware API changes in Django 1.10 and above. Unfortunately, this
breakage went unnoticed prior to the release of Stretch.
Also, since python-django-casclient requires Django in order to be
usable, I would like to add a dependency on Django, which is currently
missing. [2] [3]
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=926350
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=896317
[3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=896404
A source debdiff with the proposed changes has been attached.
Thanks.
-- System Information:
Debian Release: 9.8
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.9.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru python-django-casclient-1.2.0/debian/changelog python-django-casclient-1.2.0/debian/changelog
--- python-django-casclient-1.2.0/debian/changelog 2016-08-05 09:41:53.000000000 -0400
+++ python-django-casclient-1.2.0/debian/changelog 2019-04-15 22:45:34.000000000 -0400
@@ -1,3 +1,17 @@
+python-django-casclient (1.2.0-2+deb9u1) stretch; urgency=medium
+
+ [ William Blough ]
+ * Team upload
+ * Apply django 1.10 middleware fix from upstream (Closes: #926350)
+
+ [ Adrian Bunk ]
+ * python-django-casclient: Add the missing dependency
+ on python-django. (Closes: #896317)
+ * python3-django-casclient: Add the missing dependency
+ on python3-django. (Closes: #896404)
+
+ -- William Blough <bblough@debian.org> Mon, 15 Apr 2019 22:45:34 -0400
+
python-django-casclient (1.2.0-2) unstable; urgency=medium
[ Joost van Baal-Ilić <joostvb@debian.org> ]
diff -Nru python-django-casclient-1.2.0/debian/control python-django-casclient-1.2.0/debian/control
--- python-django-casclient-1.2.0/debian/control 2016-08-05 09:41:53.000000000 -0400
+++ python-django-casclient-1.2.0/debian/control 2019-04-15 22:45:34.000000000 -0400
@@ -15,7 +15,7 @@
Package: python-django-casclient
Architecture: all
-Depends: ${python:Depends}, ${misc:Depends}
+Depends: python-django, ${python:Depends}, ${misc:Depends}
Suggests: python-django-cas-doc
Description: CAS client library for Django, K-State's version (Python 2)
Django-cas is a Central Authentication Service (CAS) client library for
@@ -27,7 +27,7 @@
Package: python3-django-casclient
Architecture: all
-Depends: ${python3:Depends}, ${misc:Depends}
+Depends: python3-django, ${python3:Depends}, ${misc:Depends}
Suggests: python-django-cas-doc
Description: CAS client library for Django, K-State's version (Python 3)
Django-cas is a Central Authentication Service (CAS) client library for
diff -Nru python-django-casclient-1.2.0/debian/patches/django_110_middleware_fix python-django-casclient-1.2.0/debian/patches/django_110_middleware_fix
--- python-django-casclient-1.2.0/debian/patches/django_110_middleware_fix 1969-12-31 19:00:00.000000000 -0500
+++ python-django-casclient-1.2.0/debian/patches/django_110_middleware_fix 2019-04-15 22:45:34.000000000 -0400
@@ -0,0 +1,41 @@
+Description: Fix middleware to be compatible with Django 1.10
+Origin: upstream, https://patch-diff.githubusercontent.com/raw/kstateome/django-cas/pull/64.diff
+Last-Update: 2019-04-11
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/cas/middleware.py
++++ b/cas/middleware.py
+@@ -5,6 +5,15 @@ try:
+ except ImportError:
+ from urllib.parse import urlencode
+
++
++MIDDLEWARE_BASE = None
++
++try:
++ from django.utils.deprecation import MiddlewareMixin
++ MIDDLEWARE_BASE = MiddlewareMixin
++except ImportError:
++ MIDDLEWARE_BASE = object
++
+ from django.conf import settings
+ from django.contrib.auth import REDIRECT_FIELD_NAME
+ from django.contrib.auth import logout as do_logout
+@@ -19,7 +28,7 @@ from cas.views import login as cas_login
+ __all__ = ['CASMiddleware']
+
+
+-class CASMiddleware(object):
++class CASMiddleware(MIDDLEWARE_BASE):
+ """
+ Middleware that allows CAS authentication on admin pages
+ """
+@@ -81,7 +90,7 @@ class CASMiddleware(object):
+ return None
+
+
+-class ProxyMiddleware(object):
++class ProxyMiddleware(MIDDLEWARE_BASE):
+
+ # Middleware used to "fake" the django app that it lives at the Proxy Domain
+ def process_request(self, request):
diff -Nru python-django-casclient-1.2.0/debian/patches/series python-django-casclient-1.2.0/debian/patches/series
--- python-django-casclient-1.2.0/debian/patches/series 1969-12-31 19:00:00.000000000 -0500
+++ python-django-casclient-1.2.0/debian/patches/series 2019-04-15 22:45:34.000000000 -0400
@@ -0,0 +1 @@
+django_110_middleware_fix
Reply to: