commit:     6b90510ab328d1bdbba167d9ccd4c6ba0cb4bfed
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 25 21:36:01 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Dec 25 21:41:15 2020 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=6b90510a

kde-apps/akonadi: Switch QMYSQL from virtual/mysql -> dev-db/mariadb

Bug: https://bugs.gentoo.org/709812
Package-Manager: Portage-3.0.12, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-apps/akonadi/akonadi-20.12.49.9999.ebuild | 30 +++++++++++++++++----------
 kde-apps/akonadi/akonadi-9999.ebuild          | 30 +++++++++++++++++----------
 kde-apps/akonadi/metadata.xml                 |  1 +
 3 files changed, 39 insertions(+), 22 deletions(-)

diff --git a/kde-apps/akonadi/akonadi-20.12.49.9999.ebuild 
b/kde-apps/akonadi/akonadi-20.12.49.9999.ebuild
index f452132cba..71e0c4e882 100644
--- a/kde-apps/akonadi/akonadi-20.12.49.9999.ebuild
+++ b/kde-apps/akonadi/akonadi-20.12.49.9999.ebuild
@@ -18,16 +18,16 @@ HOMEPAGE="https://community.kde.org/KDE_PIM/akonadi";
 LICENSE="LGPL-2.1+"
 SLOT="5"
 KEYWORDS=""
-IUSE="+kaccounts +mysql postgres sqlite tools xml"
+IUSE="+kaccounts +mariadb postgres sqlite tools xml"
 
-REQUIRED_USE="|| ( mysql postgres sqlite ) test? ( tools )"
+REQUIRED_USE="|| ( mariadb postgres sqlite ) test? ( tools )"
 
 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[mysql?,postgres?]
+       >=dev-qt/qtsql-${QTMIN}:5[postgres?]
        >=dev-qt/qtwidgets-${QTMIN}:5
        >=dev-qt/qtxml-${QTMIN}:5
        >=kde-frameworks/kconfig-${KFMIN}:5
@@ -46,6 +46,7 @@ COMMON_DEPEND="
                >=kde-apps/kaccounts-integration-${PVCUT}:5
                net-libs/accounts-qt
        )
