Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-mysqlclient for openSUSE:Factory checked in at 2023-12-17 21:28:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mysqlclient (Old)
and /work/SRC/openSUSE:Factory/.python-mysqlclient.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-mysqlclient"
Sun Dec 17 21:28:59 2023 rev:19 rq:1133633 version:2.2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-mysqlclient/python-mysqlclient.changes 2023-11-28 22:19:33.638132721 +0100
+++ /work/SRC/openSUSE:Factory/.python-mysqlclient.new.25432/python-mysqlclient.changes 2023-12-17 21:29:08.066632319 +0100
@@ -1,0 +2,8 @@
+Sat Dec 16 19:08:47 UTC 2023 - Dirk Müller
+
+- update to 2.2.1:
+ * ``Connection.ping()`` avoid using ``MYSQL_OPT_RECONNECT``
+ option until ``reconnect=True`` is specified.
+ MySQL 8.0.33 start showing warning when the option is used.
+
+-------------------------------------------------------------------
Old:
----
mysqlclient-2.2.0.tar.gz
New:
----
mysqlclient-2.2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-mysqlclient.spec ++++++
--- /var/tmp/diff_new_pack.eY0T1e/_old 2023-12-17 21:29:09.030667325 +0100
+++ /var/tmp/diff_new_pack.eY0T1e/_new 2023-12-17 21:29:09.030667325 +0100
@@ -27,7 +27,7 @@
%bcond_with test
%endif
Name: python-mysqlclient%{psuffix}
-Version: 2.2.0
+Version: 2.2.1
Release: 0
Summary: Python interface to MySQL
License: GPL-2.0-or-later
++++++ mysqlclient-2.2.0.tar.gz -> mysqlclient-2.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysqlclient-2.2.0/HISTORY.rst new/mysqlclient-2.2.1/HISTORY.rst
--- old/mysqlclient-2.2.0/HISTORY.rst 2023-06-22 07:52:35.000000000 +0200
+++ new/mysqlclient-2.2.1/HISTORY.rst 2023-12-13 14:23:59.000000000 +0100
@@ -1,4 +1,17 @@
======================
+ What's new in 2.2.1
+======================
+
+Release: 2023-12-13
+
+* ``Connection.ping()`` avoid using ``MYSQL_OPT_RECONNECT`` option until
+ ``reconnect=True`` is specified. MySQL 8.0.33 start showing warning
+ when the option is used. (#664)
+* Windows: Update MariaDB Connector/C to 3.3.8. (#665)
+* Windows: Build wheels for Python 3.12 (#644)
+
+
+======================
What's new in 2.2.0
======================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysqlclient-2.2.0/PKG-INFO new/mysqlclient-2.2.1/PKG-INFO
--- old/mysqlclient-2.2.0/PKG-INFO 2023-06-22 07:58:44.912430500 +0200
+++ new/mysqlclient-2.2.1/PKG-INFO 2023-12-13 14:30:34.741773000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: mysqlclient
-Version: 2.2.0
+Version: 2.2.1
Summary: Python interface to MySQL
Author-email: Inada Naoki
License: GNU General Public License v2 (GPLv2)
@@ -23,6 +23,7 @@
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Database
Classifier: Topic :: Database :: Database Engines/Servers
Requires-Python: >=3.8
@@ -79,18 +80,18 @@
Install MySQL and mysqlclient:
-```
-# Assume you are activating Python 3 venv
+```bash
+$ # Assume you are activating Python 3 venv
$ brew install mysql pkg-config
$ pip install mysqlclient
```
If you don't want to install MySQL server, you can use mysql-client instead:
-```
-# Assume you are activating Python 3 venv
+```bash
+$ # Assume you are activating Python 3 venv
$ brew install mysql-client pkg-config
-$ export PKG_CONFIG_PATH="/opt/homebrew/opt/mysql-client/lib/pkgconfig"
+$ export PKG_CONFIG_PATH="$(brew --prefix)/opt/mysql-client/lib/pkgconfig"
$ pip install mysqlclient
```
@@ -102,8 +103,8 @@
You may need to install the Python 3 and MySQL development headers and libraries like so:
-* `$ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential` # Debian / Ubuntu
-* `% sudo yum install python3-devel mysql-devel` # Red Hat / CentOS
+* `$ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential pkg-config` # Debian / Ubuntu
+* `% sudo yum install python3-devel mysql-devel pkgconfig` # Red Hat / CentOS
Then you can install mysqlclient via pip now:
@@ -113,13 +114,13 @@
### Customize build (POSIX)
-mysqlclient uses `pkg-config --clfags --ldflags mysqlclient` by default for finding
+mysqlclient uses `pkg-config --cflags --ldflags mysqlclient` by default for finding
compiler/linker flags.
You can use `MYSQLCLIENT_CFLAGS` and `MYSQLCLIENT_LDFLAGS` environment
variables to customize compiler/linker options.
-```
+```bash
$ export MYSQLCLIENT_CFLAGS=`pkg-config mysqlclient --cflags`
$ export MYSQLCLIENT_LDFLAGS=`pkg-config mysqlclient --libs`
$ pip install mysqlclient
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysqlclient-2.2.0/README.md new/mysqlclient-2.2.1/README.md
--- old/mysqlclient-2.2.0/README.md 2023-06-22 07:52:35.000000000 +0200
+++ new/mysqlclient-2.2.1/README.md 2023-12-13 14:23:59.000000000 +0100
@@ -48,18 +48,18 @@
Install MySQL and mysqlclient:
-```
-# Assume you are activating Python 3 venv
+```bash
+$ # Assume you are activating Python 3 venv
$ brew install mysql pkg-config
$ pip install mysqlclient
```
If you don't want to install MySQL server, you can use mysql-client instead:
-```
-# Assume you are activating Python 3 venv
+```bash
+$ # Assume you are activating Python 3 venv
$ brew install mysql-client pkg-config
-$ export PKG_CONFIG_PATH="/opt/homebrew/opt/mysql-client/lib/pkgconfig"
+$ export PKG_CONFIG_PATH="$(brew --prefix)/opt/mysql-client/lib/pkgconfig"
$ pip install mysqlclient
```
@@ -71,8 +71,8 @@
You may need to install the Python 3 and MySQL development headers and libraries like so:
-* `$ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential` # Debian / Ubuntu
-* `% sudo yum install python3-devel mysql-devel` # Red Hat / CentOS
+* `$ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential pkg-config` # Debian / Ubuntu
+* `% sudo yum install python3-devel mysql-devel pkgconfig` # Red Hat / CentOS
Then you can install mysqlclient via pip now:
@@ -82,13 +82,13 @@
### Customize build (POSIX)
-mysqlclient uses `pkg-config --clfags --ldflags mysqlclient` by default for finding
+mysqlclient uses `pkg-config --cflags --ldflags mysqlclient` by default for finding
compiler/linker flags.
You can use `MYSQLCLIENT_CFLAGS` and `MYSQLCLIENT_LDFLAGS` environment
variables to customize compiler/linker options.
-```
+```bash
$ export MYSQLCLIENT_CFLAGS=`pkg-config mysqlclient --cflags`
$ export MYSQLCLIENT_LDFLAGS=`pkg-config mysqlclient --libs`
$ pip install mysqlclient
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysqlclient-2.2.0/doc/conf.py new/mysqlclient-2.2.1/doc/conf.py
--- old/mysqlclient-2.2.0/doc/conf.py 2023-06-22 07:52:35.000000000 +0200
+++ new/mysqlclient-2.2.1/doc/conf.py 2023-12-13 14:23:59.000000000 +0100
@@ -49,8 +49,8 @@
master_doc = "index"
# General information about the project.
-project = "MySQLdb"
-copyright = "2012, Andy Dustman"
+project = "mysqlclient"
+copyright = "2023, Inada Naoki"
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@@ -100,7 +100,7 @@
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
-html_theme = "default"
+html_theme = "sphinx_rtd_theme"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysqlclient-2.2.0/pyproject.toml new/mysqlclient-2.2.1/pyproject.toml
--- old/mysqlclient-2.2.0/pyproject.toml 2023-06-22 07:52:35.000000000 +0200
+++ new/mysqlclient-2.2.1/pyproject.toml 2023-12-13 14:23:59.000000000 +0100
@@ -26,6 +26,7 @@
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
"Topic :: Database",
"Topic :: Database :: Database Engines/Servers",
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysqlclient-2.2.0/setup.py new/mysqlclient-2.2.1/setup.py
--- old/mysqlclient-2.2.0/setup.py 2023-06-22 07:52:35.000000000 +0200
+++ new/mysqlclient-2.2.1/setup.py 2023-12-13 14:23:59.000000000 +0100
@@ -14,7 +14,8 @@
def find_package_name():
"""Get available pkg-config package name"""
- packages = ["mysqlclient", "mariadb"]
+ # Ubuntu uses mariadb.pc, but CentOS uses libmariadb.pc
+ packages = ["mysqlclient", "mariadb", "libmariadb"]
for pkg in packages:
try:
cmd = f"pkg-config --exists {pkg}"
@@ -153,7 +154,7 @@
else:
ext_options = get_config_posix(get_options())
-print("# Options for building extention module:")
+print("# Options for building extension module:")
for k, v in ext_options.items():
print(f" {k}: {v}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysqlclient-2.2.0/src/MySQLdb/_mysql.c new/mysqlclient-2.2.1/src/MySQLdb/_mysql.c
--- old/mysqlclient-2.2.0/src/MySQLdb/_mysql.c 2023-06-22 07:52:35.000000000 +0200
+++ new/mysqlclient-2.2.1/src/MySQLdb/_mysql.c 2023-12-13 14:23:59.000000000 +0100
@@ -25,13 +25,14 @@
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
*/
-
+#include
#include "mysql.h"
#include "mysqld_error.h"
#if MYSQL_VERSION_ID >= 80000
// https://github.com/mysql/mysql-server/commit/eb821c023cedc029ca0b06456dfae36...
-#define my_bool _Bool
+// my_bool was typedef of char before MySQL 8.0.0.
+#define my_bool bool
#endif
#if ((MYSQL_VERSION_ID >= 50555 && MYSQL_VERSION_ID <= 50599) || \
@@ -71,7 +72,8 @@
typedef struct {
PyObject_HEAD
MYSQL connection;
- int open;
+ bool open;
+ bool reconnect;
PyObject *converter;
} _mysql_ConnectionObject;
@@ -443,7 +445,8 @@
*auth_plugin=NULL;
self->converter = NULL;
- self->open = 0;
+ self->open = false;
+ self->reconnect = false;
if (!PyArg_ParseTupleAndKeywords(args, kwargs,
"|ssssisOiiisssiOsiiiss:connect",
@@ -487,7 +490,7 @@
PyErr_SetNone(PyExc_MemoryError);
return -1;
}
- self->open = 1;
+ self->open = true;
if (connect_timeout) {
unsigned int timeout = connect_timeout;
@@ -686,7 +689,7 @@
Py_BEGIN_ALLOW_THREADS
mysql_close(&(self->connection));
Py_END_ALLOW_THREADS
- self->open = 0;
+ self->open = false;
_mysql_ConnectionObject_clear(self);
Py_RETURN_NONE;
}
@@ -1852,18 +1855,18 @@
}
static char _mysql_ConnectionObject_ping__doc__[] =
-"Checks whether or not the connection to the server is\n\
-working. If it has gone down, an automatic reconnection is\n\
-attempted.\n\
+"Checks whether or not the connection to the server is working.\n\
\n\
This function can be used by clients that remain idle for a\n\
long while, to check whether or not the server has closed the\n\
-connection and reconnect if necessary.\n\
+connection.\n\
\n\
New in 1.2.2: Accepts an optional reconnect parameter. If True,\n\
then the client will attempt reconnection. Note that this setting\n\
is persistent. By default, this is on in MySQL<5.0.3, and off\n\
thereafter.\n\
+MySQL 8.0.33 deprecated the MYSQL_OPT_RECONNECT option so reconnect\n\
+parameter is also deprecated in mysqlclient 2.2.1.\n\
\n\
Non-standard. You should assume that ping() performs an\n\
implicit rollback; use only when starting a new transaction.\n\
@@ -1875,17 +1878,24 @@
_mysql_ConnectionObject *self,
PyObject *args)
{
- int r, reconnect = -1;
- if (!PyArg_ParseTuple(args, "|I", &reconnect)) return NULL;
+ int reconnect = 0;
+ if (!PyArg_ParseTuple(args, "|p", &reconnect)) return NULL;
check_connection(self);
- if (reconnect != -1) {
+ if (reconnect != (self->reconnect == true)) {
+ // libmysqlclient show warning to stderr when MYSQL_OPT_RECONNECT is used.
+ // so we avoid using it as possible for now.
+ // TODO: Warn when reconnect is true.
+ // MySQL 8.0.33 show warning to stderr already.
+ // We will emit Pytohn warning in future.
my_bool recon = (my_bool)reconnect;
mysql_options(&self->connection, MYSQL_OPT_RECONNECT, &recon);
+ self->reconnect = (bool)reconnect;
}
+ int r;
Py_BEGIN_ALLOW_THREADS
r = mysql_ping(&(self->connection));
Py_END_ALLOW_THREADS
- if (r) return _mysql_Exception(self);
+ if (r) return _mysql_Exception(self);
Py_RETURN_NONE;
}
@@ -2165,7 +2175,7 @@
PyObject_GC_UnTrack(self);
if (self->open) {
mysql_close(&(self->connection));
- self->open = 0;
+ self->open = false;
}
Py_CLEAR(self->converter);
MyFree(self);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysqlclient-2.2.0/src/MySQLdb/connections.py new/mysqlclient-2.2.1/src/MySQLdb/connections.py
--- old/mysqlclient-2.2.0/src/MySQLdb/connections.py 2023-06-22 07:52:35.000000000 +0200
+++ new/mysqlclient-2.2.1/src/MySQLdb/connections.py 2023-12-13 14:23:59.000000000 +0100
@@ -192,7 +192,9 @@
super().__init__(*args, **kwargs2)
self.cursorclass = cursorclass
- self.encoders = {k: v for k, v in conv.items() if type(k) is not int}
+ self.encoders = {
+ k: v for k, v in conv.items() if type(k) is not int # noqa: E721
+ }
self._server_version = tuple(
[numeric_part(n) for n in self.get_server_info().split(".")[:2]]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysqlclient-2.2.0/src/MySQLdb/release.py new/mysqlclient-2.2.1/src/MySQLdb/release.py
--- old/mysqlclient-2.2.0/src/MySQLdb/release.py 2023-06-22 07:52:35.000000000 +0200
+++ new/mysqlclient-2.2.1/src/MySQLdb/release.py 2023-12-13 14:23:59.000000000 +0100
@@ -1,3 +1,3 @@
__author__ = "Inada Naoki "
-__version__ = "2.2.0"
-version_info = (2, 2, 0, "final", 0)
+__version__ = "2.2.1"
+version_info = (2, 2, 1, "final", 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mysqlclient-2.2.0/src/mysqlclient.egg-info/PKG-INFO new/mysqlclient-2.2.1/src/mysqlclient.egg-info/PKG-INFO
--- old/mysqlclient-2.2.0/src/mysqlclient.egg-info/PKG-INFO 2023-06-22 07:58:44.000000000 +0200
+++ new/mysqlclient-2.2.1/src/mysqlclient.egg-info/PKG-INFO 2023-12-13 14:30:34.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: mysqlclient
-Version: 2.2.0
+Version: 2.2.1
Summary: Python interface to MySQL
Author-email: Inada Naoki
License: GNU General Public License v2 (GPLv2)
@@ -23,6 +23,7 @@
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Database
Classifier: Topic :: Database :: Database Engines/Servers
Requires-Python: >=3.8
@@ -79,18 +80,18 @@
Install MySQL and mysqlclient:
-```
-# Assume you are activating Python 3 venv
+```bash
+$ # Assume you are activating Python 3 venv
$ brew install mysql pkg-config
$ pip install mysqlclient
```
If you don't want to install MySQL server, you can use mysql-client instead:
-```
-# Assume you are activating Python 3 venv
+```bash
+$ # Assume you are activating Python 3 venv
$ brew install mysql-client pkg-config
-$ export PKG_CONFIG_PATH="/opt/homebrew/opt/mysql-client/lib/pkgconfig"
+$ export PKG_CONFIG_PATH="$(brew --prefix)/opt/mysql-client/lib/pkgconfig"
$ pip install mysqlclient
```
@@ -102,8 +103,8 @@
You may need to install the Python 3 and MySQL development headers and libraries like so:
-* `$ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential` # Debian / Ubuntu
-* `% sudo yum install python3-devel mysql-devel` # Red Hat / CentOS
+* `$ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential pkg-config` # Debian / Ubuntu
+* `% sudo yum install python3-devel mysql-devel pkgconfig` # Red Hat / CentOS
Then you can install mysqlclient via pip now:
@@ -113,13 +114,13 @@
### Customize build (POSIX)
-mysqlclient uses `pkg-config --clfags --ldflags mysqlclient` by default for finding
+mysqlclient uses `pkg-config --cflags --ldflags mysqlclient` by default for finding
compiler/linker flags.
You can use `MYSQLCLIENT_CFLAGS` and `MYSQLCLIENT_LDFLAGS` environment
variables to customize compiler/linker options.
-```
+```bash
$ export MYSQLCLIENT_CFLAGS=`pkg-config mysqlclient --cflags`
$ export MYSQLCLIENT_LDFLAGS=`pkg-config mysqlclient --libs`
$ pip install mysqlclient