* Warning WARNING - BREAKING CHANGE: Drop support for Python
3.9. 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.9 environment. In that case, please pin your
berkeleydb installation to version 18.1.14, the last Python
3.9 compatible release. Send me constructive feedback if
appropriate.
* Python 3.14 is officially supported.
* Since we have drop Python 3.9: We can simplify the code: We
can now freely use PyType_GetModuleState(),
PyModule_GetState() and PyType_GetModule(). We don't need
Py_tp_new anymore in PyType_Slot types. We can use
PyType_FromModuleAndSpec(). Ease use of rmtree and unlink in
tests. We can use Py_TPFLAGS_DISALLOW_INSTANTIATION in all
supported Python versions.
* We can simplify the code: We can now freely use
PyType_GetModuleState(), PyModule_GetState() and
PyType_GetModule(). We don't need Py_tp_new anymore in
PyType_Slot types. We can use PyType_FromModuleAndSpec().
Ease use of rmtree and unlink in tests.
* We can now freely use PyType_GetModuleState(),
PyModule_GetState() and PyType_GetModule().
* We don't need Py_tp_new anymore in PyType_Slot types.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-berkeleydb?expand=0&rev=12
84 lines
2.9 KiB
RPMSpec
84 lines
2.9 KiB
RPMSpec
#
|
|
# spec file for package python-berkeleydb
|
|
#
|
|
# Copyright (c) 2025 SUSE LLC and contributors
|
|
#
|
|
# 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-berkeleydb
|
|
Version: 18.1.15
|
|
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}
|
|
sed -i '/\#\!\/usr\/bin\/env\ python/d' src/berkeleydb/dbshelve.py
|
|
|
|
%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
|