# # spec file for package python-mysqlclient # # 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-%{**}} %define oldpython python %global flavor %{nil} %if "%{flavor}" == "test" %define psuffix -test %bcond_without test %else %define psuffix %{nil} %bcond_with test %endif %define skip_python3 1 Name: python-mysqlclient%{psuffix} Version: 1.4.6 Release: 4.2 Summary: Python interface to MySQL License: GPL-2.0-or-later URL: https://github.com/PyMySQL/mysqlclient-python Source: https://files.pythonhosted.org/packages/source/m/mysqlclient/mysqlclient-%{version}.tar.gz BuildRequires: %{python_module devel} BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: libmysqlclient-devel BuildRequires: python-rpm-macros BuildRequires: python3-Sphinx BuildRequires: python3-attrs BuildRequires: unzip Recommends: mariadb Provides: python-mysql = %{version} Obsoletes: python-mysql < %{version} Provides: python-MySQL-python = %{version} Obsoletes: python-MySQL-python < %{version} %if %{with test} BuildRequires: %{python_module mock} BuildRequires: %{python_module mysqlclient >= %{version}} BuildRequires: %{python_module pytest} BuildRequires: mariadb-rpm-macros %endif %ifpython2 Provides: %{oldpython}-mysql = %{version} Obsoletes: %{oldpython}-mysql < %{version} Provides: %{oldpython}-MySQL-python = %{version} Obsoletes: %{oldpython}-MySQL-python < %{version} %endif %python_subpackages %description MySQLdb is an interface to the popular MySQL database server for Python. This package adds Python 3 support and bug fixes to MySQLdb1. %prep %setup -q -n mysqlclient-%{version} %build %if !%{with test} %python_build python3 setup.py build_sphinx && rm build/sphinx/html/.buildinfo %endif %check %if %{with test} exit_code=0 cconf=abuild-myclient.cnf # # start the mariadb server # %mysql_testserver_start -u auth_db_user -p auth_db_pass # # creating client mysql config # %mysql_testserver_cconf -n $cconf # # running the test # rm -r MySQLdb export TESTDB="$PWD/$cconf" %pytest_arch -k "not (test_LONG or test_TEXT)" # # stopping mariadb # %mysql_testserver_stop exit $exit_code %endif %install %if !%{with test} %python_install %python_expand %fdupes %{buildroot}%{$python_sitearch} %endif %if !%{with test} %files %{python_files} %license LICENSE %doc HISTORY.rst MANIFEST.in README.md build/sphinx/html %{python_sitearch}/* %endif %changelog * Thu Mar 5 2020 Kristyna Streitova - fix test package by adding BuildRequires: %%{python_module mysqlclient >= %%{version}} * Fri Feb 21 2020 Kristyna Streitova - switch to multibuild to run tests and avoid a buildcycle with mariadb * Tue Feb 11 2020 pgajdos@suse.com - %%check: choose better database user name * Mon Dec 9 2019 pgajdos@suse.com - run the testsuite against test mysqld server * Fri Nov 22 2019 Alexei Podvalsky - Update to 1.4.6: * The cp1252 encoding is used when charset is "latin1". (#390) - Change in 1.4.5: * The auth_plugin option is added. (#389) * Thu Aug 15 2019 Alexei Podvalsky - Update to 1.4.4: * charset option is passed to mysql_options(mysql, MYSQL_SET_CHARSET_NAME, charset) before mysql_real_connect is called. This avoid extra SET NAMES query when creating connection. - Change in 1.4.3: * --static build supports libmariadbclient.a * Try mariadb_config when mysql_config is not found * Fixed warning happend in Python 3.8 (#359) * Fixed from MySQLdb import *, while I don't recommend it. (#369) * Fixed SEGV MySQLdb.escape_string("1") when libmariadb is used and no connection is created. (#367) * Fixed many circular references are created in Cursor.executemany(). - Add python3-attrs to build * Thu Jun 6 2019 Tomáš Chvátal - Generate documentation only with sphinx3 no need to do it twice * Fri Feb 8 2019 Alexei Podvalsky - Update to 1.4.2: * Fix Django 1.11 compatibility. - Drop MySQL-python-Py_ssize.patch * Mon Dec 10 2018 Alexei Podvalsky - Update to 1.3.14: * Support static linking of MariaDB Connector/C (#265) * Better converter for Decimal and Float (#267, #268, #273, #286) * Add Connection._get_native_connection for XTA project (#269) * Fix SEGV on MariaDB Connector/C when Connection.close() is called for closed connection. (#270, #272, #276) * Fix Connection.client_flag (#266) * Fix SSCursor may raise same exception twice (#282) * Fixed SSL support is not detected when built with MySQL < 5.1 (#291) * Sat Jun 30 2018 avvissu@yandex.by - Add obsoletes/provides with "python-" prefix (oldpython macro) - Fix build on openSUSE 42.3 (rename: libmariadb-devel to libmysqlclient-devel) * Wed Jun 27 2018 avvissu@yandex.by - Switch to fork of MySQLdb1 - Update a package description - Build with python3 and python2 (singlespec) - Mark obsolete packages: python-mysql, python-MySQL-python - Spec file cleanup * Fri Jul 24 2015 seife+obs@b1-systems.com - Fix build on non-SUSE distros by conditionalizing Recommends: tag * Sun Dec 8 2013 p.drouand@gmail.com - Update to version 1.2.4 + No changelog available - Set correct Group : Development/Languages/Python - Use download Url as source - Spec file general clean-up - Add MySQL-python-1.2.4-dont-use-python-distribute.patch; don't try to use unavailable python-distribute - Remove depreciate AutoReqProv, %%{py_requires} and # norootforbuild tags - Add unzip requirement to support tarball format - Add python-Sphinx requirement and generate html documentation - Remove --record-rpm=INSTALLED_FILES option and add %%{python_sitearch} in %%files instead - Package GPL-2.0, HISTORY and Sphinx documentation * Mon Sep 20 2010 coolo@novell.com - fix the previous fix, patch went upstream * Thu Sep 16 2010 coolo@novell.com - update to 1.2.3 - no upstream changelog available - taking out the reconnect patch as the upstream sources contain a very specific comment that this means trouble * Fri Jan 16 2009 matejcik@suse.cz - removed usage of deprecated sets module (bnc#462974) * Thu Dec 13 2007 matejcik@suse.cz - update to 1.2.2 - various bugfixes - much better support for mysql5 - python2.5 support (crude, though, let's keep our patch for a while) - switch from distutils to setuptools - added patch supporting reconnect in mysql5 * Fri Oct 20 2006 jmatejek@suse.cz - update to 1.2.1_p2 - support for some new features of mysql 4.1 and 5.0 - fixes for 64bit bugs due to PEP353 * Tue Feb 28 2006 jmatejek@suse.cz - updated to reflect python changes due to #149809 * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Wed Feb 9 2005 mcihar@suse.cz - update to 1.2.0 * Fri Jan 28 2005 mcihar@suse.cz - update to 1.1.9 (MySQL 4.1 support) * Wed Aug 4 2004 mcihar@suse.cz - updated to 1.1.1 * Wed May 19 2004 mcihar@suse.cz - fixed lib64 build * Wed May 19 2004 mcihar@suse.cz - update to 1.1.0 * Tue Mar 2 2004 mcihar@suse.cz - drop python 2.1 support * Sun Jan 11 2004 adrian@suse.de - build as user * Tue Dec 16 2003 mcihar@suse.cz - updated to 0.9.3a2: * Add some support for Python 2.3 datetime classes. * Removed some casts in _mysql_init() that caused problems with Python 2.3. The type for tp_free was changed from destructor to freefunc. Removing the casts make both 2.2 and 2.3 happy. * Fixed the bug that prevented member access. * Embedded server support. Can't get it use InnoDB tables yet. However, MyISAM (default) tables seem to work fine. - one source package for both python versions - added few more files to docs * Mon Aug 11 2003 mcihar@suse.cz - builds on lib64 * Thu Aug 7 2003 mcihar@suse.cz - updated to 0.9.2 * Mon Jun 16 2003 mcihar@suse.cz - use record-rpm * Mon May 12 2003 mcihar@suse.cz - use versioned dependency on python * Wed Jan 22 2003 mcihar@suse.cz - using build root - file list is correct on lib64 arches * Tue Jan 15 2002 ro@suse.de - up to 0.9.1 to make it build on python-2.2 * Sat Dec 29 2001 schwab@suse.de - Add mysql-shared to neededforbuild. * Thu Nov 1 2001 vinil@suse.cz - initial version 0.9.0