Update Toaster to support Django 4.2, to match current
hosts and to address CVEs.

[YOCTO #15152]

Signed-off-by: McNulty, Kieran <[email protected]>
Signed-off-by: David Reyna <[email protected]>
---
 bitbake/lib/toaster/bldcollector/urls.py                     | 2 +-
 bitbake/lib/toaster/bldcontrol/models.py                     | 2 +-
 bitbake/lib/toaster/toastergui/urls.py                       | 2 +-
 bitbake/lib/toaster/toastergui/views.py                      | 2 +-
 bitbake/lib/toaster/toastergui/widgets.py                    | 5 +++--
 .../toaster/toastermain/management/commands/checksocket.py   | 5 ++---
 bitbake/lib/toaster/toastermain/urls.py                      | 2 +-
 bitbake/toaster-requirements.txt                             | 2 +-
 8 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/bitbake/lib/toaster/bldcollector/urls.py 
b/bitbake/lib/toaster/bldcollector/urls.py
index efd67a81a54..3c34070351c 100644
--- a/bitbake/lib/toaster/bldcollector/urls.py
+++ b/bitbake/lib/toaster/bldcollector/urls.py
@@ -6,7 +6,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.conf.urls import url
+from django.urls import re_path as url
 
 import bldcollector.views
 
diff --git a/bitbake/lib/toaster/bldcontrol/models.py 
b/bitbake/lib/toaster/bldcontrol/models.py
index c2f302da24a..7f3fcfc3ec9 100644
--- a/bitbake/lib/toaster/bldcontrol/models.py
+++ b/bitbake/lib/toaster/bldcontrol/models.py
@@ -4,7 +4,7 @@
 
 from __future__ import unicode_literals
 from django.db import models
-from django.utils.encoding import force_text
+from django.utils.encoding import force_str
 from orm.models import Project, Build, Layer_Version
 
 import logging
diff --git a/bitbake/lib/toaster/toastergui/urls.py 
b/bitbake/lib/toaster/toastergui/urls.py
index d2df4e60488..bc3b0c79d82 100644
--- a/bitbake/lib/toaster/toastergui/urls.py
+++ b/bitbake/lib/toaster/toastergui/urls.py
@@ -6,7 +6,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.conf.urls import url
+from django.urls import re_path as url
 from django.views.generic import RedirectView
 
 from toastergui import tables
diff --git a/bitbake/lib/toaster/toastergui/views.py 
b/bitbake/lib/toaster/toastergui/views.py
index a571b8cc18c..d968a3f271a 100644
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -670,7 +670,7 @@ def xhr_dirinfo(request, build_id, target_id):
     return HttpResponse(_get_dir_entries(build_id, target_id, top), 
content_type = "application/json")
 
 from django.utils.functional import Promise
-from django.utils.encoding import force_text
+from django.utils.encoding import force_str
 class LazyEncoder(json.JSONEncoder):
     def default(self, obj):
         if isinstance(obj, Promise):
diff --git a/bitbake/lib/toaster/toastergui/widgets.py 
b/bitbake/lib/toaster/toastergui/widgets.py
index ceff52942ee..53696912a46 100644
--- a/bitbake/lib/toaster/toastergui/widgets.py
+++ b/bitbake/lib/toaster/toastergui/widgets.py
@@ -7,6 +7,7 @@
 #
 
 from django.views.generic import View, TemplateView
+from django.utils.decorators import method_decorator
 from django.views.decorators.cache import cache_control
 from django.shortcuts import HttpResponse
 from django.core.cache import cache
@@ -63,8 +64,8 @@ class ToasterTable(TemplateView):
         self.default_orderby = ""
 
     # prevent HTTP caching of table data
-    @cache_control(must_revalidate=True,
-                   max_age=0, no_store=True, no_cache=True)
+    @method_decorator(cache_control(must_revalidate=True,
+                   max_age=0, no_store=True, no_cache=True))
     def dispatch(self, *args, **kwargs):
         return super(ToasterTable, self).dispatch(*args, **kwargs)
 
diff --git a/bitbake/lib/toaster/toastermain/management/commands/checksocket.py 
b/bitbake/lib/toaster/toastermain/management/commands/checksocket.py
index 811fd5d5161..4d5483eb97e 100644
--- a/bitbake/lib/toaster/toastermain/management/commands/checksocket.py
+++ b/bitbake/lib/toaster/toastermain/management/commands/checksocket.py
@@ -13,8 +13,7 @@ import errno
 import socket
 
 from django.core.management.base import BaseCommand, CommandError
-from django.utils.encoding import force_text
-
+from django.utils.encoding import force_str
 DEFAULT_ADDRPORT = "0.0.0.0:8000"
 
 class Command(BaseCommand):
@@ -51,7 +50,7 @@ class Command(BaseCommand):
             if hasattr(err, 'errno') and err.errno in errors:
                 errtext = errors[err.errno]
             else:
-                errtext = force_text(err)
+                errtext = force_str(err)
             raise CommandError(errtext)
 
         self.stdout.write("OK")
diff --git a/bitbake/lib/toaster/toastermain/urls.py 
b/bitbake/lib/toaster/toastermain/urls.py
index 5fb520b384d..03603026688 100644
--- a/bitbake/lib/toaster/toastermain/urls.py
+++ b/bitbake/lib/toaster/toastermain/urls.py
@@ -6,7 +6,7 @@
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
-from django.conf.urls import include, url
+from django.urls import re_path as url, include
 from django.views.generic import RedirectView, TemplateView
 from django.views.decorators.cache import never_cache
 import bldcollector.views
diff --git a/bitbake/toaster-requirements.txt b/bitbake/toaster-requirements.txt
index dedd423556a..c1f433f9ec6 100644
--- a/bitbake/toaster-requirements.txt
+++ b/bitbake/toaster-requirements.txt
@@ -1,3 +1,3 @@
-Django>3.2,<3.3
+Django>4.2,<4.3
 beautifulsoup4>=4.4.0
 pytz
-- 
2.20.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#5837): https://lists.yoctoproject.org/g/toaster/message/5837
Mute This Topic: https://lists.yoctoproject.org/mt/101005388/21656
Group Owner: [email protected]
Unsubscribe: 
https://lists.yoctoproject.org/g/toaster/leave/6695957/21656/14417857/xyzzy 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to