1
0
python-PyMySQL/python-PyMySQL.spec
Dirk Mueller 5a340a5e98 - update to 0.10.0:
* MariaDB ed25519 auth is supported.
  * Python 3.4 support is dropped.
  * Context manager interface is removed from `Connection`. It will be added
    with different meaning.
  * MySQL warnings are not shown by default because many user report issue to
    PyMySQL issue tracker when they see warning. You need to call "SHOW WARNINGS"
    explicitly when you want to see warnings.
  * Formatting of float object is changed from "3.14" to "3.14e0".
  * Use cp1252 codec for latin1 charset.
  * Fix decimal literal.
  * TRUNCATED_WRONG_VALUE_FOR_FIELD, and ILLEGAL_VALUE_FOR_TYPE are now
    DataError instead of InternalError.
- remove python-PyMySQL-no-unittest2.patch (upstream)

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-PyMySQL?expand=0&rev=23
2020-09-16 11:02:13 +00:00

100 lines
3.0 KiB
RPMSpec

#
# spec file for package python-PyMySQL
#
# Copyright (c) 2020 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/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-PyMySQL
Version: 0.10.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 cryptography}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: mariadb-rpm-macros
# 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
%setup -q -n PyMySQL-%{version}
# remove unwanted shebang
sed -i '1 { /^#!/ d }' pymysql/tests/thirdparty/test_MySQLdb/*.py
%build
%python_build
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%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",
"db":"$dbname1", "use_unicode": true, "local_infile": true},
{"host":"localhost","user":"$dbuser","passwd":"$dbuserpw","db":"$dbname2"}]
EOF
#
# running the test
#
export USER="$dbuser"
export PASSWORD="$dbuserpw"
%pytest pymysql/tests || exit_code=1
#
# stopping mariadb
#
%mysql_testserver_stop
exit $exit_code
%files %{python_files}
%license LICENSE
%doc CHANGELOG README.rst
%{python_sitelib}/*
%changelog