diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2021-02-16 23:25:09 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2021-02-16 23:35:25 +0100 |
commit | 8b744749e2562e7593b07b93c018d4e6cbd51986 (patch) | |
tree | 6a00283fe88da3fe12a85c811c91aa43d0f0670d /kde-apps/akonadi | |
parent | kde-apps/akonadi: Unrestrict kde-apps/kaccounts-integration dep (diff) | |
download | gentoo-8b744749e2562e7593b07b93c018d4e6cbd51986.tar.gz gentoo-8b744749e2562e7593b07b93c018d4e6cbd51986.tar.bz2 gentoo-8b744749e2562e7593b07b93c018d4e6cbd51986.zip |
kde-apps/akonadi: Switch back mariadb -> mysql, use 'loose_' options
This is reverting commit 6b90510a (kde overlay), instead trying to fix
MySQL server settings while keeping MariaDB settings intact.
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=421922
Reported-by: Stephan Karacson <stkaopen@gmx.at>
Thanks-to: Victor Mataré <vmatare+gbug@posteo.de>
Thanks-to: Thomas Deutschmann <whissi@gentoo.org>
Bug: https://bugs.gentoo.org/709812
Package-Manager: Portage-3.0.14, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-apps/akonadi')
-rw-r--r-- | kde-apps/akonadi/akonadi-20.12.2-r1.ebuild | 39 | ||||
-rw-r--r-- | kde-apps/akonadi/files/akonadi-20.12.2-mysql8-conf.patch | 75 |
2 files changed, 92 insertions, 22 deletions
diff --git a/kde-apps/akonadi/akonadi-20.12.2-r1.ebuild b/kde-apps/akonadi/akonadi-20.12.2-r1.ebuild index d01ba34d4e70..3c234d906ee2 100644 --- a/kde-apps/akonadi/akonadi-20.12.2-r1.ebuild +++ b/kde-apps/akonadi/akonadi-20.12.2-r1.ebuild @@ -17,16 +17,19 @@ HOMEPAGE="https://community.kde.org/KDE_PIM/akonadi" LICENSE="LGPL-2.1+" SLOT="5" KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" -IUSE="+kaccounts +mariadb postgres sqlite tools xml" +IUSE="+kaccounts +mysql postgres sqlite tools xml" -REQUIRED_USE="|| ( mariadb postgres sqlite ) test? ( tools )" +REQUIRED_USE="|| ( mysql postgres sqlite ) test? ( tools )" + +# some akonadi tests time out, that probably needs more work as it's ~700 tests +RESTRICT+=" test" COMMON_DEPEND=" app-arch/xz-utils >=dev-qt/qtdbus-${QTMIN}:5 >=dev-qt/qtgui-${QTMIN}:5 >=dev-qt/qtnetwork-${QTMIN}:5 - >=dev-qt/qtsql-${QTMIN}:5[postgres?] + >=dev-qt/qtsql-${QTMIN}:5[mysql?,postgres?] >=dev-qt/qtwidgets-${QTMIN}:5 >=dev-qt/qtxml-${QTMIN}:5 >=kde-frameworks/kconfig-${KFMIN}:5 @@ -45,7 +48,6 @@ COMMON_DEPEND=" >=kde-apps/kaccounts-integration-20.08.3:5 net-libs/accounts-qt ) - mariadb? ( >=dev-qt/qtsql-${QTMIN}:5[mysql] ) sqlite? ( dev-db/sqlite:3 >=dev-qt/qtsql-${QTMIN}:5=[sqlite] @@ -58,24 +60,24 @@ DEPEND="${COMMON_DEPEND} test? ( sys-apps/dbus ) " RDEPEND="${COMMON_DEPEND} - mariadb? ( >=dev-db/mariadb-10.4:* ) + mysql? ( virtual/mysql ) postgres? ( dev-db/postgresql ) " -# some akonadi tests time out, that probably needs more work as it's ~700 tests -RESTRICT+=" test" - -PATCHES=( "${FILESDIR}/${PN}-18.12.2-mysql56-crash.patch" ) +PATCHES=( + "${FILESDIR}/${PN}-18.12.2-mysql56-crash.patch" + "${FILESDIR}/${P}-mysql8-conf.patch" # bug 709812 +) pkg_setup() { - # Set default storage backend in order: MariaDB, PostgreSQL, SQLite + # Set default storage backend in order: MySQL, PostgreSQL, SQLite # reverse driver check to keep the order use sqlite && DRIVER="QSQLITE3" use postgres && DRIVER="QPSQL" - use mariadb && DRIVER="QMYSQL" + use mysql && DRIVER="QMYSQL" - if use mariadb && has_version ">=dev-db/mariadb-10.4"; then - ewarn "If an existing Akonadi MariaDB database is being upgraded using" + if use mysql && has_version ">=dev-db/mariadb-10.4"; then + ewarn "If an existing Akonadi QMYSQL database is being upgraded using" ewarn ">=dev-db/mariadb-10.4 and KMail stops fetching and sending mail," ewarn "check ~/.local/share/akonadi/akonadiserver.error for errors like:" ewarn " \"Cannot add or update a child row: a foreign key constraint fails\"" @@ -88,17 +90,10 @@ pkg_setup() { if use sqlite || has_version "<${CATEGORY}/${P}[sqlite]"; then ewarn "We strongly recommend you change your Akonadi database backend to" - ewarn "either MariaDB or PostgreSQL in your user configuration." + ewarn "either MariaDB/MySQL or PostgreSQL in your user configuration." ewarn "In particular, kde-apps/kmail does not work properly with the sqlite backend." fi - if has_version "kde-apps/akonadi[mysql]"; then - ewarn "Due to configuration incompatibilities we are unable to provide" - ewarn "the option to use dev-db/mysql. You must switch to dev-db/mariadb." - ewarn " https://bugs.gentoo.org/709812" - ewarn " https://bugs.kde.org/show_bug.cgi?id=421922" - fi - ecm_pkg_setup } @@ -130,7 +125,7 @@ pkg_postinst() { ecm_pkg_postinst elog "You can select the storage backend in ~/.config/akonadi/akonadiserverrc." elog "Available drivers are:" - use mariadb && elog " QMYSQL" + use mysql && elog " QMYSQL" use postgres && elog " QPSQL" use sqlite && elog " QSQLITE3" elog "${DRIVER} has been set as your default akonadi storage backend." diff --git a/kde-apps/akonadi/files/akonadi-20.12.2-mysql8-conf.patch b/kde-apps/akonadi/files/akonadi-20.12.2-mysql8-conf.patch new file mode 100644 index 000000000000..8edf9d605dde --- /dev/null +++ b/kde-apps/akonadi/files/akonadi-20.12.2-mysql8-conf.patch @@ -0,0 +1,75 @@ +From 9c666d0d6039a87f6286014c7d9c7281a5bd9dd1 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <asturm@gentoo.org> +Date: Tue, 16 Feb 2021 21:38:14 +0100 +Subject: [PATCH] MySQL server settings: Make use of 'loose_' option prefix + +Idea by one of the Gentoo MySQL maintainers. This makes MySQL skip over +unsupported options rather than fail, which is important with >=MySQL-8. + +See also: +https://dev.mysql.com/doc/refman/8.0/en/option-files.html#option-file-syntax +https://mariadb.com/kb/en/configuring-mariadb-with-option-files/#option-prefixes + +BUG: 421922 + +Thanks-to: Thomas Deutschmann <whissi@gentoo.org> +--- + src/server/storage/mysql-global-mobile.conf | 6 +++--- + src/server/storage/mysql-global.conf | 6 +++--- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/server/storage/mysql-global-mobile.conf b/src/server/storage/mysql-global-mobile.conf +index 19649d347..48e150af7 100644 +--- a/src/server/storage/mysql-global-mobile.conf ++++ b/src/server/storage/mysql-global-mobile.conf +@@ -65,7 +65,7 @@ innodb_large_prefix=1 + log_error=mysql.err + + # print warnings and connection errors (default:1) +-log_warnings=2 ++loose_log_warnings=2 + + # Convert table named to lowercase + lower_case_table_names=1 +@@ -80,10 +80,10 @@ max_connections=256 + # (make sense when having the same query multiple times) + + # Memory allocated for caching query results (default:0 (disabled)) +-query_cache_size=0 ++loose_query_cache_size=0 + + # Do not cache results (default:1) +-query_cache_type=0 ++loose_query_cache_type=0 + + # Do not use the privileges mechanisms + skip_grant_tables +diff --git a/src/server/storage/mysql-global.conf b/src/server/storage/mysql-global.conf +index ab4a4a1e3..b67a4ec1e 100644 +--- a/src/server/storage/mysql-global.conf ++++ b/src/server/storage/mysql-global.conf +@@ -62,7 +62,7 @@ innodb_log_file_size=64M + log_error=mysql.err + + # print warnings and connection errors (default:1) +-log_warnings=2 ++loose_log_warnings=2 + + # Convert table named to lowercase + lower_case_table_names=1 +@@ -77,10 +77,10 @@ max_connections=256 + # (make sense when having the same query multiple times) + + # Memory allocated for caching query results (default:0 (disabled)) +-query_cache_size=0 ++loose_query_cache_size=0 + + # Do not cache results (default:1) +-query_cache_type=0 ++loose_query_cache_type=0 + + # Do not use the privileges mechanisms + skip_grant_tables +-- +2.30.1 + |