From 38deea6730652de11d52bcdd8d95ed2c99b55cdd Mon Sep 17 00:00:00 2001 From: Christophe Monniez Date: Tue, 20 Jul 2021 12:46:35 +0000 Subject: [PATCH] [IMP] requirements: adapt to latest focal versions With the release of Debian Bullseye the time has come for the balancing act by trying to update the requirements. The constraints are the following: * Stick as close as possible to python3-* Debian packages versions of the current Debian stable. * Same but for the Ubuntu LTS version. * When one of the above package is patched by Debian or Ubuntu maintainers, set the upstream version that includes the patch if any. Also, as support for python < 3.7 is dropped, some cleanup can be done. The `reportlab / pillow` combo is a special case: * Pillow has to be updated to 8.1.2 as this version includes the security patches that were added to Ubuntu package 7.0.0 (Focal). * Reportlab crashes with 8.1.2 with version prior to 3.5.54 [0]. The problem does not occur on Ubuntu Focal as both versions from the Ubuntu packaging are compatible. So the reportlab 3.5.59 is chosen as it's the Debian Bullseye version and to avoid multiple lines for a few minor versions. [0] https://hg.reportlab.com/hg-public/reportlab/rev/0cf382dab63b X-original-commit: 794677fb6a3391379200eb2144a6ed372e89c17a Part-of: odoo/odoo#78781 --- odoo/__init__.py | 2 +- requirements.txt | 37 +++++++++++++++---------------------- setup.py | 2 +- 3 files changed, 17 insertions(+), 24 deletions(-) diff --git a/odoo/__init__.py b/odoo/__init__.py index 13bea94a9f4..8038761aecc 100644 --- a/odoo/__init__.py +++ b/odoo/__init__.py @@ -16,7 +16,7 @@ __path__ = [ ] import sys -assert sys.version_info > (3, 6), "Outdated python version detected, Odoo requires Python >= 3.6 to run." +assert sys.version_info > (3, 7), "Outdated python version detected, Odoo requires Python >= 3.7 to run." #---------------------------------------------------------- # Running mode flags (gevent, prefork) diff --git a/requirements.txt b/requirements.txt index 3dffd1b9971..fb8bfc14f38 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,52 +1,45 @@ Babel==2.6.0 chardet==3.0.4 -decorator==4.3.0 -docutils==0.14 +decorator==4.4.2 +docutils==0.16 ebaysdk==2.1.5 freezegun==0.3.11; python_version < '3.8' freezegun==0.3.15; python_version >= '3.8' -gevent==1.1.2 ; sys_platform != 'win32' and python_version < '3.7' gevent==1.5.0 ; python_version == '3.7' gevent==20.9.0 ; python_version >= '3.8' -gevent==1.4.0 ; sys_platform == 'win32' and python_version < '3.7' -greenlet==0.4.10 ; python_version < '3.7' greenlet==0.4.15 ; python_version == '3.7' greenlet==0.4.17 ; python_version > '3.7' -html2text==2018.1.9 -idna==2.6 +html2text==2020.1.16 +idna==2.8 Jinja2==2.10.1; python_version < '3.8' # bullseye version, focal patched 2.10 Jinja2==2.11.2; python_version >= '3.8' -libsass==0.17.0 -lxml==3.7.1 ; sys_platform != 'win32' and python_version < '3.7' +libsass==0.18.0 lxml==4.3.2 ; sys_platform != 'win32' and python_version == '3.7' lxml==4.6.1 ; sys_platform != 'win32' and python_version > '3.7' lxml ; sys_platform == 'win32' -Mako==1.0.7 +Mako==1.1.0 MarkupSafe==1.1.0 num2words==0.5.6 ofxparse==0.19 -passlib==1.7.1 -Pillow==5.4.1 ; python_version <= '3.7' and sys_platform != 'win32' -Pillow==6.1.0 ; python_version <= '3.7' and sys_platform == 'win32' -Pillow==8.1.1 ; python_version > '3.7' +passlib==1.7.2 +Pillow==8.1.2 # could be 7.0.0 (Focal) when backported security patches are present polib==1.1.0 psutil==5.6.6 psycopg2==2.7.7; sys_platform != 'win32' and python_version < '3.8' -psycopg2==2.8.5; sys_platform == 'win32' or python_version >= '3.8' +psycopg2==2.8.6; sys_platform == 'win32' or python_version >= '3.8' pydot==1.4.1 -python-ldap==3.1.0; sys_platform != 'win32' +python-ldap==3.2.0; sys_platform != 'win32' PyPDF2==1.26.0 pyserial==3.4 python-dateutil==2.7.3 -pytz==2019.1 +pytz==2019.3 pyusb==1.0.2 qrcode==6.1 -reportlab==3.5.13; python_version < '3.8' -reportlab==3.5.55; python_version >= '3.8' -requests==2.21.0 -zeep==3.2.0 -python-stdnum==1.8 +reportlab==3.5.59 # version < 3.5.54 are not compatible with Pillow 8.1.2 and 3.5.59 is bullseye +requests==2.22.0 +zeep==3.4.0 +python-stdnum==1.13 vobject==0.9.6.1 Werkzeug==0.16.1 XlsxWriter==1.1.2 diff --git a/setup.py b/setup.py index 4ca93c2c1c2..3bc2ceae406 100644 --- a/setup.py +++ b/setup.py @@ -57,7 +57,7 @@ setup( 'xlsxwriter', 'xlwt', ], - python_requires='>=3.6', + python_requires='>=3.7', extras_require={ 'ldap': ['python-ldap'], 'SSL': ['pyopenssl'],