diff --git a/_service b/_service
index 3c6b139..a96a530 100644
--- a/_service
+++ b/_service
@@ -2,7 +2,7 @@
https://github.com/techouse/sqlite3-to-mysql.git
git
- v2.1.7
+ v2.4.0
@PARENT_TAG@
v(.*)
diff --git a/python-sqlite3-to-mysql.changes b/python-sqlite3-to-mysql.changes
index 2ec6473..f5e7adf 100644
--- a/python-sqlite3-to-mysql.changes
+++ b/python-sqlite3-to-mysql.changes
@@ -1,3 +1,19 @@
+-------------------------------------------------------------------
+Sat Jun 28 12:00:45 UTC 2025 - Enno Gotthold
+
+- Support libalternatives for 16.0 and newer
+- Update to 2.4.0
+ * add conversion of SQLite custom BOOL data type to MySQL TINYINT(1)
+ * add --mysql-skip-create-tables and --mysql-skip-transfer-data options
+ * fix default parameter parsing
+ * add MySQL 8.4 and MariaDB 11.4 support
+ * fix conversion of SQLite NUMERIC data type with precision and scale to
+ MySQL DECIMAL with precision and scale
+ * fix --mysql-insert-method
+ * modify the existing check_mysql_json_support and check_mysql_fulltext_support
+ to improve detection of MariaDB versions
+ * fix connecting with empty MySQL password
+
-------------------------------------------------------------------
Mon Jan 29 11:42:15 UTC 2024 - pgajdos@suse.com
diff --git a/python-sqlite3-to-mysql.spec b/python-sqlite3-to-mysql.spec
index 152313a..6b62b21 100644
--- a/python-sqlite3-to-mysql.spec
+++ b/python-sqlite3-to-mysql.spec
@@ -1,7 +1,7 @@
#
# spec file for package python-sqlite3-to-mysql
#
-# Copyright (c) 2024 SUSE LLC
+# 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
@@ -18,35 +18,50 @@
%define short_name sqlite3-to-mysql
%define skip_python2 1
+%if 0%{?suse_version} > 1500
+%bcond_without libalternatives
+%else
+%bcond_with libalternatives
+%endif
+
Name: python-sqlite3-to-mysql
-Version: 2.1.7
+Version: 2.4.0
Release: 0
Summary: A Python tool to transfer data from SQLite 3 to MySQL
License: MIT
URL: https://github.com/techouse/sqlite3-to-mysql
Source: %{short_name}-%{version}.tar.gz
+# libalternative
+%if %{with libalternatives}
+Requires: alts
+BuildRequires: alts
+%else
+Requires(post): update-alternatives
+Requires(postun): update-alternatives
+%endif
+# Package Requirements
BuildRequires: %{python_module SQLAlchemy-Utils}
BuildRequires: %{python_module SQLAlchemy}
BuildRequires: %{python_module docker}
BuildRequires: %{python_module factory_boy}
BuildRequires: %{python_module hatchling}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module pytest-timeout}
BuildRequires: %{python_module setuptools}
BuildRequires: docker
BuildRequires: fdupes
+BuildRequires: libmariadb-devel
BuildRequires: python-rpm-macros
Requires: python-Unidecode >= 1.3.6
Requires: python-click >= 8.1.3
-Requires: python-mysql-connector-python >= 8.2.0
+Requires: python-mysql-connector-python >= 9.0.0
Requires: python-packaging
+Requires: python-python-dateutil
Requires: python-pytimeparse2
Requires: python-simplejson >= 3.19.1
Requires: python-tabulate
Requires: python-tqdm >= 4.65.0
+Requires: python-types-python-dateutil
Requires: python-typing_extensions
-Requires(post): update-alternatives
-Requires(postun): update-alternatives
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module Sphinx}
@@ -54,9 +69,12 @@ BuildRequires: %{python_module click >= 7.0}
BuildRequires: %{python_module coverage}
BuildRequires: %{python_module ddt}
BuildRequires: %{python_module flake8}
-BuildRequires: %{python_module mysql-connector-python >= 8.0.18}
+BuildRequires: %{python_module mysql-connector-python >= 9.0.0}
BuildRequires: %{python_module packaging >= 20.3}
-BuildRequires: %{python_module pytest}
+BuildRequires: %{python_module pytest >= 7.3.1}
+BuildRequires: %{python_module pytest-cov}
+BuildRequires: %{python_module pytest-mock}
+BuildRequires: %{python_module pytest-timeout}
BuildRequires: %{python_module pytimeparse >= 1.1.8}
BuildRequires: %{python_module simplejson >= 3.16.0}
BuildRequires: %{python_module sphinxcontrib-programoutput}
@@ -79,6 +97,13 @@ A Python tool to transfer data from SQLite 3 to MySQL
%python_clone -a %{buildroot}%{_bindir}/sqlite3mysql
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+# We cannot execute the tests here due to python-mysql-connector-python missing
+# the C-extension.
+
+%pre
+# removing old update-alternatives entries
+%python_libalternatives_reset_alternative sqlite3mysql
+
%post
%python_install_alternative sqlite3mysql
diff --git a/sqlite3-to-mysql-2.1.7.obscpio b/sqlite3-to-mysql-2.1.7.obscpio
deleted file mode 100644
index 631097c..0000000
--- a/sqlite3-to-mysql-2.1.7.obscpio
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e1a35f87ff486353f0d337dcdc799b44b607a25eee78c54d463e587bc511afd8
-size 207371
diff --git a/sqlite3-to-mysql-2.4.0.obscpio b/sqlite3-to-mysql-2.4.0.obscpio
new file mode 100644
index 0000000..caac058
--- /dev/null
+++ b/sqlite3-to-mysql-2.4.0.obscpio
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c1c197b7a0284a60cdf0ccb7402b1d0adbe75de7459a68a711ad4df0f5204c79
+size 240139
diff --git a/sqlite3-to-mysql.obsinfo b/sqlite3-to-mysql.obsinfo
index b551172..6ba5949 100644
--- a/sqlite3-to-mysql.obsinfo
+++ b/sqlite3-to-mysql.obsinfo
@@ -1,4 +1,4 @@
name: sqlite3-to-mysql
-version: 2.1.7
-mtime: 1705180042
-commit: 06ef89e5bc7592486759266523d9ebb78da52679
+version: 2.4.0
+mtime: 1743058172
+commit: 8905a9572c8c20dbc07b1390a506eb6fb1083540