From 694abefb717062346aceab2d074d8e32c95282d0885cb3ee3f1466f14a9b84bf Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Mon, 28 Oct 2024 22:11:31 +0000 Subject: [PATCH] - update to 5.0: * Add final support for Python 3.13. * Drop support for Python 3.7. * Drop support for Python 2.7, 3.5, 3.6. * Drop support for deprecated python setup.py test.. * Add support for Python 3.12. * Add preliminary support for Python 3.13a2. * Add support for Python 3.9, 3.10, 3.11. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-transaction?expand=0&rev=47 --- .gitattributes | 23 +++ .gitignore | 1 + python-transaction.changes | 286 +++++++++++++++++++++++++++++++++++++ python-transaction.spec | 70 +++++++++ transaction-3.0.1.tar.gz | 3 + transaction-5.0.tar.gz | 3 + 6 files changed, 386 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 python-transaction.changes create mode 100644 python-transaction.spec create mode 100644 transaction-3.0.1.tar.gz create mode 100644 transaction-5.0.tar.gz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/python-transaction.changes b/python-transaction.changes new file mode 100644 index 0000000..bae9014 --- /dev/null +++ b/python-transaction.changes @@ -0,0 +1,286 @@ +------------------------------------------------------------------- +Mon Oct 28 22:11:22 UTC 2024 - Dirk Müller + +- update to 5.0: + * Add final support for Python 3.13. + * Drop support for Python 3.7. + * Drop support for Python 2.7, 3.5, 3.6. + * Drop support for deprecated python setup.py test.. + * Add support for Python 3.12. + * Add preliminary support for Python 3.13a2. + * Add support for Python 3.9, 3.10, 3.11. + +------------------------------------------------------------------- +Fri Jun 9 13:18:19 UTC 2023 - ecsos + +- Add %{?sle15_python_module_pythons} + +------------------------------------------------------------------- +Wed Apr 20 07:35:20 UTC 2022 - pgajdos@suse.com + +- do not require python-mock for build + +------------------------------------------------------------------- +Wed Jan 13 14:19:23 UTC 2021 - pgajdos@suse.com + +- version update to 3.0.1 + - Exception raised by a before commit hook is no longer hidden. No + further commit hooks are called and exception is propagated to + the caller of ``commit()``. See + `#95 `_. +- use %pytest macro + +------------------------------------------------------------------- +Mon May 4 10:44:06 UTC 2020 - Tomáš Chvátal + +- Do not be quiet on test run + +------------------------------------------------------------------- +Wed Mar 11 10:23:03 UTC 2020 - pgajdos@suse.com + +- version update to 3.0.0 + - Drop support for Python 3.4. + - Add support for Python 3.8. + - Drop support for legacy transaction APIs including + ``Transaction.register()`` and old ZODB3-style datamanagers. See + `issue 89 + `_. + - ``TransactionManager.run`` now commits/aborts the transaction + "active" after the execution of *func* (and no longer the initial + transaction which might already have been committed/aborted by *func*) + (`#58 `_). + It aborts the transaction now for all exceptions raised by *func* - even + if it is only an instance of `BaseException` but not of `Exception`, + such as e.g. a ``SystemExit`` or ``KeyboardInterupt`` exception. + - Support abort hooks (symmetrically to commit hooks) + (`#77 `_). + - Make Transaction drop references to its hooks, manager, + synchronizers and data after a successful ``commit()`` and after + *any* ``abort()``. This helps avoid potential cyclic references. See + `issue 82 `_. + - Allow synchronizers to access ``Transaction.data()`` when their + ``afterCompletion`` method is called while aborting a transaction. + - Make it safe to call ``Transaction.abort()`` more than once. The + second and subsequent calls are no-ops. Previously a + ``ValueError(Foreign transaction)`` would be raised. + +------------------------------------------------------------------- +Mon Oct 14 14:47:30 UTC 2019 - Matej Cepl + +- Replace %fdupes -s with plain %fdupes; hardlinks are better. + +------------------------------------------------------------------- +Mon Mar 4 15:53:44 UTC 2019 - Tomáš Chvátal + +- Update to 2.4.0: + * add support for python 3.7 + * many small fixes and test improvements + * For more see CHANGES.rst + +------------------------------------------------------------------- +Sat Jun 24 11:52:07 UTC 2017 - aloisio@gmx.com + +- Update to version 2.1.2 + * To avoid leaking memory, don’t include unexpected value in + warnings about non-text transaction meta data. + 2.1.1: + * For backward compatibility, relax the requirements that + transaction meta data (user or description) be text: + + If None is assigned, the assignment is ignored. + + If a non-text value is assigned, a warning is issued and + the value is converted to text. If the value is a binary + string, it will be decoded with the UTF-8 encoding the + replace error policy. + 2.1.0: + * Added a transaction-manager explicit mode. Explicit mode makes + some kinds of application bugs easier to detect and potentially + allows data managers to manage resources more efficiently. + (This addresses + https://github.com/zopefoundation/transaction/issues/35.) + 2.0.3: + * The user and description fields must now be set with text + (unicode) data. Previously, if bytes were provided, they’d be + decoded as ASCII. It was decided that this would lead to bugs + that were hard to test for. + * Also, the transaction meta-data field, extended_info has + been renamed to extension. + 2.0.2: + * Fixed: Some legacy applications expect the transaction + _extension attribute to be mutable and it wasn’t. + 2.0.1: + * The transaction user and description attributes are now + defined to be text (unicode) as opposed to Python the str + type. + * Added the extended_info transaction attribute which contains + transaction meta data. (The _extension attribute is retained + as an alias for backward compatibility.) + * The transaction interface, ITransaction, now requires + extended_info keys to be text (unicode) and values to be + JSON-serializable. + * Removed setUser from ITransaction. We’ll keep the method + indefinitely, but it’s unseemly in ITransaction. :) + The main purpose of these changes is to tighten up the text + specification of user, description and extended_info keys, and + to give us more flexibility in the future for serializing + extended info. It’s possible that these changes will be + breaking, so we’re also increasing the major version number. + 1.7.0: + * Added a transaction-manager run method for running a + function as a transaction, retrying as necessary on transient + errors. + * Fixed the transaction manager attempts method. It didn’t + stop repeating when there wasn’t an error. + * Corrected ITransaction by removing beforeCommitHook (which + is no longer implemented) and removing ‘self’ from two methods. + 1.6.1: + * Fixed: Synchonizers that registered with transaction + managers when transactions were in progress didn’t have their + newTransaction methods called to let them know of the + in-progress transactions. + 1.6.0: + * New transaction API for storing data on behalf of objects, + such as data managers. + * Drop references to data managers joined to a transaction + when it is committed or aborted. + 1.5.0: + * Drop support for Python 2.6 and 3.2. + * Add support for Python 3.5. + * Added APIs for interogating and clearing internal state to + support client tests. + 1.4.4: + * Use the standard valuerefs() method rather than relying on + implementation details of WeakValueDictionary in WeakSet. + * Add support for PyPy3. + * Require 100% branch coverage (in addition to 100% statement + coverage). + +- Converted to single-spec + +------------------------------------------------------------------- +Thu May 14 09:56:45 UTC 2015 - benoit.monin@gmx.fr + +- update to version 1.4.3: + * Added support for Python 3.4. + * release 1.4.2 (skipped) +- switch the source archive to tar.gz +- pass -q to the test to avoid spamming the build log + +------------------------------------------------------------------- +Fri Aug 2 18:27:32 UTC 2013 - hpj@urpla.net + +- Update to 1.4.1 version: + * Document that values returned by sortKey must be strings, in order + to guarantee total ordering. + * Fix occasional RuntimeError: dictionary changed size during iteration + errors in transaction.weakset on Python 3. + +- Generate and install documentation in separate package +- Run tests + +------------------------------------------------------------------- +Tue Jan 15 15:52:04 UTC 2013 - p.drouand@gmail.com + +- Initial python3 support + +------------------------------------------------------------------- +Tue Jan 15 15:49:33 UTC 2013 - p.drouand@gmail.com + +- Update to 1.4.0 version: + * Updated Trove classifiers. + +------------------------------------------------------------------- +Tue Jan 15 15:48:03 UTC 2013 - p.drouand@gmail.com + +- Update to 1.4.0b1 version: + * Converted existing doctests into Sphinx documentation (snippets + are exercised via 'tox'). + * 100% unit test coverage. + * Backward incompatibility: raise ValueError rather than AssertionError + for runtime errors: + - In Transaction.doom if the transaction is in a non-doomable state. + - In TransactionManager.attempts if passed a non-positive value. + - In TransactionManager.free if passed a foreign transaction. + * Declared support for Python 3.3 in setup.py, and added tox testing. + * When a non-retryable exception was raised as the result of a call to + transaction.manager.commit within the "attempts" machinery, the exception + was not reraised properly. Symptom: an unrecoverable exception such as + Unsupported: Storing blobs in is not supported. would be + swallowed inappropriately. + +------------------------------------------------------------------- +Wed Jun 6 16:07:36 UTC 2012 - os-dev@jacraig.com + +- Update to 1.3.0: + * Added Sphinx API docuementation. + * Added explicit support for PyPy. + * Dropped use of Python3-incompatible zope.interface.implements class advisor + in favor of zope.interface.implementer class decorator. + * Added support for continuous integration using tox and jenkins. + * Added setup.py docs alias (installs Sphinx and dependencies). + * Added setup.py dev alias (runs setup.py develop plus installs nose and + coverage). + * Python 3.3 compatibility. + * Fix "for attempt in transaction.attempts(x)" machinery, which would not + retry a transaction if its implicit call to .commit() itself raised a + transient error. Symptom: seeing conflict errors even though you thought + you were retrying some number of times via the "attempts" machinery (the + first attempt to generate an exception during commit would cause that + exception to be raised). + +------------------------------------------------------------------- +Tue Feb 28 09:08:33 UTC 2012 - saschpe@suse.de + +- Fix SLE_11 build by actually BuildRequiring python-devel + +------------------------------------------------------------------- +Wed Feb 1 14:52:12 UTC 2012 - saschpe@suse.de + +- Update to version 1.2.0: + * Python 3.2 compatibility. + * Dropped Python 2.4 and 2.5 compatibility +- Set license to SPDX style (ZPL-2.1) +- Ran spec-cleaner + +------------------------------------------------------------------- +Mon Oct 11 10:00:37 UTC 2010 - coolo@novell.com + +- update to 1.1.1 + * Code in ``_transaction.py`` held on to local references to traceback + objects after calling ``sys.exc_info()`` to get one, causing + potential reference leakages. + * Fixed ``hexlify`` NameError in ``transaction._transaction.oid_repr`` + and add test. + +------------------------------------------------------------------- +Tue Sep 14 08:54:35 UTC 2010 - coolo@novell.com + +- make it noarch for > 11.2 + +------------------------------------------------------------------- +Wed Jul 21 12:23:50 UTC 2010 - cfarrell@novell.com + +- Updated to 1.1.0 + New Features: + - Transaction managers and the transaction module can be used with the + with statement to define transaction boundaries + - There is a new iterator function that automates dealing with + transient errors (such as ZODB confict errors). + Bugs fixed: + - Fixed a bug that caused extra commit calls to be made on data + managers under certain special circumstances. + - When threads were reused, transaction data could leak accross them, + causing subtle application bugs. +- Fixed zopeinterface require as per bnc#623255 +- Added %doc section + +------------------------------------------------------------------- +Thu Jun 17 11:11:43 UTC 2010 - hvogel@novell.com + +- Prepare specfile for factory submission + o pass CFLAGS + o use the standard modname + +------------------------------------------------------------------- +Wed Mar 04 12:00:00 UTC 2009 - cfarrell1980@gmail.com + +- Initial package, version 1.0a1 diff --git a/python-transaction.spec b/python-transaction.spec new file mode 100644 index 0000000..69df9c2 --- /dev/null +++ b/python-transaction.spec @@ -0,0 +1,70 @@ +# +# spec file for package python-transaction +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +Name: python-transaction +Version: 5.0 +Release: 0 +Summary: Transaction management for Python +License: ZPL-2.1 +URL: https://github.com/zopefoundation/transaction +Source: https://files.pythonhosted.org/packages/source/t/transaction/transaction-%{version}.tar.gz +BuildRequires: %{python_module pip} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-zope.interface +BuildArch: noarch +# SECTION Test requirements +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module zope.interface} +# /SECTION +%python_subpackages + +%description +This package contains a generic transaction implementation for Python. It is +mainly used by the ZODB, though. + +Note that the data manager API, transaction.interfaces.IDataManager, is +syntactically simple, but semantically complex. The semantics were not easy to +express in the interface. This could probably use more work. The semantics are +presented in detail through examples of a sample data manager in +transaction.tests.test_SampleDataManager. + +%prep +%autosetup -p1 -n transaction-%{version} +rm -rf transaction.egg-info + +%build +%pyproject_wheel + +%install +%pyproject_install +%python_expand %fdupes %{buildroot}%{$python_sitelib} + +%check +%pytest + +%files %{python_files} +%license LICENSE.txt +%doc CHANGES.rst COPYRIGHT.txt README.rst +%{python_sitelib}/transaction +%{python_sitelib}/transaction-%{version}.dist-info + +%changelog diff --git a/transaction-3.0.1.tar.gz b/transaction-3.0.1.tar.gz new file mode 100644 index 0000000..684255b --- /dev/null +++ b/transaction-3.0.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0c15ef0b7ff3518357ceea75722a30d974c3f85e11aa5cec5d5a2b6a40cfcf68 +size 72934 diff --git a/transaction-5.0.tar.gz b/transaction-5.0.tar.gz new file mode 100644 index 0000000..6db9caa --- /dev/null +++ b/transaction-5.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:106e7bd782bcc0cb5119fc9225b0c9a71dfc53adb938be905223adaef22b1174 +size 87121