Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package trytond for openSUSE:Factory checked in at 2022-04-20 16:57:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/trytond (Old) and /work/SRC/openSUSE:Factory/.trytond.new.1941 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "trytond" Wed Apr 20 16:57:18 2022 rev:68 rq:971012 version:6.0.17 Changes: -------- --- /work/SRC/openSUSE:Factory/trytond/trytond.changes 2022-03-22 19:39:44.247060784 +0100 +++ /work/SRC/openSUSE:Factory/.trytond.new.1941/trytond.changes 2022-04-20 16:57:48.154649533 +0200 @@ -1,0 +2,7 @@ +Mon Apr 18 19:25:02 UTC 2022 - Axel Braun <[email protected]> + +- Version 6.0.17 + * Werkzeug 2.0 compatibility added + * fix_werkzeug_2.x.patch removed + +------------------------------------------------------------------- Old: ---- fix_werkzeug_2.x.patch trytond-6.0.16.tar.gz trytond-6.0.16.tar.gz.asc New: ---- trytond-6.0.17.tar.gz trytond-6.0.17.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ trytond.spec ++++++ --- /var/tmp/diff_new_pack.knHrHR/_old 2022-04-20 16:57:48.686650030 +0200 +++ /var/tmp/diff_new_pack.knHrHR/_new 2022-04-20 16:57:48.686650030 +0200 @@ -20,7 +20,7 @@ %define majorver 6.0 %define base_name tryton Name: trytond -Version: %{majorver}.16 +Version: %{majorver}.17 Release: 0 Summary: An Enterprise Resource Planning (ERP) system License: GPL-3.0-or-later @@ -34,8 +34,7 @@ Source6: https://keybase.io/cedrickrier/pgp_keys.asc?fingerprint=7C5A4360F6DF81ABA91FD54D6FF50AFE03489130#/%{name}.keyring Source7: openSUSE-trytond-setup Source20: %{name}.service -Patch0: fix_werkzeug_2.x.patch -Patch1: Update_changed_fields_6.0.diff +Patch0: Update_changed_fields_6.0.diff BuildRequires: fdupes BuildRequires: python3-Werkzeug BuildRequires: python3-bcrypt @@ -85,13 +84,7 @@ %setup -q cp %{SOURCE1} . -#Werkzeug2 is not compatible with Werkzeug 1.x, so we need a conditional patch -echo 0%{?suse_version} -%if 0%{?suse_version} >= 1550 %patch0 -p1 -%endif - -%patch1 -p1 %build %python3_build ++++++ trytond-6.0.16.tar.gz -> trytond-6.0.17.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/.hgtags new/trytond-6.0.17/.hgtags --- old/trytond-6.0.16/.hgtags 2022-03-01 19:21:51.000000000 +0100 +++ new/trytond-6.0.17/.hgtags 2022-04-15 21:18:19.000000000 +0200 @@ -40,3 +40,4 @@ 78607bfea2986fe335c98a6ef87905cded1f5b2d 6.0.14 26fba5237ff3ec9aed2d8aebdc1115e595e76c0b 6.0.15 c4cf78bb401aec7d52a007eb7bda958658edaf95 6.0.16 +246ad7a2addde11a7b3e828ace36cf5fb1bc6696 6.0.17 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/CHANGELOG new/trytond-6.0.17/CHANGELOG --- old/trytond-6.0.16/CHANGELOG 2022-03-01 19:21:50.000000000 +0100 +++ new/trytond-6.0.17/CHANGELOG 2022-04-15 21:18:18.000000000 +0200 @@ -1,3 +1,7 @@ +Version 6.0.17 - 2022-04-15 +* Bug fixes (see mercurial logs for details) +* Add support for werkzeug 2.0 + Version 6.0.16 - 2022-03-01 * Bug fixes (see mercurial logs for details) * Do not resolve entities by default with lxml (issue11219) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/PKG-INFO new/trytond-6.0.17/PKG-INFO --- old/trytond-6.0.16/PKG-INFO 2022-03-01 19:21:53.328799000 +0100 +++ new/trytond-6.0.17/PKG-INFO 2022-04-15 21:18:23.222398000 +0200 @@ -1,24 +1,16 @@ Metadata-Version: 2.1 Name: trytond -Version: 6.0.16 +Version: 6.0.17 Summary: Tryton server Home-page: http://www.tryton.org/ +Download-URL: http://downloads.tryton.org/6.0/ Author: Tryton Author-email: [email protected] License: GPL-3 -Download-URL: http://downloads.tryton.org/6.0/ Project-URL: Bug Tracker, https://bugs.tryton.org/ Project-URL: Documentation, https://docs.tryton.org/ Project-URL: Forum, https://www.tryton.org/forum Project-URL: Source Code, https://hg.tryton.org/trytond -Description: trytond - ======= - - The server of Tryton. - Tryton is business software, ideal for companies of any size, easy to use, - complete and 100% Open Source. - It provides modularity, scalability and security. - Keywords: business application platform ERP Platform: any Classifier: Development Status :: 5 - Production/Stable @@ -65,3 +57,14 @@ Provides-Extra: weasyprint Provides-Extra: coroutine Provides-Extra: image +License-File: LICENSE + +trytond +======= + +The server of Tryton. +Tryton is business software, ideal for companies of any size, easy to use, +complete and 100% Open Source. +It provides modularity, scalability and security. + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/bin/trytond-stat new/trytond-6.0.17/bin/trytond-stat --- old/trytond-6.0.16/bin/trytond-stat 2021-11-02 18:50:55.000000000 +0100 +++ new/trytond-6.0.17/bin/trytond-stat 2022-04-14 23:49:17.000000000 +0200 @@ -125,7 +125,8 @@ processes[pid] = data refresh() refresh() - status.listen(config.get('database', 'path'), update) + return status.listen(config.get('database', 'path'), update) -curses.wrapper(main) +if not curses.wrapper(main): + sys.stderr.write("status not supported on this platform\n") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/setup.py new/trytond-6.0.17/setup.py --- old/trytond-6.0.16/setup.py 2022-03-01 19:21:47.000000000 +0100 +++ new/trytond-6.0.17/setup.py 2022-04-14 23:49:17.000000000 +0200 @@ -73,9 +73,9 @@ + '.'.join(local_version)) if platform.python_implementation() == 'PyPy': - pg_require = ['psycopg2cffi >= 2.5.4'] + pg_require = ['psycopg2cffi > 2.9.0'] else: - pg_require = ['psycopg2 >= 2.5.4'] + pg_require = ['psycopg2 >= 2.7.0'] tests_require = ['pillow'] setup(name=name, @@ -163,7 +163,7 @@ 'python-dateutil', 'polib', 'python-sql >= 0.5', - 'werkzeug < 2', + 'werkzeug', 'wrapt', 'passlib >= 1.7.0', ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/trytond/__init__.py new/trytond-6.0.17/trytond/__init__.py --- old/trytond-6.0.16/trytond/__init__.py 2022-03-01 19:21:47.000000000 +0100 +++ new/trytond-6.0.17/trytond/__init__.py 2022-04-14 23:25:02.000000000 +0200 @@ -7,7 +7,7 @@ from lxml import etree, objectify -__version__ = "6.0.16" +__version__ = "6.0.17" os.environ['TZ'] = 'UTC' if hasattr(time, 'tzset'): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/trytond/backend/postgresql/database.py new/trytond-6.0.17/trytond/backend/postgresql/database.py --- old/trytond-6.0.16/trytond/backend/postgresql/database.py 2022-02-17 23:31:06.000000000 +0100 +++ new/trytond-6.0.17/trytond/backend/postgresql/database.py 2022-04-14 23:49:17.000000000 +0200 @@ -12,11 +12,13 @@ from threading import RLock try: + from psycopg2 import connect +except ImportError: from psycopg2cffi import compat compat.register() except ImportError: - pass -from psycopg2 import connect, Binary + from psycopg2 import connect +from psycopg2 import Binary from psycopg2.sql import SQL, Identifier from psycopg2.pool import ThreadedConnectionPool, PoolError from psycopg2.extensions import cursor diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/trytond/ir/cache.py new/trytond-6.0.17/trytond/ir/cache.py --- old/trytond-6.0.16/trytond/ir/cache.py 2021-11-02 18:49:10.000000000 +0100 +++ new/trytond-6.0.17/trytond/ir/cache.py 2022-04-14 23:25:02.000000000 +0200 @@ -7,4 +7,4 @@ "Cache" __name__ = 'ir.cache' name = fields.Char('Name', required=True) - timestamp = fields.DateTime('Timestamp') + timestamp = fields.Timestamp("Timestamp") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/trytond/protocols/wrappers.py new/trytond-6.0.17/trytond/protocols/wrappers.py --- old/trytond-6.0.16/trytond/protocols/wrappers.py 2021-11-02 18:50:55.000000000 +0100 +++ new/trytond-6.0.17/trytond/protocols/wrappers.py 2022-04-14 23:25:02.000000000 +0200 @@ -12,7 +12,6 @@ from http import client as HTTPStatus from werkzeug.wrappers import Request as _Request, Response -from werkzeug.http import wsgi_to_bytes, bytes_to_wsgi from werkzeug.datastructures import Authorization from werkzeug.exceptions import abort, HTTPException @@ -116,7 +115,8 @@ def parse_authorization_header(value): if not value: return - value = wsgi_to_bytes(value) + if not isinstance(value, bytes): + value = value.encode('latin1') try: auth_type, auth_info = value.split(None, 1) auth_type = auth_type.lower() @@ -130,9 +130,9 @@ except Exception: return return Authorization('session', { - 'username': bytes_to_wsgi(username), + 'username': username.decode("latin1"), 'userid': userid, - 'session': bytes_to_wsgi(session), + 'session': session.decode("latin1"), }) @@ -217,16 +217,16 @@ pool = Pool() UserApplication = pool.get('res.user.application') - authorization = wsgi_to_bytes(request.headers['Authorization']) + authorization = request.headers['Authorization'] try: auth_type, auth_info = authorization.split(None, 1) auth_type = auth_type.lower() except ValueError: abort(HTTPStatus.UNAUTHORIZED) - if auth_type != b'bearer': + if auth_type != 'bearer': abort(HTTPStatus.FORBIDDEN) - application = UserApplication.check(bytes_to_wsgi(auth_info), name) + application = UserApplication.check(auth_info, name) if not application: abort(HTTPStatus.FORBIDDEN) transaction = Transaction() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/trytond/pyson.py new/trytond-6.0.17/trytond/pyson.py --- old/trytond-6.0.16/trytond/pyson.py 2022-01-22 21:11:33.000000000 +0100 +++ new/trytond-6.0.17/trytond/pyson.py 2022-04-14 23:25:02.000000000 +0200 @@ -509,7 +509,10 @@ @staticmethod def eval(dct, context): - return dct['k'] in dct['v'] + if dct['v']: + return dct['k'] in dct['v'] + else: + return False class Date(PYSON): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/trytond/status.py new/trytond-6.0.17/trytond/status.py --- old/trytond-6.0.16/trytond/status.py 2021-11-02 18:50:56.000000000 +0100 +++ new/trytond-6.0.17/trytond/status.py 2022-04-14 23:49:17.000000000 +0200 @@ -48,6 +48,8 @@ def dump(path): + if not hasattr(socket, 'AF_UNIX'): + return False sock = socket.socket(socket.AF_UNIX) try: try: @@ -73,6 +75,8 @@ def start(path): global _PID, _PATH + if not hasattr(socket, 'AF_UNIX'): + return if _PID != os.getpid() and path: # Quick test without lock with _LOCK: if _PID != os.getpid(): @@ -83,6 +87,8 @@ def listen(path, callback=None): + if not hasattr(socket, 'AF_UNIX'): + return False sock = socket.socket(socket.AF_UNIX) socket_file = os.path.join(path, address) try: @@ -115,3 +121,4 @@ finally: sock.close() os.unlink(socket_file) + return True diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/trytond/tests/test_pyson.py new/trytond-6.0.17/trytond/tests/test_pyson.py --- old/trytond-6.0.16/trytond/tests/test_pyson.py 2022-01-22 21:11:33.000000000 +0100 +++ new/trytond-6.0.17/trytond/tests/test_pyson.py 2022-04-14 23:25:02.000000000 +0200 @@ -488,6 +488,10 @@ eval = pyson.PYSONEncoder().encode(pyson.In('test', [])) self.assertFalse(pyson.PYSONDecoder().decode(eval)) + eval = pyson.PYSONEncoder().encode( + pyson.In('test', pyson.Eval('foo', []))) + self.assertFalse(pyson.PYSONDecoder({'foo': None}).decode(eval)) + self.assertEqual(repr(pyson.In('foo', ['foo', 'bar'])), "In('foo', ['foo', 'bar'])") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/trytond/tests/test_routes.py new/trytond-6.0.17/trytond/tests/test_routes.py --- old/trytond-6.0.16/trytond/tests/test_routes.py 2021-11-02 18:49:10.000000000 +0100 +++ new/trytond-6.0.17/trytond/tests/test_routes.py 2022-04-14 23:27:07.000000000 +0200 @@ -6,7 +6,7 @@ import unittest from werkzeug.test import Client -from werkzeug.wrappers import BaseResponse +from werkzeug.wrappers import Response from trytond.pool import Pool from trytond.tests.test_tryton import activate_module, DB_NAME, drop_db @@ -46,7 +46,7 @@ def test_data_no_field(self): "Test GET data without field" - c = Client(app, BaseResponse) + c = Client(app, Response) response = c.get(self.data_url('res.user'), headers=self.auth_headers) @@ -55,7 +55,7 @@ def test_data_one_field(self): "Test GET data with one field" - c = Client(app, BaseResponse) + c = Client(app, Response) response = c.get( self.data_url('res.user'), headers=self.auth_headers, @@ -66,7 +66,7 @@ def test_data_multiple_fields(self): "Test GET data with multiple fields" - c = Client(app, BaseResponse) + c = Client(app, Response) response = c.get( self.data_url('res.user'), headers=self.auth_headers, @@ -78,7 +78,7 @@ def test_data_language(self): "Test GET data with language" - c = Client(app, BaseResponse) + c = Client(app, Response) response = c.get( self.data_url('ir.lang'), headers=self.auth_headers, @@ -93,7 +93,7 @@ def test_data_size(self): "Test GET data with size limit" - c = Client(app, BaseResponse) + c = Client(app, Response) response = c.get( self.data_url('ir.lang'), headers=self.auth_headers, @@ -107,7 +107,7 @@ def test_data_page(self): "Test GET data with page" - c = Client(app, BaseResponse) + c = Client(app, Response) response0 = c.get( self.data_url('ir.lang'), headers=self.auth_headers, @@ -130,7 +130,7 @@ def test_data_encoding(self): "Test GET data with encoding" - c = Client(app, BaseResponse) + c = Client(app, Response) response = c.get( self.data_url('ir.lang'), headers=self.auth_headers, @@ -147,7 +147,7 @@ def test_data_delimiter(self): "Test GET data with delimiter" - c = Client(app, BaseResponse) + c = Client(app, Response) response = c.get( self.data_url('res.user'), headers=self.auth_headers, @@ -159,7 +159,7 @@ def test_data_quotechar(self): "Test GET data with quotechar" - c = Client(app, BaseResponse) + c = Client(app, Response) response = c.get( self.data_url('res.user'), headers=self.auth_headers, @@ -172,7 +172,7 @@ def test_data_no_header(self): "Test GET data without header" - c = Client(app, BaseResponse) + c = Client(app, Response) response = c.get( self.data_url('res.user'), headers=self.auth_headers, @@ -183,7 +183,7 @@ def test_data_locale_format(self): "Test GET data in locale format" - c = Client(app, BaseResponse) + c = Client(app, Response) response_std = c.get( self.data_url('res.user'), headers=self.auth_headers, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/trytond/tests/test_wsgi.py new/trytond-6.0.17/trytond/tests/test_wsgi.py --- old/trytond-6.0.16/trytond/tests/test_wsgi.py 2021-11-02 18:49:10.000000000 +0100 +++ new/trytond-6.0.17/trytond/tests/test_wsgi.py 2022-04-14 23:27:07.000000000 +0200 @@ -34,7 +34,7 @@ raise exception client = Client(app) - (response, status, headers) = client.get('/willfail') + _ = client.get('/willfail') spy.assert_called_once_with(app, sentinel.request, exception) @@ -60,7 +60,7 @@ raise exception client = Client(app) - (response, status, headers) = client.get('/willfail') + _ = client.get('/willfail') spy1.assert_called_once_with(app, sentinel.request, exception) spy2.assert_called_once_with(app, sentinel.request, exception) @@ -84,7 +84,7 @@ raise exception client = Client(app) - (response, status, headers) = client.get('/willfail') + _ = client.get('/willfail') spy.assert_called_once_with(app, sentinel.request, exception) @@ -105,10 +105,10 @@ raise self.TestException('foo') client = Client(app) - (response, status, headers) = client.get('/willfail') + response = client.get('/willfail') - self.assertEqual(next(response), b'baz') - self.assertEqual(status, "418 I'M A TEAPOT") + self.assertEqual(next(response.response), b'baz') + self.assertEqual(response.status, "418 I'M A TEAPOT") def suite(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/trytond.egg-info/PKG-INFO new/trytond-6.0.17/trytond.egg-info/PKG-INFO --- old/trytond-6.0.16/trytond.egg-info/PKG-INFO 2022-03-01 19:21:52.000000000 +0100 +++ new/trytond-6.0.17/trytond.egg-info/PKG-INFO 2022-04-15 21:18:21.000000000 +0200 @@ -1,24 +1,16 @@ Metadata-Version: 2.1 Name: trytond -Version: 6.0.16 +Version: 6.0.17 Summary: Tryton server Home-page: http://www.tryton.org/ +Download-URL: http://downloads.tryton.org/6.0/ Author: Tryton Author-email: [email protected] License: GPL-3 -Download-URL: http://downloads.tryton.org/6.0/ Project-URL: Bug Tracker, https://bugs.tryton.org/ Project-URL: Documentation, https://docs.tryton.org/ Project-URL: Forum, https://www.tryton.org/forum Project-URL: Source Code, https://hg.tryton.org/trytond -Description: trytond - ======= - - The server of Tryton. - Tryton is business software, ideal for companies of any size, easy to use, - complete and 100% Open Source. - It provides modularity, scalability and security. - Keywords: business application platform ERP Platform: any Classifier: Development Status :: 5 - Production/Stable @@ -65,3 +57,14 @@ Provides-Extra: weasyprint Provides-Extra: coroutine Provides-Extra: image +License-File: LICENSE + +trytond +======= + +The server of Tryton. +Tryton is business software, ideal for companies of any size, easy to use, +complete and 100% Open Source. +It provides modularity, scalability and security. + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.16/trytond.egg-info/requires.txt new/trytond-6.0.17/trytond.egg-info/requires.txt --- old/trytond-6.0.16/trytond.egg-info/requires.txt 2022-03-01 19:21:52.000000000 +0100 +++ new/trytond-6.0.17/trytond.egg-info/requires.txt 2022-04-15 21:18:22.000000000 +0200 @@ -5,7 +5,7 @@ python-dateutil polib python-sql>=0.5 -werkzeug<2 +werkzeug wrapt passlib>=1.7.0 @@ -16,7 +16,7 @@ python-Levenshtein [PostgreSQL] -psycopg2>=2.5.4 +psycopg2>=2.7.0 [coroutine] gevent>=1.1
