From ff214ab8f91e235286a2095be279f6e19e2d7054 Mon Sep 17 00:00:00 2001 From: Spitap Date: Fri, 31 Mar 2023 14:53:58 +0200 Subject: [PATCH 1/2] Added workaround for ubuntu 20 and 22 --- modoboa_installer/database.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/modoboa_installer/database.py b/modoboa_installer/database.py index 0242800..9b74d1c 100644 --- a/modoboa_installer/database.py +++ b/modoboa_installer/database.py @@ -183,7 +183,11 @@ class MySQL(Database): else: self.packages["deb"].append("libmariadbclient-dev") elif name == "ubuntu": - self.packages["deb"].append("libmysqlclient-dev") + if version.startswith("2"): + # Works for Ubuntu 22 and 20 + self.packages["deb"].append("libmariadb-dev") + else: + self.packages["deb"].append("libmysqlclient-dev") super(MySQL, self).install_package() queries = [] if name.startswith("debian"): @@ -201,6 +205,12 @@ class MySQL(Database): .format(self.dbpassword), "flush privileges" ] + if name.startswith("ubuntu") and version.startswith("22"): + queries = [ + "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('{}')" + .format(self.dbpassword), + "flush privileges" + ] if not queries: queries = [ "UPDATE user SET plugin='' WHERE user='root'", From 004027738008ca83af08ddd634664e1a056d74ee Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Tue, 25 Apr 2023 17:28:04 +0200 Subject: [PATCH 2/2] Improved code --- modoboa_installer/database.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/modoboa_installer/database.py b/modoboa_installer/database.py index 9b74d1c..f24e37c 100644 --- a/modoboa_installer/database.py +++ b/modoboa_installer/database.py @@ -199,13 +199,10 @@ class MySQL(Database): "mariadb-server", "root_password_again", "password", self.dbpassword) return - if version.startswith("11"): - queries = [ - "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('{}')" - .format(self.dbpassword), - "flush privileges" - ] - if name.startswith("ubuntu") and version.startswith("22"): + if ( + (name.startswith("debian") and version.startswith("11")) or + (name.startswith("ubuntu") and version.startswith("22")) + ): queries = [ "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('{}')" .format(self.dbpassword),