- update to 18.1.11:
* WARNING - BREAKING CHANGE: Drop support for Python 3.8. This breaking change should usually require a major and/or minor number update. Since berkeleydb traditional numbering is related to the higher Oracle Berkeley DB supported, I would usually wait until Oracle releases a new version to upgrade my own version and deprecate old Python support at the same time. Given that Oracle has not released a new Oracle Berkeley DB in almost five years, I must break this practice for now. I am sorry if this update breaks your Python 3.8 environment. In that case, please pin your berkeleydb installation to OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-berkeleydb?expand=0&rev=5
This commit is contained in:
commit
16e78b99be
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -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
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
3
berkeleydb-18.1.10.tar.gz
Normal file
3
berkeleydb-18.1.10.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:426341a16007a9002d987a6f4d97226f8eafffcb1a0488488053d38a3127c81a
|
||||||
|
size 298248
|
3
berkeleydb-18.1.11.tar.gz
Normal file
3
berkeleydb-18.1.11.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7454f560d2d1a0e5d0d5630a437f19926b68bc794eb161edea2cdc4b267cf574
|
||||||
|
size 174774
|
3
berkeleydb-18.1.8.tar.gz
Normal file
3
berkeleydb-18.1.8.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e1831a790bfd855740e5c12f952f19f646c269806cfc362775afd9878cf32557
|
||||||
|
size 294803
|
125
python-berkeleydb.changes
Normal file
125
python-berkeleydb.changes
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 19 12:52:51 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 18.1.11:
|
||||||
|
* WARNING - BREAKING CHANGE: Drop support for Python 3.8. This
|
||||||
|
breaking change should usually require a major and/or minor
|
||||||
|
number update. Since berkeleydb traditional numbering is
|
||||||
|
related to the higher Oracle Berkeley DB supported, I would
|
||||||
|
usually wait until Oracle releases a new version to upgrade
|
||||||
|
my own version and deprecate old Python support at the same
|
||||||
|
time. Given that Oracle has not released a new Oracle
|
||||||
|
Berkeley DB in almost five years, I must break this practice
|
||||||
|
for now. I am sorry if this update breaks your Python 3.8
|
||||||
|
environment. In that case, please pin your berkeleydb
|
||||||
|
installation to
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 9 06:33:55 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- update to 18.1.10:
|
||||||
|
* Since MS Windows is unsupported without community help, I
|
||||||
|
deleted some legacy code. It could be restored if there is
|
||||||
|
demand and some help to improve MS Windows support.
|
||||||
|
* New URL for :Oracle:`Oracle documentation <index.html>`.
|
||||||
|
* Now we also use Python Stable ABI under Python 3.8 and 3.9.
|
||||||
|
Under Python 3.10 and up we can define types that users can
|
||||||
|
not instantiate as Py_TPFLAGS_DISALLOW_INSTANTIATION, but
|
||||||
|
that flag is not available under previous Python versions. In
|
||||||
|
Python 3.8 and 3.9 we used to do type->tp_new = NULL; for
|
||||||
|
that, but this approach is not available under Python Stable
|
||||||
|
ABI. That is the reason this module could use Python Stable
|
||||||
|
ABI only when compiled under Python 3.10 and superior. In
|
||||||
|
this release we define the slot Py_tp_new as NULL in Python
|
||||||
|
3.8 and 3.9 to achieve the same effect, and that is available
|
||||||
|
under Python Stable ABI.
|
||||||
|
* Since this module can now use Python Stable ABI under all
|
||||||
|
supported Python releases, that is exactly what we do. From
|
||||||
|
now on this module always uses Python Stable ABI.
|
||||||
|
* WARNING - BREAKING CHANGE: Change return value of
|
||||||
|
berkeleydb.py_limited_api(). This function was introduced in
|
||||||
|
18.1.9 and it is used to indicate if the module was using the
|
||||||
|
Python Stable ABI or not, and the version Python Stable ABI
|
||||||
|
used. Now that the module has been improved to use Python
|
||||||
|
Stable ABI always, the function returns a tuple of integers.
|
||||||
|
First tuple element tells us what Python Stable ABI version
|
||||||
|
are we supporting. Second element tells us what Python
|
||||||
|
release was this module compiled under, although it should
|
||||||
|
work in any more recent Python release. Since this function
|
||||||
|
was introduced in release 18.1.9, we consider this breaking
|
||||||
|
change a minor infraction affecting most probably nobody.
|
||||||
|
* Delete some unneeded ancient Python 2.x code.
|
||||||
|
* Delete more unneeded code to check threading support since
|
||||||
|
Python 3.7 and up always guarantee threads.
|
||||||
|
* pkg_resources is deprecated, so migrate to packaging. This is
|
||||||
|
already provided by modern setuptools. This change only
|
||||||
|
affects you if you run the test suite.
|
||||||
|
* If compiled under Python 3.10 or higher, we use the Python
|
||||||
|
Stable ABI, as defined in PEP 384 and related PEPs. That is,
|
||||||
|
you can use the same compiled module with any Python release
|
||||||
|
if Python version >= 3.10. In order to achieve this, we have
|
||||||
|
made these changes: Some fast Python API (not error
|
||||||
|
checking) have been replaced by somewhat slower functions
|
||||||
|
(functions that do error checking), because the former are
|
||||||
|
not available in the Stable ABI: PyBytes_GET_SIZE(),
|
||||||
|
PyBytes_AS_STRING(), PyTuple_SET_ITEM(). We replaced
|
||||||
|
PyErr_Warn() by PyErr_WarnEx() because it is not available in
|
||||||
|
the Stable ABI. When an exception is raised because an
|
||||||
|
incompatible type, we need to write complicated code because
|
||||||
|
Py_TYPE(keyobj)->tp_name is not available in the Stable ABI.
|
||||||
|
Code generated for Python < 3.11 is "ugly", we will clean it
|
||||||
|
up when the minimum supported Python version is 3.11.
|
||||||
|
TYPE->tp_alloc is not available under the Stable ABI. We
|
||||||
|
replace it with PyType_GenericNew(). Internal types that
|
||||||
|
should NOT be instanciated by the user has type->tp_new =
|
||||||
|
NULL. This can not be done under the Stable ABI, so we use
|
||||||
|
Py_TPFLAGS_DISALLOW_INSTANTIATION flag. This is the reason we
|
||||||
|
only create Stable ABI modules under Python >= 3.10, because
|
||||||
|
that flag is defined in that Python release. The new function
|
||||||
|
berkeleydb.py_limited_api() returns an integer describing the
|
||||||
|
minimum supported Stable ABI or None. If None, the module is
|
||||||
|
not compiled with Stable ABI and can not be used with a
|
||||||
|
different Python version. When not None, the value of
|
||||||
|
berkeleydb.py_limited_api() can be easily interpreted using
|
||||||
|
something like hex(berkeleydb.py_limited_api()).
|
||||||
|
* Some fast Python API (not error checking) have been replaced
|
||||||
|
by somewhat slower functions (functions that do error
|
||||||
|
checking), because the former are not available in the Stable
|
||||||
|
ABI: PyBytes_GET_SIZE(), PyBytes_AS_STRING(),
|
||||||
|
PyTuple_SET_ITEM().
|
||||||
|
* We replaced PyErr_Warn() by PyErr_WarnEx() because it is not
|
||||||
|
available in the Stable ABI.
|
||||||
|
* When an exception is raised because an incompatible type, we
|
||||||
|
need to write complicated code because
|
||||||
|
Py_TYPE(keyobj)->tp_name is not available in the Stable ABI.
|
||||||
|
Code generated for Python < 3.11 is "ugly", we will clean it
|
||||||
|
up when the minimum supported Python version is 3.11.
|
||||||
|
* TYPE->tp_alloc is not available under the Stable ABI. We
|
||||||
|
replace it with PyType_GenericNew().
|
||||||
|
* Internal types that should NOT be instanciated by the user
|
||||||
|
has type->tp_new = NULL. This can not be done under the
|
||||||
|
Stable ABI, so we use Py_TPFLAGS_DISALLOW_INSTANTIATION flag.
|
||||||
|
This is the reason we only create Stable ABI modules under
|
||||||
|
Python >= 3.10, because that flag is defined in that Python
|
||||||
|
release.
|
||||||
|
* The new function berkeleydb.py_limited_api() returns an
|
||||||
|
integer describing the minimum supported Stable ABI or None.
|
||||||
|
If None, the module is not compiled with Stable ABI and can
|
||||||
|
not be used with a different Python version. When not None,
|
||||||
|
the value of berkeleydb.py_limited_api() can be easily
|
||||||
|
interpreted using something like
|
||||||
|
hex(berkeleydb.py_limited_api()).
|
||||||
|
* Python 3.13 added to the full test matrix.
|
||||||
|
* Experimental Python 3.13 support. Tested under 3.13.0b2.
|
||||||
|
* This code can be compiled under MS Windows, but I am unable
|
||||||
|
to provide support for it and it is far from trivial. Because
|
||||||
|
of this and some complains about it, I change the
|
||||||
|
"Classifiers" for this project from 'Operating System :: OS
|
||||||
|
Independent' to 'Operating System :: Unix' I would restore
|
||||||
|
MS Windows support if there is some kind of community support
|
||||||
|
for it. I can not do it by myself alone. Sorry about that.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 5 03:28:49 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Initial release of 18.1.8
|
81
python-berkeleydb.spec
Normal file
81
python-berkeleydb.spec
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
#
|
||||||
|
# spec file for package python-berkeleydb
|
||||||
|
#
|
||||||
|
# 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/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Name: python-berkeleydb
|
||||||
|
Version: 18.1.11
|
||||||
|
Release: 0
|
||||||
|
Summary: Python bindings for Oracle Berkeley DB
|
||||||
|
License: BSD-3-Clause
|
||||||
|
URL: https://www.jcea.es/programacion/pybsddb.htm
|
||||||
|
Source: https://files.pythonhosted.org/packages/source/b/berkeleydb/berkeleydb-%{version}.tar.gz
|
||||||
|
BuildRequires: %{python_module devel}
|
||||||
|
BuildRequires: %{python_module pip}
|
||||||
|
BuildRequires: %{python_module setuptools >= 65.5.0}
|
||||||
|
BuildRequires: %{python_module testsuite}
|
||||||
|
BuildRequires: %{python_module wheel}
|
||||||
|
BuildRequires: db-devel
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: python-rpm-macros
|
||||||
|
%python_subpackages
|
||||||
|
|
||||||
|
%description
|
||||||
|
This module provides a nearly complete wrapping of the Oracle/Sleepycat C API
|
||||||
|
for the Database Environment, Database, Cursor, Log Cursor, Sequence and
|
||||||
|
Transaction objects, and each of these is exposed as a Python type in the
|
||||||
|
berkeleydb.db module. The database objects can use various access methods:
|
||||||
|
btree, hash, recno, queue and heap. Complete support of Oracle Berkeley DB
|
||||||
|
distributed transactions. Complete support for Oracle Berkeley DB Replication
|
||||||
|
Manager. Complete support for Oracle Berkeley DB Base Replication.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for %{name}
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
This module provides a nearly complete wrapping of the Oracle/Sleepycat C API
|
||||||
|
for the Database Environment, Database, Cursor, Log Cursor, Sequence and
|
||||||
|
Transaction objects, and each of these is exposed as a Python type in the
|
||||||
|
berkeleydb.db module.
|
||||||
|
|
||||||
|
This package contains the development files for %{name}
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n berkeleydb-%{version}
|
||||||
|
|
||||||
|
%build
|
||||||
|
export CFLAGS="%{optflags} -fno-strict-aliasing"
|
||||||
|
%pyproject_wheel
|
||||||
|
|
||||||
|
%install
|
||||||
|
%pyproject_install
|
||||||
|
%python_expand %fdupes %{buildroot}%{$python_sitearch} %{buildroot}%{_docdir}
|
||||||
|
|
||||||
|
%check
|
||||||
|
%python_exec test.py
|
||||||
|
|
||||||
|
%files %{python_files}
|
||||||
|
%doc ChangeLog README.txt docs/*
|
||||||
|
%license LICENSE.txt licenses.txt
|
||||||
|
%{python_sitearch}/berkeleydb
|
||||||
|
%{python_sitearch}/berkeleydb-%{version}.dist-info
|
||||||
|
|
||||||
|
%files %{python_files devel}
|
||||||
|
%license licenses.txt LICENSE.txt
|
||||||
|
%{_includedir}/python%{python_version}*/berkeleydb
|
||||||
|
|
||||||
|
%changelog
|
Loading…
Reference in New Issue
Block a user