* WARNING: Being able to compile the bindings on non x86/x86_64 Linux systems (ARM, RISC-V, etc). This improvement required to change the way compilation on Linux worked. If you find any issue with this, please report. * Compile the C module with extra static analysis and be more strict. * Some functions have unused parameters that we would like to preserve. * Different types in different python subinterpreters are tricky under Py_LIMITED_API < Python 3.10. We will delete the workarounds when Python 3.10 be the minimal supported version. * Delete some unused parameters thru all the source code. * Be explicit and complete in the sentinel values. * Be explicit initializing (missing) docstrings. * Rewrite some function prototypes to avoid warning when being strict and to avoid unneeded function castings. + Functions METH_NOARGS require two parameters, although one of them will be ignored. * Be sure we don't wrap an unsigned int operation, bypassing an assertion. * Update copyright to 2025. * Oracle Berkeley DB>=5.3: Beside db.DB_VERSION_STRING we now have db.DB_VERSION_FULL_STRING. * Oracle Berkeley DB>=6.2: Beside db.DB_DBT_BLOB we now have db.DB_DBT_EXT_FILE. * Being able to test against an especific Oracle Berkeley DB release. * Code cleanup: + Remove unnecessary semicolons in Python code. + Remove unused imports. + Split multiple imports in a single line. + Split multiple statements in multiple lines. + Delete dead assignments. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-berkeleydb?expand=0&rev=7
84 lines
2.9 KiB
RPMSpec
84 lines
2.9 KiB
RPMSpec
#
|
|
# spec file for package python-berkeleydb
|
|
#
|
|
# Copyright (c) 2025 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-berkeleydb
|
|
Version: 18.1.13
|
|
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
|