+       mariadb? ( >=dev-qt/qtsql-${QTMIN}:5[mysql] )
        sqlite? (
                dev-db/sqlite:3
                >=dev-qt/qtsql-${QTMIN}:5=[sqlite]
@@ -58,7 +59,7 @@ DEPEND="${COMMON_DEPEND}
        test? ( sys-apps/dbus )
 "
 RDEPEND="${COMMON_DEPEND}
-       mysql? ( virtual/mysql )
+       mariadb? ( >=dev-db/mariadb-10.4:* )
        postgres? ( dev-db/postgresql )
 "
 
@@ -68,14 +69,14 @@ RESTRICT+=" test"
 PATCHES=( "${FILESDIR}/${PN}-18.12.2-mysql56-crash.patch" )
 
 pkg_setup() {
-       # Set default storage backend in order: MySQL, PostgreSQL, SQLite
+       # Set default storage backend in order: MariaDB, PostgreSQL, SQLite
        # reverse driver check to keep the order
        use sqlite && DRIVER="QSQLITE3"
        use postgres && DRIVER="QPSQL"
-       use mysql && DRIVER="QMYSQL"
+       use mariadb && DRIVER="QMYSQL"
 
-       if use mysql && has_version ">=dev-db/mariadb-10.4"; then
-               ewarn "If an existing Akonadi QMYSQL database is being upgraded 
using"
+       if use mariadb && has_version ">=dev-db/mariadb-10.4"; then
+               ewarn "If an existing Akonadi MariaDB 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\""
@@ -87,11 +88,18 @@ pkg_setup() {
        fi
 
        if use sqlite || has_version "<${CATEGORY}/${P}[sqlite]"; then
-               ewarn "We strongly recommend you change your Akonadi database 
backend to either MySQL"
-               ewarn "or PostgreSQL in your user configuration."
+               ewarn "We strongly recommend you change your Akonadi database 
backend to"
+               ewarn "either MariaDB 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]" && has_version "dev-db/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
 }
 
@@ -123,7 +131,7 @@ pkg_postinst() {
        ecm_pkg_postinst
        elog "You can select the storage backend in 
~/.config/akonadi/akonadiserverrc."
        elog "Available drivers are:"
-       use mysql && elog "  QMYSQL"
+       use mariadb && 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/akonadi-9999.ebuild 
b/kde-apps/akonadi/akonadi-9999.ebuild
index f452132cba..71e0c4e882 100644
--- a/kde-apps/akonadi/akonadi-9999.ebuild
+++ b/kde-apps/akonadi/akonadi-9999.ebuild
@@ -18,16 +18,16 @@ HOMEPAGE="https://community.kde.org/KDE_PIM/akonadi";
 LICENSE="LGPL-2.1+"
 SLOT="5"
 KEYWORDS=""
-IUSE="+kaccounts +mysql postgres sqlite tools xml"
+IUSE="+kaccounts +mariadb postgres sqlite tools xml"
 
-REQUIRED_USE="|| ( mysql postgres sqlite ) test? ( tools )"
+REQUIRED_USE="|| ( mariadb postgres sqlite ) test? ( tools )"
 
 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[mysql?,postgres?]
+       >=dev-qt/qtsql-${QTMIN}:5[postgres?]
        >=dev-qt/qtwidgets-${QTMIN}:5
        >=dev-qt/qtxml-${QTMIN}:5
        >=kde-frameworks/kconfig-${KFMIN}:5
@@ -46,6 +46,7 @@ COMMON_DEPEND="
                >=kde-apps/kaccounts-integration-${PVCUT}:5
                net-libs/accounts-qt
        )
+       mariadb? ( >=dev-qt/qtsql-${QTMIN}:5[mysql] )
        sqlite? (
                dev-db/sqlite:3
                >=dev-qt/qtsql-${QTMIN}:5=[sqlite]
@@ -58,7 +59,7 @@ DEPEND="${COMMON_DEPEND}
        test? ( sys-apps/dbus )
 "
 RDEPEND="${COMMON_DEPEND}
-       mysql? ( virtual/mysql )
+       mariadb? ( >=dev-db/mariadb-10.4:* )
        postgres? ( dev-db/postgresql )
 "
 
@@ -68,14 +69,14 @@ RESTRICT+=" test"
 PATCHES=( "${FILESDIR}/${PN}-18.12.2-mysql56-crash.patch" )
 
 pkg_setup() {
-       # Set default storage backend in order: MySQL, PostgreSQL, SQLite
+       # Set default storage backend in order: MariaDB, PostgreSQL, SQLite
        # reverse driver check to keep the order
        use sqlite && DRIVER="QSQLITE3"
        use postgres && DRIVER="QPSQL"
-       use mysql && DRIVER="QMYSQL"
+       use mariadb && DRIVER="QMYSQL"
 
-       if use mysql && has_version ">=dev-db/mariadb-10.4"; then
-               ewarn "If an existing Akonadi QMYSQL database is being upgraded 
using"
+       if use mariadb && has_version ">=dev-db/mariadb-10.4"; then
+               ewarn "If an existing Akonadi MariaDB 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\""
@@ -87,11 +88,18 @@ pkg_setup() {
        fi
 
        if use sqlite || has_version "<${CATEGORY}/${P}[sqlite]"; then
-               ewarn "We strongly recommend you change your Akonadi database 
backend to either MySQL"
-               ewarn "or PostgreSQL in your user configuration."
+               ewarn "We strongly recommend you change your Akonadi database 
backend to"
+               ewarn "either MariaDB 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]" && has_version "dev-db/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
 }
 
@@ -123,7 +131,7 @@ pkg_postinst() {
        ecm_pkg_postinst
        elog "You can select the storage backend in 
~/.config/akonadi/akonadiserverrc."
        elog "Available drivers are:"
-       use mysql && elog "  QMYSQL"
+       use mariadb && 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/metadata.xml b/kde-apps/akonadi/metadata.xml
index 8acbee94c7..c6b73ba5cf 100644
--- a/kde-apps/akonadi/metadata.xml
+++ b/kde-apps/akonadi/metadata.xml
@@ -8,6 +8,7 @@
        <use>
                <flag name="designer">Install plugin for 
<pkg>dev-qt/designer</pkg></flag>
                <flag name="kaccounts">Enable support for system-wide defined 
KAccounts</flag>
+               <flag name="mariadb">Enable support for using 
<pkg>dev-db/mariadb</pkg> storage backend</flag>
                <flag name="tools">Install tools for developers and 
testing</flag>
        </use>
 </pkgmetadata>

Reply via email to