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

Reply via email to