[Buildroot] [PATCH v2, 1/1] package/python-web2py: fix build with python 3.8

Fabrice Fontaine fontaine.fabrice at gmail.com
Wed Oct 30 13:08:35 UTC 2019


Fixes:
 - http://autobuild.buildroot.org/results/fa515627ae888d08fc10074e8d9f6e9dbede91a7

Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
---
Changes v1 -> v2 (after review of Thomas Petazzoni):
 - Update patch to make it work with python 2.x

 ...py-import-escape-from-html-instead-o.patch | 49 +++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 package/python-web2py/0001-gluon-languages.py-import-escape-from-html-instead-o.patch

diff --git a/package/python-web2py/0001-gluon-languages.py-import-escape-from-html-instead-o.patch b/package/python-web2py/0001-gluon-languages.py-import-escape-from-html-instead-o.patch
new file mode 100644
index 0000000000..d6321e5592
--- /dev/null
+++ b/package/python-web2py/0001-gluon-languages.py-import-escape-from-html-instead-o.patch
@@ -0,0 +1,49 @@
+From cf3c8e6ac8c428151dc191510554b4ee2705958d Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice at gmail.com>
+Date: Wed, 30 Oct 2019 10:08:35 +0100
+Subject: [PATCH] gluon/languages.py: import escape from html instead of cgi
+
+import escape from html and fallback on current import from cgi to fix
+the following build failure with python 3.8:
+
+/home/buildroot/autobuild/run/instance-2/output-1/host/bin/python -c 'import os; os.chdir("/home/buildroot/autobuild/run/instance-2/output-1/build/python-web2py-2.17.2"); from gluon.main import save_password; save_password("web2py",8000)'
+Traceback (most recent call last):
+  File "<string>", line 1, in <module>
+  File "/home/buildroot/autobuild/run/instance-2/output-1/build/python-web2py-2.17.2/gluon/__init__.py", line 34, in <module>
+    from .globals import current
+  File "/home/buildroot/autobuild/run/instance-2/output-1/build/python-web2py-2.17.2/gluon/globals.py", line 24, in <module>
+    from gluon.serializers import json, custom_json
+  File "/home/buildroot/autobuild/run/instance-2/output-1/build/python-web2py-2.17.2/gluon/serializers.py", line 10, in <module>
+    from gluon.languages import lazyT
+  File "/home/buildroot/autobuild/run/instance-2/output-1/build/python-web2py-2.17.2/gluon/languages.py", line 19, in <module>
+    from cgi import escape
+ImportError: cannot import name 'escape' from 'cgi' (/home/buildroot/autobuild/run/instance-2/output-1/host/lib/python3.8/cgi.py)
+
+Fixes:
+ - http://autobuild.buildroot.org/results/fa515627ae888d08fc10074e8d9f6e9dbede91a7
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
+[Upstream status: https://github.com/web2py/web2py/pull/2272]
+---
+ gluon/languages.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/gluon/languages.py b/gluon/languages.py
+index 9ed60f9c..554d7339 100644
+--- a/gluon/languages.py
++++ b/gluon/languages.py
+@@ -16,7 +16,10 @@ import re
+ import sys
+ import pkgutil
+ import logging
+-from cgi import escape
++try:
++    from html import escape
++except ImportError:
++    from cgi import escape
+ from threading import RLock
+ 
+ from pydal._compat import copyreg, PY2, maketrans, iterkeys, unicodeT, to_unicode, to_bytes, iteritems, to_native, pjoin
+-- 
+2.23.0
+
-- 
2.23.0



More information about the buildroot mailing list