From ac018b3bffb0a8d5416b8c3a40f2e4dd4ebf1dd2 Mon Sep 17 00:00:00 2001 From: ga25waq Date: Tue, 2 Apr 2019 22:15:59 +0200 Subject: [PATCH 1/3] Adds systemd directive to start OpenDKIM after PostgreSQL/MySQL --- modoboa_installer/scripts/opendkim.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modoboa_installer/scripts/opendkim.py b/modoboa_installer/scripts/opendkim.py index d6e4818..c119547 100644 --- a/modoboa_installer/scripts/opendkim.py +++ b/modoboa_installer/scripts/opendkim.py @@ -90,3 +90,10 @@ class Opendkim(base.Installer): "", 'SOCKET="inet:12345@localhost"', ])) + # Make sure opendkim is started after postgresql and mysql, respectively + dbservice = "postgresql.service" if self.dbengine == "postgres" else "mysql.service" + pattern = ( + "s/^After=(.*)$/After=$1 {}/".format(dbservice) + ) + utils.exec_cmd( + "perl -pi -e '{}' /lib/systemd/system/opendkim.service".format(pattern)) From edd0a32fc659d2862cac88f6506fd26bb1ef3adf Mon Sep 17 00:00:00 2001 From: ga25waq Date: Tue, 30 Apr 2019 21:56:34 +0200 Subject: [PATCH 2/3] Adds experimental support for systemd's unit "mysqld" used in CentOS --- modoboa_installer/scripts/opendkim.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modoboa_installer/scripts/opendkim.py b/modoboa_installer/scripts/opendkim.py index c119547..cc02411 100644 --- a/modoboa_installer/scripts/opendkim.py +++ b/modoboa_installer/scripts/opendkim.py @@ -91,9 +91,13 @@ class Opendkim(base.Installer): 'SOCKET="inet:12345@localhost"', ])) # Make sure opendkim is started after postgresql and mysql, respectively - dbservice = "postgresql.service" if self.dbengine == "postgres" else "mysql.service" + if self.dbengine == "postgres": + dbservice = "postgresql.service" + elif "centos" in utils.dist_name(): + dbservice = "mysqld.service" + else: + dbservice = "mysql.service" pattern = ( - "s/^After=(.*)$/After=$1 {}/".format(dbservice) - ) + "s/^After=(.*)$/After=$1 {}/".format(dbservice)) utils.exec_cmd( "perl -pi -e '{}' /lib/systemd/system/opendkim.service".format(pattern)) From 6b1f0db475dc7751d2819509f994001c55d72c68 Mon Sep 17 00:00:00 2001 From: Razvan Ionescu Date: Thu, 6 Feb 2020 15:36:07 +0100 Subject: [PATCH 3/3] OpenDKIM start Condition see comments in PR #217, #262 --- modoboa_installer/scripts/opendkim.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/modoboa_installer/scripts/opendkim.py b/modoboa_installer/scripts/opendkim.py index cc02411..62c39fa 100644 --- a/modoboa_installer/scripts/opendkim.py +++ b/modoboa_installer/scripts/opendkim.py @@ -78,10 +78,16 @@ class Opendkim(base.Installer): dbname, "dkim", self.app_config["dbuser"], "SELECT") def post_run(self): - """Additional tasks.""" - if package.backend.FORMAT != "deb": - return - params_file = "/etc/default/opendkim" + """Additional tasks. + Check linux distribution (package deb, rpm), to adapt + to config file location and syntax. + - update opendkim isocket port config + - make sure opendkim starts after db service started + """ + if package.backend.FORMAT == "deb": + params_file = "/etc/default/opendkim" + else: + params_file = "/etc/opendkim.conf" pattern = r"s/^(SOCKET=.*)/#\1/" utils.exec_cmd( "perl -pi -e '{}' {}".format(pattern, params_file)) @@ -90,13 +96,14 @@ class Opendkim(base.Installer): "", 'SOCKET="inet:12345@localhost"', ])) - # Make sure opendkim is started after postgresql and mysql, respectively - if self.dbengine == "postgres": - dbservice = "postgresql.service" - elif "centos" in utils.dist_name(): - dbservice = "mysqld.service" + + """ Make sure opendkim is started after postgresql and mysql, respectively. """ + if (self.dbengine != "postgres" and package.backend.FORMAT == "deb"): + dbservice = "mysql.service" + elif (self.dbengine != "postgres" and package.backend.FORMAT != "deb"): + dbservice = "mysqld.service" else: - dbservice = "mysql.service" + dbservice = "postgresql.service" pattern = ( "s/^After=(.*)$/After=$1 {}/".format(dbservice)) utils.exec_cmd(