1
0
python-PyMySQL/python-PyMySQL.spec
Daniel Garcia 532455a121 - disable test_json broken with latest mariadb (11.0)
- update to 1.1.0:
  * Remove redundant wheel dep from pyproject.toml by @mgorny in #1099
  * ci: Fix black options by @methane in #1109
  * Remove unused function by @methane in #1108
  * Expose Cursor.warning_count by @Nothing4You in #1056
  * Add constants and tests related to query timeouts by @Nothing4You in #1033
  * Fix SSCursor raising query timeout error on wrong query on MySQL DB by @Nothing4You in #1035
  * Make Cursor an iterator by @sanchezg in #995
  * ci: Update CodeQL workflow by @methane in #1110
  * Use Ruff instead of flake8 by @methane in #1112
  * Use Codecov instead of coveralls. by @methane in #1113
  * optionfile: Replace _ with - by @methane in #1114
  * Cursor.fetchall() always return list. by @methane in #1115
  * Fix LOAD DATA LOCAL INFILE write EOF packet on closed connection. by @methane in #1116
  * Deprecate Cursor.Error access by @methane in #1117
  * Run pyupgrade by @methane in #1118
  * Add collation option and set_character_set() to Connection by @methane in #1119
  * CI: Run Django test by @methane in #1121
  * Release v1.1.0rc1 by @methane in #1122
  * Bump mariadb version by @grooverdan in #1123
  * Configure Renovate by @renovate in #1124
  * Make charset="utf8" use utf8mb4. by @methane in #1127
  * Add codecov.yml by @methane in #1128
  * Release v1.1.0rc2 by @methane in #1129
  * Release v1.1.0 by @methane in #1130

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-PyMySQL?expand=0&rev=35
2023-08-02 11:56:33 +00:00

114 lines
3.4 KiB
RPMSpec

#
# spec file for package python-PyMySQL
#
# Copyright (c) 2023 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/
#
# mariadb-rpm-macros is either not available or not sufficient for Leaps
%if 0%{?suse_version} > 1500
%bcond_without tests
%else
%bcond_with tests
%endif
%global skip_python2 1
Name: python-PyMySQL
Version: 1.1.0
Release: 0
Summary: Pure Python MySQL Driver
License: MIT
Group: Development/Languages/Python
URL: https://github.com/PyMySQL/PyMySQL/
Source: https://github.com/PyMySQL/PyMySQL/archive/v%{version}.tar.gz#/PyMySQL-%{version}.tar.gz
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module cryptography}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module wheel}
%if %{with tests}
BuildRequires: mariadb-rpm-macros
%endif
# will be removed with next release
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-cryptography
BuildArch: noarch
%python_subpackages
%description
This package contains a pure-Python MySQL client library. Documentation on the
MySQL client/server protocol can be found here:
http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Protocol
The goal of pymysql is to be a drop-in replacement for MySQLdb and work on
CPython 2.3+, Jython, IronPython, PyPy and Python 3. We test for compatibility
by simply changing the import statements in the Django MySQL backend and running
its unit tests as well as running it against the MySQLdb and myconnpy unit tests.
%prep
%autosetup -p1 -n PyMySQL-%{version}
# remove unwanted shebang
sed -i '1 { /^#!/ d }' pymysql/tests/thirdparty/test_MySQLdb/*.py
%build
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%if %{with tests}
%check
exit_code=0
dbuser='db_user'
dbuserpw='db_user_secret'
dbname1='test1'
dbname2='test2'
# Needs mysql server
#%%python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} py.test-%{$python_bin_suffix} -v
cconf=abuild-myclient.cnf
#
# start the mariadb server
#
%mysql_testserver_start -u $dbuser -p $dbuserpw -d $dbname1:$dbname2 -t 3306
#
# creating client config, see base.py
#
cat << EOF > pymysql/tests/databases.json
[{"host":"localhost","user":"$dbuser","passwd":"$dbuserpw",
"database":"$dbname1", "use_unicode": true, "local_infile": true},
{"host":"localhost","user":"$dbuser","passwd":"$dbuserpw","database":"$dbname2"}]
EOF
#
# running the test
#
export USER="$dbuser"
export PASSWORD="$dbuserpw"
# test_json is broken for mariadb 11.0.2
%pytest pymysql/tests -k 'not (test_stored_procedures or test_json)' || exit_code=1
#
# stopping mariadb
#
%mysql_testserver_stop
exit $exit_code
%endif
%files %{python_files}
%license LICENSE
%doc CHANGELOG.md README.md
%{python_sitelib}/*
%changelog