From cf13b151ec42182ff3b9a57f0b642c8403c6df7e314145fa38cdc5fad26ce630 Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Thu, 8 Oct 2020 15:45:35 +0000 Subject: [PATCH 1/3] - Add pytest_depr_from_parent.patch to fix FTBGS with pytest 6.* (gh#sqlalchemy/sqlalchemy#5635) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-SQLAlchemy?expand=0&rev=174 --- pytest_depr_from_parent.patch | 60 +++++++++++++++++++++++++++++++++++ python-SQLAlchemy.changes | 6 ++++ python-SQLAlchemy.spec | 7 +++- 3 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 pytest_depr_from_parent.patch diff --git a/pytest_depr_from_parent.patch b/pytest_depr_from_parent.patch new file mode 100644 index 0000000..8c9b30e --- /dev/null +++ b/pytest_depr_from_parent.patch @@ -0,0 +1,60 @@ +--- a/lib/sqlalchemy/testing/plugin/pytestplugin.py ++++ b/lib/sqlalchemy/testing/plugin/pytestplugin.py +@@ -162,16 +162,19 @@ def pytest_collection_modifyitems(sessio + if sub_cls is not test_class.cls: + per_cls_dict = rebuilt_items[test_class.cls] + +- # in pytest 5.4.0 +- # for inst in pytest.Class.from_parent( +- # test_class.parent.parent, name=sub_cls.__name__ +- # ).collect(): +- +- for inst in pytest.Class( +- sub_cls.__name__, parent=test_class.parent.parent +- ).collect(): +- for t in inst.collect(): +- per_cls_dict[t.name].append(t) ++ if hasattr(pytest.Class, "from_parent"): ++ # in pytest 5.4.0 ++ for inst in pytest.Class.from_parent( ++ test_class.parent.parent, name=sub_cls.__name__ ++ ).collect(): ++ for t in inst.collect(): ++ per_cls_dict[t.name].append(t) ++ else: ++ for inst in pytest.Class( ++ sub_cls.__name__, parent=test_class.parent.parent ++ ).collect(): ++ for t in inst.collect(): ++ per_cls_dict[t.name].append(t) + + newitems = [] + for item in items: +@@ -197,16 +200,17 @@ def pytest_pycollect_makeitem(collector, + if inspect.isclass(obj) and plugin_base.want_class(name, obj): + + # in pytest 5.4.0 +- # return [ +- # pytest.Class.from_parent(collector, +- # name=parametrize_cls.__name__) +- # for parametrize_cls in _parametrize_cls(collector.module, obj) +- # ] +- +- return [ +- pytest.Class(parametrize_cls.__name__, parent=collector) +- for parametrize_cls in _parametrize_cls(collector.module, obj) +- ] ++ if hasattr(pytest.Class, "from_parent"): ++ return [ ++ pytest.Class.from_parent(collector, ++ name=parametrize_cls.__name__) ++ for parametrize_cls in _parametrize_cls(collector.module, obj) ++ ] ++ else: ++ return [ ++ pytest.Class(parametrize_cls.__name__, parent=collector) ++ for parametrize_cls in _parametrize_cls(collector.module, obj) ++ ] + elif ( + inspect.isfunction(obj) + and isinstance(collector, pytest.Instance) diff --git a/python-SQLAlchemy.changes b/python-SQLAlchemy.changes index fe48d0d..2b60a07 100644 --- a/python-SQLAlchemy.changes +++ b/python-SQLAlchemy.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Oct 8 15:45:04 UTC 2020 - Matej Cepl + +- Add pytest_depr_from_parent.patch to fix FTBGS with pytest 6.* + (gh#sqlalchemy/sqlalchemy#5635) + ------------------------------------------------------------------- Thu Aug 20 12:00:42 UTC 2020 - Ondřej Súkup diff --git a/python-SQLAlchemy.spec b/python-SQLAlchemy.spec index d106e8f..1eadcb5 100644 --- a/python-SQLAlchemy.spec +++ b/python-SQLAlchemy.spec @@ -25,6 +25,9 @@ Summary: Database Abstraction Library License: MIT URL: https://www.sqlalchemy.org Source: https://files.pythonhosted.org/packages/source/S/SQLAlchemy/SQLAlchemy-%{version}.tar.gz +# PATCH-FIX-UPSTREAM pytest_depr_from_parent.patch gh#sqlalchemy/sqlalchemy#5635 mcepl@suse.com +# pytest >= 3.4.0 requires Class.from_parent call +Patch0: pytest_depr_from_parent.patch # devel is needed for optional C extensions cprocessors.so, cresultproxy.so and cutils.so BuildRequires: %{python_module devel} BuildRequires: %{python_module setuptools} @@ -65,6 +68,8 @@ reference for python-SQLAlchemy. %prep %setup -q -n SQLAlchemy-%{version} +%autopatch -p1 + rm -rf doc/build # Remove unnecessary scripts for building documentation sed -i 's/\r$//' examples/dynamic_dict/dynamic_dict.py @@ -77,7 +82,7 @@ export CFLAGS="%{optflags} -fno-strict-aliasing" %python_expand %fdupes %{buildroot}%{$python_sitearch} %check -%pytest -n auto +%pytest_arch -n auto %files %{python_files} %license LICENSE From 0d6fd6dc04230d8a1269ca0d2e437b22ca3b7d06e6fd1954a5a0287c479a985f Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Fri, 9 Oct 2020 13:52:28 +0000 Subject: [PATCH 2/3] - Replace pytest_depr_from_parent.patch with the upstream commit resolving same issue (gh#sqlalchemy/sqlalchemy#commit40cdb9c0bf4d). OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-SQLAlchemy?expand=0&rev=175 --- pytest_depr_from_parent.patch | 71 ++++++++++++++++------------------- python-SQLAlchemy.changes | 6 +++ 2 files changed, 39 insertions(+), 38 deletions(-) diff --git a/pytest_depr_from_parent.patch b/pytest_depr_from_parent.patch index 8c9b30e..0565ded 100644 --- a/pytest_depr_from_parent.patch +++ b/pytest_depr_from_parent.patch @@ -1,6 +1,22 @@ +From 40cdb9c0bf4db2af293f9d8669257294d8fc69f9 Mon Sep 17 00:00:00 2001 +From: Mike Bayer +Date: Sat, 26 Sep 2020 21:01:01 -0400 +Subject: [PATCH] Support pytest 6.x + +pytest has removed support for pytest.Class().collect() +and we need to use from_parent. + +Change-Id: Ia5fed9b22e76c99f71489283acee207f996f52a4 +(cherry picked from commit ffafbd4b9657a4ee8bec57c0861414144f37bdc5) +--- + lib/sqlalchemy/testing/plugin/pytestplugin.py | 21 +++++++------------ + 1 file changed, 7 insertions(+), 14 deletions(-) + +diff --git a/lib/sqlalchemy/testing/plugin/pytestplugin.py b/lib/sqlalchemy/testing/plugin/pytestplugin.py +index 079066d829..ad4ebb6565 100644 --- a/lib/sqlalchemy/testing/plugin/pytestplugin.py +++ b/lib/sqlalchemy/testing/plugin/pytestplugin.py -@@ -162,16 +162,19 @@ def pytest_collection_modifyitems(sessio +@@ -162,13 +162,10 @@ def pytest_collection_modifyitems(session, config, items): if sub_cls is not test_class.cls: per_cls_dict = rebuilt_items[test_class.cls] @@ -11,50 +27,29 @@ - - for inst in pytest.Class( - sub_cls.__name__, parent=test_class.parent.parent -- ).collect(): -- for t in inst.collect(): -- per_cls_dict[t.name].append(t) -+ if hasattr(pytest.Class, "from_parent"): -+ # in pytest 5.4.0 -+ for inst in pytest.Class.from_parent( -+ test_class.parent.parent, name=sub_cls.__name__ -+ ).collect(): -+ for t in inst.collect(): -+ per_cls_dict[t.name].append(t) -+ else: -+ for inst in pytest.Class( -+ sub_cls.__name__, parent=test_class.parent.parent -+ ).collect(): -+ for t in inst.collect(): -+ per_cls_dict[t.name].append(t) ++ # support pytest 5.4.0 and above pytest.Class.from_parent ++ ctor = getattr(pytest.Class, "from_parent", pytest.Class) ++ for inst in ctor( ++ name=sub_cls.__name__, parent=test_class.parent.parent + ).collect(): + for t in inst.collect(): + per_cls_dict[t.name].append(t) +@@ -196,15 +193,11 @@ def pytest_pycollect_makeitem(collector, name, obj): - newitems = [] - for item in items: -@@ -197,16 +200,17 @@ def pytest_pycollect_makeitem(collector, if inspect.isclass(obj) and plugin_base.want_class(name, obj): - # in pytest 5.4.0 +- # in pytest 5.4.0 - # return [ - # pytest.Class.from_parent(collector, - # name=parametrize_cls.__name__) - # for parametrize_cls in _parametrize_cls(collector.module, obj) - # ] -- -- return [ ++ # support pytest 5.4.0 and above pytest.Class.from_parent ++ ctor = getattr(pytest.Class, "from_parent", pytest.Class) + + return [ - pytest.Class(parametrize_cls.__name__, parent=collector) -- for parametrize_cls in _parametrize_cls(collector.module, obj) -- ] -+ if hasattr(pytest.Class, "from_parent"): -+ return [ -+ pytest.Class.from_parent(collector, -+ name=parametrize_cls.__name__) -+ for parametrize_cls in _parametrize_cls(collector.module, obj) -+ ] -+ else: -+ return [ -+ pytest.Class(parametrize_cls.__name__, parent=collector) -+ for parametrize_cls in _parametrize_cls(collector.module, obj) -+ ] ++ ctor(name=parametrize_cls.__name__, parent=collector) + for parametrize_cls in _parametrize_cls(collector.module, obj) + ] elif ( - inspect.isfunction(obj) - and isinstance(collector, pytest.Instance) diff --git a/python-SQLAlchemy.changes b/python-SQLAlchemy.changes index 2b60a07..865e28d 100644 --- a/python-SQLAlchemy.changes +++ b/python-SQLAlchemy.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Oct 9 13:02:39 UTC 2020 - Matej Cepl + +- Replace pytest_depr_from_parent.patch with the upstream commit resolving + same issue (gh#sqlalchemy/sqlalchemy#commit40cdb9c0bf4d). + ------------------------------------------------------------------- Thu Oct 8 15:45:04 UTC 2020 - Matej Cepl From ed31d819bbc9341b2ad2d7a71376537efac98c850d2a915f9259122e746913f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Tue, 20 Oct 2020 07:53:08 +0000 Subject: [PATCH 3/3] Accepting request 842694 from system:homeautomation:home-assistant:unstable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - added gpg pub key for source validation - Update to version 1.3.20 pytest_depr_from_parent.patch is obsolete again orm * An ArgumentError with more detail is now raised if the target parameter for Query.join() is set to an unmapped object. Prior to this change a less detailed AttributeError was raised. Pull request courtesy Ramon Williams. References: #4428 * Fixed issue where using a loader option against a string attribute name that is not actually a mapped attribute, such as a plain Python descriptor, would raise an uninformative AttributeError; a descriptive error is now raised. References: #4589 engine * Fixed issue where a non-string object sent to SQLAlchemyError or a subclass, as occurs with some third party dialects, would fail to stringify correctly. Pull request courtesy Andrzej Bartosiński. References: #5599 * Repaired a function-level import that was not using SQLAlchemy’s standard late-import system within the sqlalchemy.exc module. References: #5632 sql * Fixed issue where the pickle.dumps() operation against Over construct would produce a recursion overflow. References: #5644 * Fixed bug where an error was not raised in the case where a column() were added to more than one table() at a time. This raised correctly for the Column and Table objects. An ArgumentError is now raised when this occurs. References: #5618 postgresql * The psycopg2 dialect now support PostgreSQL multiple host connections, by passing host/port combinations to the query string. OBS-URL: https://build.opensuse.org/request/show/842694 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-SQLAlchemy?expand=0&rev=176 --- SQLAlchemy-1.3.19.tar.gz | 3 -- SQLAlchemy-1.3.20.tar.gz | 3 ++ SQLAlchemy.keyring | 37 +++++++++++++++++ pytest_depr_from_parent.patch | 55 ------------------------ python-SQLAlchemy.changes | 78 +++++++++++++++++++++++++++++++++++ python-SQLAlchemy.spec | 7 +--- 6 files changed, 120 insertions(+), 63 deletions(-) delete mode 100644 SQLAlchemy-1.3.19.tar.gz create mode 100644 SQLAlchemy-1.3.20.tar.gz create mode 100644 SQLAlchemy.keyring delete mode 100644 pytest_depr_from_parent.patch diff --git a/SQLAlchemy-1.3.19.tar.gz b/SQLAlchemy-1.3.19.tar.gz deleted file mode 100644 index 2fd7fb6..0000000 --- a/SQLAlchemy-1.3.19.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3bba2e9fbedb0511769780fe1d63007081008c5c2d7d715e91858c94dbaa260e -size 6197860 diff --git a/SQLAlchemy-1.3.20.tar.gz b/SQLAlchemy-1.3.20.tar.gz new file mode 100644 index 0000000..8a6fdc8 --- /dev/null +++ b/SQLAlchemy-1.3.20.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2f25c7f410338d31666d7ddedfa67570900e248b940d186b48461bd4e5569a1 +size 6264898 diff --git a/SQLAlchemy.keyring b/SQLAlchemy.keyring new file mode 100644 index 0000000..6579ea1 --- /dev/null +++ b/SQLAlchemy.keyring @@ -0,0 +1,37 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +5qf+DkoAGJ5NzOVT +=lWzK +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pytest_depr_from_parent.patch b/pytest_depr_from_parent.patch deleted file mode 100644 index 0565ded..0000000 --- a/pytest_depr_from_parent.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 40cdb9c0bf4db2af293f9d8669257294d8fc69f9 Mon Sep 17 00:00:00 2001 -From: Mike Bayer -Date: Sat, 26 Sep 2020 21:01:01 -0400 -Subject: [PATCH] Support pytest 6.x - -pytest has removed support for pytest.Class().collect() -and we need to use from_parent. - -Change-Id: Ia5fed9b22e76c99f71489283acee207f996f52a4 -(cherry picked from commit ffafbd4b9657a4ee8bec57c0861414144f37bdc5) ---- - lib/sqlalchemy/testing/plugin/pytestplugin.py | 21 +++++++------------ - 1 file changed, 7 insertions(+), 14 deletions(-) - -diff --git a/lib/sqlalchemy/testing/plugin/pytestplugin.py b/lib/sqlalchemy/testing/plugin/pytestplugin.py -index 079066d829..ad4ebb6565 100644 ---- a/lib/sqlalchemy/testing/plugin/pytestplugin.py -+++ b/lib/sqlalchemy/testing/plugin/pytestplugin.py -@@ -162,13 +162,10 @@ def pytest_collection_modifyitems(session, config, items): - if sub_cls is not test_class.cls: - per_cls_dict = rebuilt_items[test_class.cls] - -- # in pytest 5.4.0 -- # for inst in pytest.Class.from_parent( -- # test_class.parent.parent, name=sub_cls.__name__ -- # ).collect(): -- -- for inst in pytest.Class( -- sub_cls.__name__, parent=test_class.parent.parent -+ # support pytest 5.4.0 and above pytest.Class.from_parent -+ ctor = getattr(pytest.Class, "from_parent", pytest.Class) -+ for inst in ctor( -+ name=sub_cls.__name__, parent=test_class.parent.parent - ).collect(): - for t in inst.collect(): - per_cls_dict[t.name].append(t) -@@ -196,15 +193,11 @@ def pytest_pycollect_makeitem(collector, name, obj): - - if inspect.isclass(obj) and plugin_base.want_class(name, obj): - -- # in pytest 5.4.0 -- # return [ -- # pytest.Class.from_parent(collector, -- # name=parametrize_cls.__name__) -- # for parametrize_cls in _parametrize_cls(collector.module, obj) -- # ] -+ # support pytest 5.4.0 and above pytest.Class.from_parent -+ ctor = getattr(pytest.Class, "from_parent", pytest.Class) - - return [ -- pytest.Class(parametrize_cls.__name__, parent=collector) -+ ctor(name=parametrize_cls.__name__, parent=collector) - for parametrize_cls in _parametrize_cls(collector.module, obj) - ] - elif ( diff --git a/python-SQLAlchemy.changes b/python-SQLAlchemy.changes index 865e28d..aeb7d73 100644 --- a/python-SQLAlchemy.changes +++ b/python-SQLAlchemy.changes @@ -1,3 +1,81 @@ +------------------------------------------------------------------- +Mon Oct 19 07:04:45 UTC 2020 - Adrian Schröter + +- added gpg pub key for source validation +- Update to version 1.3.20 + pytest_depr_from_parent.patch is obsolete again + orm + * An ArgumentError with more detail is now raised if the target + parameter for Query.join() is set to an unmapped object. Prior + to this change a less detailed AttributeError was raised. Pull + request courtesy Ramon Williams. References: #4428 + + * Fixed issue where using a loader option against a string attribute + name that is not actually a mapped attribute, such as a plain + Python descriptor, would raise an uninformative AttributeError; + a descriptive error is now raised. References: #4589 + + engine + * Fixed issue where a non-string object sent to SQLAlchemyError or a + subclass, as occurs with some third party dialects, would fail to + stringify correctly. Pull request courtesy Andrzej Bartosiński. + References: #5599 + + * Repaired a function-level import that was not using SQLAlchemy’s + standard late-import system within the sqlalchemy.exc module. + References: #5632 + + sql + * Fixed issue where the pickle.dumps() operation against Over construct + would produce a recursion overflow. References: #5644 + + * Fixed bug where an error was not raised in the case where a column() + were added to more than one table() at a time. This raised correctly + for the Column and Table objects. An ArgumentError is now raised when + this occurs. References: #5618 + + postgresql + * The psycopg2 dialect now support PostgreSQL multiple host connections, + by passing host/port combinations to the query string. + References: #4392 + + * Adjusted the Comparator.any() and Comparator.all() methods to implement + a straight “NOT” operation for negation, rather than negating the + comparison operator. References: #5518 + + * Fixed issue where the ENUM type would not consult the schema translate + map when emitting a CREATE TYPE or DROP TYPE during the test to see if + the type exists or not. Additionally, repaired an issue where if the + same enum were encountered multiple times in a single DDL sequence, + the “check” query would run repeatedly rather than relying upon a cached value. + References: #5520 + + mysql + * Adjusted the MySQL dialect to correctly parenthesize functional index + expressions as accepted by MySQL 8. Pull request courtesy Ramon Williams. + References: #5462 + + * The “skip_locked” keyword used with with_for_update() will emit a warning + when used on MariaDB backends, and will then be ignored. This is a + deprecated behavior that will raise in SQLAlchemy 1.4, as an application + that requests “skip locked” is looking for a non-blocking operation which + is not available on those backends. + References: #5568 + + * Fixed bug where an UPDATE statement against a JOIN using MySQL multi-table + format would fail to include the table prefix for the target table if the + statement had no WHERE clause, as only the WHERE clause were scanned to + detect a “multi table update” at that particular point. The target is now + also scanned if it’s a JOIN to get the leftmost table as the primary table + and the additional entries as additional FROM entries. + References: #5617 + + * Add new MySQL reserved words: cube, lateral added in MySQL 8.0.1 and 8.0.14, + respectively; this indicates that these terms will be quoted if used as table + or column identifier names. + References: #5539 + + ------------------------------------------------------------------- Fri Oct 9 13:02:39 UTC 2020 - Matej Cepl diff --git a/python-SQLAlchemy.spec b/python-SQLAlchemy.spec index 1eadcb5..a845072 100644 --- a/python-SQLAlchemy.spec +++ b/python-SQLAlchemy.spec @@ -19,15 +19,13 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define oldpython python Name: python-SQLAlchemy -Version: 1.3.19 +Version: 1.3.20 Release: 0 Summary: Database Abstraction Library License: MIT URL: https://www.sqlalchemy.org Source: https://files.pythonhosted.org/packages/source/S/SQLAlchemy/SQLAlchemy-%{version}.tar.gz -# PATCH-FIX-UPSTREAM pytest_depr_from_parent.patch gh#sqlalchemy/sqlalchemy#5635 mcepl@suse.com -# pytest >= 3.4.0 requires Class.from_parent call -Patch0: pytest_depr_from_parent.patch +Source1: SQLAlchemy.keyring # devel is needed for optional C extensions cprocessors.so, cresultproxy.so and cutils.so BuildRequires: %{python_module devel} BuildRequires: %{python_module setuptools} @@ -68,7 +66,6 @@ reference for python-SQLAlchemy. %prep %setup -q -n SQLAlchemy-%{version} -%autopatch -p1 rm -rf doc/build # Remove unnecessary scripts for building documentation sed -i 's/\r$//' examples/dynamic_dict/dynamic_dict.py