From 8e13b6ee93db016cfa440598c03ebc7cd432794ff1340f940f246b0902ad031c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Thu, 7 Nov 2024 10:42:10 +0000 Subject: [PATCH] - Update to 6.1 * Add final support for Python 3.13. - Adjust upstream source name in spec file - Drop unnecessary removal of egg-info from %setup section - Fix missing version contraint for Obsoletes - Switch build system from setuptools to pyproject.toml * Add python-pip and python-wheel to BuildRequires * Replace %python_build with %pyproject_wheel * Replace %python_install with %pyproject_install OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-BTrees?expand=0&rev=40 --- .gitattributes | 23 +++ .gitignore | 1 + BTrees-6.0.tar.gz | 3 + btrees-6.1.tar.gz | 3 + python-BTrees.changes | 346 ++++++++++++++++++++++++++++++++++++++++++ python-BTrees.spec | 90 +++++++++++ 6 files changed, 466 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 BTrees-6.0.tar.gz create mode 100644 btrees-6.1.tar.gz create mode 100644 python-BTrees.changes create mode 100644 python-BTrees.spec 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/BTrees-6.0.tar.gz b/BTrees-6.0.tar.gz new file mode 100644 index 0000000..c445220 --- /dev/null +++ b/BTrees-6.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f69b8cdd33434e13e180216bb82ae0b7cd31fadfb7cc559695cb37319ca35ff0 +size 245186 diff --git a/btrees-6.1.tar.gz b/btrees-6.1.tar.gz new file mode 100644 index 0000000..b8fed08 --- /dev/null +++ b/btrees-6.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e18746f8641869a20f45328c9b5f97dc6c71a1195960356aef63b75f5c8d445f +size 244735 diff --git a/python-BTrees.changes b/python-BTrees.changes new file mode 100644 index 0000000..30887c1 --- /dev/null +++ b/python-BTrees.changes @@ -0,0 +1,346 @@ +------------------------------------------------------------------- +Thu Nov 7 08:30:45 UTC 2024 - John Paul Adrian Glaubitz + +- Update to 6.1 + * Add final support for Python 3.13. +- Adjust upstream source name in spec file +- Drop unnecessary removal of egg-info from %setup section +- Fix missing version contraint for Obsoletes +- Switch build system from setuptools to pyproject.toml + * Add python-pip and python-wheel to BuildRequires + * Replace %python_build with %pyproject_wheel + * Replace %python_install with %pyproject_install + +------------------------------------------------------------------- +Thu Jun 6 07:53:19 UTC 2024 - Dirk Müller + +- update to 6.0: + * Drop support for Python 3.7. + * Build Windows wheels on GHA. + +------------------------------------------------------------------- +Sat Apr 20 13:32:09 UTC 2024 - Dirk Müller + +- update to 5.2: + * Add preliminary support for Python 3.13 as of 3.13a3. + +------------------------------------------------------------------- +Thu Nov 2 23:38:51 UTC 2023 - Matej Cepl + +- Update to 5.1: + * Drop using setup_requires due to constant problems on GHA. + * Add support for Python 3.12. + +------------------------------------------------------------------- +Fri Jun 9 13:17:17 UTC 2023 - ecsos + +- Add %{?sle15_python_module_pythons} + +------------------------------------------------------------------- +Thu Feb 16 21:05:56 UTC 2023 - Dirk Müller + +- update to 5.0: + * Build Linux binary wheels for Python 3.11. + * Drop support for Python 2.7, 3.5, 3.6. + +------------------------------------------------------------------- +Mon Jan 2 14:27:52 UTC 2023 - Dirk Müller + +- update to 4.11.3: + * point release to rebuild full set of wheels + * We no longer provide 32bit wheels for the Windows platform, only x86_64. + +------------------------------------------------------------------- +Sun Nov 6 17:30:11 UTC 2022 - Hans-Peter Jansen + +- version update to 4.11.0 (2022-11-03): + * Add support for Python 3.11. +- version update to 4.10.1 (2022-09-12): + * Disable unsafe math optimizations in C code. (#184) +- version update to 4.10.0 (2022-03-09): + * Add support for Python 3.10. +- version update to 4.9.2 (2021-06-09): + * Fix fsBTree.TreeSet and fsBTree.BTree raising SystemError. See + issue 170. + * Fix all the fsBTree objects to provide the correct interfaces + and be instances of the appropriate collection ABCs. This was + done for the other modules in release 4.8.0. + * Fix the multiunion, union, intersection, and difference + functions when used with arbitrary iterables. Previously, the + iterable had to be pre-sorted, meaning only sequences like list + and tuple could reliably be used; this was not documented + though. If the iterable wasn’t sorted, the function would + produce garbage output. Now, if the function detects an + arbitrary iterable, it automatically sorts a copy. +- version update to 4.9.1 (2021-05-27): + * Fix setting unknown class attributes on subclasses of BTrees + when using the C extension. This prevented subclasses from + being decorated with @component.adapter(). See issue 168. +- version update to 4.9.0 (2021-05-26): + * Fix the C implementation to match the Python implementation and + allow setting custom node sizes for an entire application + directly by changing BTree.max_leaf_size and + BTree.max_internal_size attributes, without having to create a + new subclass. These attributes can now also be read from the + classes in the C implementation. See issue 166. + * Add various small performance improvements for storing + zope.interface attributes on BTree and TreeSet as well as + deactivating persistent objects from this package. +- disable more tests, that suffer from the same problem as + testPurePython + +------------------------------------------------------------------- +Thu Jan 13 07:09:07 UTC 2022 - Matej Cepl + +- Add missing Provides + +------------------------------------------------------------------- +Tue May 18 07:13:46 UTC 2021 - pgajdos@suse.com + +- version update to 4.8.0 + * Make Python 2 forbid the use of type objects as keys (unless a + custom metaclass is used that implements comparison as required by + BTrees.) On Python 3, types are not orderable so they were already + forbidden, but on Python 2 types can be ordered by memory address, + which makes them unsuitable for use as keys. See `issue + `_. + * Make the ``multiunion``, ``union``, ``intersection``, and + ``difference`` functions accept arbitrary Python iterables (that + iterate across the correct types). Previously, the Python + implementation allowed this, but the C implementation only allowed + objects (like ``TreeSet`` or ``Bucket``) defined in the same module + providing the function. See `issue 24 + `_. + * Fix persistency bug in the Python version + (`#118 `_). + * Fix ``Tree.__setstate__`` to no longer accept children besides + tree or bucket types to prevent crashes. See `PR 143 + `_ for details. + * Make BTrees, TreeSet, Set and Buckets implements the ``__and__``, + ``__or__`` and ``__sub__`` special methods as shortcuts for + ``BTrees.Interfaces.IMerge.intersection``, + ``BTrees.Interfaces.IMerge.union`` and + ``BTrees.Interfaces.IMerge.difference``. + * Add support for Python 3.9. + * Build and upload aarch64 wheels. + * Make a value of ``0`` in the ``PURE_PYTHON`` environment variable + require the C extensions (except on PyPy). Previously, and if this + variable is unset, missing or unusable C extensions would be + silently ignored. With this variable set to ``0``, an + ``ImportError`` will be raised if the C extensions are unavailable. + See `issue 156 + `_. + * Make the BTree objects (``BTree``, ``TreeSet``, ``Set``, ``Bucket``) + of each module actually provide the interfaces defined in + ``BTrees.Interfaces``. Previously, they provided no interfaces. + * Make all the BTree and Bucket objects instances of + ``collections.abc.MutableMapping`` (that is, ``isinstance(btree, + MutableMapping)`` is now true; no actual inheritance has changed). + As part of this, they now provide the ``popitem()`` method. + * Make all the TreeSet and Set objects instances of + ``collections.abc.MutableSet`` (that is, ``isinstance(tree_set, + MutableSet)`` is now true; no actual inheritance has changed). + As part of this, they now provide several more methods, including + ``isdisjoint``, ``discard``, and ``pop``, and support in-place + mutation operators such as ``tree_set |= other``, ``tree_set += + other``, ``tree_set -= other`` and ``tree_set ^= other``. See `issue + 121 `_. + * Update the definitions of ``ISized`` and ``IReadSequence`` to simply + be ``zope.interface.common.collections.ISized`` and + ``zope.interface.common.sequence.IMinimalSequence`` respectively. + * Remove the ``__nonzero__`` interface method from ``ICollection``. No + objects actually implemented such a method; instead, the boolean value + is typically taken from ``__len__``. + * Adjust the definition of ``ISet`` to produce the same resolution + order under the C3 and legacy orderings. This means that the legacy + order has changed slightly, but that this package emits no warnings + when ``ZOPE_INTERFACE_LOG_CHANGED_IRO=1``. Note that the legacy + order was not being used for these objects because the C3 ordering + was still consistent; it could only be obtained using + ``ZOPE_INTERFACE_USE_LEGACY_IRO=1``. See `PR 159 + `_ for all the + interface updates. + * Fix the ``get``, ``setdefault`` and ``pop`` methods, as well as the + ``in`` operator, to not suppress ``POSKeyError`` if the object or + subobjects are corrupted. Previously, such errors were logged by + ZODB, but not propagated. See `issue 161 + `_. + +------------------------------------------------------------------- +Tue Apr 14 09:19:56 UTC 2020 - Tomáš Chvátal + +- Do not bother with documentation +- Update to 4.7.2: + * Fix more cases of C and Python inconsistency. + +------------------------------------------------------------------- +Wed Mar 25 16:00:38 UTC 2020 - Marketa Calabkova + +- update to 4.7.1 + * Ensure the interface resolution order of all objects is consistent. + See `issue 137 `_. + * Add unsigned variants of the trees. These use the initial "U" for + 32-bit data and "Q" for 64-bit data (for "quad", which is similar to + what the C ``printf`` function uses and the Python struct module + uses). + * Fix the value for ``BTrees.OIBTree.using64bits`` when using the pure Python + implementation (PyPy and when ``PURE_PYTHON`` is in the environment). + * Make the errors that are raised when values are out of range more + consistent between Python 2 and Python 3 and between 32-bit and + 64-bit variants. + * Make the Bucket types consistent with the BTree types as updated in + versions 4.3.2: Querying for keys with default comparisons or that + are not integers no longer raises ``TypeError``. + +------------------------------------------------------------------- +Mon Jan 13 14:30:27 UTC 2020 - Marketa Calabkova + +- update to 4.6.1 + * Add support for Python 3.8. + +------------------------------------------------------------------- +Mon Oct 14 11:43:03 UTC 2019 - Matej Cepl + +- Replace %fdupes -s with plain %fdupes; hardlinks are better. + +------------------------------------------------------------------- +Mon Aug 5 11:36:26 UTC 2019 - pgajdos@suse.com + +- version update to 4.6.0 + * Drop support for Python 3.4. + * Fix tests against persistent 4.4. + * Stop accidentally installing the 'terryfy' package in macOS wheels. + See `issue 98 + `_. + * Fix segmentation fault in ``bucket_repr()``. See + `issue 106 `_. + +------------------------------------------------------------------- +Sun Feb 10 11:14:42 UTC 2019 - John Vandenberg + +- Update to v4.5.1 + + Use pyproject.toml to specify build dependencies. This requires pip + 18 or later to build from source. +- 4.5.0 + + Add support for Python 3.6 and 3.7, and drop support for Python 3.3. + + Raise an ``ImportError`` consistently on Python 3 if the C extension for + BTrees is used but the ``persistent`` C extension is not available. + Previously this could result in an odd ``AttributeError``. + + Fix the possibility of a rare crash in the C extension when + deallocating items. + + Respect the ``PURE_PYTHON`` environment variable at runtime even if + the C extensions are available. + + Always attempt to build the C extensions, but make their success + optional. + + Fix a ``DeprecationWarning`` that could come from I and L objects in + Python 2 in pure-Python mode. +- Use %license + +------------------------------------------------------------------- +Mon Jul 10 11:19:10 UTC 2017 - jengelh@inai.de + +- Fix duplicate summaries + +------------------------------------------------------------------- +Sat Jun 24 12:19:41 UTC 2017 - aloisio@gmx.com + +- Update to version 4.4.1 + * Fixed a packaging bug that caused extra files to be included + (some of which caused problems in some platforms). + 4.4.0: + * Allow None as a special key (sorted smaller than all others). + * This is a bit of a return to BTrees 3 behavior in that Nones + are allowed as keys again. Other objects with default ordering + are still not allowed as keys. + 4.3.2: + * Make the CPython implementation consistent with the + pure-Python implementation and only check object keys for + default comparison when setting keys. In Python 2 this makes it + possible to remove keys that were added using a less restrictive + version of BTrees. (In Python 3 keys that are unorderable still + cannot be removed.) Likewise, all versions can unpickle trees + that already had such keys. See: + https://github.com/zopefoundation/BTrees/issues/53 and + https://github.com/zopefoundation/BTrees/issues/51 + * Make the Python implementation consistent with the CPython + implementation and check object key identity before checking + equality and performing comparisons. This can allow fixing trees + that have keys that now have broken comparison functions. See + https://github.com/zopefoundation/BTrees/issues/50 + * Make the CPython implementation consistent with the + pure-Python implementation and no longer raise TypeError for an + object key (in object-keyed trees) with default comparison on + __getitem__, get or in operations. Instead, the results will be + a KeyError, the default value, and False, respectively. + Previously, CPython raised a TypeError in those cases, while the + Python implementation behaved as specified. + * Likewise, non-integer keys in integer-keyed trees will raise + KeyError, return the default and return False, respectively, in + both implementations. Previously, pure-Python raised a KeyError, + returned the default, and raised a TypeError, while CPython + raised TypeError in all three cases. + 4.3.1: + * Packaging: fix password used to automate wheel creation on + Travis. + 4.3.0: + * Fix unexpected OverflowError when passing 64bit values to + long keys / values on Win64. See: + https://github.com/zopefoundation/BTrees/issues/32 + * When testing PURE_PYTHON environments under tox, avoid + poisoning the user’s global wheel cache. + * Ensure that the pure-Python implementation, used on PyPy and + when a C compiler isn’t available for CPython, pickles + identically to the C version. Unpickling will choose the best + available implementation. This change prevents interoperability + problems and database corruption if both implementations are in + use. While it is no longer possible to pickle a Python + implementation and have it unpickle to the Python implementation + if the C implementation is available, existing Python pickles + will still unpickle to the Python implementation (until pickled + again). See: https://github.com/zopefoundation/BTrees/issues/19 + * Avoid creating invalid objects when unpickling empty BTrees + in a pure-Python environment. + * Drop support for Python 2.6 and 3.2. + 4.2.0: + * Add support for Python 3.5. + 4.1.4: + * Ensure that pure-Python Bucket and Set objects have a human + readable __repr__ like the C versions. + 4.1.3: + * Fix _p_changed when removing items from small pure-Python + BTrees/TreeSets and when adding items to small pure-Python Sets. + See: https://github.com/zopefoundation/BTrees/issues/13 + +- Converted to single-spec + +------------------------------------------------------------------- +Mon Apr 27 20:13:30 UTC 2015 - benoit.monin@gmx.fr + +- update to version 4.1.2: + * Suppress testing 64-bit values in OLBTrees on 32 bit machines. + * Fix _p_changed for small pure-Python BTrees. +- make the tests less verbose to avoid spamming the build log + +------------------------------------------------------------------- +Fri Feb 6 16:54:20 UTC 2015 - hpj@urpla.net + +- version 4.1.1 + + - 4.1.1 (2014-12-27) + Accomodate long values in pure-Python OLBTrees. + + - 4.1.0 (2014-12-26) + Add support for PyPy and PyPy3. + Add support for Python 3.4. + BTree subclasses can define max_leaf_size or max_internal_size to control + maximum sizes for Bucket/Set and BTree/TreeSet nodes. Detect integer overflow + on 32-bit machines correctly under Python 3. Update pure-Python and C trees / + sets to accept explicit None to indicate max / min value for minKey, maxKey. + PR #3) Update pure-Python trees / sets to accept explicit None to indicate + pen ranges for keys, values, items. (PR #3) + +------------------------------------------------------------------- +Fri Aug 2 19:21:24 UTC 2013 - hpj@urpla.net + +- version 4.0.8: initial build + diff --git a/python-BTrees.spec b/python-BTrees.spec new file mode 100644 index 0000000..183dbc4 --- /dev/null +++ b/python-BTrees.spec @@ -0,0 +1,90 @@ +# +# spec file for package python-BTrees +# +# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2015-2022 LISA GmbH, Bingen, Germany. +# +# 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-BTrees +Version: 6.1 +Release: 0 +Summary: Persistent B-tree object containers for Python +License: ZPL-2.1 +URL: https://github.com/zopefoundation/BTrees +Source: https://files.pythonhosted.org/packages/source/b/btrees/btrees-%{version}.tar.gz +BuildRequires: %{python_module devel >= 3.8} +BuildRequires: %{python_module persistent-devel >= 4.1.0} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module transaction} +BuildRequires: %{python_module wheel} +BuildRequires: %{python_module zope.interface} +BuildRequires: %{python_module zope.testrunner} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-persistent >= 4.1.0 +Requires: python-zope.interface +Provides: %{name}-doc = %{version}-%{release} +Obsoletes: %{name}-doc < %{version}-%{release} +%python_subpackages + +%description +This package contains a generic BTrees implementation for Python. It is +mainly used by the ZODB, though. + +Note that the data manager API, BTrees.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 +BTrees.tests.test_SampleDataManager. + +%package devel +Summary: Development files for the python-BTrees module +Requires: %{name} = %{version} + +%description devel +This package contains the files needed for binding the %{name} C module. + +%prep +%setup -q -n btrees-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install +%{python_expand rm %{buildroot}%{$python_sitearch}/BTrees/*.c + %fdupes %{buildroot}%{$python_sitearch} +} + +%check +# the failing tests would require this step which setup.py test did: +#%%{python_expand cp build/lib.linux-*/BTrees/*.so src/BTrees/} +# it can be overcome with --import-mode=append +%pytest_arch -k 'not testPurePython and not testSubclassesCanHaveAttributes and not testCannotSetArbitraryAttributeOnBase' + +%files %{python_files} +%doc CHANGES.rst README.rst PKG-INFO +%license COPYRIGHT.txt LICENSE.txt +%exclude %{python_sitearch}/BTrees/*.h +%{python_sitearch}/BTrees +%{python_sitearch}/BTrees-%{version}*-info + +%files %{python_files devel} +%{python_sitearch}/BTrees/*.h + +%changelog